分享

Building and Installing ACE and Its Auxiliary Libraries and Services

 rushui 2009-12-21

Building ACE with GNU Autoconf

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

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

The kit has been bootstrapped so you do not need to install the GNU Autotools (autoconf, automake, libtool) unless you want to participate in testing and developing this process further or if you are working directly off of sources in the ACE 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 Autotool Support in ACE

In order to test and develop the GNU Autotool support in ACE or bootstrap autotool support into ACE when working directly off of ACE sources in the subversion repository, you must have recent versions of GNU Autoconf, Automake and Libtool installed on your host. Once installed, autotool support may be bootstrapped into your workspace by doing the following:

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约