On Aug 30, 2009, at 7:23 PM, Jack Howarth wrote:
On Sun, Aug 30, 2009 at 06:50:42PM -0400, Daniel Johnson wrote:I've been cleaning the .la files in my library packages for a while now.I use perl -pi -e "s/dependency_libs=.*$/dependency_libs=''/" %i/lib/*.la in InstallScript, which just clears dependency_libs altogether. This is almost always safe, as long as you DON'T build static libraries.When linking to static libraries, dependency_libs is necessary since static libs don't encode where to resolve external symbols. Shared libraries DO encode this, so they don't need to link to indirect libraries. As a side benefit, You no longer need to BuildDepend onindirect dependencies, which makes it much easier when some dependencydown the chain changes. So, for example, you can depend on libcurl4 or svn15 and not have to care about their dependencies. I can change (and have done so) their dependencies without breaking anything. Do note that you also need to check foo-config and/or libfoo.pc filesfor such dependencies too, and that can't easily be automated. Oh, andsometimes with libtool2 generated .la files you have to clean inherited_linker_flags too. DanielWould we really be able to survive entirely without static libraries? I would assume somethings in fink assume their presence to build. We will likely get some complaints if we remove them as I had to add them over theyears to satisfy various users who wanted to create statically linked binaries via fink for redistribution. Jack
Fink itself should almost never need static libs since the linker always uses a shared lib when it's available. It's actually impossible to make a truly static binary with OS X. And OS X usually works better with shared libraries since the OS can manage memory better and only load libs as they are needed, hence the "shared" part. Also, we can't even consider getting rid of .la files as long as we keep static libs around because libtool NEEDS that dependency info to resolve external symbols in static libs.
Fink isn't designed for people to use parts of it outside of the Fink environment. If we can make that happen, fine, but we can't let that interfere with Fink itself.
Just my opinion. Daniel
smime.p7s
Description: S/MIME cryptographic signature
------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________ Fink-devel mailing list Fink-devel@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.devel Subscription management: https://lists.sourceforge.net/lists/listinfo/fink-devel