Hello, I'm trying to gauge interest in a little project I've been working on in my spare time.
What I have so far is a monolithic package that combines all the usual GNU/Linux graphics libraries into one big MacOS X style Framework. Namely I have a /Library/Frameworks/GNU-Graphics.framework that has all the graphics manipulation capabilities of libpeg-6b, libpng-1.2.x, tifflib-6beta, libungif etc ... Thus, instead of telling gcc "-ljpeg -lpng -lz" on the link command line, one can do "-framework GNU-Graphics" and get basically the same result. (By simlinking all the dylibs to the one big framework dylib one can still link the original way. By simlinking the headers to their place in the framework, the preprocessor never notices the difference either) Besides teaching myself how Darwin/OS X works the "OS X-native" way (as opposed to the "BSD-native" way), I did this as a proof of concept for a different methodology for prebinding in fink (or darwinports or whatever). The idea is to collect the libraries that are used most (all the graphics ones in one framework, the audio ones in another, the kde base ones in a third etc). By reducing the sheer number of libraries one can reduce the seg1addr address space collision problem to a more managable size. In the bonus side-effect column, those libraries should be available to the MacOS project builder stuff and to 3rd parties in a more "friendly" manner. Instead of carving up the available address space into tiny bits that may move around and such, one can just "reserve" hunks of space for related libraries (ie, a hypothetical GIMP-Framework has a space to itself where the 1.2 libgtk, libgdk, libgmodule etc all fit somewhere in) As long as one dynamically links to the Framework, the binary sizes stay basically the same. One can still generate the /usr/local/lib/libfoo.a static lib if one wants. Of course there are some significant drawbacks, like "having" to relink, redistribute and bump up the Framework version number everytime a sub-library gets changed (and worring about incompatible versions) Mixing licenses is also an issue (I Am Not A Lawyer, but it seems to me that the libraries I used are compatible with libMNG's use of the LGPL) I'm sure there are lots of other issues with the idea as well, but I figured I'd at least try to see if it was actually do-able first, and it seems to work just fine limited tests. Questions? (about my sanity)? Comments (regarding my certifiability)? -dean takemori ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ Fink-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/fink-devel