Nicola Pero
30f098f9f8
Updated code to compile with GCC 4.6 and the new GNU Objective-C runtime
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31765 72102866-910b-0410-8b05-ffd578937521
2010-12-23 02:23:05 +00:00
Wolfgang Lux
4fad29abb5
Tweaks for running on Darwin aka OS X.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31366 72102866-910b-0410-8b05-ffd578937521
2010-09-17 20:23:48 +00:00
David Chisnall
4488708e84
Fix a load of warnings from implicit function declarations. A lot were caused by ctype.h and string.h stuff being used everywhere in GNUstep but not included anywhere - they're now included in common.h (at least string.h should also be in Foundation.h - on OS X it is implicitly included via some chain of things from Foundation.h).
...
All of the sel_* stuff is now replaced with the newer APIs. As a side-effect, a blob of code that was copied-and-pasted all over GNUstep has now been moved into ObjectiveC2 and just called.
Class posing with libobjc2 will now throw an exception, rather than just aborting.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31268 72102866-910b-0410-8b05-ffd578937521
2010-09-09 16:30:10 +00:00
David Chisnall
7a80adeb9b
A huge blob of changes to make -base build with libobjc2, without using the old libobjc2 headers.
...
Most of these changes involve simply removing direct manipulation of any runtime structures and replacing them with runtime function calls. For example class->name becomes class_getName(class) and so on.
libobjc2, like the Apple runtime, the NeXT runtime, and every version of the Objective-C spec, calls the class pointer in id isa. A few files now have #define class_pointer isa at the top. This line replaces class_pointer in the old GNU libobjc headers with isa so either class_pointer or isa can be used for accessing the class of an object. Note: object_getClass() should be used in most cases because, in some future version of the runtime, this will skip things like lock classes and other hidden classes (e.g. KVO classes).
All of the old forwarding stuff has been removed. Most of this stuff followed convoluted code paths that ended with an exception. A few simply broke in exciting ways. Hopefully no one has used them for the last ten years or so, but we can bring them back with some #ifndef stuff if they're really needed by anyone.
There is currently a bug in configure, which prevents dladdr() from being detected, so you need to manually tweak config.h to build - I have not fixed the fall-back code in objc-load.m to work with libobjc2, I just added a new version that uses the loader's functionality directly.
Although -base now builds, it builds with a lot of warnings. <string.h> is missing from a lot of files, so memcpy() and strlen() generate implicit function declaration warnings.
Additionally, libobjc2 does still provide the sel_{get,register}_*() functions, but they're wrappers around the newer API ones. These are deprecated and are not exposed in the headers. Although they work, we should be replacing them with the libobjc2 versions as soon as possible.
This incorporates a patch by Eric.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31265 72102866-910b-0410-8b05-ffd578937521
2010-09-09 15:06:09 +00:00
Nicola Pero
ca9c384b3d
Added hack that should allow to load class lists of frameworks with a relative path (eg, if you have ../../MyFrameworks/ in your LD_LIBRARY_PATH you may be to load a framework with a relative path)
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31037 72102866-910b-0410-8b05-ffd578937521
2010-07-26 14:08:22 +00:00
Richard Frith-MacDonald
48a9a7cfab
Implement keyed coding for NSURL.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30853 72102866-910b-0410-8b05-ffd578937521
2010-06-25 13:38:06 +00:00
Richard Frith-MacDonald
4b6a428200
Fix error in last change (remove unnecessary check).
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30834 72102866-910b-0410-8b05-ffd578937521
2010-06-23 09:00:19 +00:00
Richard Frith-MacDonald
58cf61920a
Tweak path extension handling
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30833 72102866-910b-0410-8b05-ffd578937521
2010-06-23 07:21:01 +00:00
Richard Frith-MacDonald
4707e0b7e4
fix broken tool resource lookup
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30212 72102866-910b-0410-8b05-ffd578937521
2010-04-21 21:49:12 +00:00
Richard Frith-MacDonald
f784646663
generalize define from __MINGW32__ to __MINGW__
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30001 72102866-910b-0410-8b05-ffd578937521
2010-03-19 12:10:11 +00:00
Richard Frith-MacDonald
b730fa45c0
zero self after dealloc if we are going to call another method.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29837 72102866-910b-0410-8b05-ffd578937521
2010-03-04 12:24:43 +00:00
Richard Frith-MacDonald
fab825f3bb
pply bugfix
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29782 72102866-910b-0410-8b05-ffd578937521
2010-02-26 15:07:16 +00:00
Richard Frith-MacDonald
c07dc48eb3
more header reorganisation
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29731 72102866-910b-0410-8b05-ffd578937521
2010-02-25 08:36:34 +00:00
Richard Frith-MacDonald
7cc69dfaae
Simplify header inclusion
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29669 72102866-910b-0410-8b05-ffd578937521
2010-02-19 08:12:46 +00:00
Richard Frith-MacDonald
c8a6832349
cosmetic tweaks
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29657 72102866-910b-0410-8b05-ffd578937521
2010-02-17 11:47:06 +00:00
Richard Frith-MacDonald
21d597e740
merge back reorganisation branch
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29615 72102866-910b-0410-8b05-ffd578937521
2010-02-14 10:48:10 +00:00
Richard Frith-MacDonald
a2348e55ae
fix for bundle loading on wndows when we don't have the dll path extension
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28292 72102866-910b-0410-8b05-ffd578937521
2009-05-22 17:16:24 +00:00
Fred Kiefer
b85f364024
* Source/NSBundle.m (-localizedStringForKey:value:table): Correct
...
output when NSShowNonLocalizedStrings is YES.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28013 72102866-910b-0410-8b05-ffd578937521
2009-03-01 17:39:09 +00:00
Richard Frith-MacDonald
eabab217de
bugfix for garbage collecting
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27787 72102866-910b-0410-8b05-ffd578937521
2009-02-04 20:47:09 +00:00
Richard Frith-MacDonald
952af9c197
garbage collection fixups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27578 72102866-910b-0410-8b05-ffd578937521
2009-01-12 12:48:46 +00:00
Richard Frith-MacDonald
988f583f7d
Fixes for pathForResource... methods to match MacOS-X and be more efficient.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27558 72102866-910b-0410-8b05-ffd578937521
2009-01-08 10:40:13 +00:00
Gregory John Casamento
e7454ec280
* Source/NSBundle.m: Correct issue where *-gnustep.* is not
...
searched for when explicitly calling pathForResource:...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27557 72102866-910b-0410-8b05-ffd578937521
2009-01-07 21:38:27 +00:00
Gregory John Casamento
130e8f5592
* Source/NSBundle.m: Use CFBundleExecutable if NSExecutable isn't
...
present when loading the bundle object code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27526 72102866-910b-0410-8b05-ffd578937521
2009-01-05 22:51:48 +00:00
Richard Frith-MacDonald
b87b7a7b33
Handle nil library name
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27494 72102866-910b-0410-8b05-ffd578937521
2009-01-02 05:08:43 +00:00
Wolfgang Lux
806114d969
Fix infinite loop introduced in r27212.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27233 72102866-910b-0410-8b05-ffd578937521
2008-12-06 21:48:37 +00:00
Richard Frith-MacDonald
8d9e1d356d
fix incorrect assignment
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27217 72102866-910b-0410-8b05-ffd578937521
2008-12-06 09:09:24 +00:00
Richard Frith-MacDonald
f794a4cb3c
improve locating of framework directories on windows
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27214 72102866-910b-0410-8b05-ffd578937521
2008-12-05 17:45:02 +00:00
Richard Frith-MacDonald
dfa7db4455
improve locating library bundles
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27212 72102866-910b-0410-8b05-ffd578937521
2008-12-05 15:50:51 +00:00
Richard Frith-MacDonald
33a4784b8e
Fix bug 24320
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26907 72102866-910b-0410-8b05-ffd578937521
2008-10-11 06:30:03 +00:00
Richard Frith-MacDonald
b2b14398d2
allow developers more time to adapt to LGPLv3
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26606 72102866-910b-0410-8b05-ffd578937521
2008-06-08 10:38:33 +00:00
Richard Frith-MacDonald
ec0b3ab41a
MacOS-X compatibility updates.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26598 72102866-910b-0410-8b05-ffd578937521
2008-06-06 13:57:06 +00:00
Richard Frith-MacDonald
4b6bd491a1
guess what caller meant when they give us bad path name
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26197 72102866-910b-0410-8b05-ffd578937521
2008-03-05 09:32:49 +00:00
Richard Frith-MacDonald
d6cfc0e91c
Improve MacOS-X compatibility of headers.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25638 72102866-910b-0410-8b05-ffd578937521
2007-11-29 20:53:26 +00:00
Richard Frith-MacDonald
62559023b9
Update to GPL3 and LGPL3
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25482 72102866-910b-0410-8b05-ffd578937521
2007-09-14 11:36:11 +00:00
Richard Frith-MacDonald
383cb43c5a
Fixup for problem getting base library resources where multiple versions are installed.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25085 72102866-910b-0410-8b05-ffd578937521
2007-04-27 11:39:50 +00:00
Richard Frith-MacDonald
3117236cd7
Bugfix for #19588
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25052 72102866-910b-0410-8b05-ffd578937521
2007-04-15 09:15:56 +00:00
Nicola Pero
5baa6a67c5
Small tidyup in NSBundle +initialize
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24913 72102866-910b-0410-8b05-ffd578937521
2007-03-21 13:11:45 +00:00
Nicola Pero
a789e3ec4b
Fixed [NSBundle bundleForLibrary: @"gnustep-base"];
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24883 72102866-910b-0410-8b05-ffd578937521
2007-03-17 00:27:42 +00:00
Nicola Pero
5fa74f7f71
Fixed bootstrap problem where NSBundle +initialize would use NSUserDefaults +standardDefaults to create the _gnustep_bundle, and NSUserDefaults +standardDefaults would use NSBundle's _gnustep_bundle to lookup resources
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24869 72102866-910b-0410-8b05-ffd578937521
2007-03-14 13:01:16 +00:00
Nicola Pero
c641207ab8
Implemented experimental library resource bundle versioning
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24841 72102866-910b-0410-8b05-ffd578937521
2007-03-09 19:09:08 +00:00
Nicola Pero
8b7a80b537
Fixed looking up gnustep-base resources with custom layout; try to catch serious filesystem config errors early on in configure
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24747 72102866-910b-0410-8b05-ffd578937521
2007-03-02 03:30:22 +00:00
Richard Frith-MacDonald
5093781315
Some cleanup for make-2.0 changes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24735 72102866-910b-0410-8b05-ffd578937521
2007-03-01 13:43:23 +00:00
Nicola Pero
3d45c3f37f
Rewritten tool resource lookup to work with gnustep-make v2 as well as gnustep-make v1
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24620 72102866-910b-0410-8b05-ffd578937521
2007-02-17 17:37:23 +00:00
Richard Frith-MacDonald
8abd7f5743
Minor cleanup to avoid compiler warnings.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24311 72102866-910b-0410-8b05-ffd578937521
2007-01-04 08:36:08 +00:00
Matt Rice
d8ae1e0e35
* Source/NSBundle.m (+initialize): Remove usage of classes local array.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24188 72102866-910b-0410-8b05-ffd578937521
2006-12-05 15:02:26 +00:00
Richard Frith-MacDonald
981bd40faf
Minor symbol visibility cleanups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23952 72102866-910b-0410-8b05-ffd578937521
2006-10-23 14:47:37 +00:00
Richard Frith-MacDonald
0ebe68ae48
More code tidyups and NSError updates.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23921 72102866-910b-0410-8b05-ffd578937521
2006-10-20 10:56:27 +00:00
Matt Rice
95713e81e4
* Source/NSBundle.m (_find_framework): initialize file_name variable.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23912 72102866-910b-0410-8b05-ffd578937521
2006-10-19 07:16:56 +00:00
Richard Frith-MacDonald
90593a0dd2
minor windows(cygwin) fix
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23906 72102866-910b-0410-8b05-ffd578937521
2006-10-19 04:12:58 +00:00
Richard Frith-MacDonald
eae859d1c7
Updates to reduce global namespace pollution. Plenty more remaining.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23795 72102866-910b-0410-8b05-ffd578937521
2006-10-09 14:00:01 +00:00