GNUstep Objective-C Runtime 2.2 =============================== This is the second update to the second major 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: - Numerous improvements to the Objective-C++ exception interoperation code. The runtime now dynamically detects whether the libcxxrt, libsupc++, or libc++abi variant of the Itanium C++ Exception ABI is being used. This is the first version to support exception interoperability with libc++abi. - Because we no longer need to identify the specific C++ runtime, we can link to it indirectly via the C++ standard library, which enables more C++ to be used in the Objective-C runtime. - The minimum CMake version has been bumped to 3.16, which supports Objective-C. This support is now used, simplifying the build. - Support for GC mode is gone. Apple dropped support for this a long time ago. You may obtain the code for this release from git and use the 2.2 branch: https://github.com/gnustep/libobjc2.git Alternatively, a tarball is available from: https://github.com/gnustep/libobjc2/archive/v2.2.zip https://github.com/gnustep/libobjc2/archive/v2.2.tar.gz The submodule is available from: https://github.com/Tessil/robin-map/archive/d37a410.zip https://github.com/Tessil/robin-map/archive/d37a410.tar.gz This will extract as robin-map-d37a41003bfbc7e12e34601f93c18ca2ff6d7c07. You must move the contents of that directory into third_party/robin_map in the libobjc2 tree. 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 a superset of Apple's Objective-C Runtime APIs. If you come across any problems, please file them in the issue tracker: https://github.com/gnustep/libobjc2/issues