Permalink
Switch branches/tags
version-14_01_1 version-14_01 version-13_05_2 version-13_05_1 version-13_05 version-12_08-branchpoint version-12_08-GIT version-11_07_2 version-11_07_1 version-11_07 version-11_07-branchpoint version-11_01 version-11_01-branchpoint version-10_04_2 version-10_04_1 version-10_04 version-10_04-branchpoint version-0_13_1 version-0_13-branchpoint version-0_12_2 version-0_12_1 version-0_12-branchpoint version-0_11_0 version-0_11-branchpoint version-0_10 version-0_9_1 version-0_9 version-0_9_x-snapshot version-0_9_x-snapshot-19991220 unstable-version-0_13_1-x86_64-unknown-linux-gnu-libc2_3 unstable-version-0_13_1-i686-pc-linux-libc2_3-gnu-O5-intermod unstable-version-0_13-branch-x86_64-unknown-linux-gnu-libc2_3 unstable-version-0_13-branch-i686-pc-linux-libc2_3-gnu-O5-intermod unstable-version-0_12_2-i686-pc-linux-libc2_2-gnu-O5-intermod unstable-version-0_12_2-i386-pc-solaris2_8 unstable-version-0_12_1-i686-pc-linux-libc2_3-gnu-O4-intermod unstable-version-0_12_1-i686-pc-linux-libc2_3-gnu-O2 unstable-version-0_12_1-i686-pc-linux-libc2_2-gnu-O5-intermod unstable-version-0_12_1-i386-pc-solaris2_8 unstable-version-0_12-branch-i686-pc-linux-libc2_3-gnu-O5 unstable-version-0_12-branch-i686-pc-linux-libc2_3-gnu-O4-intermod unstable-version-0_12-branch-i686-pc-linux-libc2_3-gnu-O4-hlc unstable-version-0_12-branch-i686-pc-linux-libc2_3-gnu-O2 unstable-version-0_12-branch-i686-pc-linux-libc2_2-gnu-O5 unstable-version-0_12-branch-i686-pc-linux-libc2_2-gnu-O5-intermod unstable-version-0_12-branch-i686-pc-linux-libc2_2-gnu-O3 unstable-version-0_12-branch-i386-pc-solaris2_8 unstable-version-0_11_0-sparc-sun-solaris2_7 unstable-version-0_11_0-i686-pc-linux-libc2_3-gnu-O5-intermod unstable-version-0_11_0-i686-pc-linux-libc2_2-gnu-O5 unstable-version-0_11_0-i686-pc-linux-libc2_2-gnu-O5-lcc unstable-version-0_11_0-i686-pc-linux-libc2_2-gnu-O5-hlc unstable-version-0_11_0-i686-pc-linux-libc2_1-gnu-O4 unstable-version-0_11_0-i686-pc-linux-libc2_1-gnu-O4-asm unstable-version-0_11_0-i686-pc-linux-libc2_1-gnu-O3 unstable-version-0_11_0-i386-pc-solaris2_8 unstable-version-0_11-branch-i686-pc-linux-libc2_3-gnu-O5-intermod unstable-version-0_11-branch-i686-pc-linux-libc2_2-gnu-O5-intermod unstable-version-0_11-branch-i686-pc-linux-libc2_2-gnu-O5-hlc unstable-version-0_11-branch-i686-pc-linux-libc2_1-gnu-O5 unstable-version-0_11-branch-i686-pc-linux-libc2_1-gnu-O5-lcc unstable-version-0_11-branch-i686-pc-linux-libc2_1-gnu-O5-intermod unstable-version-0_11-branch-i686-pc-linux-libc2_1-gnu-O5-hlc unstable-version-0_11-branch-alpha-dec-osf5_1 unstable-version-0_10_y-sparc-sun-solaris2_7 unstable-version-0_10_y-i686-pc-linux-libc2_1-gnu-O5 unstable-version-0_10_y-i686-pc-linux-libc2_1-gnu-O5-lcc unstable-version-0_10_y-i686-pc-linux-libc2_1-gnu-O5-intermod unstable-version-0_10_y-i686-pc-linux-libc2_1-gnu-O5-hlc unstable-version-0_10_y-i686-pc-linux-libc2_1-gnu-O4 unstable-version-0_10_y-i686-pc-linux-libc2_1-gnu-O4-hlc unstable-version-0_10_y-i686-pc-linux-libc2_1-gnu-O2 unstable-version-0_10_y-i586-pc-linux-libc2_1-gnu-O0 unstable-version-0_10_y-alpha-dec-osf5_1 unstable-version-0_10_y-alpha-dec-osf3_2 unstable-version-0_10_x-sparc-sun-solaris2_7 unstable-version-0_10_x-i686-pc-linux-libc2_1-gnu-O5 unstable-version-0_10_x-i686-pc-linux-libc2_1-gnu-O5-lcc unstable-version-0_10_x-i686-pc-linux-libc2_1-gnu-O4 unstable-version-0_10_x-i686-pc-linux-libc2_1-gnu-O4-hlc unstable-version-0_10_x-i686-pc-linux-libc2_1-gnu-O3 unstable-version-0_10_x-i686-pc-linux-libc2_1-gnu-O2 unstable-version-0_10_x-i586-pc-linux-libc2_1-gnu-O0 unstable-version-0_10_x-alpha-dec-osf3_2 termination2_trunk stable-version-0_11_0-i686-pc-linux-libc2_3-gnu-O5-intermod stable-version-0_11_0-i686-pc-linux-libc2_2-gnu-O5 stable-version-0_11_0-i686-pc-linux-libc2_2-gnu-O5-lcc stable-version-0_11_0-i686-pc-linux-libc2_2-gnu-O5-hlc stable-version-0_11_0-i686-pc-linux-libc2_1-gnu-O4 stable-version-0_11_0-i686-pc-linux-libc2_1-gnu-O4-asm stable-version-0_11_0-i686-pc-linux-libc2_1-gnu-O3 stable-version-0_11-branch-i686-pc-linux-libc2_3-gnu-O5-intermod stable-version-0_11-branch-i686-pc-linux-libc2_2-gnu-O5-lcc stable-version-0_11-branch-i686-pc-linux-libc2_2-gnu-O5-intermod stable-version-0_11-branch-i686-pc-linux-libc2_1-gnu-O5 stable-version-0_11-branch-i686-pc-linux-libc2_1-gnu-O5-lcc stable-version-0_11-branch-i686-pc-linux-libc2_1-gnu-O5-intermod stable-version-0_11-branch-i686-pc-linux-libc2_1-gnu-O5-hlc stable-version-0_11-branch-alpha-dec-osf5_1
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
executable file 222 lines (217 sloc) 9.9 KB
#!/bin/sh
#
# INSTALL - installation instructions and installation script.
#
# You need GNU C (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's also helpful if you
# have GNU Readline installed in one of the standard locations (normally
# /usr/local or /usr), but this is not essential.
#
# The source distributions for GNU C, GNU Make, and GNU Readline are
# available from <ftp://ftp.gnu.org/gnu/>. Binaries for these 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 --disable-nogc-grades prevents the installation
# of grades without garbage collection.
#
# 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-erlang-grade causes the installation of the
# Erlang grade. This grade is only installed if the Erlang/OTP
# distribution 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-dynamic-link 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.
#
# 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.