libtool-patches
[Top][All Lists]
Advanced

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

Re: another darwin patch


From: Benjamin Reed
Subject: Re: another darwin patch
Date: Sun, 02 Mar 2003 19:14:48 -0500
User-agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.3b) Gecko/20030225

Charles Wilson wrote:
Peter O'Gorman wrote:

Changed the check_method to pass_all (we can link against static archives).


Regardless of whether it is *possible* to build a shared library that depends on (external, non-convenience-lib) static archives, it's probably not a good idea to do so. You'll eventually run into symbol name conflicts as dependent library heirarchies are released (on asynchronous schedules) over time.

I thought there was a policy decision to disallow this behavior, in general. [Said policy really bit cygwin hard, since our *runtime libs* like libsubc++ and libgcc are currently available as static only. As a work around, we added a whole bunch of code to "follow the spirit of the new policy" -- that is, disallow creation of shared libs depending on static libs -- *unless* the problematic static libs were solely those runtime libs added by the compiler [-lgcc, -lsupc++, etc].

Anyway, using pass_all obviates the "don't make shared libs that depend on static archives" policy; plus, it's a bad idea anyway given the eventual problems it'll cause on a platform/distribution level...

Just my 2c.

What does this mean for KDE and Gnome then?  KDE at least links
-lXinerama into libkdecore -- and libXinerama is only available as
static since the X folks are still stabilizing the API.  I can only
assume Gnome links libXinerama too.

In theory they're breaking this policy now, it seems, just no one's
appeared to have noticed until building on Darwin...






reply via email to

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