From 554da8398718899e551a88fd4ced498dd7ddd413 Mon Sep 17 00:00:00 2001 From: simonmar Date: Fri, 3 Mar 2000 10:49:43 +0000 Subject: [PATCH] [project @ 2000-03-03 10:49:43 by simonmar] - add Happy as a pre-supposed tool. - clean up, removed gratuitous white-space --- docs/building.sgml | 131 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 79 insertions(+), 52 deletions(-) diff --git a/docs/building.sgml b/docs/building.sgml index b7c3fbb..e586e6f 100644 --- a/docs/building.sgml +++ b/docs/building.sgml @@ -317,14 +317,12 @@ by their ``canonical'' CPU/Manufacturer/OS triple. alpha-dec-{osf,linux,freebsd,openbsd,netbsd}: - - alpha-dec-osf alpha-dec-linux alpha-dec-freebsd alpha-dec-openbsd alpha-dec-netbsd - + Currently non-working. The last working version (osf[1-3]) is GHC @@ -338,8 +336,8 @@ either need Alpha support and/or can provide access to boxes. sparc-sun-sunos4: - sparc-sun-sunos4 + Probably works with minor tweaks, hasn't been tested for a while. @@ -348,8 +346,8 @@ Probably works with minor tweaks, hasn't been tested for a while. sparc-sun-solaris2: - sparc-sun-solaris2 + Fully supported, including native-code generator. @@ -358,8 +356,8 @@ Fully supported, including native-code generator. hppa1.1-hp-hpux (HP-PA boxes running HPUX 9.x) - hppa1.1-hp-hpux + Works registerised. No native-code generator. @@ -367,9 +365,9 @@ Works registerised. No native-code generator. -i386-unknown-linux (PCs running Linux—ELF format): - +i386-unknown-linux (PCs running Linux—ELF binary format): i386-*-linux + GHC works registerised. You must have GCC 2.7.x @@ -384,12 +382,10 @@ versions, even if the shared library version hasn't changed. i386-unknown-{freebsd,netbsd,openbsd) (PCs running FreeBSD 2.2 or higher, NetBSD, and possibly OpenBSD): - - i386-unknown-freebsd i386-unknown-netbsd i386-unknown-openbsd - + GHC works registerised. These systems provide ready-built packages of @@ -400,10 +396,8 @@ the package. i386-unknown-cygwin32: - - i386-unknown-cygwin32 - + Fully supported under Win9x/NT, including a native code @@ -415,10 +409,8 @@ etc.). mips-sgi-irix5: - - mips-sgi-irix[5-6] - + Port currently doesn't work, needs some minimal porting effort. As @@ -470,8 +462,11 @@ Unless you hear otherwise, the other tools work if GHC works. Here are the gory details about some utility programs you may need; -perl and gcc are the only important ones. (PVMPVM is important -if you're going for Parallel Haskell.) The configureconfigure +perl, gcc and +happy are the only important +ones. (PVMPVM is important +if you're going for Parallel Haskell.) The +configureconfigure script will tell you if you are missing something. @@ -480,13 +475,13 @@ script will tell you if you are missing something. Perl: - - pre-supposed: Perl Perl, pre-supposed -You have to have Perl to proceed! Perl is a language quite good -for doing shell-scripty tasks that involve lots of text processing. -It is pretty easy to install. + + +You have to have Perl to proceed! Perl is a +language quite good for doing shell-scripty tasks that involve lots of +text processing. It is pretty easy to install. @@ -508,11 +503,9 @@ systems. GNU C (gcc): - - pre-supposed: GCC (GNU C compiler) GCC (GNU C compiler), pre-supposed - + We recommend using GCC version 2.95.2 on all platforms. Failing that, @@ -530,14 +523,27 @@ please let us know, so we can report it and get things improved. + +Happy: +Happy + +Happy is a parser generator tool for Haskell, and is used to +generate GHC's parsers. Happy is written in Haskell, and is a project +in the CVS repository (fptools/happy). It can be +built from source, but bear in mind that you'll need GHC installed in +order to build it. To avoid the chicken/egg problem, install a binary +distribtion of either Happy or GHC to get started. Happy +distributions are available from Happy's Web Page. + + + + Autoconf: - - pre-supposed: Autoconf Autoconf, pre-supposed - - + GNU Autoconf is needed if you intend to build from the CVS sources, it is not needed if you just intend to build a @@ -554,11 +560,10 @@ If you modify either of these files, you'll need Autoconf to rebuild sed - - pre-supposed: sed sed, pre-supposed - + + You need a working sed if you are going to build from sources. The build-configuration stuff needs it. GNU sed version 2.0.4 is no good! It has a bug in it that is tickled by the @@ -586,11 +591,9 @@ particularly Glasgow-ish, but Occasionally Indispensable. Like PVM version 3: - - pre-supposed: PVM3 (Parallel Virtual Machine) PVM3 (Parallel Virtual Machine), pre-supposed - + PVM is the Parallel Virtual Machine on which Parallel Haskell programs @@ -613,9 +616,9 @@ the Readme instructions. bash: +bash, presupposed (Parallel Haskell only) -bash, presupposed (Parallel Haskell only) Sadly, the gr2ps script, used to convert ``parallelism profiles'' to PostScript, is written in Bash (GNU's Bourne Again shell). This bug will be fixed (someday). @@ -640,11 +643,11 @@ documentation that comes with the fptools projects: DocBook: +pre-supposed: DocBook +DocBook, pre-supposed -pre-supposed: DocBook -DocBook, pre-supposed All -our documentation is written in SGML, using the DocBook DTD and +All our documentation is written in SGML, using the DocBook DTD and processed using the Cygnus DocBook tools, which is the most shrink-wrapped SGML suite that we @@ -655,10 +658,10 @@ DocBook source file (including this manual). N.B. The Cygnus TeX: - - pre-supposed: TeX TeX, pre-supposed + + A decent TeX distribution is required if you want to produce printable documentation. We recomment teTeX, which includes just about everything you need. @@ -673,16 +676,12 @@ everything you need. Other useful tools - - Flex: - - pre-supposed: flex flex, pre-supposed - + This is a quite-a-bit-better-than-Lex lexer. Used to build a couple @@ -692,7 +691,6 @@ work; you should get the GNU version. - @@ -897,6 +895,13 @@ no arguments). This GNU program converts $(FPTOOLS&lo to a shell script called $(FPTOOLS_TOP)/configure. + +Some projects, including GHC, have their own configure script. If +there's an +$(FPTOOLS_TOP)/<project>/configure.in, +then you need to run autoconf in that directory too. + + Both these steps are completely platform-independent; they just mean that the human-written file (configure.in) can be short, although @@ -1360,11 +1365,33 @@ Most Makefiles have targets other than these. You can disc + +Using a project from the build tree + +If you want to build GHC (say) and just use it direct from the build +tree without doing make install first, you can run +the in-place driver script: +ghc/driver/ghc-inplace. + + + Do NOT use +ghc/driver/ghc, or +ghc/driver/ghc-4.xx, as these are the scripts +intended for installation, and contain hard-wired paths to the +installed libraries, rather than the libraries in the build tree. + + + +Happy can similarly be run from the build tree, using +happy/src/happy-inplace. + + + -Fast Making -<IndexTerm><Primary>fastmake</Primary></IndexTerm> +<Title>Fast Making <IndexTerm><Primary>fastmake</Primary></IndexTerm> <IndexTerm><Primary>dependencies, omitting</Primary></IndexTerm> -<IndexTerm><Primary>FAST, makefile variable</Primary></IndexTerm> +FAST, makefile +variable Sometimes the dependencies get in the way: if you've made a small -- 1.7.10.4