implemented Setup.hs to build boehm cpp libs and install them;
[hs-boehmgc.git] / gc-7.2 / doc / README.autoconf
1 Starting from GC v6.0, we support GNU-style builds based on automake,
2 autoconf and libtool.  This is based almost entirely on Tom Tromey's work
3 with gcj.
4
5 To build and install libraries use
6
7 configure; make; make install
8
9 The advantages of this process are:
10
11 1) It should eventually do a better job of automatically determining the
12 right compiler to use, etc.  It probably already does in some cases.
13
14 2) It tries to automatically set a good set of default GC parameters for
15 the platform (e.g. thread support).  It provides an easier way to configure
16 some of the others.
17
18 3) It integrates better with other projects using a GNU-style build process.
19
20 4) It builds both dynamic and static libraries.
21
22 The known disadvantages are:
23
24 1) The build scripts are much more complex and harder to debug (though largely
25 standard).  I don't understand them all, and there's probably lots of redundant
26 stuff.
27
28 2) It probably doesn't work on all Un*x-like platforms yet.  It probably will
29 never work on the rest.
30
31 3) The scripts are not yet complete.  Some of the standard GNU targets don't
32 yet work.  (Corrections/additions are very welcome.)
33
34 The distribution should contain all files needed to run "configure" and "make",
35 as well as the sources needed to regenerate the derived files.  (If I missed
36 some, please let me know.)
37
38 Note that the distribution comes with a "Makefile" which will be overwritten
39 by "configure" with one that is not at all equivalent to the original.  The
40 distribution contains a copy of the original "Makefile" in "Makefile.direct".
41
42 Important options to configure:
43
44   --prefix=PREFIX         install architecture-independent files in PREFIX
45                           [/usr/local]
46   --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
47                           [same as prefix]
48   --enable-threads=TYPE   choose threading package
49   --enable-parallel-mark  parallelize marking and free list construction
50   --enable-gc-debug (--enable-full-debug before about 7.0)
51                           include full support for pointer back-tracing etc.
52
53
54 Unless --prefix is set (or --exec-prefix or one of the more obscure options),
55 make install will install libgc.a and libgc.so in /usr/local/bin, which
56 would typically require the "make install" to be run as root.
57
58 Most commonly --enable-threads=posix or will be needed.  --enable-parallel-mark
59 is recommended for multiprocessors if it is supported on the platform.