.. _Distribution: Compiling a Distribution ======================== Due to the set of rules defined in ``build-setup.sh`` and ``Makefile.am``, making a release is pretty easy. Prepare the Stage ----------------- The following should be called on a computer that has autoconf and automake installed in a rather recent version. Use ``mammoth.risc.jku.at`` if you are unsure. :: ./build-setup.sh The ``configure`` script should be run on the actual computer that is used to run ``make check`` (see below), since it adjusts time messurements. :: ./configure Run the Testsuite ----------------- Then check if the testsuite passes as expected. :: make check If you work on a multi-processor machine, you can ask to run the tests in parallel. For example, allowing 8 concurrent processes, use:: make -j8 check It is possible to run only a part of the tests. For each (sub-)directory ``RISC/foo`` one can use :: make check-foo to run only the tests from the ``.mt`` files in this subdirectory. Even finer control is achieved by using the variable ``TESTS`` directly. If you want to test only the files ``RISC/foo/foo1.mt`` and ``RISC/foo/foo2.mt``, you can start this with:: make checkfull TESTS='RISC/foo/foo1-test.run RISC/foo/foo2-test.run' Each of the ``Test[...]`` parts in a ``.mt`` file will be aborted after about 10 seconds. To increase this timeout to 200 seconds, add :: TIMECONSTRAINT=200 to the ``make check`` arguments list. Make and Upload a Release ------------------------- Make sure that the version number of each (sub-)package is set accordingly. Update the version number in ``configure.ac``. And now produce the release as follows. :: make release This will produce the files:: riscergosum-x.y.z.tgz riscergosum-x.y.z.zip which, have to be put into the ``$UserBaseDirectory`` of Mathematica. The ``x.y.z`` is the actual version number that is given at the top of the file ``configure.ac``. With :: make release-to-server the release files will be put onto the server into a place which is linked from the website. The website is updated on the server via the following command. :: make update-website See :ref:`Website` for more detail. Make (or update) a local Installation from the Sources ------------------------------------------------------ This kind of installation is currently only supported on a Linux machine. :: make install It will install (encrypted) versions of all package files into the subdirectory ``Applications`` of your ``$UserBaseDirectory``. Usually, files will go into ``$HOME/.Mathematica/Applications``. In case you want the installation files to go into directory ``/my/installation/dir``, you should configure it accordingly. Either say :: ./configure --prefix=/my/installation/dir make install or simply :: make install localinstalldir=/my/installation/dir In case you do not want to encrypt your installed packages (for example for code debugging), use the following additional parameter. :: make install PREINSTALLEXT=mma