[Ace-users] [ace-users] Regular vs autoconf ACE+TAO builds

Thomas Girard thomas.g.girard at free.fr
Thu Nov 8 15:42:02 CST 2007


Hello,

(A shortened PRF is appended to this email.)

Here is an update to my earlier posts[1][2] on how to compare regular vs
autoconf builds.

The script used to compare is available at [3]. To use it you must:
 1. define $ACE_ROOT
 2. launch it with two arguments: platform specific config.h and
    configure generated config.h
    
    For instance, on my machine, I used, from $ACE_ROOT directory:
    me at machine$ ../ace-cmp.sh ./ace/config-linux.h ../objdir/config.h

I believe running this on different platforms could be a good way to
improve autoconf support and spot missing macros.

On my amd64, Debian GNU/Linux box, I get the output available at [4].

Analyzing first differences (next ones later), we see that in regular
builds the following macros are defined to 1, while they are not using
autoconf:

 * ACE_GETNAME_RETURNS_RANDOM_SIN_ZERO
    o documented in $ACE_ROOT/ace/README
    o used in $ACE_ROOT/ace/OS_NS_sys_socket.inl for:
      - ACE_OS::getpeername
      - ACE_OS::getsockname
    o no autoconf test

 * ACE_HAS_ALLOCA_H
    o used in $ACE_ROOT/ace/os_include/os_stdlib.h only
      to include <alloca.h>, i.e. *not* used
    o autoconf test, flag --enable-alloca [no]

 * ACE_HAS_BSWAP_{16,32,64}
    o ACE_HAS_BSWAP_16 and ACE_HAS_BSWAP_32 used in
      $ACE_ROOT/ace/CDR_Base.inl
    o typo for ACE_HAS_BSWAP_64 in first occurrence
    o no autoconf test

 * ACE_HAS_INTEL_ASSEMBLY
    o used in :
      - $ACE_ROOT/ace/Atomic_Op.cpp
      - $ACE_ROOT/ace/CDR_Base.inl
      - $ACE_ROOT/ace/CDR_Base.cpp
    o no autoconf test

 * ACE_HAS_NONCONST_SETRLIMIT
    o documented in $ACE_ROOT/ace/README
    o used in $ACE_ROOT/ace/OS_NS_sys_resource.inl
    o working autoconf test, i.e. error in regular builds

 * ACE_HAS_POSIX_MESSAGE_PASSING
    o *not* used
    o no autoconf test

 * ACE_HAS_RECURSIVE_MUTEXES
    o used in:
      - $ACE_ROOT/ace/OS_NS_Thread.{inl,h,cpp}
      - $ACE_ROOT/ace/Recursive_Thread_Mutex.{inl,h,cpp}
    o no autoconf test


More analysis later.
Regards,

Thomas

8<----------8<----------8<----------8<----------8<----------8<----------8<----

    ACE VERSION:
      5.6.1

    HOST MACHINE and OPERATING SYSTEM:
      Debian GNU/Linux unstable on amd64
    TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
      N/A

    COMPILER NAME AND VERSION (AND PATCHLEVEL):
      g++ (GCC) 4.1.3 20071019 (prerelease) (Debian 4.1.2-17)

    THE $ACE_ROOT/ace/config.h FILE: generated, available at [5]

8<----------8<----------8<----------8<----------8<----------8<----------8<----

[1] http://groups.google.cl/group/comp.soft-sys.ace/msg/2aeed841ff5279c0
[2] http://groups.google.cl/group/comp.soft-sys.ace/browse_thread/thread/d7b60d694016b951
[3] http://thomas.g.girard.free.fr/ace/ace-cmp.sh
[4] http://thomas.g.girard.free.fr/ace/ace_5.6.1_regular-to-autoconf.diff
[5] http://thomas.g.girard.free.fr/ace/config.h



More information about the Ace-users mailing list