qmathe
7e5d437065
Restored r35794 changes (that were removed in r35893) but applied them to the
...
GNUMakefile rather than the Makefile.
This fixes segfaults in programs compiled with Clang using -fobjc-nonfragile-abi
on Linux x86-32, for a GNUmakefile-based build with GNUstep Make active.
13 years ago
rfm
aa98226a0c
add diagnostics and warnings to cope better if in a partially set up gnustep
13 years ago
rfm
0d6f7bfdfa
dd help on end of installation
13 years ago
rfm
9230241327
add a little informatrion/diagnostic
13 years ago
rfm
17b8ff43c9
added distclean targer ... calls clean
13 years ago
rfm
25962bc45e
Update support for installation in correct location for GNUstep
13 years ago
theraven
c0123c5be3
Revert commit that broke the build system.
14 years ago
thebeing
a106ba85af
* Update Makefile.clang to the present state (and add deprecation notice).
...
* Store version info for the makefiles in one place (version.make).
* Update Makefile to build assembly correctly with GCC.
14 years ago
thebeing
f845df37c1
Add objc/blocks_private.h header to expose some internals of the blocks runtime
...
that are accessed by libdispatch. Also rename the relevant structs to be
compatible with the BlocksRuntime from compiler-rt.
14 years ago
theraven
9490b1b84e
Implement ARM EH support, fix objc_msgSend() to work on ARM.
14 years ago
rfm
2a3a93ec38
Modified to use old style Makefile if GNUstep-make is not available (will not
...
get used on systems where GNU make is not availble).
14 years ago
theraven
63b07b43aa
Remove duplicate build system for the second time...
14 years ago
rfm
11d324ae91
add stuff to build after recent changes
14 years ago
rfm
cf79e758c8
Restored lost makefile.
14 years ago
theraven
db1c9052de
Remove the GNUmakefile. It can't be used for bootstrapping and maintaining two parallel build systems is just asking for trouble.
14 years ago
theraven
8af52846b7
Small object (hidden in a pointer) support.
15 years ago
theraven
1fd4fe5854
Bump subminor version number
15 years ago
theraven
ae7cefe382
Disable GC by default (lots of people moan that it doesn't compile)
...
Update ANNOUNCE.
15 years ago
theraven
fce7c776b6
Tweak build to only enable optimisation in non-debug builds.
15 years ago
theraven
bc87ed22e1
Implemented support for __weak with ARC.
...
ARC functions are all now exposed in a header, but not yet documented. See the ARC ABI spec for now:
http://clang.llvm.org/docs/AutomaticReferenceCounting.html#runtime
15 years ago
theraven
b5380d50d3
Added support for ARC.
...
Weak references are still not supported, but code that doesn't use them (i.e. any code that wants to be compatible with OS X 10.6) will work fine.
The current implementation is VERY inefficient and has a large number of missed optimisation opportunities: this is the 'make it right' phase, and should be almost equivalent to explicit retain / release code.
15 years ago
theraven
fbdfc0b9eb
Allow packagers to more easily rename the library.
...
Patch by Sebastian Reitenbach!
15 years ago
theraven
b296b18571
Improvements to GC mode:
...
- Add objc_gc_collectable_address() to determine whether a pointer is managed
by the GC
- If LIBOBJC_CANARIES is set (optionally to a random number seed) then store a
canary value after every allocation returned by
objc_gc_allocate_collectable() and, when it is finalised, check that the
canary has not been modified, aborting if it has. This catches some
heap-buffer overflows, and currently causes GNUstep to abort.
- If LIBOBJC_LOG_ALLOCATIONS is set to a file name, log all GC-managed
allocations to that file. This gives something like malloc_history on OS X.
- objc_memmove_collectable() now guarantees that all copied pointers remain
visible to the GC at all times (which was the point of the function - the
original implementation was just a quick stub).
15 years ago
theraven
6d78040180
Initial support for running finalizers in a separate thread.
15 years ago
thebeing
e661e203d4
Re-enable function inlining.
15 years ago
thebeing
1653751263
Use -lgc on linux platforms.
15 years ago
theraven
c6fc399a73
Enable GC support by default. You can still turn it off with boehm_gc=no.
15 years ago
theraven
e05c9c2ff5
More GC fixes
15 years ago
theraven
fcc47bc7ce
Fix building without GC support. Still need to make sure that some of the GC functions always work, since they are expected to be no-ops in non-GC mode.
15 years ago
theraven
929f8f95b4
Improved a few GC functions.
...
Added objc-auto.h header, providing (documented) public interfaces to this
functionality.
15 years ago
theraven
ad16172625
First pass at implementing Apple-compatible GC using Boehm. Still needs some tidying, but the following work:
...
- __strong pointers, preventing objects from being freed
_ __weak pointers are automatically freed when the last remaining __strong pointer goes away
- objc_gc_{retain,release}_np() functions, which can be used to implement CFRetain() and CFRelease() (adds an reference count - the object will not be collected until after its last retain is gone.
15 years ago
theraven
d12de81cd6
Remove opts from default build - they must now be explicitly built.
...
Don't crash if objc_disposeClassPair() is called on a class that is not get
registered with the runtime.
15 years ago
theraven
12385fcb1e
Tidy up low memory profile to use slots directly.
15 years ago
qmathe
bd48461fb9
Fixed GNUmakefile to ensure legacy symbols are visible
15 years ago
theraven
928e7f3971
Try again...
15 years ago
theraven
6d112bb632
Don't accidentally default to compiling without legacy compat.
15 years ago
theraven
649ce9dd7f
Updated release announcement.
...
Made the LLVM optimisations build by default (if LLVM is installed).
15 years ago
theraven
789219a2cb
Expose the low memory profile as an option in the dtable.
15 years ago
theraven
d7056f6de2
Simplify @synchronize() and improve efficiency (space and time).
15 years ago
theraven
24de067017
Default to building without the legacy APIs, now GNUstep doesn't require them.
15 years ago
theraven
e198597bd3
Added support for associative references. Modified sync code to use this.
15 years ago
theraven
d51500184c
More cleanups. Stop using __ identifiers for internal stuff now that it's properly marked private and we don't have to worry about conflicts.
15 years ago
theraven
c2f572f9a1
Set the makefiles in trunk back to non-release mode.
15 years ago
theraven
b76b4be925
Disable selector type mismatch warnings, for the release.
15 years ago
thebeing
901c3b6a1c
Fix linking libobjcxx when libobjc has not yet been installed.
15 years ago
theraven
95ef5a93f9
Always use the first version of a class that's loaded twice until the merging code is a bit better tested.
15 years ago
theraven
23b26820f5
Make it easier to suppress mismatched selector warnings. It's useful for the runtime to tell you when your code is bad. Not so useful for it to tell you when someone else's code is bad...
15 years ago
theraven
600e970dea
Separate ObjC++ support out into libobjcxx. Now code that doesn't need ObjCXX support can safely ignore it again.
15 years ago
theraven
7e71ffe24d
Use correct pthread flag on OpenBSD.
...
Patch by Sebastian Reitenbach!
15 years ago
theraven
06ff4be6a9
More build system tidies.
15 years ago