This is the mail archive of the
automake@gnu.org
mailing list for the automake project.
Re: non-libtool, cross-platform libraries
- To: David Carter <david at carter dot net>
- Subject: Re: non-libtool, cross-platform libraries
- From: Guido Draheim <guidod-2001q3 at gmx dot de>
- Date: Tue, 25 Sep 2001 22:57:38 +0200
- CC: automake at gnu dot org
- List-Id: Discussion list for automake <automake.gnu.org>
- References: <001c01c14600$6d7eb7d0$f9ffa8c0@dhcp.atl.s1.com>
- Reply-To: guidod at gmx dot de
> David Carter wrote:
>
> I need to build a non-libtool dynamically-loaded library, on windows and on HP/UX, from c++ sources.
>
> This library needs to be built as "foo.dll" on windows, "foo.so" on HP/UX.
>
> I don't think I can use libtool, since the resulting dll/so needs to be used by non-libtool-aware vendor software (iPlanet's
> webserver, to be precise).
>
> My maintainer platform is Cygwin, just to make things a little more interesting. However, the windows dll is built with
> "-mno-cygwin", and linked against the mingw c++ std library.
>
> I've stumbled over the naming of the primary to use. I can't use:
>
> lib_LIBRARIES = foo.dll
> foo_dll_SOURCES = foo.cpp
>
> for example. And automake will not accept a variable in place of the "dll", so I can't use @DL_EXT@ or similar.
>
> Any suggestions on how to do this within the automake/autoconf framework? I think it could be made to work using
> AM_CONDITIONAL, and repeating the entire lib_LIBRARIES for "foo.dll" & "foo.so", but that doesn't feel right.
>
use automake and lib_LTLIBRARIES = foo.la
then read the section about .la libraries - this is a linker script
understood by libtool' which in turn will instruct it to build a .dll
on windows and a .so on most unix platforms. Oh, and read the stuff
about -module -avoid-version for anything that should be installed as
a module. (damn, one day I have to write that dllmaker guide....)
HTH, and please don't confuse the "libtool" lib-linker-tool and the
"libltdl" dl-loader library being shipped and supported by libtool.
on win32 and hpux the "libltdl" would just wrap the native (!!) dl-load
facility that "libtool" will build objects for - being .dll/.so files.
I wonder if there had been no automake-examples for that webservers
module stuff. Or didn't you look anyway?
cheers,
-- guido Edel sei der Mensch, hilfreich und gut
GCS/E/S/P C++$++++ ULHS L++w- N++@ d(+-) s+a- r+@>+++ y++ 5++X- (geekcode)