Building and Installing ACE and Its Auxiliary Libraries and Services

来源:百度文库 编辑:神马文学网 时间:2024/04/28 12:13:01

Building ACE with GNU Autoconf

GNU Autoconf support is available in the ACE and ACE+TAO distributionsin the DOC group website. Support for Autoconf is not included indistributions that contain CIAO.

GNU Autoconf support has been partially present in a number of ACEversions. However, ACE 5.4 was the first version that supported it inearnest. The range of platforms on which GNU autoconf support is regularlytested is not as broad as for the traditional configuration method, so youshould be careful to test the resulting ACE library before using it inyour applications. You can review thebuild scoreboard to check the currently tested set of autoconfiguredplatforms (look for autoconf in the platform name).Any help you can lend to improve the ACE build process using GNU Autoconfwould be very much appreciated. Please send any fixes to theACE users mailing listusing the standard PROBLEM-REPORT-FORM.

The kit has been bootstrapped so you do not need to install the GNUAutotools (autoconf, automake, libtool) unless you want to participatein testing and developing thisprocess further or if you are working directly off of sources in theACE subversion repository. To simply configure and build ACE, do:

  1. cd to the top-level ACE_wrappers directory.
  2. Create a subdirectory to hold your build's configuration and built ACE version, and then change to the new directory:
           mkdir build    cd build
    Note that you do not run the create_ace_build.pl utility mentioned in the Cloning the Source Tree section. The configure script takes care of creating all files and links that are needed.
  3. Configure ACE for your platform by issuing the following command:
           ../configure [options]
    options can be a variable setting (such as setting CXX to your C++ compiler command) any standard GNU configure options, or any of the following ACE configure options (default values are in parentheses):
    • --enable-alloca (no): Enable alloca() support.
    • --enable-debug (yes): Build ACE with debugging support.
    • --enable-exceptions (yes): Build ACE with C++ exception support compiled in.
    • --enable-fast (no): Use the Sun C++ -fast option to build. Only used on Solaris.
    • --enable-ipv4-ipv6 (no): Enable IPv4/IPv6 migration support.
    • --enable-ipv6 (no): Enable IPv6 support.
    • --enable-inline (yes): Enable inline functions.
    • --enable-optimize (yes): Enable building optimized.
    • --enable-prof (no): Enable profiling support.
    • --enable-purify (no): Build with support for IBM Rational Purify.
    • --enable-quantify (no): Build with support for IBM Rational Quantify.
    • --enable-repo (no): Enable the GNU g++ -frepo option. Only useful for pre-3.0 g++.
    • --enable-stdcpplib (yes): Build with support for the standard C++ library, as opposed to the older iostreams library.
    • --enable-log-msg-prop (yes): Enable ACE_Log_Msg property propagation to ACE-created threads.
    • --enable-logging (yes): Enable the ACE logging macros.
    • --enable-malloc-stats (no): Compile in additional code for collecting memory allocation statistics.
    • --enable-pi-pointers (yes): Enable position-independent pointers for shared memory classes.
    • --enable-probe (no): Enable the ACE_Timeprobe class.
    • --enable-reentrant (yes): Enable use of platform's reentrant functions.
    • --enable-static-obj-mgr (yes): Enable use of a static ACE_Object_Manager.
    • --enable-threads (yes): Enable threading support.
    • --enable-verb-not-sup (no): Enable verbose ENOTSUP reports at run time.
    • --enable-trace (no): Enable ACE execution tracing support.
    • --enable-fl-reactor (no): Enable support for the ACE_FlReactor class.
    • --enable-qt-reactor (no): Enable support for the ACE_QtReactor class.
    • --enable-tk-reactor (no): Enable support for the ACE_TkReactor class.
    • --enable-xt-reactor (no): Enable support for the ACE_XtReactor class.
    • --enable-gperf (yes): Build the implementation of gperf that comes with ACE.
    • --enable-qos (no): Include the ACE_QoS library when building ACE.
    • --enable-ssl (yes): Include the ACE_SSL library when building ACE. Requires the SSL components to be available using the compiler's and linker's default search directories.
    • --with-openssl: Specifies the root directory of the OpenSSL installation; expects the specified directory to have include and lib subdirectories. To specify other locations for the header and libraries, use one or both of the following.
    • --with-openssl-include: Specify the directory containing the OpenSSL header files.
    • --with-openssl-libdir: Specify the directory containing the OpenSSL libraries.
    • --with-tli-device (/dev/tcp): Specifies the device name for opening a TLI device at run time.
  4. Build ACE by typing make.
  5. (Optional) Install ACE by typing make install.

Testing and Developing GNU AutotoolSupport in ACE

In order to test and develop the GNU Autotool support in ACE orbootstrap autotool support into ACE when working directly off of ACEsources in the subversion repository, you must have recent versions of GNUAutoconf, Automake and Libtool installed on your host. Onceinstalled, autotool support may be bootstrapped into your workspace bydoing the following:

cd ACE_wrappers
./bin/bootstrap
After doing so, you will be able to run the configurescript.