|
⇤ ← Revision 1 as of 2013-06-07 16:41:55
Size: 1950
Comment: initial commit
|
Size: 1986
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 20: | Line 20: |
| * foreign package build scripts need enhancements | * foreign package build scripts will be turned into makefiles defaulting to "install" |
reworking the build system for sage ("the distribution")
goals
- module build systems seperated from toplevel package/module management
- make embedded modules usable outside sage ("the distribution")
- (still) build depends only on (gnu) make and bash
- allow fallback to system-installed modules/packages. not just for gcc
make embedded modules work with other (gnu/linux) software distributions (gsoc project)
- VPATH build
- install/uninstall for all packages within sage
- allow swich between system-installed and sage-shipped packages
- parallel build
- install targets conforming to standard
- avoid patchbomb (see roadmap)
implementation
autotools can do most things. (no, this is not just AutoToolsSEP)
- package dependencies remain make recipes
- package management can be reused, must be simplified/extended.
- foreign package build scripts will be turned into makefiles defaulting to "install"
- DESTDIR is used to stage package contents
open/tricky
- how to upgrade a sage-(local?)-installation?
- DESTDIR is unsuppported in the current foreign packaging system
- distutils is used for the python library. patch or rewrite?
future
- pick minimal set of foreign packages, depending on what is available
- optionally use portage for package management
- run from builddir without the need to install (simplifies development, YMMV)
roadmap
- demonstrate proof-of-concept on top of master
- switch embedded module build systems to autotools
- add toplevel configure.ac GNUmakefile.am
- rework configuration parts into configure.ac
- rewire toplevel Makefile, wrap functionality if required
- remove old build system fragments.
- rearrange/regroup embedded modules (?)
- add DESTDIR support to foreign modules
- fix local "installation" and actual installation targets
