README.autoconf 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. As of GC6.0alpha8, we attempt to 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. To build and install libraries use
  5. configure; make; make install
  6. The advantages of this process are:
  7. 1) It should eventually do a better job of automatically determining the
  8. right compiler to use, etc. It probably already does in some cases.
  9. 2) It tries to automatically set a good set of default GC parameters for
  10. the platform (e.g. thread support). It provides an easier way to configure
  11. some of the others.
  12. 3) It integrates better with other projects using a GNU-style build process.
  13. 4) It builds both dynamic and static libraries.
  14. The known disadvantages are:
  15. 1) The build scripts are much more complex and harder to debug (though largely
  16. standard). I don't understand them all, and there's probably lots of redundant
  17. stuff.
  18. 2) It probably doesn't work on all Un*x-like platforms yet. It probably will
  19. never work on the rest.
  20. 3) The scripts are not yet complete. Some of the standard GNU targets don't
  21. yet work. (Corrections/additions are very welcome.)
  22. The distribution should contain all files needed to run "configure" and "make",
  23. as well as the sources needed to regenerate the derived files. (If I missed
  24. some, please let me know.)
  25. Note that the distribution comes with a "Makefile" which will be overwritten
  26. by "configure" with one that is not at all equiavelent to the original. The
  27. distribution contains a copy of the original "Makefile" in "Makefile.direct".
  28. Important options to configure:
  29. --prefix=PREFIX install architecture-independent files in PREFIX
  30. [/usr/local]
  31. --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
  32. [same as prefix]
  33. --enable-threads=TYPE choose threading package
  34. --enable-parallel-mark parallelize marking and free list construction
  35. --enable-full-debug include full support for pointer backtracing etc.
  36. Unless --prefix is set (or --exec-prefix or one of the more obscure options),
  37. make install will install libgc.a and libgc.so in /usr/local/bin, which
  38. would typically require the "make install" to be run as root.
  39. Most commonly --enable-threads=posix or will be needed. --enable-parallel-mark
  40. is recommended for multiprocessors if it is supported on the platform.