GNUstep Native Framework Support

2005-09-07 Thread Sašo Kiselkov
Hello everybody

I know there have been tons of discussions and flames on this topic, but this
time I have a solution for it. For details, please read
http://openspace.adlerka.sk/NativeFrameworks and tell me your opinion: is it
worth bothering about further, or just blow the whole thing in the wind. And
please don't stone me if you don't agree with the details...

Best regards
 Saso



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: GNUstep Native Framework Support

2005-09-07 Thread Nicola Pero

 Hello everybody
 
 I know there have been tons of discussions and flames on this topic, but this
 time I have a solution for it. For details, please read
 http://openspace.adlerka.sk/NativeFrameworks and tell me your opinion: is it
 worth bothering about further, or just blow the whole thing in the wind. And
 please don't stone me if you don't agree with the details...

Thanks ... it's an interesting idea ... and nicely done! :-)

I can see a few problems with this approach though --

 * ObjC software is not always invoked from the command line ... eg if
your ObjC software is a package (linked to some frameworks) that you want
to load inside a program written in another language (typically Java or
Python), you can't execute any prior script to set up the library path to
match the exact frameworks linked into the code you're loading;  you'll
just be loading the ObjC code using C calls to the linker libraries and
running it.  That makes everything lot more complex in this case -- I
suppose all language interfaces would have to have custom code that would
actually manually load all the required frameworks using the linker
libraries ?  That would be quite messy.  Currently, instead, all this is
done automatically by the linker and is really nice. :-)

 * In some cases, LD_LIBRARY_PATH is ignored on Unix.  For example, by
tools that can be run as root by any user (setuid).  For those, the only
possible solution is having symlinks and then running ldconfig. :-(

 * The recent trends in GNUstep users are that we should try avoiding
shell/C wrappers and relying on LD_LIBRARY_PATH and other such variables.  
Most people are more worried about being able to deploy the software so
that it runs out of the box and can't be considered as friendly as native
applications, rather than about frameworks being more real. ;-)

 * Wrappers are slow.  We used to have wrappers for all our ObjC tools,
but that way whenever you write a command-line in ObjC you'd get penalized
a lot compared to a native C tool.  You can't match the speed of a native
C tool such as 'sed' or 'grep' if you have wrappers -- the wrapper itself
will require at least an additional process creation, which is a
considerable overhead for a light command-line tool.  So we managed to
remove the wrappers, and nowadays writing ObjC command-line tools should
be possible and they should be reasonably comparable, in speed, to native
C tools. :-)

I don't mean to stop the debate though, and not necessarily to discourage
you.  Maybe we could still have it as an option if people like it. :-)

Let's hear what other people think ;-)

Thanks



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: GNUstep Native Framework Support

2005-09-07 Thread Matt Rice


--- Sa¹o Kiselkov [EMAIL PROTECTED] wrote:

 Hello everybody
 
 I know there have been tons of discussions and
 flames on this topic, but this
 time I have a solution for it. For details, please
 read
 http://openspace.adlerka.sk/NativeFrameworks and
 tell me your opinion: is it
 worth bothering about further, or just blow the
 whole thing in the wind. And
 please don't stone me if you don't agree with the
 details...
 
 Best regards
  Saso
 

hi just took a quick glance at this document,
will look more closely later...

after my foray into hacking the dynamic linker...
i took another look at this, i haven't actually tried
this yet as i don't currently have a glibc-2.4
available

and there might be another option...

new in glibc-2.4 is LD_AUDIT support

this is only available currently as an environment
variable...

but with an audit lib and an implementation of
la_objsearch() it *seems* possible..

(i'm thinking that the frameworks link with an
extended substitution sequence, and the audit lib
turns the substitution sequence into a real search
path...)

e.g.
--Wl,-soname,$FRAMEWORK/foo.framework/Versions/A/foo

then la_objsearch() looks for $FRAMEWORK and replaces
it with the path found..

gnu ld last i looked doesn't support the -p and -P 
options (from solaris ld) which would be nice to link
frameworks against the audit lib without forcing the 
use of the LD_AUDIT variable. so only apps using
frameworks or whatever would need the audit lib and 

matt





__
Click here to donate to the Hurricane Katrina relief effort.
http://store.yahoo.com/redcross-donate3/


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


[Gnustep-cvs] gnustep/usr-apps/gworkspace ChangeLog

2005-09-07 Thread Gregory John Casamento
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Gregory John Casamento [EMAIL PROTECTED]  05/09/08 
00:45:10

Modified files:
usr-apps/gworkspace: ChangeLog 

Log message:
Corrected circular dependency in ddbd.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/usr-apps/gworkspace/ChangeLog.diff?tr1=1.62tr2=1.63r1=textr2=text





[Gnustep-cvs] gnustep/usr-apps/gworkspace ChangeLog

2005-09-07 Thread Gregory John Casamento
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Gregory John Casamento [EMAIL PROTECTED]  05/09/08 
00:48:32

Modified files:
usr-apps/gworkspace: ChangeLog 

Log message:
Removed change made by commit script.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/usr-apps/gworkspace/ChangeLog.diff?tr1=1.63tr2=1.64r1=textr2=text