[CMake] Re: deprecated static libraries on Mac

Brandon Van Every bvanevery at gmail.com
Fri Aug 10 13:34:07 EDT 2007


On 8/10/07, Bill Hoffman <bill.hoffman at kitware.com> wrote:
> Brandon Van Every wrote:
> >
> > http://developer.apple.com/qa/qa2001/qa1118.html
> >
> I am not sure this means static libraries are deprecated.   It just
> means that completely static
> executables are not recommended.   They want you to use the dynamic run
> time libraries.
> This is very similar to the MS compiler.   However, your application can
> use lots of static
> libraries that contain your code.

The OS X linker will go out of its way to sabotage your code.  If you
have a static and a dynamic library of the same rootname in your path,
it will always prefer the dynamic library, no matter what flags you
specify.  libtool does some kind of dance to get around this; CMake
does not.  If Apple is going to be that heavy handed with their
linker, then as far as I'm concerned, they're aggressively anti-static
and you're opening up cans 'o' worms going against them.

I suppose static libs under my own control that link against dynamic
runtimes are possible, but I'm not a Mac guy and do not deeply care
about the issue.  I adopted the expedient of suppressing static
anything in Chicken's Mac build.


Cheers,
Brandon Van Every


More information about the CMake mailing list