[go: up one dir, main page]

Menu

Tree [r4] / trunk /
 History

HTTPS access


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

Read Me

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.