[Top][All Lists]
[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...