Add support for make install
(still somewhat experimental, but ready to be tested by downstream packagers)
#4492
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I wrote this a year ago and never finished. I figured I should post it here, to (a) remind me about it and (b) see if anybody has feedback, or even (c) is willing to help.
Help could range from trying it out and reporting issues as they are encountered (I am sure there are some, perhaps even many, as I didn't finish this), over suggesting things to actually implementing improvements.
Resolves #197
Some TODOs I do recall are these (and the patch also contains some):
make install
GAP somewhere, then try to run it, and also try to build some select GAP packages against itmake install DESTDIR=/tmp/or/whatever
to check thatDESTDIR
support works (see the automake manual for more on DESTDIR)config.h
README.buildsys.md
for some more details, and feel free to ask me for more if you are interestedconfig.h
from most headers; but there are some hold outs: actual configuration choices (see next point); the kernel version (see point after the next); andSYS_IS_64_BIT
gap-config.h
for things likeHPCGAP
orUSE_GASMAN
orUSE_JULIA_GC
. Then again, ideally we may want to share the same headers between regular GAP, HPC-GAP, Julia GAP, ... which would suggest that it'd be better to add these toGAP_CPPFLAGS
(so it'd end up insysinfo.gap
, which would exist separately for each build variant of GAP; and would also be automatically used bygac
this wayGAP_KERNEL_MAJOR_VERSION
andGAP_KERNEL_MINOR_VERSION
should still be common, so perhaps that could be put into a specific header after all...SYS_IS_64_BIT
still relies onSIZEOF_VOID_P
. But I worked hard on not using it in headers, and only one use (inintobj.h
is left). But of course packages use (cvec
,datastructures
,NormalizInterface
). I guess this is another thing we could (should?) define inGAP_CPPFLAGS
.... Or perhaps we can use a trick as in https://stackoverflow.com/a/32717129/928031make install
at allgac
gac
to not use libtool #4746make install
(including how it interacts with the configure--prefix
and DESTDIR -- can be short and point to the automake manual, as this is mostly for packagers who generally are familiar with this)