mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-06 16:08:32 +00:00
compiler/options.m:
As above.
.INSTALL.in:
Document --enable-nogc-grades rather than --disable-nogc-grades.
(The configure script was swapped over a long time ago.)
Explain why these grades are not enabled by default.
227 lines
10 KiB
Bash
Executable File
227 lines
10 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# INSTALL - installation instructions and installation script.
|
|
#
|
|
# You need a C compiler such as the GNU C compiler (gcc, version 3.4.x
|
|
# or later -- note however that version 4.0 will not work) and GNU Make
|
|
# (3.69 or later). Make sure that they are somewhere in your PATH.
|
|
# It is also helpful if you have GNU Readline or NetBSD Editline (libedit)
|
|
# installed in one of the standard locations (normally /usr/local or /usr),
|
|
# but this is not essential.
|
|
#
|
|
# The source distributions for gcc, GNU Make, and GNU Readline are
|
|
# available from <ftp://ftp.gnu.org/gnu/>. The source distribution for
|
|
# NetBSD Editline is available from <https://thrysoee.dk/editline/>.
|
|
# Binaries for the above are included in almost all Linux distributions,
|
|
# Mac OS X and also in the Cygwin and MinGW distributions for Windows (see
|
|
# README.MS-Windows).
|
|
#
|
|
# Step 0. Extract the files from the gzipped tar archive.
|
|
#
|
|
# NOTE: do not extract the archive into a directory whose absolute
|
|
# pathname contains spaces, as this will cause the installation to fail.
|
|
#
|
|
# Step 1. Run `configure'. (Just type `sh configure'.)
|
|
#
|
|
# By default, the files will be installed in the directory
|
|
# /usr/local/mercury-@VERSION@.
|
|
# If you want the files to be installed someplace else,
|
|
# use the `--prefix <directory>' option to `configure'.
|
|
# The directory name specified with the `--prefix' option
|
|
# must not contain spaces.
|
|
#
|
|
# NOTE: If you use the `--prefix' option to configure,
|
|
# be aware that `mercury' is not automatically
|
|
# appended. That is, `--prefix=/usr/local' will put
|
|
# files in /usr/local/bin, /usr/local/lib et cetera,
|
|
# *not* /usr/local/mercury/bin, /usr/local/mercury/lib.
|
|
#
|
|
# By default, the installation process will install the Mercury
|
|
# standard library in a comprehensive set of grades, with each grade
|
|
# supporting a given set of capabilities (debugging, profiling etc).
|
|
# If you want to install a different set of grades, read the
|
|
# "Finetuning" section below.
|
|
#
|
|
# Some debugging output from running configure is automatically
|
|
# save to the file `config.log'.
|
|
#
|
|
# Step 2. Run `make'.
|
|
# This step will take a long time.
|
|
#
|
|
# NOTE: If you have problems installing a new version
|
|
# of the compiler, you may find it helpful to either
|
|
# completely remove any existing versions of the
|
|
# compiler reachable on your PATH or, less drastically,
|
|
# alter your PATH variable so that any existing version
|
|
# of the mercury compiler is not accessible for the
|
|
# purposes of installing the new version.
|
|
#
|
|
# Step 3. Run `make install'.
|
|
# This step will also take a long time.
|
|
#
|
|
# BEWARE: if something goes wrong in this step, e.g. running
|
|
# out of disk space, and the installation has already gotten
|
|
# past installing the documentation, and started installing
|
|
# the different grades of the libraries then in general it is
|
|
# NOT sufficient to simply rerun `make install'. Instead you
|
|
# may need to start from scratch again.
|
|
#
|
|
# Step 4. Check the permissions on the installed files.
|
|
# Add /usr/local/mercury-@VERSION@/bin to your PATH, and
|
|
# add /usr/local/mercury-@VERSION@/man to your MANPATH.
|
|
# add /usr/local/mercury-@VERSION@/info to your INFOPATH.
|
|
# You can also add a WWW link to the Mercury documentation in
|
|
# /usr/local/mercury-@VERSION@/lib/mercury/html to your WWW home page,
|
|
# and you may want to print out a hard-copy of the documentation
|
|
# from the DVI files in /usr/local/mercury-@VERSION@/lib/mercury/doc.
|
|
#
|
|
# If step #1 enabled deep profiling, then check whether "make install"
|
|
# was able to copy scripts/mdprof to your web server's CGI directory.
|
|
# This directory is often writeable only by root or by the web server
|
|
# administrator, so you may need more than your usual set of
|
|
# privileges to do the copy (i.e. you may need to "su" to the
|
|
# appropriate user). mdprof is also installed into the same directory
|
|
# as other Mercury executables.
|
|
#
|
|
# To use the emacs debugger interface ("M-x mdb"), you also need to
|
|
# add the following lines to the `.emacs' file in your home directory:
|
|
#
|
|
# (add-to-list 'load-path
|
|
# "/usr/local/mercury-@VERSION@/lib/mercury/elisp")
|
|
# (autoload 'mdb "gud" "Invoke the Mercury debugger" t)
|
|
#
|
|
# Step 5. Run `make clean'.
|
|
#
|
|
# As a short-cut, steps 1-3 are listed below, so they can be replaced
|
|
# by just executing this file. I suggest you run it in the background,
|
|
# and read the Mercury documentation in the `doc' directory while you are
|
|
# waiting.
|
|
|
|
if pwd | grep ' '
|
|
then
|
|
echo "The name of the current directory contains spaces."
|
|
echo "Mercury cannot be installed from such directories."
|
|
exit 1
|
|
fi
|
|
|
|
if test ! -d boehm_gc
|
|
then
|
|
echo "This directory does not contain a complete source distribution."
|
|
echo "If you are trying to compile a workspace checked out of git,"
|
|
echo "you will need to read and follow INSTALL.git, not INSTALL."
|
|
exit 1
|
|
fi
|
|
|
|
sh configure &&
|
|
make &&
|
|
make install
|
|
|
|
# Fine-tuning:
|
|
# ------------
|
|
#
|
|
# If your system has multiple CPUs and lots of RAM,
|
|
# you can uncomment the definition of PARALLEL in the Makefile
|
|
# to perform a parallel make.
|
|
#
|
|
# By default the `make install' step will install a reasonable
|
|
# set of library grades which should be appropriate for most uses.
|
|
#
|
|
# The option --enable-libgrades=<gradelist> allows you to specify
|
|
# precisely the list of library grades to be installed. The argument
|
|
# of this option should be a comma-separated list of grades.
|
|
# An empty list of grades will cause the library to be installed
|
|
# only in the default grade.
|
|
#
|
|
# The option --enable-minimal-install will install only the minimal
|
|
# system that is required in order to bootstrap the Mercury compiler.
|
|
#
|
|
# The option --disable-most-grades reduces the set of installed grades
|
|
# to a "minimum" level for developers (just the default grade and the
|
|
# grades corresponding to the `--debug' and `--high-level-code'
|
|
# options).
|
|
#
|
|
# The option --enable-nogc-grades causes the installation
|
|
# of grades without garbage collection. These are not generally
|
|
# useful as most programs compiled using them will quickly run out
|
|
# of memory.
|
|
#
|
|
# The option --disable-prof-grades prevents the installation
|
|
# of grades that support profiling.
|
|
#
|
|
# The option --disable-old-prof-grades prevents the installation
|
|
# of the old style profiling grades, i.e. all profiling grades
|
|
# except the ones that do deep profiling.
|
|
#
|
|
# The option --disable-trail-grades prevents the installation
|
|
# of grades that support trailing.
|
|
#
|
|
# The option --disable-par-grades prevents the installation
|
|
# of thread-safe grades.
|
|
#
|
|
# The option --enable-inefficient-grades causes the installation
|
|
# of grades that do not exploit gcc extensions even when they are
|
|
# available.
|
|
#
|
|
# The option --enable-hlc-prof-grades causes the installation
|
|
# of profiling versions of the high level code grades.
|
|
#
|
|
# The option --enable-hlc-low-level-debug-grades causes the installation
|
|
# of high-level code grades with C level debugging enabled.
|
|
#
|
|
# The option --enable-stseg-grades causes the installation of grades
|
|
# that use stack segments.
|
|
#
|
|
# The option --disable-java-grade prevents the installation of the
|
|
# Java grade. The Java grade will be installed by default if the
|
|
# Java SDK is found.
|
|
#
|
|
# The option --disable-csharp-grade prevents the installation of the
|
|
# C# grade. The C# grade will be installed by default if the
|
|
# .NET SDK is found.
|
|
#
|
|
# The option --enable-ssdebug-grades adds source-to-source debugging
|
|
# grades hlc.gc.ssdebug and java.ssdebug, if hlc.gc or java grades
|
|
# are also present.
|
|
#
|
|
# The option --disable-shared-libs prevents the installation of shared
|
|
# libraries, even if they are supported on this system.
|
|
#
|
|
# The option --enable-deep-profiler=/some/dir/name enables the deep
|
|
# profiler, and specifies the directory in which to install the
|
|
# deep profiler's CGI script. The option --disable-deep-profiler
|
|
# causes the deep profiler not to be installed, even if the underlying
|
|
# system would be able to support it. The default is to enable the
|
|
# deep profiler if the system has the required features.
|
|
#
|
|
# The --without-readline and --without-editline options prevent the
|
|
# use of GNU Readline and NetBSD Editline (libedit) with the debugger.
|
|
# Note that GNU Readline will be used in preference to Editline if
|
|
# the former is present and if --without-readline is not given.
|
|
#
|
|
# If you are short on RAM, you can add -DSMALL_CONFIG to the CFLAGS
|
|
# line in the file boehm_gc/Makefile. (This tells the garbage
|
|
# collector to tune itself for small physical memory.)
|
|
#
|
|
# If your system supports shared libraries, but `configure' says
|
|
# Mercury does not support shared libraries on this system,
|
|
# contact us and we'll see if we can add support for shared libraries
|
|
# on that system.
|
|
#
|
|
# Efficiency will be much improved if Mercury can use gcc global
|
|
# register variables. Currently these are supported for
|
|
# mips, hppa, sparc, alpha, rs6000, i386 and x86_64 architectures
|
|
# (see runtime/regs.h and runtime/machdeps/*).
|
|
# If you want to use Mercury on some other CPU, contact us and
|
|
# we'll add support for gcc global registers for that CPU.
|
|
#
|
|
# De-installation:
|
|
# ----------------
|
|
#
|
|
# You may eventually want to uninstall this version of Mercury
|
|
# (to free up disk space so you can install the next version ;-).
|
|
# If you installed in the default location, you can simply
|
|
# use `rm -rf /usr/local/mercury-@VERSION@' to uninstall.
|
|
# If you installed in a location such as `/usr/local' that also
|
|
# contains other files which you do not want removed, then
|
|
# run the command `make uninstall' in this directory.
|