Once again, thanks to the efforts of many developers, testers, and users, we are pleased to announce the major release of ACE 7.0.0 and TAO 3.0.0 which is available from the usual download location under the heading "Latest Micro Release".
The Source Code zip/tar.gz provided by github do not contain the necessary MPC files, please do not download these!
Changes to ACE
- C++11 is now a mandatory compiler feature which is required for ACE. Cleaned up part of the support for compilers that lack C++11 support
- When valgrind is enabled we don't disable dlclose anymore, this reduces the amount of leaks reported related to dlclose. When you unload your shared libraries before the end of your program you can use
--keep-debuginfo=yesas valgrind options as alternative or you can disable dlclose yourself by adding#define ACE_LACKS_DLCLOSEto your ace/config.h file - Removed
ACE_OS::readdir_r.readdir_rwas marked as depracated in glibc and FreeBSD libc. Also removedACE_Dirent::read (ACE_DIRENT *, ACE_DIRENT **)which used it.ACE_LACKS_READDIR_Rwill now always be defined. - Modernized part of the code using clang-type, added override, use nullptr, use unique_ptr, remove redundant void, use bool, simplify boolean expressions, make use of std::atomic, use using
- New Latest_ACE7TAO3_ branches which can be used to always checkout the latest ACE7/TAO3 micro/minor release
- Android Support:
gnuaceno longer supports Android NDKs before r18. This means only clang is now supported when building for Android.- Support for building with the Android NDK r19 or later directly instead of having to use a generated standalone toolchain. See
ACE-INSTALL.htmlfor details. Using a standalone toolchain is still supported. - Made it easier to use
gnuace-built libraries in as imported libraries in CMake-based Android Studio native projects. - Removed support for old
ANDROID_ARCHmake variable. ReplacedANDROID_ABIwithandroid_abi, but kept the former as an alias of the later for compatibility. Also will no longer default to 32-bit ARM, soandroid_abiorANDROID_ABImust be defined. - As recommend by Google, building with neon support is now the default when
android_abiisarmeabi-v7a. If support for these processors without NEON extensions is needed, putandroind_neon := 0inplatform_macros.GNU. - As recommend by Google,
gnuacewill start using LLD, the LLVM linker, instead of the default GNU linkers. If the NDK being used doesn't default to LLD and you want to use the GNU linkers, putandroind_set_lld := 0inplatform_macros.GNU.
- Removed support for the Alpha CPU
Changes to TAO
- C++11 is now a mandatory compiler feature which is required for TAO
- Fixed some CORBA spec mismatches for the CORBA server portable interceptors
- Add portspan support to DIOP