octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: libtool and mkoctfile


From: John W. Eaton
Subject: Re: libtool and mkoctfile
Date: Wed, 4 Nov 2009 13:02:02 -0500

On  4-Nov-2009, Søren Hauberg wrote:

| I'm just following this from the side-line, so this is probably a stupid
| question...  What is 'libtool' supposed to do here? Is it just supposed
| generate a set of compiler and linker flags that ensures that the .oct
| file can be generated? If so, are these flags the same every time
| 'mkoctfile' is called? If so, can't we just generate these flags when
| Octave is compiled instead of generating them at run-time?

I don't know the reasoning behind the design choices that resulted in
rules like

  LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
          --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
          $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)

  .c.lo:
          depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
          $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
          $(am__mv) $$depbase.Tpo $$depbase.Plo

etc., and embedding the logic for precisely how to compile a source
file or assemble a library inside the libtool script instead of
exposing that logic directly in the Makefile (via apropriate
automake/autoconf macros, for example).  I don't see that this
question is directly answered in the libtool documentation.  Maybe
this question should be directed tothe autoconf/automake/libtool
developers?

However, consider the alternative of eliminating the libtool script in
favor of having the logic of the libtool script exposed in the
Makefile itself.  Then to use that logic in the mkoctfile script, we
would have to duplicate it.  But the Makefile rules would not be
exactly what we need.  This is the situation we have now with Octave's
current build system.  So it makes some sense to avoid the duplication
and just put the logic in a single script that can be called from a
Makefile or some other script.

jwe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]