|
From: | Charles Wilson |
Subject: | Re: another darwin patch |
Date: | Sun, 02 Mar 2003 18:58:40 -0500 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021130 |
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. --Chuck
[Prev in Thread] | Current Thread | [Next in Thread] |