← Back to team overview

dolfin team mailing list archive

Re: Version 0.6.0?

 

On Thu, Feb 16, 2006 at 03:36:00PM +0100, Garth N. Wells wrote:
> I think I've found the problem with static libraries. In configure.ac,
> DOLFIN_LTLIBS should refer to all the *.lo files, which are located in
> the same directories as the source code (see
> http://sourceware.org/autobook/autobook/autobook_94.html).
> 
> Also, is the line
> 
>   libdolfin_la_DEPENDENCIES = @DOLFIN_LTLIBS@
> 
> in src/lib/Makefile.am required?
> 
> Garth 
> 
> # Generate libtool library list (including also module code)
> DOLFIN_LTLIBS=""
> for f in $DOLFIN_MODULES; do
> #  DOLFIN_LTLIBS="$DOLFIN_LTLIBS \
> $(top_builddir)/src/modules/$f/libdolfin-$f.la "
>    DOLFIN_LTLIBS="$DOLFIN_LTLIBS \$(top_builddir)/src/modules/$f/*.lo "
> done
> for f in $DOLFIN_KERNEL; do
> #   DOLFIN_LTLIBS="$DOLFIN_LTLIBS \
> $(top_builddir)/src/kernel/$f/libdolfin-$f.la "
>     DOLFIN_LTLIBS="$DOLFIN_LTLIBS \$(top_builddir)/src/kernel/$f/*.lo "
> done
> AC_SUBST(DOLFIN_LTLIBS)
> 

Ok, libtool can handle this much better. Perhaps linking library files
(.la) isn't an established feature yet.

Explicitly setting the DEPENDENCIES variable is needed, LIBADD doesn't
seem to generate any dependencies. This is an issue with automake
though.

With the change to linking directly against the library object files,
the individual libraries (libdolfin-la, libdolfin-stokes etc.) are
redundant and I think just confusing, so I will remove them if you
agree with this. In the terminology of libtool, every object file is a
library anyway. We can still keep the structure, just that it won't
show up in the libraries.

  Johan




Follow ups

References