David Chisnall
314a4167ca
Remove low memory profile.
...
This hasn't been tested for a long time and probably doesn't work.
8 years ago
David Chisnall
f91fb2e745
Checkpoint more work on new ABI.
...
We're now using a new class and category structure and auto-upgrading the old ones. Other changes:
- The Ivar structure now points to the ivar offset variable, so we can more easily find it.
- Categories can now add properties.
8 years ago
David Chisnall
76e7d4b07f
Merge branch 'master' into newabi
8 years ago
David Chisnall
587cf3f27b
Another try at making CMake work.
8 years ago
David Chisnall
bb78abb662
Fix copy and paste type.
8 years ago
David Chisnall
7832765112
Improve detection of libsupc++
8 years ago
David Chisnall
dc9b8313a4
Rework C++ library detection.
...
macOS ships with libc++abi, which doesn't provide the hooks required
for interop, so this was causing all of the tests to fail to link in
the Travis macOS test. We're now correctly detecting that it won't
work on macOS and disabling those tests.
8 years ago
David Chisnall
fefb333b01
Remove the separate libobjcxx.
...
If we don't find a separate dynamically linkable C++ runtime, then
depend on the C++ standard library implementation.
8 years ago
David Chisnall
a54272c1ab
Merge origin/master into newabi (using imerge)
8 years ago
Daniel Ferreira
1593ac04af
Add objc-class.h to objc headers
...
Some applications still include the old objc-class.h header expecting
to obtain the declarations contained in objc/message.h and
objc/runtime.h nowadays. This commit adds this header to achieve
out-of-the-box compatibility with these applications.
9 years ago
davidchisnall
e285ba83a9
Merge pull request #36 from theiostream/block-headers
...
build: add compatibility symlink for block headers
Fixes #34
9 years ago
Daniel Ferreira
a9aba57e7c
build: add compatibility symlink for block headers
...
On FreeBSD and OSX, the block runtime functions are defined on a Block.h
and a Block_private.h headers on the include path as opposed to
libobjc2's objc/blocks_runtime.h and objc/blocks_private.h respectively.
This commit amends libobjc2's install routine to create the
FreeBSD-style headers as symlinks to the ones provided by libobjc2 for
improved compatibility.
9 years ago
Daniel Ferreira
a3e1a0d3ed
Add objc-runtime.h to objc headers
...
Some applications still include the old objc-runtime.h header expecting
to obtain the declarations contained in objc/message.h and
objc/runtime.h nowadays. This commit adds this header to achieve
out-of-the-box compatibility with these applications.
9 years ago
David Chisnall
12d1ea62a4
Merge branch 'master' into newabi
9 years ago
David Chisnall
d692a0ede4
Remove some definitions that hide non-standard libc functions that we use.
10 years ago
David Chisnall
f55c158be8
First pass at new Objective-C ABI.
10 years ago
David Chisnall
2ea11117a3
Remove the LLVM optimisation passes. They don’t work with a recent LLVM, can be recovered from git if required, and are better off being upstreamed into LLVM if they make sense.
10 years ago
David Chisnall
bd790df7e3
Disable building LLVM passes for now. It’s unlikely that anyone actually wants them at the moment, and we should probably remove them at some future date.
10 years ago
Niels Grewe
40b7f872e9
Also specify -march=i586 when compiling with gcc
10 years ago
Niels Grewe
f1c58120b9
Remove bogus workaround for build system issue
10 years ago
Niels Grewe
8b5e85a95c
Set the -pthread compiler flag when pthreads is used.
...
Apparently, setting -lpthread is not enough to convince gcc to actually
link a thread library, so if we are using pthreads, set the -pthread
flag as well. It fixes the gcc situation and doesn't have any adverse
effects for clang either.
10 years ago
David Chisnall
857edd9ef7
Fix the README name for CPack.
11 years ago
theraven
76a88312dd
Work around GNUstep's inability to initialise NSAutoreleasePool without
...
performing recursive autoreleases (introduced in r37479).
Fixes crashing of C++ static constructors.
12 years ago
theraven
55bbcd8748
Only emit section directives on ELF platforms.
12 years ago
theraven
c819b379da
Fix the build with GC enabled, export the GC symbols in all build configurations.
13 years ago
theraven
4387d80fb1
Only use .type on ELF targets.
13 years ago
ericwa
317e951b0c
libobjc2: some changes needed to build on OS X. CDECL macro to prefix symbol names in assembly code with an underscore, macros to omit the .type and .section derictives which are unsupported on OS X, and also a linker flag to make weak symbols work
13 years ago
theraven
71b6439091
Fix the build without gnustep-config by not relying on a variable that seems to
...
only be set on Ubuntu...
13 years ago
theraven
f50bc6cf33
Added support for tracing message sends to the runtime.
...
Currently x86-64 only.
13 years ago
theraven
2f720fb30e
Respect CMAKE_INSTALL_LIBDIR when determining library install paths.
...
Patch by Lubos Dolezel!
13 years ago
theraven
60a3605c6c
Added a test that the C++ runtime is really useable (i.e. exports the symbols that we need).
13 years ago
theraven
55f40d8b58
Force finding of the shared lib version of the C++ runtime lib.
13 years ago
theraven
c37fdd98ad
Add CMake options for disabling ObjC++ entirely and for forcing the build of a separate libobjcxx.so.
13 years ago
theraven
3b44e6f97a
Fix the build with LLVM 3.3 and enable building the optimisation passes by
...
default of LLVM 3.3 is found.
13 years ago
theraven
5ededfe863
Allow the user to specify the library path.
13 years ago
thebeing
26b04515a9
Link libdispatch if it is available, since the toydispatch stuff will pull it in.
13 years ago
theraven
cbd227ad1e
Bump up XOPEN source version so snprintf() is visible on FreeBSD
13 years ago
theraven
4b76f0134d
Default to only building LLVM optimisations if the version of LLVM is tested.
13 years ago
theraven
8cce906a41
Hopefully fix the build on crazy libc implementations.
13 years ago
theraven
8ee95e805a
Install the message.h header.
13 years ago
theraven
bcf6e32311
Make it possible to disable building the tests.
13 years ago
theraven
d1336543d8
Build with exceptions (fixes the issue with crashes where +initialize throws)
...
Start adding the tests to CMake.
13 years ago
theraven
c6614a218c
Install libobjcxx if we're building it.
13 years ago
theraven
86d07fa024
Install libobjcxx, if it's built.
13 years ago
theraven
ee927d20a5
Remove definitions that don't appear to be needed anymore.
13 years ago
theraven
c98014b667
Actually commit the disabling of the llvm opts, and not the output from cmake
...
help...
13 years ago
theraven
be2ee54190
Default building the LLVM optimisations to off if the LLVM CMake module is not
...
found.
13 years ago
theraven
150aa4ef19
Fix linkage in libobjc.
13 years ago
theraven
db3cbec65a
Make sure that the asm files are built. Add a configuration option for the include headers so OpenBSD can put them in include/gnustep/objc/
13 years ago
theraven
a5cc173310
Correctly handle the case of GNUstep config not existing.
13 years ago