summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2003-03-14 19:01:09 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2003-03-14 19:01:09 +0000
commit7fe7a5b421d2dd44dea3d63591f9f1bc24ffb711 (patch)
treeeaa6428ff83173fd1cc7d84e69c325e8a23db946
parent6eeebd2e8de0c601b78aa401a3b23215d700ad2a (diff)
downloadATCD-7fe7a5b421d2dd44dea3d63591f9f1bc24ffb711.tar.gz
ChangeLogTag:Fri Mar 14 10:49:48 2003 Ossama Othman <ossama@uci.edu>
-rw-r--r--ChangeLog26
-rw-r--r--configure.ac34
-rw-r--r--m4/config_h.m48
3 files changed, 65 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 2e825cfa3e2..84f95d0bebb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+Fri Mar 14 10:49:48 2003 Ossama Othman <ossama@uci.edu>
+
+ * configure.ac (bsearch, mktemp, qsort, rand_r):
+
+ Temporarily select C as the test language when detecting these
+ functions to work around a bug in some versions of Autoconf when
+ C++ is selected as the test language. This fixes problems where
+ the following macros were incorrectly defined:
+
+ ACE_LACKS_BSEARCH
+ ACE_LACKS_MKTEMP
+ ACE_LACKS_QSORT
+ ACE_HAS_REENTRANT_FUNCTIONS
+
+ The correct definition of the ACE_HAS_REENTRANT_FUNCTIONS macro
+ should also correct problems exhibited by the ACE one-button
+ tests on multi-CPU hosts.
+
+ (ACE_LACKS_STRUCT_DIR):
+
+ Added test that determines if this macro should be defined.
+
+ * m4/config_h.m4 (ACE_HAS_SCANDIR, ACE_LACKS_STRUCT_DIR):
+
+ Added templates for these preprocessor macros.
+
Thu Mar 13 15:49:21 2003 Ossama Othman <ossama@uci.edu>
* bin/bootstrap:
diff --git a/configure.ac b/configure.ac
index 4e030d496a4..d0c0260e57e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12,7 +12,7 @@ AC_INIT([ACE],[TEST-VERSION],[ace-bugs@cs.wustl.edu],[ace])
AC_REVISION([$Id$])
AC_COPYRIGHT([ACE(TM) and TAO(TM) are copyrighted by Douglas C. Schmidt and
-his research group at Washington University, Copyright (c) 1993-2002,
+his research group at Washington University, Copyright (c) 1993-2003,
all rights reserved. Since ACE and TAO are open-source, free
software, you are free to use, modify, and distribute the ACE and TAO
source code and object code produced from the source, as long as you
@@ -24,7 +24,7 @@ additional details.])
dnl Require GNU Autoconf 2.57 or better.
-AC_PREREQ(2.57)dnl
+AC_PREREQ([2.57])
AC_CONFIG_SRCDIR([ace/ACE.cpp])
@@ -1188,6 +1188,7 @@ dnl SECTION 7: checks for structures
dnl TODO: Check whether these structures can be defined somewhere else.
+ACE_CHECK_STRUCT([dirent],[dirent.h],,[AC_DEFINE([ACE_LACKS_STRUCT_DIR])])
ACE_CHECK_STRUCT([flock],[fcntl.h],,[AC_DEFINE([ACE_LACKS_FILELOCKS])])
ACE_CHECK_STRUCT([rwlock_t],[synch.h],,[AC_DEFINE([ACE_LACKS_RWLOCK_T])])
ACE_CHECK_STRUCT([strbuf],[stropts.h],[AC_DEFINE([ACE_HAS_STRBUF_T])],)
@@ -3314,13 +3315,23 @@ AC_CHECK_FUNC([access],
,
[AC_DEFINE([ACE_LACKS_ACCESS])])
+dnl Temporarily select C as the test language to work around a bug in
+dnl some versions of Autoconf when C++ is selected as the test
+dnl language.
+AC_LANG_PUSH([C])
AC_CHECK_FUNC([bsearch],
,
[AC_DEFINE([ACE_LACKS_BSEARCH])])
+AC_LANG_POP([C])
+dnl Temporarily select C as the test language to work around a bug in
+dnl some versions of Autoconf when C++ is selected as the test
+dnl language.
+AC_LANG_PUSH([C])
AC_CHECK_FUNC([qsort],
,
[AC_DEFINE([ACE_LACKS_QSORT])])
+AC_LANG_POP([C])
dnl ACE uses execv, execvp and execve, so we don't bother to check
dnl for the others (e.g. execl, execlp, execle)
@@ -3731,9 +3742,14 @@ AC_CHECK_FUNC([mkfifo],
,
[AC_DEFINE([ACE_LACKS_MKFIFO])])
+dnl Temporarily select C as the test language to work around a bug in
+dnl some versions of Autoconf when C++ is selected as the test
+dnl language.
+AC_LANG_PUSH([C])
AC_CHECK_FUNC([mktemp],
,
[AC_DEFINE([ACE_LACKS_MKTEMP])])
+AC_LANG_POP([C])
AC_CHECK_FUNC([madvise],
,
@@ -4449,7 +4465,12 @@ AC_CHECK_FUNC([sigwait],
dnl Check for reentrant functions
if test "$ace_user_enable_reentrant_funcs" = yes; then
+ dnl Temporarily select C as the test language to work around a bug in
+ dnl some versions of Autoconf when C++ is selected as the test
+ dnl language.
+ AC_LANG_PUSH([C])
AC_CHECK_FUNC([rand_r],,)
+ AC_LANG_POP([C])
AC_CHECK_FUNC([strtok_r],
[
@@ -4498,6 +4519,15 @@ AC_CHECK_FUNC([readdir_r],
,
[AC_DEFINE([ACE_LACKS_READDIR_R])])
+dnl Disabled until we figure out what to do with the comparator
+dnl function argument inconsistencies between different platforms.
+dnl For example:
+dnl int comparator (const void * d1, const void * d2)
+dnl instead of:
+dnl int comparator (const dirent ** d1, const dirent ** d2)
+dnl
+dnl AC_CHECK_FUNC([scandir], [AC_DEFINE([ACE_HAS_SCANDIR])], [])
+
AC_CHECK_FUNC([seekdir],
,
[AC_DEFINE([ACE_LACKS_SEEKDIR])])
diff --git a/m4/config_h.m4 b/m4/config_h.m4
index 8bb451540ee..45f623bdf90 100644
--- a/m4/config_h.m4
+++ b/m4/config_h.m4
@@ -9,7 +9,7 @@ dnl header.
dnl
dnl -------------------------------------------------------------------------
-dnl Copyright (C) 2002 Ossama Othman
+dnl Copyright (C) 2002, 2003 Ossama Othman
dnl
dnl All Rights Reserved
dnl
@@ -743,6 +743,9 @@ AH_TEMPLATE([ACE_LACKS_NETDB_REENTRANT_FUNCTIONS],
AH_TEMPLATE([ACE_HAS_REGEX],
[Platform supports the POSIX regular expression library])
+AH_TEMPLATE([ACE_HAS_SCANDIR],
+[Platform supports the scandir() function.])
+
AH_TEMPLATE([ACE_HAS_SELECT_H],
[Platform has special header for select().])
@@ -1196,6 +1199,9 @@ AH_TEMPLATE([ACE_LACKS_SIGSET],
AH_TEMPLATE([ACE_LACKS_STRRCHR],
[Platform/compiler lacks strrchr () function.])
+AH_TEMPLATE([ACE_LACKS_STRUCT_DIR],
+[Platform lacks dirent structure.])
+
AH_TEMPLATE([ACE_LACKS_SYS_NERR],
[Platforms/compiler lacks the sys_nerr variable (e.g., VxWorks and MVS).])