libtool
[Top][All Lists]
Advanced

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

Re: question about shared builds with Sun native compilers...


From: Dan Nicholson
Subject: Re: question about shared builds with Sun native compilers...
Date: Mon, 5 May 2008 08:06:26 -0700

On Mon, May 5, 2008 at 7:32 AM, Ed Hartnett <address@hidden> wrote:
> "Dan Nicholson" <address@hidden> writes:
>
>  > On Tue, Apr 22, 2008 at 4:24 AM, Ed Hartnett <address@hidden> wrote:
>  >> Howdy all!
>  >>
>  >>  Firstly, thanks for developing libtool! It's really helpful!
>  >>
>  >>  I am using it to distribute a freeware scientific data library,
>  >>  netcdf. The netcdf distribution actually builds more than one
>  >>  library. It builds a core C library, and a fortran library. The
>  >>  fortran library calls the C library.
>  >>
>  >>  The way I handle this is to first build the fortran library, then the
>  >>  C library.
>  >
>  > Why not just build the C library first? That would seem to be not only
>  > logical, but preferable as the linker can actually analyze the symbols
>  > in the C library.
>
>  Howdy Dan!
>
>  I have a set of libraries: C, f77, f90, and C++. The user may build
>  any of all of these, depending on configure options. For historical
>  reasons the f77, f90 and C libraries may be built as one library. Each
>  API has it's own sub-directory.
>
>  Furthermore, there is a new sheriff in town, a new version of this
>  product which can optionally be built in addition to the existing
>  library. This new version of the C library exists in its own
>  sub-directory.
>
>  The end result of all this confusion is that I don't know which
>  sub-directory is going to have to produce a library, and which just a
>  convenience library, which will be used later to build the final
>  library.
>
>  There is, in addition to this, a required ordering of the directories
>  when building, which also has to be taken into account.
>
>  What I do is build my directories in this order, with some possibly
>  not built at all:
>
>  SUBDIRS = $(F90_DIR) $(F77_DIR) $(LIBSRC_DIR) \
>  $(DAPDIR) $(NCDAPDIR) $(LIBSRC4_DIR)    \
>  $(V2_TEST) $(NCGEN) $(NCDUMP) $(F77_TEST) ${CXX_DIR} $(CXX4)    \
>  $(NC_TEST_DIR) $(NC_TEST4) $(MAN) $(EXAMPLES) win32
>
>  Sorry if I haven't made this very clear, but it's a complex situation!

I does sound complex, indeed! I'm guessing that LIBSRC_DIR and
LIBSRC4_DIR are the C libraries? Why not just put those first in
SUBDIRS? I can't imagine a way in which the C libraries depend on
something in the F90 or F77 builds, unless there are rules in those
directories to create common files.

As for real libraries vs. convenience libraries, I'd imagine some
AM_CONDITIONALs derived from configure could sort things out.

Is this an open source project? I'd be curious to take a look if the
source is free for browsing.

--
Dan




reply via email to

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