ACE 7.0.0 and TAO 3.0.0 released

The open source community has released ACE 7.0.0 and TAO 3.0.0
Added by Johnny Willemsen over 1 year ago

The open source community has released on Monday January 25th 2021 a new ACE 7.0.0 and TAO 3.0.0 release. This release is available from the usual download location at under the heading “Latest Micro Release” or from the github release page.

The doxygen documentation for this release is also available. In addition to the packages combined of sources and generate makefiles, this release provides source-only packages for developers who use MPC to generate their own makefiles.

Changes to ACE (detailed changes)

  • 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 removed ACE_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. Replaced ANDROID_ABI with android_abi, but kept the former as an alias of the later for compatibility. Also will no longer default to 32-bit ARM, so android_abi or ANDROID_ABI must be defined.
    • As recommend by Google, building with neon support is now the default when android_abi is armeabi-v7a. If support for these processors without NEON extensions is needed, put androind_neon := 0 in platform_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, put androind_set_lld := 0 in platform_macros.GNU.
  • Removed support for the Alpha CPU

Changes to TAO (detailed changes)

  • 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