-
Notifications
You must be signed in to change notification settings - Fork 180
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.
-
$GAPROOTrefers 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./configurethen./autogen.shwill 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./configurewill 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 docbuilds the documentation