X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Finstalling.xml;h=4f3a1c2a86f7d42d9e8061d52b776b2769d321fe;hb=b4d1234d58af102db3a064802f3fa7ca3242b8ce;hp=8615002a71b6f406552d2badac5537e05f19ec66;hpb=b8f54baebdd8954af835b6c8eaee5ebf3e0b5b52;p=ghc-hetmet.git diff --git a/docs/users_guide/installing.xml b/docs/users_guide/installing.xml index 8615002..4f3a1c2 100644 --- a/docs/users_guide/installing.xml +++ b/docs/users_guide/installing.xml @@ -76,29 +76,27 @@ Then you should find the bundle contents inside a single directory, OK, so let's assume that you have unpacked your chosen bundles. What -next? Well, you will at least need to run the +next? Well, you will first need to configureconfigure -script by changing directory into the top-level directory for the -bundle and typing ./configure. That should convert -Makefile.in to Makefile. +the bundle by +changing to the bundle's top-level directory +and typing ./configure. That should convert +Makefile-vars.in to Makefile-vars. -installing in-place -in-place installation -You can now either start using the tools in-situ without going -through any installation process, just type make in-place to set the -tools up for this. You'll also want to add the path which make will -now echo to your PATH environment variable. This option is useful if -you simply want to try out the package and/or you don't have the -necessary privileges (or inclination) to properly install the tools -locally. Note that if you do decide to install the package `properly' -at a later date, you have to go through the installation steps that -follow. +The configure script takes a number of flags. The most +commonly used is the +--prefix=/path/to/install/in +flag, which tells the bundle that you want it to be installed in +/path/to/install/in rather than the default +location (/usr/local). +To see all the flags that configure accepts, run +configure --help. -To install a package, you'll have to do the following: +Then do the following: @@ -107,112 +105,35 @@ To install a package, you'll have to do the following: - Edit the Makefile and check the settings of the following variables: - -directories, installation -installation directories - - - - -platform - - -the platform you are going to install for. - - - -bindir - - -the directory in which to install user-invokable -binaries. - - - -libdir - - -the directory in which to install -platform-dependent support files. - - - -datadir - - -the directory in which to install -platform-independent support files. - - - -infodir - - -the directory in which to install Emacs info -files. - - - -htmldir - - -the directory in which to install HTML -documentation. - - - -dvidir - - -the directory in which to install DVI -documentation. - - - - -The values for these variables can be set through invocation of the -configureconfigure -script that comes with the distribution, but doing an optical diff to -see if the values match your expectations is always a Good Idea. - - - -Instead of running configure, it is -perfectly OK to copy Makefile.in to -Makefile and set all these variables directly -yourself. But do it right! - - - - - - Run make install. This should work with ordinary Unix make—no need for fancy stuff like GNU make. - - + -rehash (t?csh or zsh users), so your shell will see the new -stuff in your bin directory. - +If appropriate, add the bin directory to your PATH, as instructed. + + +You may need to run rehash (t?csh or zsh users), in +order for your shell to see the new stuff in your bin directory. + + + Once done, test your “installation” as suggested in . Be sure to use a -v option, so you can see exactly what pathnames it's using. - If things don't work as expected, check the list of known pitfalls in the building guide. + @@ -233,78 +154,6 @@ regardless, ghc-x.xx should always invoke GHC version - -What bundles there are - - -bundles, binary There are -plenty of “non-basic” GHC bundles. The files for them are -called -ghc-x.xx-bundle-platform.tar.gz, -where the platform is as above, and -bundle is one of these: - - - - - - -prof: - - -Profiling with cost-centres. You probably want this. -profiling bundles -bundles, profiling - - - -par: - - -Parallel Haskell features (sits on top of PVM). -You'll want this if you're into that kind of thing. -parallel bundles -bundles, parallel - - - -gran: - - -The “GranSim” parallel-Haskell simulator -(hmm… mainly for implementors). -bundles, gransim -gransim bundles - - - -ticky: - - -“Ticky-ticky” profiling; very detailed -information about “what happened when I ran this program”—really -for implementors. -bundles, ticky-ticky -ticky-ticky bundles - - - - - - -One likely scenario is that you will grab two -binary bundles—basic, and profiling. We don't usually make the -rest, although you can build them yourself from a source distribution. - - -The various GHC bundles are designed to be unpacked into the -same directory; then installing as per the directions above will -install the whole lot in one go. Note: you must -at least have the basic GHC binary distribution bundle, these extra -bundles won't install on their own. - - - Testing that GHC seems to be working @@ -344,14 +193,6 @@ Hello, world! - -Some simple-but-profitable tests are to compile and run the notorious -nfibnfib program, using different numeric types. Start with -nfib :: Int -> Int, and then try Integer, Float, Double, -Rational and perhaps the overloaded version. Code for this is -distributed in ghc/misc/examples/nfib/ in a source distribution. - - For more information on how to “drive” GHC, read on... @@ -388,7 +229,7 @@ You can override it, but by default this directory is The executable binary for GHC will be installed in the bin/ sub-directory of the installation directory. If you want to invoke GHC from a command line, add this -to your PATH environment variable. +to your $PATH environment variable. When installation is complete, you should find GHCi and the GHC @@ -551,9 +392,9 @@ That is why $(bindir) must be $(libdir)/bin The binary directory -The binary directory, $(bindir) contains user-visible +The binary directory, $(bindir), contains user-visible executables, notably ghc and ghci. -You should add it to your $PATH +You should add it to your $PATH. On Unix, the user-invokable ghc invokes $(libdir)/ghc-version, @@ -576,18 +417,20 @@ truncates them. Similarly ghci is a C wrapper program that The library directory -The layout of the library directory, $(libdir) is almost identical on +The layout of the library directory, $(libdir), +is almost identical on Windows and Unix, as follows. Differences between Windows and Unix -are noted thus [Win32 only] and are commented below. +are annotated [Win32 only] and are commented below. $(libdir)/ package.conf GHC package configuration ghc-usage.txt Message displayed by ghc ––help + ghci-usage.txt Message displayed by ghci ––help bin/ [Win32 only] User-visible binaries - ghc.exe - ghci.exe + ghc.exe + ghci.exe unlit Remove literate markup @@ -598,7 +441,7 @@ are noted thus [Win32 only] and are commented below. ghc-x.xx GHC executable [Unix only] ghc-split Asm code splitter - ghc-asm Asm code mangler + ghc-asm Asm code mangler gcc-lib/ [Win32 only] Support files for gcc specs gcc configuration @@ -608,32 +451,31 @@ are noted thus [Win32 only] and are commented below. ld.exe crt0.o Standard - ..etc.. binaries + ..etc.. binaries libmingw32.a Standard - ..etc.. libraries + ..etc.. libraries *.h Include files - imports/ GHC interface files - std/*.hi 'std' library - lang/*.hi 'lang' library - ..etc.. + hslibs-imports/ GHC interface files for the... + ghc/*.hi ...'ghc' library include/ C header files StgMacros.h GHC-specific - ..etc... header files + ..etc.. header files mingw/*.h [Win32 only] Mingwin header files - libHSrts.a GHC library archives - libHSstd.a - libHSlang.a - ..etc.. + lib/ GHC's library + base-2.1 + ..etc.. + + libHSrts*.a GHC RTS archive + libHSghc.a GHC package archive - HSstd1.o GHC library linkables - HSstd2.o (used by ghci, which does - HSlang.o not grok .a files yet) + HSrts.o GHC RTS linkable, used by ghci + HSghc.o GHC package linkable, used by ghci Note that: