[Ecls-list] Re: Build cleanups, part one.

Maciek Pasternacki maciekp at japhy.fnord.org
Tue Mar 29 08:02:50 UTC 2005

On Pungenday, Discord 15, 3171 YOLD, Juan Jose Garcia Ripoll wrote:

[cut LIBS/CLIBS/STATICLIBS explanations]

> Could you please fix your patches to take this into account: either 
> restoring the uses of CLIBS and STATICLIBS or introducing three new 
> variables
> * LIBS for all C libraries that are installed and are required by all 
> code (like -ltcp, -lsockets...)
> * FASL_LIBS for C libraries that are required by all ECL code (like 
> -lgmp, -lgc, etc)
> * CORE_LIBS for C libraries that are required only by ecl_min and 
> libecl.so (like -leclgmp, -leclgc,...)
> The old CLIBS would correspond to LIBS + FASL_LIBS, while the old 
> STATICLIBS would correspond to CORE_LIBS.

Thanks for explaining the LIBS/CLIBS/STATICLIBS difference; I have
Boehm GC installed system-wide so moving -lgc from CLIBS to LIBS
didn't affect me even when building --enable-boehm=included.  The
second idea (with FASL_LIBS and CORE_LIBS) looks better as it is less
confusing to code reader, but I'd rather not use FASL_LIBS but move
libraries required by all ECL code to LIBS, except libraries that
aren't available at configure time because we use locally-built ones.
So, I propose to do it like this:

* LIBS with all system-wide installed libraries required by all ECL
* LOCAL_LIBS with -lgmp and/or -lgc to locally built libraries that
  aren't available system-wide (only when they're built locally),
* CORE_LIBS with libraries needed only by libecl.so and libecl_min.

This option looks cleaner to me; OTOH I don't want to force my point
of view, so please comment on this.  I'll implement either this
option, or FASL_LIBS one.

> Also, I am not sure about the verbose --with-system-boehm-includes, etc, 

I just checked GNU coding standards (last updated January 1, 2005);
they say this:

,----[ http://www.gnu.org/prep/standards/html_node/Configuration.html ]
| Do not use a `--with' option to specify the file name to use to find
| certain files.  That is outside the scope of what `--with' options are
| for.

CFLAGS is meant for optimisation, debug etc. flags; setting it makes
autoconf macro AC_PROG_CC not set its default flags, which affects
build.  After digging into documentation I found CPPFLAGS should be
used for include path, so these --with options aren't really needed.
With LDFLAGS there should be no such problems, according to Autoconf
docs.  My first thought was to make life easier for packagers (my
distro puts Boehm GC includes in /usr/include/gc) but in the meantime
I found out canonical ways to pass such flags in packagers'
guidelines.  I will back off from these changes and make Makefiles use

What about commented out parts of configure.in?  You wrote that Tk is
obsolete in today post on license; what about --enable-locative,
--enable-runtime, --with-oldloop and part labelled `X11 stuff'?

Thanks for your comments; I'll send updated version of patches to the
list soon.

__    Maciek Pasternacki <maciekp at japhy.fnord.org> [ http://japhy.fnord.org/ ]
`| _   |_\  / { -It's possible that people in my life are actually detrimental
,|{-}|}| }\/ to what I'm trying to do right now--And what is it you're trying
\/   |____/ to do? -- I'm trying to stay sane. }         ( I Feel Sick )  -><-

More information about the ecl-devel mailing list