You almost definitely need NSAutoreleasePool, (possibly unless you're using some sort of GC, in which case I can't provide an answer) as any classes you have will rely on one existing, and you'll need NSBundle to make the rest of the embedded framework function (it needs to be able to find the master and lib locations, for example. That's also why just having a plain shared library won't work, as embedded Pike is more than just "libpike". A framework (by virtue of being an NSBundle) can contain a shared code resource in addition to other artifacts, and has an awareness of where it's located, which is critical in locating things like the master.
I'm not sure what the nature of the shared code component of a framework is under non-Darwin platforms; it's possible that it's simply a shared library (which isn't quite the case on Darwin [thanks, Apple, for that]).
GNUStep apparently has some prebuilt makefiles for generating frameworks; perhaps this would be useful in your attempts (either by pulling the parts you need, or using the mechanism wholesale to build the library when GNUStep is present):
http://www.koders.com/noncode/ fidCCC0239CF8F2347D17C7A4B42F65459646AA5713.aspx
On the configure side of things, I suppose we'll want an --enable- framework option to trigger everything, correct? I didn't want to start adding things to the configure script until I had independent confirmation that things were working on Darwin. I'm not sure whether anyone else has played around with it there yet.
Bill
On Oct 7, 2007, at 5:30 AM, Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum wrote:
[...] framework Foundation is required on Darwin to include the base classes (NSAutoreleasePool and NSBundle, for example).
But do you need these classes? On non-Darwin?
If special linker options are needed on Darwin, these should be no problem testing for them in the configure script.
!DSPAM:4708a6c0177525368818224!