-
Notifications
You must be signed in to change notification settings - Fork 160
Building Packages
Christopher Jefferson edited this page Nov 7, 2022
·
1 revision
This aims to be a specification of how packages should be built, and possibly installed. The aim is that packages which meet this specification should be handled automatically.
-
$GAPROOT
refers to the root directory of the current GAP installation.
Building is always done within the root directory of the package
- If a package contains a file called
./prerequisites.sh
, then./prerequisites.sh "$GAPROOT"
will be executed. - If a package contains
./autogen.sh
, but no./configure
then./autogen.sh
will be executed (this is mainly to support packages which have been checked out of a git repository, released packages should have a configure script) - If a ./configure exists then
./configure; make; make clean;
will be run. If the package was built withAutoconf
, then./configure
will be passed--with-gaproot=$GAPROOT
, and some other options.
The major missing thing is building documentation. Most packages have either makedoc.g
, makedocrel.g
or doc/make_doc
. Some packages also have a doc
target in their Makefile
There are a couple of obvious ways a package could denote how to build docs:
- Have one of the common existing filenames
- Require
make doc
builds the documentation