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=yes
as valgrind options as alternative or you can disable dlclose yourself by adding#define ACE_LACKS_DLCLOSE
to your ace/config.h file - Removed
ACE_OS::readdir_r
.readdir_r
was marked as depracated in glibc and FreeBSD libc. Also removedACE_Dirent::read (ACE_DIRENT *, ACE_DIRENT **)
which used it.ACE_LACKS_READDIR_R
will 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:
gnuace
no 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.html
for 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_ARCH
make variable. ReplacedANDROID_ABI
withandroid_abi
, but kept the former as an alias of the later for compatibility. Also will no longer default to 32-bit ARM, soandroid_abi
orANDROID_ABI
must be defined. - As recommend by Google, building with neon support is now the default when
android_abi
isarmeabi-v7a
. If support for these processors without NEON extensions is needed, putandroind_neon := 0
inplatform_macros.GNU
. - As recommend by Google,
gnuace
will 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 := 0
inplatform_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