FriCAS Code
Brought to you by:
whebisch
| File | Date | Author | Commit |
|---|---|---|---|
| config | 2007-07-04 | whebisch | [r2] Initial import, part 1 |
| license | 2007-07-03 | whebisch | [r1] Test import |
| src | 2007-07-05 | whebisch | [r4] Initial import, part 3. |
| CHANGELOG | 2007-07-04 | whebisch | [r2] Initial import, part 1 |
| ChangeLog.build-improvements | 2007-07-04 | whebisch | [r2] Initial import, part 1 |
| ChangeLog.wh | 2007-07-04 | whebisch | [r2] Initial import, part 1 |
| FAQ | 2007-07-04 | whebisch | [r2] Initial import, part 1 |
| Makefile.in | 2007-07-04 | whebisch | [r2] Initial import, part 1 |
| Makefile.pamphlet | 2007-07-04 | whebisch | [r2] Initial import, part 1 |
| README | 2007-07-04 | whebisch | [r2] Initial import, part 1 |
| README.build-improvements | 2007-07-04 | whebisch | [r2] Initial import, part 1 |
| README.wh | 2007-07-04 | whebisch | [r2] Initial import, part 1 |
| build-setup.sh | 2007-07-04 | whebisch | [r2] Initial import, part 1 |
| configure | 2007-07-04 | whebisch | [r2] Initial import, part 1 |
| configure.ac | 2007-07-04 | whebisch | [r2] Initial import, part 1 |
| configure.ac.pamphlet | 2007-07-04 | whebisch | [r2] Initial import, part 1 |
This branch is an effort to move the current Axiom build machinery close to GNU standard practice. In particular, the basic ./configure && make && make install should just work. Furthermore, we would like to support cross-compilation wherever GCL (the main LISP implementation used by Axiom) supports it. Cleaning up and improving the build machinery is a way to gain better understanding of the currently complex makefiles and also a way to simplify it. THIS IS WORK IN PROGRESS. IN PARTICULAR, THIS BRANCH MAY BE TEMPORARILY BROKEN. However, I'll strive for keeping the source tree in good shape so that it does not stay broken for an extended period of time. This file will be updated as we make progress. ----------------------- -- Configuring Axiom -- ----------------------- Type: ./configure ------------------ -- Making Axiom -- ------------------ Type: make ---------------------- -- Installing Axiom -- ---------------------- Type: make install == The above chain of commands should build Axiom and install it in /usr/local/axiom. You can configure Axiom as ./configure --prefix=/banana/space to have Axiom installed in /banana/space/axiom. Send comments and suggestions to axiom-developer@nongnu.org Gabriel Dos Reis ============ === TODO === ============ * Automate the process of "optimized" Axiom: this requires a two-pass build; once to gather type information, a second time to use the information. * Find a better of structuring for PLF, CCF, LDF, LISP. * Have Axiom configure pass options specified on the invokation line down to GCL. * Work with Camm to accomodate build on solaris 10. Make sure Axiom uses the fixed GCL (either system installed or Axiom's copy). * Integrate suggestion from Bill: http://lists.nongnu.org/archive/html/axiom-developer/2006-09/msg00297.html * Support parallel build. Notice that GCL does not support parallel build. So we can punt on build of GCL. We should work with Camm to fix GCL build upstream. * Properly document the new build in a very intelligible way * Document src/scripts/document.in * Reorganize the makefile pamphlets so that Axiom can build without LaTeX or X11. * Support cross-compilation. Work with Camm to enhance GCL in that respect. This is better done when we integrate GCL to GCC. * cleanup the Makefile pamphlets * Support standard "clean", "mostlyclean", and "distclean" Makefile targets * Improve Boot documentation * Have Axiom use bootsys compile all Boot codes in src/interp. This requires auditing the code for uses of special functions which act differently in boot and shoe (like MEMBER). * Reduce the number of bar Lisp codes to the minimum residual. * Fix codes in src/interp, src/hyper, and src/hyper/pages/util.ht that hardcode pathnames. In general, the Axiom system should be able to work properly with relative paths to that it can be "moved" around seamlessly. * Audit cleanup rules * Audit file copying. * Document the installation structure. ============ === DONE === ============ * Support out-of-source build. * Convince GCL to find its internal header files. -- it turns out to be a bug in Axiom. * Fix Makefile generation dependencies. -- This turns out to be a bug in Autoconf 2.59 whereby the value of -- @top_builddir@ is empty. Work around the bug by using -- $(abs_top_builddir). * Have an automated, smooth bootstrapping process for boot. * Implement framework for recursive rules in Makefiles. * Fix fall-outs of missed DVI files. This is believed to be fixed with the recursive rule support.