diff options
Diffstat (limited to 'ACE/m4/platform.m4')
-rw-r--r-- | ACE/m4/platform.m4 | 473 |
1 files changed, 0 insertions, 473 deletions
diff --git a/ACE/m4/platform.m4 b/ACE/m4/platform.m4 deleted file mode 100644 index cdab216495d..00000000000 --- a/ACE/m4/platform.m4 +++ /dev/null @@ -1,473 +0,0 @@ -dnl ------------------------------------------------------------------------- -dnl $Id$ -dnl -dnl platform.m4 -dnl -dnl ACE M4 include file which contains ACE specific M4 macros -dnl that set/determine which known platform specific C++ macros -dnl to define. -dnl -dnl ------------------------------------------------------------------------- - -dnl Copyright (C) 1998, 1999, 2000, 2002, 2003 Ossama Othman -dnl -dnl All Rights Reserved -dnl -dnl This library is free software; you can redistribute it and/or -dnl modify it under the current ACE distribution terms. -dnl -dnl This library is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -dnl Check for thread related libraries and compiler flags -dnl Usage: ACE_SET_PLATFORM_MACROS -AC_DEFUN([ACE_SET_PLATFORM_MACROS], -[ -dnl Begin ACE_SET_PLATFORM_MACROS - -dnl At some point the below platform specific settings should be -dnl automated as much as possible! We set things manually just to get -dnl things going with the auto{conf,make}/libtool integration into the -dnl ACE source tree. - -dnl Platform specific flags -case "$host" in - *aix3*) - AC_DEFINE([AIX]) - AC_DEFINE([ACE_DEFAULT_BASE_ADDR], [((char *) 0x80000000)]) - ;; - *aix4.1*) - AC_DEFINE([AIX]) - dnl Use BSD 4.4 socket definitions for pre-AIX 4.2. The _BSD - dnl setting also controls the data type used for waitpid(), - dnl wait(), and wait3(). - ACE_CPPFLAGS="$ACE_CPPFLAGS -D_BSD=44" - dnl pre-AIX 4.3 requires _BSD_INCLUDES - ACE_CPPFLAGS="$ACE_CPPFLAGS -D_BSD_INCLUDES" - AC_DEFINE([ACE_DEFAULT_BASE_ADDR], [((char *) 0x80000000)]) - AC_DEFINE([ACE_HAS_AIX_BROKEN_SOCKET_HEADER]) - ;; - *aix4.2*) - AC_DEFINE([AIX]) - dnl pre-AIX 4.3 requires _BSD_INCLUDES - ACE_CPPFLAGS="$ACE_CPPFLAGS -D_BSD_INCLUDES" - AC_DEFINE([ACE_DEFAULT_BASE_ADDR], [((char *) 0x80000000)]) -dnl AC_DEFINE([ACE_HAS_AIX_BROKEN_SOCKET_HEADER]) - AC_DEFINE([ACE_TLI_TCP_DEVICE], ["/dev/xti/tcp"]) - ;; - *aix*) - AC_DEFINE([AIX]) - ;; -dnl /* Cray specific configuration parameters */ -dnl /* -dnl * The following predefined macros are used within ACE ifdefs. -dnl * These are defined when using the Cray compilers. _CRAYMPP -dnl * is defined, for example, if you are running on a Cray T3E -dnl * massively parallel machine. Moreover, in the case of the T3E, -dnl * _CRAYT3E will be defined. This is used to determine the -dnl * ACE_SIZEOF defines for primitive types. -dnl * -dnl * _UNICOS is defined as either the major version of UNICOS being run, -dnl * e.g. 9 or 10 on the vector machines (e.g. C90, T90, J90, YMP, ...) -dnl * or the major+minor+level UNICOS/mk version, e.g. 2.0.3 => 203, -dnl * being run on an MPP machine. -dnl * -dnl * Summary: -dnl * -dnl * _CRAYMPP (defined only if running on MPP machine, e.g. T3E, UNICOS/mk) -dnl * _CRAYT3E (defined specifically if compiling on a Cray T3E) -dnl * _UNICOS (defined if running UNICOS or UNICOS/mk) -dnl * -dnl * Tested on UNICOS 10.0.0.2, UNICOS/mk 2.0.3.10 -dnl * -dnl * Contributed by Doug Anderson <doug "at" clark.net> -dnl */ - t3e-cray-unicosmk*) - ACE_CPPFLAGS="$ACE_CPPFLAGS -D_CRAYMPP -D_CRAYT3E -D_UNICOS" - ;; - t3e-cray*) - ACE_CPPFLAGS="$ACE_CPPFLAGS -D_CRAYT3E -D_UNICOS" - ;; - *cray-unicos*) - ACE_CPPFLAGS="$ACE_CPPFLAGS -D_UNICOS" - ;; - *hpux9*) - AC_DEFINE([HPUX]) - ;; - *hpux10*) - AC_DEFINE([HPUX]) - AC_DEFINE([HPUX_10]) - dnl _HPUX_SOURCE : Enable HP-UX specific features in platform headers - ACE_CPPFLAGS="$ACE_CPPFLAGS -D_HPUX_SOURCE" - AC_DEFINE([ACE_DEFAULT_BASE_ADDR], [((char *) 0x80000000)]) - AC_DEFINE([ACE_TLI_TCP_DEVICE], ["/dev/inet_cots"]) - ;; - *hpux11*) - AC_DEFINE([HPUX]) - AC_DEFINE([HPUX_11]) - AC_EGREP_CPP([ACE_ON_64BIT_HP], - [ -#ifdef __LP64__ - ACE_ON_64BIT_HP -#endif - ], - [ - AC_DEFINE([ACE_DEFAULT_BASE_ADDR], [((char *) 0x0000001100000000)]) - AC_DEFINE([ACE_DEFAULT_BASE_ADDRL], [((char *) 0x0000001100000000)]) - ], - [ - AC_DEFINE([ACE_DEFAULT_BASE_ADDR], [((char *) 0x80000000)]) - ]) - AC_DEFINE([ACE_TIMER_SKEW], [(1000 * 10)]) - ;; - *irix5.2*) - AC_DEFINE([IRIX5]) - ;; - *irix5.3*) - AC_DEFINE([IRIX5]) - if test "$GXX" = no; then - ACE_CPPFLAGS="$ACE_CPPFLAGS -D_BSD_TYPES" - fi - ;; - *irix6*) - AC_DEFINE([IRIX6]) - AC_DEFINE([ACE_DEFAULT_BASE_ADDR], [((char *) (1024U * 1024 * 1024))]) - AC_DEFINE([ACE_TIMER_SKEW], [(1000 * 10)]) - dnl _MODERN_C_ : Enable modern features in SGI C++ compiler - ACE_CPPFLAGS="$ACE_CPPFLAGS -D_SGI_MP_SOURCE -D_MODERN_C_" - - case "$host" in - *irix6.2*) - dnl Recent versions of IRIX do not appear to require this macro. - if test "$ace_user_enable_threads" = yes; then - AC_DEFINE([ACE_HAS_IRIX62_THREADS]) - fi - ;; - esac - ;; - *linux*) - AC_DEFINE([ACE_DEFAULT_MAX_SOCKET_BUFSIZ], [65535]) - AC_DEFINE([ACE_DEFAULT_BASE_ADDR], [((char *) 0x80000000)]) - AC_DEFINE([ACE_HAS_BIG_FD_SET]) dnl FIXME: We need a test for this! - AC_DEFINE([ACE_TIMER_SKEW], [(1000 * 10)]) - dnl Does this box have NPTL? - NPTL=`getconf GNU_LIBPTHREAD_VERSION | $AWK '{print [$][1]}' -` - if test "$NPTL" != NPTL; then - ACE_CPPFLAGS="$ACE_CPPFLAGS -DACE_LACKS_LINUX_NPTL" - fi - ;; - *lynxos*) - ACE_CPPFLAGS="$ACE_CPPFLAGS -D_POSIX_THREADS_CALLS" - AC_DEFINE([__NO_INCLUDE_WARN__]) - AC_DEFINE([ACE_MALLOC_ALIGN], [8]) - AC_DEFINE([ACE_MAP_PRIVATE], [ACE_MAP_SHARED]) - AC_DEFINE([ACE_USE_RCSID], [0]) - AC_DEFINE([ACE_HAS_LYNXOS_SIGNALS]) - AC_DEFINE([ACE_TIMER_SKEW], [(1000 * 10)]) - ;; - *mvs*) - ACE_CPPFLAGS="$ACE_CPPFLAGS -D_ALL_SOURCE" - ;; - *osf3.2*) - AC_EGREP_CPP([ACE_DEC_CXX], - [ -#if defined(__DECCXX) - ACE_DEC_CXX -#endif - ], - [ - AC_DEFINE([DEC_CXX]) - ],) - ;; - *osf4.0*) -dnl We need to add checks for g++, DEC C++ and Rational C++ - AC_EGREP_CPP([ACE_DEC_CXX], - [ -#if defined(__DECCXX) - ACE_DEC_CXX -#endif - ], - [ - AC_DEFINE([DEC_CXX]) - ],) -dnl Check for _POSIX_C_SOURCE macro - AC_EGREP_CPP([ACE_ON_DEC_WITH_POS_SRC], - [ - /* Include unistd.h to define _POSIX_C_SOURCE. */ -#ifndef ACE_LACKS_UNISTD_H -# include <unistd.h> -#endif - -#if defined(_POSIX_C_SOURCE) && (_POSIX_C_SOURCE >= 199506L) - ACE_ON_DEC_WITH_POS_SRC -#endif - ], - [ - AC_DEFINE([DIGITAL_UNIX]) - ],) - AC_DEFINE([ACE_DEFAULT_BASE_ADDR], [((char *) 0x80000000)]) - AC_DEFINE([ACE_NEEDS_HUGE_THREAD_STACKSIZE], [(1024 * 1024)]) - AC_DEFINE([ACE_TIMER_SKEW], [(1000 * 10)]) - ;; - *sco4.2*) - AC_DEFINE([SCO]) - AC_DEFINE([ACE_DEFAULT_CLOSE_ALL_HANDLES], [0]) - ;; - *sco5*) - ACE_CPPFLAGS="$ACE_CPPFLAGS -D_SVID3" - AC_DEFINE([SCO]) - AC_DEFINE([ACE_DEFAULT_CLOSE_ALL_HANDLES], [0]) - AC_DEFINE([ACE_HAS_BIG_FD_SET]) dnl FIXME: We need a test for this! - ;; - *sunos4*) - AC_DEFINE([ACE_TIMER_SKEW], [(1000 * 10)]) - ;; - *solaris2.4*) - AC_DEFINE([ACE_TIMER_SKEW], [(1000 * 10)]) - AC_DEFINE([ACE_NEEDS_LWP_PRIO_SET]) - ;; - *solaris2.5*) - AC_DEFINE([ACE_MALLOC_ALIGN], [8]) - AC_DEFINE([ACE_TIMER_SKEW], [(1000 * 10)]) - AC_DEFINE([ACE_NEEDS_LWP_PRIO_SET]) - ;; - *solaris2.6*) - AC_DEFINE([ACE_MALLOC_ALIGN], [8]) - AC_DEFINE([ACE_TIMER_SKEW], [(1000 * 10)]) - AC_DEFINE([ACE_NEEDS_LWP_PRIO_SET]) - ;; - *solaris2.7*) - AC_DEFINE([ACE_MALLOC_ALIGN], [8]) - AC_DEFINE([ACE_TIMER_SKEW], [(1000 * 10)]) - AC_DEFINE([ACE_NEEDS_LWP_PRIO_SET]) - ;; - *86*solaris*) - AC_DEFINE([ACE_HAS_X86_STAT_MACROS]) - AC_DEFINE([ACE_TIMER_SKEW], [(1000 * 10)]) - AC_DEFINE([ACE_NEEDS_LWP_PRIO_SET]) - ;; - *tandem*) - AC_DEFINE([ACE_TIMER_SKEW], [(1000 * 10)]) - ;; - *unixware2.0*) - AC_DEFINE([UNIXWARE]) - AC_DEFINE([UNIXWARE_2_0]) - ;; - *unixware2.1*) - AC_DEFINE([UNIXWARE]) - AC_DEFINE([UNIXWARE_2_1]) - ;; - *UnixWare7.1*) - AC_DEFINE([UNIXWARE]) - AC_DEFINE([UNIXWARE_7_1]) - AC_DEFINE([__IOCTL_VERSIONED__]) - ACE_CPPFLAGS="$ACE_CPPFLAGS -D_REENTRANT" - ;; - *vxworks*) - AC_DEFINE([VXWORKS]) - AC_DEFINE([ACE_MAIN], [ace_main]) - AC_DEFINE([ACE_DEFAULT_MAX_SOCKET_BUFSIZ], [32768]) - dnl need ACE_HAS_TSS_EMULATION for ACE_DEFAULT_THREAD_KEYS! - AC_EGREP_CPP([ACE_TSS_EMULATION], - [ -#if defined (ACE_HAS_TSS_EMULATION) - ACE_TSS_EMULATION -#endif - ], [AC_DEFINE([ACE_DEFAULT_THREAD_KEYS], [16])],[]) - AC_DEFINE([ACE_THR_PRI_FIFO_DEF], [101]) - AC_DEFINE([ACE_USE_RCSID], [0]) - ;; - *cygwin32*) - AC_DEFINE([CYGWIN32]) - ;; - *win32*) - AC_DEFINE([ACE_WIN32]) - AC_DEFINE([ACE_UINT64_FORMAT_SPECIFIER], ["%I64u"]) -dnl AC_DEFINE(ACE_USE_SELECT_REACTOR_FOR_REACTOR_IMPL) - if test "$ace_u_long_long_typedef_set" != yes; then - ACE_UINT64="unsigned __int64" - ace_u_long_long_typedef_set=yes - fi dnl "$ace_u_long_long_typedef_set" != yes - ;; - *qnx* | *nto* | *neutrino*) - dnl These should be defined on the command line, not in config.h. - ACE_CPPFLAGS="$ACE_CPPFLAGS -D_QNX_SOURCE -D_POSIX_C_SOURCE=199506" - ACE_CPPFLAGS="$ACE_CPPFLAGS -D_POSIX_NAME_MAX=14" # Max bytes in a - # filename - ACE_CPPFLAGS="$ACE_CPPFLAGS -D_POSIX_PATH_MAX=256" # Num. bytes in - # pathname (excl. NULL) - case "$host" in - i[[3456]]86*) - if test "$GXX" = yes; then - # Neutrino defines memcpy as a macro on x86, which then - # hoses the ACE_OS::memcpy() method. Undefining - # __OPTIMIZE__ prevents this from happening. - ACE_CPPFLAGS="$ACE_CPPFLAGS -U__OPTIMIZE__" - fi - ;; - esac - ;; - *) - ;; -esac - -ACE_FUNC_IOCTL_ARGTYPES -ACE_CHECK_HAS_NONCONST_FD_ISSET -ACE_CHECK_FORMAT_SPECIFIERS -ACE_CHECK_LACKS_PERFECT_MULTICAST_FILTERING - -dnl End ACE_SET_PLATFORM_MACROS -]) - - - -# ACE_CHECK_FORMAT_SPECIFIERS -# -# Override default *printf format specifiers for size_t, ssize_t, ACE_INT64, -# and ACE_UINT64 -# -# FIXME: Is it possible to write a portable feature test, or is checking -# the the target OS / target CPU the best we can do? -# -#--------------------------------------------------------------------------- -AC_DEFUN([ACE_CHECK_FORMAT_SPECIFIERS], -[dnl -AH_TEMPLATE([ACE_SIZE_T_FORMAT_SPECIFIER], -[Define to the *printf format specifier (e.g. "%u") for size_t])dnl -AH_TEMPLATE([ACE_SSIZE_T_FORMAT_SPECIFIER], -[Define to the *printf format specifier (e.g. "%d") for ssize_t])dnl -AH_TEMPLATE([ACE_INT64_FORMAT_SPECIFIER], -[Define to the *printf format specifier (e.g. "%lld") for ACE_INT64])dnl -AH_TEMPLATE([ACE_UINT64_FORMAT_SPECIFIER], -[Define to the *printf format specifier (e.g. "%llu") for ACE_UINT64])dnl - -case "$host_os" in -darwin*) - AC_DEFINE([ACE_SIZE_T_FORMAT_SPECIFIER], ["%lu"]) - ;; - -linux*) - case "$host_cpu" in - alpha|ia64|x86_64) - AC_DEFINE([ACE_SIZE_T_FORMAT_SPECIFIER], ["%lu"]) - AC_DEFINE([ACE_SSIZE_T_FORMAT_SPECIFIER], ["%ld"]) - AC_DEFINE([ACE_UINT64_FORMAT_SPECIFIER], ["%lu"]) - ;; - *) - ;; - esac - ;; - -netbsd*) - case "$host_cpu" in - x86_64) - AC_DEFINE([ACE_SIZE_T_FORMAT_SPECIFIER], ["%lu"]) - AC_DEFINE([ACE_SSIZE_T_FORMAT_SPECIFIER], ["%ld"]) - ;; - *) - ;; - esac - ;; - -*) - ;; -esac]) - - -# ACE_CHECK_PERFECT_MULTICAST_FILTERING -# -# Checks whether platform lacks "perfect" multicast filtering. -# -# FIXME: Is it possible to write a portable feature test, or is checking -# the the target OS the best we can do? -# -#--------------------------------------------------------------------------- -AC_DEFUN([ACE_CHECK_LACKS_PERFECT_MULTICAST_FILTERING], -[AC_CACHE_CHECK([whether platform lacks perfect multicast filtering], - [ace_cv_lacks_perfect_multicast_filtering], - [case "$host_os" in - darwin* | freebsd* | netbsd* | openbsd* | qnx*) - ace_cv_lacks_perfect_multicast_filtering=yes ;; - *) - ace_cv_lacks_perfect_multicast_filtering=no ;; - esac]) - -if test $ace_cv_lacks_perfect_multicast_filtering = yes; then - AC_DEFINE([ACE_LACKS_PERFECT_MULTICAST_FILTERING], 1, -[Define to 1 if platform lacks IGMPv3 "perfect" filtering of multicast -datagrams at the socket level. If defined, ACE_SOCK_Dgram_Mcast will bind -the first joined multicast group to the socket, and all future joins on that -socket will fail with an error.]) -fi -]) - - -# ACE_FUNC_IOCTL_ARGTYPES -# -# Determine the correct type to be passed to ioctl's second argument and -# define the types in ACE_IOCTL_TYPE_ARG2. -# -# FIXME: Should we support ioctl's third argument as well...? -# -# FIXME: Is it possible to write a portable feature test, or is checking -# the the target OS the best we can do? -# -#--------------------------------------------------------------------------- -AC_DEFUN([ACE_FUNC_IOCTL_ARGTYPES], -[AC_CACHE_CHECK([types of arguments for ioctl()], - [ace_cv_func_ioctl_arg2], - [case "$host_os" in - darwin* | freebsd* | netbsd* | openbsd*) - ace_cv_func_ioctl_arg2="unsigned long" ;; - *) - ace_cv_func_ioctl_arg2="int" ;; - esac]) - -AC_DEFINE_UNQUOTED(ACE_IOCTL_TYPE_ARG2, $ace_cv_func_ioctl_arg2, - [Define to the type of arg 2 for `ioctl'.]) -]) - - -# ACE_VAR_TIMEZONE -# -# Checks whether platform has global "timezone" variable. -# -#--------------------------------------------------------------------------- -AC_DEFUN([ACE_VAR_TIMEZONE], -[AC_CACHE_CHECK([for timezone variable], - [ace_cv_var_timezone], - [AC_TRY_LINK([#include <time.h>], - [return (int) timezone(0, 0);], - [ace_cv_var_timezone=no], - [AC_TRY_LINK([#include <time.h>], - [return (int) timezone;], - [ace_cv_var_timezone=yes], - [ace_cv_var_timezone=no])]) - ]) -if test "$ace_cv_var_timezone" = yes; then - AC_DEFINE([ACE_HAS_TIMEZONE], 1, - [Define to 1 if platform has global timezone variable]) -fi -]) - - -# ACE_HAS_NONCONST_FD_ISSET -# -# Checks if system has a nonconst FD_ISSET macro. -# -#--------------------------------------------------------------------------- -AC_DEFUN([ACE_CHECK_HAS_NONCONST_FD_ISSET], -[dnl - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([#include <sys/time.h>], - [ - //const fd_set* temp = new fd_set(); - //FD_ISSET(0, const_cast< fd_set* >( temp ) ); - const fd_set* temp = new fd_set(); - FD_ISSET(0, temp ); - ]) - ],[],[AC_DEFINE([ACE_HAS_NONCONST_FD_ISSET], 1, - [Define to 1 if system has nonconst FD_ISSET() macro.])] - ) -]) |