This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: [RFC] Removing .la files from x86
- From: Warren Young <wyml at etr-usa dot com>
- To: cygwin-apps at cygwin dot com
- Date: Tue, 2 Aug 2016 22:16:41 -0600
- Subject: Re: [RFC] Removing .la files from x86
- Authentication-results: sourceware.org; auth=none
- References: <c2b9aec9-fb94-7766-8e31-f5cce7ce9000@cygwin.com>
On Aug 2, 2016, at 9:09 PM, Yaakov Selkowitz <yselkowitz@cygwin.com> wrote:
>
> Any objections?
This script would need to consult the same package database cygcheck uses to find out if an installed Cygwin package owns each *.la file it proposes to remove. It should not remove any other *.la file just because it happens to be in /usr/lib.
It should not remove anything in other common libdirs like /usr/local/lib. If I’ve installed something from source and its make install rule installs the *.la file, that’s an issue for the upstream provider.
Doesn’t libtool provide some of the magic library dependency chasing that exists on Linux but almost nowhere else?
That is, if library B depends on library C, and library A depends on B, on Linux you generally only need to explicitly link to library A, and the linker will chase down B and C for you. This doesn’t usually happen on other systems, so you may have to explicitly link to library B, and sometimes to library C as well.
A common practical example is that libpng depends on zlib, but it is sufficient on Linux to link only with -lpng, whereas porting such software to non-Linux systems generally requires appending -lz.
Would we still have that behavior on Windows without the .la files? If not, it’s possible that some build systems would break.