theraven
9c75389ee7
Initial pass at implementing fully Apple-compatible GC. This requires the code to be built with -fobjc-gc or -fobjc-gc-only, and requires a runtime that implements all of the support functions (GNUstep runtime trunk or 1.5 when it's release).
...
Currently, there are a few places where we should be calling NSAllocateCollectable() without NSScannedOption, but are actually calling NSZoneMalloc() unless we're in GC mode. We should not need separate code paths for this anywhere outside NSZone, since NSAllocateCollectable() will work in non-GC mode as well.
A few of the changes should be tweaked slightly so that they do run-time tests. For example, when compiling with -fobjc-gc, we may be linked against non-GC code, which will use -retain and -release but won't use the memory barriers. Supporting this nicely is a lot of effort, and I'm not fully convinced it's a good idea.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33104 72102866-910b-0410-8b05-ffd578937521
2011-05-24 14:43:27 +00:00
rfm
445d287303
fix main bundle path
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33088 72102866-910b-0410-8b05-ffd578937521
2011-05-23 10:51:58 +00:00
rfm
c078d97164
portability bugfixes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32769 72102866-910b-0410-8b05-ffd578937521
2011-04-04 10:57:49 +00:00
rfm
3b9be31642
add last night's changes based on static analyser results.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32507 72102866-910b-0410-8b05-ffd578937521
2011-03-09 10:24:18 +00:00
rfm
94c1c1e415
fix for bug #32564 ?
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32462 72102866-910b-0410-8b05-ffd578937521
2011-03-05 16:33:24 +00:00
rfm
f169caa814
User defaults language/setup restructuring
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32454 72102866-910b-0410-8b05-ffd578937521
2011-03-05 07:54:05 +00:00
rfm
aa5229a6cb
avoid compiler warnings
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32417 72102866-910b-0410-8b05-ffd578937521
2011-02-28 19:49:57 +00:00
rfm
50b460778c
Try to make sure we have an absolute path for executables
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32291 72102866-910b-0410-8b05-ffd578937521
2011-02-22 12:22:49 +00:00
rfm
ca854a4b3c
minor cleanups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32234 72102866-910b-0410-8b05-ffd578937521
2011-02-19 19:42:42 +00:00
rfm
21e22ecfb0
use the _() macro for localisation within base
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32173 72102866-910b-0410-8b05-ffd578937521
2011-02-15 06:25:54 +00:00
nicola
b84001b073
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
wlux
f393eb7162
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
theraven
f392469c64
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
theraven
85549433db
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
6aa37194f4
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
rfm
e6166d58ba
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
rfm
6e5085083e
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
rfm
38c9e91657
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
rfm
1e4abff2fa
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
rfm
1a5d643771
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
rfm
63374c948b
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
rfm
76333c8c37
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
rfm
e263f96f16
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
rfm
d605c6f7b5
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
rfm
9edbe1a4fc
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
rfm
f13d56d8ec
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
rfm
26cfabd41c
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
fredkiefer
9027f0777b
* 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
rfm
3de3ef7de9
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
rfm
d304d9ee34
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
rfm
1993b85695
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
gcasa
86e5a905b3
* 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
gcasa
b20626ad3f
* 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
rfm
8b933242c9
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
wlux
7ca4179ecc
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
rfm
ba24d82282
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
rfm
ab49051c51
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
rfm
f8a62eda20
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
rfm
1403c26b54
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
rfm
e0711a3b8d
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
rfm
f1d83b9f14
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
rfm
ddf52b8752
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
rfm
3aa7189ddb
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
rfm
cd46236028
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
rfm
1b287d5905
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
rfm
f7c33e46e8
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
8a44053afb
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
21301be277
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
66ad962d5d
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
661c84a01d
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