Development environment

To develop and configure the different packages as described below, standard external packages or tools should be installed.

1.Selection and configuration of packages

The packages can be configured with the command

./configure 

and the options given by ./configure –help. The default list of packages to be handled is thus printed. Each individual package can be configure, compiled and installed independently using the same procedure. To select the packages you want to configure and compile, use:

./configure --enable-package1=yes ...

Dependencies are treated automatically. This allows you to build only that part of Mathemagix which is actually useful for you. Packagers are incited not to ship Mathemagix as one big package, but rather as the collection of the individual packages.

Notice that the development mode (i.e. with –enable-devel) does not perfectly behave. In fact, if a version of Mathemagix is already installed on your system (in /usr/local/ as a default place) then you should take care of accidental linking conflicts using the following option:

./configure --prefix=/tmp/dummy

The latter option ensures that no local installation is to be found in the /tmp/dummy directory, hence preventing from linking of a library in development with another one already installed.

2.Setting the environment variables

Within usual development cycle, mmx-light and other executables can be run by setting all the mandatory paths to suitable values. These values are included in the file set-devel-paths, and they can be set via the following console command that may depend on your shell:

source set-devel-paths

3.Makefile targets

To build the files, as usual, the instruction is

make

If the one want to run make in package:

make package-all

The other targets (which behave similarly) are:

check [package-check]
run the test suite of the package(s).
clean [package-clean]
clean the package(s).
confclean [package-confclean]
clean the configuration file of the package(s).
check [package-check]
run the test suite of the package(s).
dist [package-dist]
build the distribution archive .tar.gz for each selected package.
distclean [package-distclean]
clean the built files and the Makefile(s).
html [package-html]
build the html documentation of the package(s).
install [package-install]
install the package(s) in the directory specified by the option –prefix=... of configure.
uninstall [package-uninstall]
unsintall the package(s).
www
build the web site with the files produces by the target html. By default, the directory of the web site is www-site. It can be changed with the option –with-www=... of configure.

4.Global Variables

The following variables should not be modified, unless you really know what you are doing.

Beside global variables a global boot file is located at 'prefix_path'/etc/mathemagix/boot.mmx. It is automatically loaded by mmx-light. At the end, the latter boot file further loads a user boot file located at $MMX_USER_DIR/etc/boot.mmx. Use the shell option –noboot to disable these loadings.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License. If you don't have this file, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.