login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

WARNING: This page is currently out of date. Read AxiomSources instead.

Browse

the Axiom Silver source code SVN repository online at: SourceForge

To obtain a working copy from the Sourceforge SVN repository

  • SVN requirements:

    You need a working SVN command that supports the HTTP protocol. You can get a copy from

    http://subversion.tigris.org/

    Here is an excellent online book on version control with Subversion

    http://svnbook.red-bean.com/

  • read-only access:

    Check out the silver branch of Axiom source code with:

           svn co https://axiom.svn.sourceforge.net/svnroot/axiom/trunk axiom.silver
    

    That command will create a directory, named axiom.silver, to hold checked out copy of the Axiom source code. Please, feel free to replace axiom.silver with any name that suits your taste.

    If you are only interested in a particular development branch, say build-improvement, you may say:

          svn co https://axiom.svn.sourceforge.net/svnroot/axiom/branches/build-improvements \
                    axiom.build-improvements
    

  • Current GCL version: 2.6.8pre

    The build-improvements branch includes a copy of the gcl-2.6.8pre source code in the build-improvements/gcl. The contents of this directory are synchronized with the GCL CVS distribution as required. If GCL is not pre-installed or if the configure option --with-gcl is used, then GCL is built from these sources prior to building Axiom. If you would prefer to build GCL from the most up to date version of gcl-2.6.8pre you can obtain a copy directly from the GCL CVS via the commands:

           $ export CVSROOT=:pserver:anonymous@cvs.sv.gnu.org:/sources/gcl
           $ cvs co -d gcl-2.6.8pre -r Version_2_6_8pre gcl
    

    Then build and install GCL in the usual manner:

           $ cd gcl-2.6.8pre
           $ ./configure
           $ make
           $ su
           $ make install
    

  • noweb literate programming tools

    To build Axiom you also require noweb the Literate Programming tools developed by Norman Ramsey. To build noweb follow these instructions:

    1. Download:
              $ wget http://www.eecs.harvard.edu/~nr/noweb/dist/noweb-2.11b.tgz
      
    2. Unpack:
              $ tar xzf noweb-2.11b.tgz
              $ cd noweb-2.11b/src
      
    3. Patch Makefile as follows:
              --- Makefile.old    2007-04-20 08:00:16.505001000 -0400
              +++ Makefile.new    2007-04-20 08:00:39.981085000 -0400
              @@ -18,9 +18,9 @@
               # MAN7EXT is the extension for the nowebstyle man page (usually 7)
               # TEXINPUTS is the directory for TeX macro files
               # ELISP is the directory for emacs lisp files, or /dev/null not to install
              -BIN=/usr/local/noweb
              -LIB=/usr/local/noweb/lib
              -MAN=/usr/local/noweb/man
              +BIN=/usr/local/bin
              +LIB=/usr/local/lib
              +MAN=/usr/local/man
               MANEXT=1
               MAN7EXT=7
               TEXINPUTS=/usr/local/tex/inputs
      
    4. Compile:
              $ make
      
    5. Install:
               $ su
               $ make install
      
  • read and write access:

    You need to have a Sourceforge user id, and be registered as a developer.

    To obtain a working copy with write privilege to the sourceforge repository you might want to append '--username=' to the above commands, where is your sourceforge user id.

  • "Core" developers:

    Some developers might prefer to have a working copy of the "whole" axiom repository, in that case they might want to issue:

          svn co https://axiom.svn.sourceforge.net/svnroot/axiom axiom
    

    That will check out the Axiom main repository into a local directory named axiom. It should contain the following subdirectories:

            branches/
            tags/
            trunk/
            silver/
    

    that are self-explanatory.

    You must run again the svn command if a timeout occure during downloading.

Working on the SVN repository with SVK

If, like me, you prefer to work with SVK on the SVN repository instead of Subversion directly either because you are used to SVK, or because you work with many copies and are particularly attentive to disk space consumption, or because you would like to "star-merge" then you might want to follow the following steps.

  • First, create a mirror depot for the Axiom SVN repository. Assuming you already have initialized your default depotmap, issue the command:
             $ svk depotmap /mirror ~/.svk/remote
    

That command will create a depot with depotname /mirror/ and repopath ~/.svk/remote. We assume neither already exists, otherwise change the names accordingly.

  • Second, you have to actually mirror the Axiom SVN repository. Issue:
             $ svk mirror  /mirror/axiom https://axiom.svn.sourceforge.net/svnroot/axiom
    
  • Last, bring your mirror in sync with the Axiom SVN repository:
             $ svk sync /mirror/axiom
    

That command should bring your local mirror of Axiom source code up-to-date with respect to the SVN repository.

Checking out a copy from your local SVK local mirror is simple:

         $ svk co /mirror/axiom/trunk axiom.silver

To learn more about SVK commands, please consult the online SVKBook? and read the SVK-Visual-Guide .

Building Axiom from the development source

The Axiom build machinery is very complex, stratified in many layers. At the moment the build system is known to support only native build-in-source. This means Axiom is known to build for a large set of target platforms where

  • the configure and make commands are issued from the directory containing the Axiom source codes, and the build happens in that directory;
  • no cross-compilation is involved.

You might find it convenient, especially if you are working with repository files (either from SVN or CVS), to have the build happens in a different directory than the one containing Axiom pristine sources. To that end, you can create a build directory that mirrors the source directory as follows:

   # create a directory for building axiom
   $ mkdir axiom-build-dir

   # mirror the source directory structure with lndir
   # do not use a path with .. in lndir
   $ cd axiom-build-dir && lndir /absolute/path/to/axiom.silver

Here the lndir command creates a shadow directory of symbolic links to the Axiom source directory (here axiom.silver). Once that is done, you can:

   # configure the source directory
   $ ./configure

Follow the instructions displayed after the configuration step.

At the moment, Axiom does not support the standard GNU-style configure command switches. Work is being done to remedy that situation.

Preparing and submitting patches

When contributing a patch for consideration in the silver branch, please send a message to the mailing list:

    axiom-developer@nongnu.org

that contains the patch in Naur format (e.g. as produced by diff -Naur, see HowToSubmitPatches), and a ChangeLog? entry briefly explaining the changes. Please remember that your modifications must follow the pamphlet style where required, be properly documented. Also, remember that patches for inclusion in the silver branch must be prepared against the current "trunk" of the SVN repository. To that end, you might first want to update your working copy with:

   $ svn update -s

before producing the patch that you will submit. We assume that before sending your patch, you have built and tested axiom as per your modification. Be sure to indicate on which plateforms you have tested your changes.




subject:
  ( 7 subscribers )  
Please rate this page: