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