7 Configuration Options

The configure script can be parametrized by (1) a site configuration file that provides values for certain shell variables, (2) by command line options which may override these values. We recommend that you create a site configuration file for Mozart since this is much easier than to remember what options to supply on the command line. For example create the file ~/mozart.config and set the environment variable CONFIG_SITE prior to invoking the configure script:

setenv CONFIG_SITE ~/mozart.config

Below, we always describe command line options and related configuration variables together. They are always displayed with their default value or implied setting. Other possible values are described in the text. If a default option is --enable-foo then you can supply --disable-foo to turn it off (and reciprocally). If the default value for a configuration variable oz_enable_foo is yes, then you can set it to no to turn it off.

7.1 General Parameters

--prefix=/usr/local/oz
prefix=/usr/local/oz

You can change the default installation directory to e. g. ~/mozart-install using --prefix=$HOME/mozart-install or prefix=$HOME/mozart-install. The installation directory can also be overriden when invoking make install by supplying an overriding setting for the make variable PREFIX on the command line:

% make install PREFIX=$HOME/mozart-install

--with-inc-dir=d1,...,dn
oz_with_inc_dir=

When you configure and attempt to build the Mozart system, you may discover that some library or package is missing, or that the installed version is too old, or that it happens to be installed in a very strange place. In this case, it may be convenient to install up to date versions of such libraries and packages in a location of your own choosing. For example, if you configure and build a missing package using --prefix=$HOME, it will normally install its include files into $HOME/include and its libraries into $HOME/lib. In that case, when you configure Mozart, you could supply the argument:

--with-inc-dir=$HOME/include

to indicate where to look first find additional include files. There are also specific options for specific packages, and they are documented later, but our experience is that putting everything in one extra location is much more convenient.

--with-lib-dir=d1,...,dn
oz_with_lib_dir=

Similar to the above, but for libraries.

7.2 Contributions

The ``contributions'' are not an intrinsic part of the Mozart distribution. Often they require that you install additional packages: for example the gdbm contribution requires that you install the gdbm package. Some have not yet been ported to Windows.

--enable-contrib
oz_enable_contrib=contrib

By default, the contributions are configured and built. You can completely omit them using --disable-contrib or oz_enable_contrib=

--enable-contrib-CONTRIB

Contributions can be enabled/disabled individually. For example, to enable (or disable) the micq contribution (a Mozart Instant Messenger) you can specify --enable-contrib-micq (or --disable-contrib-micq).

7.3 Documentation

Processing the documentation requires the contributions (Section 7.2). Also you need additional packages such as LaTeX, netpbm, ghostscript, and a very recent version of nsgmls.

--enable-doc
oz_enable_doc=doc

You can omit the documentation using --disable-doc or oz_enable_doc=

--with-documents=D1,...,Dn
--with-documents=all
oz_doc_dirs=

Specify the documents to be automatically processed by recursing into their directories. The special value all indicates that all documents should be processed.

--with-java-bin=DIR
oz_java_bin=

directory where java executables and wrappers reside.

--with-java-threads
oz_java_threads=-green

select implementation of java threads.

--enable-chm
oz_enable_chm=no

Construct CHM table of contents files (for windows)

7.4 Emulator

The emulator has quite a few configuration parameters.

--with-cxx=c++-compiler
oz_with_cxx=c++-compiler

Overrides the default C++ compiler. Noone has ever needed this option (or lived to tell).

--enable-warnings
oz_enable_warnings=no

Enabling this option causes the C++ compiler to become frighteningly anal retentive and to print out all sorts of warnings.

--enable-errors
oz_enable_errors=no

When this option is enabled, every warning from the C++ compiler will cause the build process to fail. This is only really useful for the developers of the system.

oz_copt_optimize="-O"
oz_copt_profile=-pg
oz_copt_debug="-g"

Compiler options to use when optimizing, profiling, and debugging respectively. Don't use these! See --enable-opt instead.

--with-gmp=DIR
oz_gmp_lib_dir=/usr/local/lib
oz_gmp_inc_dir=/usr/local/include

Mozart needs the GNU Multiple Precision Arithmetic Library also known as gmp. You can set the variables to point to the directories where the library and the gmp.h include file are to be found. The command line option can be used to set both variables to the same directory argument. However, see --with-inc-dir and --with-lib-dir for the more general method that we now recommend.

--with-zlib=DIR
oz_zlib_lib_dir=
oz_zlib_inc_dir=

Mozart needs zlib, the General Purpose Compression Library. The details are as above and we also recommend to use --with-inc-dir and --with-lib-dir instead.

--without-ccmalloc

Option --with-ccmalloc enables the use of the debugging malloc library. Only for developers.

--enable-opt=no

Select the optimization settings: --enable-opt=yes for maximum optimization, --enable-opt=debug for debugging the emulator, --enable-opt=profile for profiling, --enable-opt=rsp also for profiling, but only if you happen to be Ralf Scheidhauer.

With yes, the emulator becomes marginally faster at the expense of greater compilation times (you might want to go out for coffee while compiling emulate.cc, which contains the bytecode emulation loop). With debug, the emulator itself becomes much slower as there are no optimizations, no in-lining, and zillions of assertions are constantly being checked.

--enable-threaded
oz_enable_threaded=yes

By default, the emulator uses threaded byte code if possible, unless --enable-opt=debug. Turning this off would be foolish.

--enable-fastreg
oz_enable_fastreg=yes

By default, the emulator uses fast register access.

--enable-regopt
oz_enable_regopt=yes

By default, the emulator uses register optimization.

--enable-modules-static=no
oz_enable_modules_static=no

By default, all boot modules are linked dynamically. Setting this variable to yes will link them statically. You should only do this if DLLs cannot be made to work on your platform.

--with-malloc=FILE
oz_malloc_obj=FILE

Use this option to link with the malloc function in object file FILE. This can be useful if your system malloc is broken. This option is overriden by --with-ccmalloc.

--enable-virtualsites
oz_enable_virtualsites=YESORNO

Whether to enable support for virtual sites. The default depends on whether virtual sites can be supported on your platform, i. e. it depends on support for shared memory.


Denys Duchier, Leif Kornstaedt, Ralf Scheidhauer and Christian Schulte
Version 1.4.0 (20080702)