summaryrefslogtreecommitdiffstats
path: root/c++
diff options
context:
space:
mode:
authorBill Wendling <wendling@ncsa.uiuc.edu>2003-01-30 22:20:13 (GMT)
committerBill Wendling <wendling@ncsa.uiuc.edu>2003-01-30 22:20:13 (GMT)
commitceec9c45d9345bb6e864a492ad49932537dd4fdc (patch)
treef5f5378eab3a5032264921b1e154159252a8dbb7 /c++
parent1e35713691e20b00fa3458c77391fbc84efbb7a5 (diff)
downloadhdf5-ceec9c45d9345bb6e864a492ad49932537dd4fdc.zip
hdf5-ceec9c45d9345bb6e864a492ad49932537dd4fdc.tar.gz
hdf5-ceec9c45d9345bb6e864a492ad49932537dd4fdc.tar.bz2
[svn-r6353] Purpose:
Update Description: Updated the configure scripts. Fortran and C++ didn't have proper checks for Linux LFS support. Also needed to remove the "-g" flag from the compile line if --enable-production is set. For that, I took how it's being done in HDF5 Lite... Platforms tested: Linux
Diffstat (limited to 'c++')
-rwxr-xr-xc++/configure104
-rw-r--r--c++/configure.in41
2 files changed, 51 insertions, 94 deletions
diff --git a/c++/configure b/c++/configure
index 98c0147..f8e3e64 100755
--- a/c++/configure
+++ b/c++/configure
@@ -7747,6 +7747,17 @@ case "X-$enable_production" in
X-yes)
echo "$as_me:$LINENO: result: \"production\"" >&5
echo "${ECHO_T}\"production\"" >&6
+
+ CXXFLAGS_temp=""
+ if test -n "$CXXFLAGS"; then
+ for d in $CXXFLAGS ; do
+ if test "X$d" != "X-g"; then
+ CXXFLAGS_temp="$CXXFLAGS_temp $d"
+ fi
+ done
+ CXXFLAGS=$CXXFLAGS_temp
+ fi
+
CONFIG_MODE=production
CXXFLAGS="$CXXFLAGS $PROD_CXXFLAGS"
CPPFLAGS="$CPPFLAGS $PROD_CPPFLAGS"
@@ -7797,108 +7808,37 @@ if test "${enable_linux_lfs+set}" = set; then
fi;
+ LINUX_LFS="no"
case "X-$enable_linux_lfs" in
X-yes)
LINUX_LFS=yes
;;
X-no)
- LINUX_LFS=no
;;
X-|*)
- LINUX_LFS=no
-
-for ac_func in getdents64
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-char (*f) ();
-
-#ifdef F77_DUMMY_MAIN
-# ifdef __cplusplus
- extern "C"
-# endif
- int F77_DUMMY_MAIN() { return 1; }
-#endif
-int
-main ()
-{
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-f = $ac_func;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-cat conftest.$ac_ext >&5
-eval "$as_ac_var=no"
-fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
- LINUX_LFS=yes
-fi
-done
+ MAJOR_VER="`uname -r | cut -d '.' -f1`"
+ MINOR_VER="`uname -r | cut -d '.' -f2`"
+ if test ${MAJOR_VER} -gt 2 -o ${MAJOR_VER} -eq 2 -a ${MINOR_VER} -ge 4; then
+ LINUX_LFS="yes"
+ fi
;;
esac
- echo "$as_me:$LINENO: checking for large file support on linux mode" >&5
-echo $ECHO_N "checking for large file support on linux mode... $ECHO_C" >&6
+ echo "$as_me:$LINENO: checking for large file support mode on Linux" >&5
+echo $ECHO_N "checking for large file support mode on Linux... $ECHO_C" >&6
if test "X$LINUX_LFS" = "Xyes"; then
echo "$as_me:$LINENO: result: enabled" >&5
echo "${ECHO_T}enabled" >&6
- CXXFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE ${CXXFLAGS}"
+ CPPFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $CPPFLAGS"
else
echo "$as_me:$LINENO: result: disabled" >&5
echo "${ECHO_T}disabled" >&6
fi
- CXXFLAGS="-D_POSIX_SOURCE ${CXXFLAGS}"
+ CPPFLAGS="-D_POSIX_SOURCE $CPPFLAGS"
- CXXFLAGS="-D_BSD_SOURCE ${CXXFLAGS}"
+ CPPFLAGS="-D_BSD_SOURCE $CPPFLAGS"
;;
esac
diff --git a/c++/configure.in b/c++/configure.in
index 1b3d73f..0c83165 100644
--- a/c++/configure.in
+++ b/c++/configure.in
@@ -242,6 +242,19 @@ AC_ARG_ENABLE(production,
case "X-$enable_production" in
X-yes)
AC_MSG_RESULT("production")
+
+ dnl Remove the "-g" flag from CXXFLAGS if it's in there.
+ dnl
+ CXXFLAGS_temp=""
+ if test -n "$CXXFLAGS"; then
+ for d in $CXXFLAGS ; do
+ if test "X$d" != "X-g"; then
+ CXXFLAGS_temp="$CXXFLAGS_temp $d"
+ fi
+ done
+ CXXFLAGS=$CXXFLAGS_temp
+ fi
+
CONFIG_MODE=production
CXXFLAGS="$CXXFLAGS $PROD_CXXFLAGS"
CPPFLAGS="$CPPFLAGS $PROD_CPPFLAGS"
@@ -281,37 +294,41 @@ else
fi
AC_SUBST(LT_STATIC_EXEC)
+dnl ----------------------------------------------------------------------
+dnl Test for 64bit stuff before the data types and their sizes. The
+dnl result could effect the outcome of the sizeof macros below.
+dnl
case "$host_cpu-$host_vendor-$host_os" in
*linux*)
dnl ----------------------------------------------------------------------
dnl Enable large file support on linux? Store the result in the LINUX_LFS
dnl variable for posterity
- AC_ARG_ENABLE(linux-lfs,
+ AC_ARG_ENABLE([linux-lfs],
[AC_HELP_STRING([--enable-linux-lfs],
[Enable support for large (64-bit)
files on Linux. [default=check]])])
+ LINUX_LFS="no"
case "X-$enable_linux_lfs" in
X-yes)
LINUX_LFS=yes
;;
X-no)
- LINUX_LFS=no
;;
X-|*)
- LINUX_LFS=no
- AC_CHECK_FUNCS([getdents64],
- dnl Add the large file support flags to the CXXFLAGS macro if
- dnl we're on a Linux system which austensibly supports LFS. (We
- dnl think it does if it has the `getdents64' syscall).
- [LINUX_LFS=yes])
+ MAJOR_VER="`uname -r | cut -d '.' -f1`"
+ MINOR_VER="`uname -r | cut -d '.' -f2`"
+
+ if test ${MAJOR_VER} -gt 2 -o ${MAJOR_VER} -eq 2 -a ${MINOR_VER} -ge 4; then
+ LINUX_LFS="yes"
+ fi
;;
esac
- AC_MSG_CHECKING([for large file support on linux mode])
+ AC_MSG_CHECKING([for large file support mode on Linux])
if test "X$LINUX_LFS" = "Xyes"; then
AC_MSG_RESULT([enabled])
- CXXFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE ${CXXFLAGS}"
+ CPPFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $CPPFLAGS"
else
AC_MSG_RESULT([disabled])
fi
@@ -319,13 +336,13 @@ case "$host_cpu-$host_vendor-$host_os" in
dnl Add POSIX support on Linux systems, so <features.h> defines
dnl __USE_POSIX, which is required to get the prototype for fdopen
dnl defined correctly in <stdio.h>
- CXXFLAGS="-D_POSIX_SOURCE ${CXXFLAGS}"
+ CPPFLAGS="-D_POSIX_SOURCE $CPPFLAGS"
dnl Also add BSD support on Linux systems, so <features.h> defines
dnl __USE_BSD, which is required to get the prototype for strdup
dnl defined correctly in <string.h> and snprintf & vsnprintf defined
dnl correctly in <stdio.h>
- CXXFLAGS="-D_BSD_SOURCE ${CXXFLAGS}"
+ CPPFLAGS="-D_BSD_SOURCE $CPPFLAGS"
;;
esac