mirror of
https://github.com/darlinghq/darling-libobjc2.git
synced 2024-11-23 12:19:44 +00:00
69 lines
3.0 KiB
Groff
69 lines
3.0 KiB
Groff
GNUstep Objective-C Runtime 1.7
|
|
===============================
|
|
|
|
This is a point release to the eighth official release of the GNUstep
|
|
Objective-C runtime (a.k.a. libobjc2). This runtime was designed to support
|
|
the features of modern dialects of Objective-C for use with GNUstep and other
|
|
Objective-C programs. Highlights of this release include:
|
|
|
|
- A new CMake-based build system. This makes all of the configurable options
|
|
available via a clean interface. CPack is supported for building RPM and DEB
|
|
packages out of the box.
|
|
|
|
- A new CTest-based test suite, replacing the old ad-hoc tests.
|
|
|
|
- Build a single libobjc with support for Objective-C++ on platforms where a
|
|
C++ ABI library (libcxxrt or libsupc++) is installed as a shared library.
|
|
|
|
- Added specialised property accessor functions and support for atomic
|
|
properties with C++ non-POD types.
|
|
|
|
- Significant improvements in property introspection and an exhaustive test
|
|
suite.
|
|
|
|
- Improved integration with libdispatch. The runtime will correctly register
|
|
work queues with the garbage collector or create autorelease pools around
|
|
block invocations.
|
|
|
|
- A new exception implementation providing better integration with foreign
|
|
exceptions (e.g. C++ exceptions). The new ABI is supported by clang 3.3 when
|
|
compiling with -fobjc-runtime=gnustep-1.7 (or higher). The old ABI is still
|
|
supported and both can be used within the same program, however code compiled
|
|
with the old ABI remains unreliable in the presence of foreign exceptions.
|
|
It is strongly recommended that anyone using exceptions with Objective-C++
|
|
switches to the new version.
|
|
|
|
- MIPS64 support in the assembly routines. Currently these are only tested
|
|
with the n64 ABI. They are believed to work with n32 and o32, but should be
|
|
considered unsupported on these platforms.
|
|
|
|
- Small algorithmic improvement to the objc_msgSend() implementation, giving
|
|
approximately a 10% speedup (architecture-dependent) on message sends.
|
|
|
|
- Updated optimisation passes to work with LLVM 3.2 and recent LLVM trunk.
|
|
|
|
|
|
You may obtain the code for this release from subversion at the following
|
|
subversion branch:
|
|
|
|
svn://svn.gna.org/svn/gnustep/libs/libobjc2/releases/1.7
|
|
|
|
Alternatively, a tarball is available from:
|
|
|
|
http://download.gna.org/gnustep/libobjc2-1.7.tar.bz2
|
|
|
|
The runtime library is responsible for implementing the core features of the
|
|
object model, as well as exposing introspection features to the user. The
|
|
GNUstep runtime implements Apple's Objective-C Runtime APIs, and a small number
|
|
of GCC APIs for legacy compatibility.
|
|
|
|
This library is based on the Étoilé Objective-C Runtime, an earlier research
|
|
prototype, and includes support for non-fragile instance variables,
|
|
type-dependent dispatch, and object planes. It is fully backwards compatible
|
|
with the FSF's GCC 4.2.1 Objective-C ABI and also implements a new ABI that is
|
|
supported by Clang and Étoilé's LanguageKit and is required for some of the
|
|
newer features.
|
|
|
|
If you come across any problems, please report them to the GNUstep Developer
|
|
mailing list <gnustep-dev@gnu.org>.
|