Commit graph

56 commits

Author SHA1 Message Date
rfm
b4d407b26e Cleanups plus minor OSX compatibility tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31781 72102866-910b-0410-8b05-ffd578937521
2010-12-27 07:03:50 +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
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
c31dd73a90 cleanup fast enumeration issues
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29647 72102866-910b-0410-8b05-ffd578937521
2010-02-15 16:56:31 +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
fb3ff1f085 pass more info to notification functions
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29068 72102866-910b-0410-8b05-ffd578937521
2009-11-27 07:53:38 +00:00
rfm
cfb566ed22 more GC improvements
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28220 72102866-910b-0410-8b05-ffd578937521
2009-04-15 08:03:19 +00:00
rfm
669d22f6d9 gc improvements
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28192 72102866-910b-0410-8b05-ffd578937521
2009-04-10 08:25:03 +00:00
rfm
5cab993ed1 More moves towards OSX 10.5 GC compatibility.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28054 72102866-910b-0410-8b05-ffd578937521
2009-03-09 15:11:51 +00:00
rfm
30cf8bf35b Updates for 10.5 API changes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27962 72102866-910b-0410-8b05-ffd578937521
2009-02-23 20:42:32 +00:00
rfm
bada0e67e9 Add more fast enumeration code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27712 72102866-910b-0410-8b05-ffd578937521
2009-01-28 13:31:00 +00:00
rfm
0913c7cb95 More garbage collection updates/fixes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27590 72102866-910b-0410-8b05-ffd578937521
2009-01-13 15:57:38 +00:00
rfm
940ba916dd Some optimisation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26783 72102866-910b-0410-8b05-ffd578937521
2008-07-15 06:57:01 +00:00
rfm
703aff6ef5 Tidy executable memory support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26731 72102866-910b-0410-8b05-ffd578937521
2008-06-29 18:44:41 +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
62564278d7 Fix deadlock and revert previous change
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26603 72102866-910b-0410-8b05-ffd578937521
2008-06-07 05:44:58 +00:00
rfm
220bf8f040 Simplification ... remove internal private functiuon and use public method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26602 72102866-910b-0410-8b05-ffd578937521
2008-06-07 05:32:15 +00:00
rfm
b6638d05aa More thread changes for MacOS-X compatibility
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26340 72102866-910b-0410-8b05-ffd578937521
2008-03-18 05:45:05 +00:00
rfm
7c710cfbcb Complete update of NSThread for MacOS-X 10.5 compatibility. Needs testing.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26332 72102866-910b-0410-8b05-ffd578937521
2008-03-17 15:23:11 +00:00
rfm
a0b3607dd6 Improved stacktrace/debug handling.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25667 72102866-910b-0410-8b05-ffd578937521
2007-12-03 14:13:57 +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
d75478e8bd Various URL handling improvments.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25154 72102866-910b-0410-8b05-ffd578937521
2007-05-14 16:55:16 +00:00
rfm
2aa7b2026c Improve native locale integration and mswindows usability.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24871 72102866-910b-0410-8b05-ffd578937521
2007-03-14 16:04:13 +00:00
rfm
b8209430fd improve error checking and reporting when making a tcp/ip connection.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24168 72102866-910b-0410-8b05-ffd578937521
2006-11-29 19:57:38 +00:00
rfm
f305543c4c add some more cset encoding support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23989 72102866-910b-0410-8b05-ffd578937521
2006-10-29 09:17:05 +00:00
rfm
595be905a3 hash tidyups and rewrite of array sorting for better performance.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23967 72102866-910b-0410-8b05-ffd578937521
2006-10-26 08:33:40 +00:00
rfm
4a1f51a0e3 Fix check of visibility
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23964 72102866-910b-0410-8b05-ffd578937521
2006-10-25 14:55:57 +00:00
rfm
397d23e000 Avoild some linker errors and warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23963 72102866-910b-0410-8b05-ffd578937521
2006-10-25 14:46:36 +00:00
rfm
d733696a80 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
rfm
2a97010a5c Make another couple of functions truly private
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23922 72102866-910b-0410-8b05-ffd578937521
2006-10-20 12:57:59 +00:00
rfm
9e7b96ab0e 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
rfm
6ba4584136 More tidyups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23914 72102866-910b-0410-8b05-ffd578937521
2006-10-19 13:51:19 +00:00
rfm
799955caff Experiment with function visibility ... try caching locale dictionary to be
accessed from a function yet invisible outside the base library even when
caching is done in the Additions subproject.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23903 72102866-910b-0410-8b05-ffd578937521
2006-10-18 15:36:52 +00:00
rfm
ded19f3ec1 more work on hding external symbols and simplifying.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23890 72102866-910b-0410-8b05-ffd578937521
2006-10-16 09:30:18 +00:00
rfm
31342aef09 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
ayers
b3c9994d61 * Source/GSPrivate.h (GSCharPtr): New union type to handle
alignment issues.
	(GSString): Use it.
	* Source/GSString.m
	([-initWithBytesNoCopy:length:encoding:freeWhenDone:]): Use GSCharPtr
	instead of casts to avoid alignment issues.  Fix typo's.

	* Source/NSString.m
	([-initWithBytesNoCopy:length:encoding:freeWhenDone:]): Correct grammar
	in comment.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23009 72102866-910b-0410-8b05-ffd578937521
2006-05-30 11:19:44 +00:00
rfm
1cb2d54094 Tidy to avoid some external symbols
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22631 72102866-910b-0410-8b05-ffd578937521
2006-03-10 10:46:37 +00:00
rfm
f2398378e0 Some cleanup in preparation for next release.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22618 72102866-910b-0410-8b05-ffd578937521
2006-03-08 11:28:59 +00:00
rfm
3afbb2f09d fixup some private declarations accidentally left in public header
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22568 72102866-910b-0410-8b05-ffd578937521
2006-02-23 15:45:43 +00:00
CaS
15de84b232 Try reversion again.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22017 72102866-910b-0410-8b05-ffd578937521
2005-11-15 13:07:09 +00:00
CaS
850facf3f5 Consistency improvements.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22012 72102866-910b-0410-8b05-ffd578937521
2005-11-15 11:25:31 +00:00
fedor
376e495dad * Update FSF Address.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@21245 72102866-910b-0410-8b05-ffd578937521
2005-05-22 03:32:16 +00:00
CaS
89dd47ec16 Minor enhancement to improve debugging
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20775 72102866-910b-0410-8b05-ffd578937521
2005-02-22 14:06:28 +00:00
CaS
ddd167a6b1 Fix variuus minor bugs reported by Andre Levy
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20020 72102866-910b-0410-8b05-ffd578937521
2004-09-07 14:27:14 +00:00
CaS
35b7fbf96e Restructuring and various optimisations to drastically improve appendFormat:
performance.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19307 72102866-910b-0410-8b05-ffd578937521
2004-05-14 10:52:30 +00:00
CaS
52e0a92230 Updated keyed coding to a (hopefully) useable state
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18480 72102866-910b-0410-8b05-ffd578937521
2004-01-25 18:39:20 +00:00
uid66829
62673068d0 Fix spelling errors in comments.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18261 72102866-910b-0410-8b05-ffd578937521
2003-12-23 17:22:06 +00:00
ayers
4e4df7b974 * Source/GSPrivate.h (GS_REPLACE_CONSTANT_STRING): New macro.
* Source/externs.m: Initialize constant strings statically.
	(GSBuildStrings): Replace static strings with dynamic
	versions.
	* Testing/benchmark.m: Added tests for NSString -hash and
	-copy.  Aligned ouput.
	* Testing/externs.m: New test.
	* Testing/GNUmakefile: Added externs.m test.  Activated
	ADDITIONAL_TOOLS tests excluding gstcpport tests.

	* Source/Additions/GSCategories.m: Adjust declared lock type.
	Added comment.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18058 72102866-910b-0410-8b05-ffd578937521
2003-11-06 21:11:39 +00:00
alexm
f97029e9b2 Reorganize GSString class hierarchy. Update users.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18050 72102866-910b-0410-8b05-ffd578937521
2003-11-05 02:11:49 +00:00
CaS
7f5174c76a Minor tidyp ... change a couple of macro names
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17904 72102866-910b-0410-8b05-ffd578937521
2003-10-16 20:41:50 +00:00