This is the mail archive of the
mailing list for the Cygwin project.
Re: ok, new libtool for cygwin updates
- To: "edward" <tailbert at yahoo dot com>,<cygwin-apps at cygwin dot com>
- Subject: Re: ok, new libtool for cygwin updates
- From: Gary V. Vaughan <gvv at techie dot com>
- Date: Sat, 10 Mar 2001 04:08:14 +0000
- Cc: <libtool at gnu dot org>
- Organization: GNU
- References: <022b01c0a86a$d09a8080$9865fea9@edward>
Your patch is brilliant. Thankyou. I need to build a cygwin installation
before I can test it, but by inspection it looks fine to me. This stuff is
all I have left on my Libtool TODO list: As soon as we have it committed,
I'd like to make a candidate release for libtool-1.4 so that we can
concentrate on shaking out any last minute bugs.
Unfortunately, you are way over the FSF 10 line limit guideline for copyright
assignment =(O| Would you be prepared to sign paperwork that assigns the
copyright for your changes to the FSF? I can email you the request paperwork
in private if you are agreeable...
On Friday 09 March 2001 7:30 am, edward wrote:
> well peeps.
> i actually browsed through the libtool mail archives and read the note
> about cygwin specific things (especially the mail/cygwin32 file).
> here is a set of updates to libtool.m4, ltmain.in (and automake.in) that
> does just about all of it, as far as I can tell. the libtool check suite
> passes completely (don't forget to use the hacked automake).
> libtool highlights:
> * use libFOO.dll.a for import libs, libFOO.a for static libs,
> cygFOO-version.dll for dlls
> * install cygFOO-version.dll into lib/../bin/cygFOO-version.dll
> * actually use .lai files! sets dlname to ../bin/cygFOO-version.dll
> note that the key thing i tested for was the creation of dll's using a user
> generated def file, although the libtool test suite *does* pass. note that
> handling dependencies modules is still not robust. it works if the module
> is already in memory, otherwise no. still need to modify libltdl to handle
> cygwin cases specifically. bleh. so if the libtool test suite fails on
> mdemo on the execute from installed test, there you go (just nuking the .la
> file works just fine by the way. windows already knows about dependency
> as far as the automake patches go, it's mostly to allow the libtool test
> suite to pass. i did make a change to the way .exe targets are treated.
> instead of the automake hack of re-writing all foo_PROGRAM rules to append
> EXEEXT, i modified it to generate an internal rule called am_foo_PROGRAM.
> this is used for targets like clean. for the standard targets, libtool
> breaks horribly with the original hack due to the generation of script
> wrappers for apps that use shared libraries, if the EXEEXT hack is kept in.
> this isn't the best thing i can think of, but it should do for now.
> automake highlights:
> * generate internal macros am_foo_PROGRAMS (e.g. am_bin_PROGRAMS) which
> hold .EXEEXT'd versions of foo_PROGRAMS. this is used only in the clean
> target at the moment.
> * you also get my partially specified conditional target generation (see
> automake mail list for details)
> instead of posting patches, i am posting all of libtool/libtool.m4,
> libtool/ltmain.in and automake/automake.in, because you may already have
> patched versions of these laying around. this should allow you to drop
> those into your testing environment and see if it works.
> again, these are against the latest CVS versions
> ps. i've removed the previous set of test libtool stuff from my homepage.
> pps. don't forget to regenerate the Makefile.in files in the libtool test
> suites (demo, depdemo, mdemo, etc.) using the hacked automake. otherwise
> mdemo-*.tests will fail.
> ppps. some final notes. from what i can tell, the usage of -no-undefined is
> mandatory on platforms like aix and windows when generating dlls. this is
> why the mdemo test on foo1.la builds a static archive. but in simple cases
> like foo1.la, dlopen seems to work. cheers.
___ _ ___ __ _ mailto: email@example.com
/ __|__ _ _ ___ _| | / / | / /_ _ _ _ __ _| |_ __ _ ___ firstname.lastname@example.org
| (_ / _` | '_|// / |/ /| |/ / _` | || / _` | ' \/ _` | _ \
\___\__,_|_|\_, /|___(_)___/\__,_|\_,_\__, |_||_\__,_|//_/
home page: /___/ /___/ gpg public key: