Configuring nhc98
The automatic configuration and installation utility, called
configure, should always be used to prepare for building or
installing nhc98. Unlike many configuration utilities, this
one can be run safely at any time to change any options - it will never
leave your system in an inconsistent state.
You can choose your own configuration options,
but the default behaviour is to prepare to build the components of
nhc98 under the
targets directory, and to install those components under
/usr/local, in the subdirectories bin (for scripts),
lib/nhc98 (for executables and libraries),
include/nhc98 (for interface and include files), and
man/man1 for man pages.
The endian-ness of your machine is detected automatically during
configuration. Your machine/operating-system is detected and used
during building and installation to ensure that object files and
executables from different architectures do not interfere with each
other. If you have any existing installations of Haskell compilers,
we search for those and configure hmake to use them. We also
guess which compiler you will use to build nhc98 - in order of
preference: ghc, then hbc, then gcc (or your
own C compiler).
configure has many options to override the default build and
installation behaviours. The options fall into three categories, but
they may appear in any order on the command-line. The first group of
options controls what task configure will do. You can only
choose one of these - if you choose more than one, only the final one
will take effect. The other two groups of options are cached and
re-used in later invocations of configure, but you can always
override them on the current commandline.
- -h
- --help
- Give a brief explanation of all the options. Do not save any
configuration settings.
- -v
- --version
- Report package versions. Do not save any configuration settings.
- --config
- Set and report configuration options. [This is the default behaviour
if no other option from the first group is chosen.]
- --install
- Install selected components now (scripts, executables, libraries,
interface files, man pages, html documents etc.). This option
should not normally be used - use make install instead.
However for information, it copies the selected components to their
final directory locations (you must have permission to write into
those directories). Don't forget, if you have previously
run configure with any options set, the previous
settings will be cached and used for this install - but you can
override them now on the commandline if you wish.
The second and third group of options control the configuration process
and are entirely orthogonal to each other. The second group configures
some general settings.
- -Hnum
- --heap=num
- Set the default heapsize for programs compiled by nhc98.
(Users can still control heapsize from the commandline, this option
just configures the default.) num may be expressed as a
simple integer, or with suffixes K or M, and may be
followed by units B (bytes) or W (words). Suffixes
are case-insensitive, e.g. -H4mb. The default setting is for
400Kb of heap. You can use this option even when installing from
a binary package.
- --buildwith=comp
- Build nhc98 using the named compiler (to override
the config script's guess). Possible values are ghc,
hbc, nhc98, or gcc.
- --buildopts=opts
- Give opts to the build compiler (for instance, to
force ghc to do optimisation you might add -O).
- --builddir=dir
- Use the given base directory for intermediate object files instead of
the default ./targets. This is useful if you have disk
quotas and need to put object files on a separate temporary disk.
- --installdir=rootdir
- --prefix=rootdir
- Use the given directory as the installation root instead of the
default /usr/local.
- --bindir=dir
- Use the given directory for installing scripts instead of the
default directory, bin under the installation
root.
- --libdir=dir
- Use the given directory for installing executables and libraries
instead of the default directory, lib/nhc98 under the
installation root.
- --incdir=dir
- Use the given directory for installing interface and include files
instead of the default directory, include/nhc98 under the
installation root.
- --mandir=dir
- Use the given directory for installing manual pages
instead of the default directory, man/man1 under the
installation root.
- --docdir=dir
- Use the given directory for installing the html documentation
instead of the default directory, /usr/doc/nhc98.
Finally, the third group of options allows you to select which
components of the package you wish to install. They can be useful when
installing the same software for many architectures on a heterogeneous
network, if you don't want to continually re-install shared components
such as man pages. As another example, you may want to update just the
scripts from a new beta release, without re-installing the executables.
- [+/-]lib
- Do (or don't) install the executables and library files (default is +).
- [+/-]inc
- Do (or don't) install the include and interface files (default is +).
- [+/-]bin
- Do (or don't) install the scripts (default is +).
- [+/-]man
- Do (or don't) install the man pages (default is +).
- [+/-]docs
- Do (or don't) install the html documents (default is -).
The latest updates to these pages are available on the WWW from
http://www.haskell.org/nhc98/
This page last modified: 26 April 2000
York Functional Programming Group
|