[Ecls-list] Build cleanups, part one.

Maciek Pasternacki maciekp at japhy.fnord.org
Mon Mar 28 13:52:35 UTC 2005


I now started to hack on ecl for an employer; we want to make at least
part of our patches public, it would be great if they could get into
ecl's mainline.  Our first effort is to clean up ecl build system.

First patch with configure.in cleanups is at
http://japhy.fnord.org/pub/ecls-20050325-build-1.tar.gz .  I can't
figure out how my changes would affect build on exotic platforms
(i.e. Windows); it may also have some other side effects which I
overlooked.  Any comments or tests are welcome.  Here is list of
my changes and some questions (also included in tarball in file

Build diff version 1.0 (configure.in)

*** User-visible changes

- Make --enable-boehm take an argument (system, included, auto, yes,
  no) specifying where to take Boehm GC library from; deprecated
  --with-system-boehm as well as --enable-local-boehm.  Defaults to
  auto (synonym to yes), which uses system libgc if found and included
  one if not found;
- New switches --with-system-boehm-includes and
  --with-system-boehm-libs to specify system Boehm GC libary
  includedir and libdir;
- --with-system-gmp defaults to `auto' (uses system gmp if present,
  included one if not).

*** Internal changes

- Re-arranged macros according to GNU guidelines;
- Some reformatting, added more comments
- Removed unnecessary AC_SUBST()s
- Added checks suggested by autoscan
- Rewritten GC library selection mechanism, put everything in one place
- Use more standard LIBS instead of CLIBS
- Use CFLAGS directly instead of BOEHM_HEADERS
- Rename gc_flags to boehs_configure_flags (more descriptive)
- Don't create own variables when with_foo_bar ones can be used
- Added @configure_output@ to AC_CONFIG_FILES
- AC_SUBST(thehost) done in aclocal.m4
- New macro in aclocal:
  ECL_ADD_LISP_LIBRARY(lisp_library_basename, [add_literal])
  (optional second argument is a hack to add sysfun.lsp)
- New macro in aclocal:
  ECL_ADD_LISP_MODULE(lisp_module_name, [compile_in_if_static])
- Added descriptions to AC_DEFINEs to make autoheader work
  (TODO: skip configpre stage, use autoheader instead)
- Ran autoupdate on configure.in and aclocal.m4
- Corrected @MACHINE@ to @MACHINE_VERSION@ in src/lsp/config.lsp.in
  and src/utils/Makefile.in 

*** Unrelated bugfixes
- (src/c/format.d) Double declaration of FMT_VALUE_UPPER_LIMIT ->

*** Questions
- Can't @STATICLIBS@ be just included in @LIBS@?
- What about commented out parts of configure.in?
  Are they obsolete or work-in-progress?
  I didn't leave commented out parts in configure.in, I pasted them
  in CHANGES.japhy (won't paste them here, they're too long; that's some
  Tk and X11 stuff, locative support, --enable-runtime, --with-oldloop)

__    Maciek Pasternacki <maciekp at japhy.fnord.org> [ http://japhy.fnord.org/ ]
`| _   |_\  / {  Any sufficently complicated Java program requires 
,|{-}|}| }\/       a programmable IDE to make up for the half of Common Lisp
\/   |____/ not implemented in the program itself. }    ( Peter Seibel )  -><-

More information about the ecl-devel mailing list