From ff9a968785e6684e53172c2fcad0cb5a9d2e2ab0 Mon Sep 17 00:00:00 2001 From: Scott Wegner Date: Tue, 19 Feb 2008 08:32:19 -0500 Subject: [svn-r14607] Purpose: Apply Cygwin patch to trunk Description: This is the same patch that Mike McGreevy helped me with on the 1.8 branch. The latest cygwin DLL has trouble with the global timezone variable. Now in configure, we target CYGWIN with a case statement, and avoid the problem. Tested: Cygwin on WinXP --- configure | 19 ++++++++++---- configure.in | 22 +++++++++++------ release_docs/INSTALL_Cygwin.txt | 55 +++++++++++------------------------------ 3 files changed, 44 insertions(+), 52 deletions(-) diff --git a/configure b/configure index ef0f930..838501c 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Id: configure.in 14526 2008-02-07 03:26:45Z epourmal . +# From configure.in Id: configure.in 14547 2008-02-11 20:09:52Z epourmal . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for HDF5 1.9.0. # @@ -45711,15 +45711,22 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: checking for global timezone variable" >&5 echo $ECHO_N "checking for global timezone variable... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF + +case "'uname'" in + CYGWIN*) + { echo "$as_me:$LINENO: result: disabled in CYGWIN" >&5 +echo "${ECHO_T}disabled in CYGWIN" >&6; } + ;; + *) + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include -#include + #include + #include #ifdef FC_DUMMY_MAIN #ifndef FC_DUMMY_MAIN_EQ_F77 # ifdef __cplusplus @@ -45759,7 +45766,7 @@ cat >>confdefs.h <<\_ACEOF #define HAVE_TIMEZONE 1 _ACEOF -{ echo "$as_me:$LINENO: result: yes" >&5 + { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else echo "$as_me: failed program was:" >&5 @@ -45771,6 +45778,8 @@ fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext + ;; +esac { echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5 echo $ECHO_N "checking whether struct tm is in sys/time.h or time.h... $ECHO_C" >&6; } diff --git a/configure.in b/configure.in index f8b7ce0..002be2b 100644 --- a/configure.in +++ b/configure.in @@ -1728,13 +1728,21 @@ AC_MSG_RESULT([no])) dnl Check whether the global variable `timezone' is defined. AC_MSG_CHECKING([for global timezone variable]) -AC_TRY_LINK([ -#include -#include ], [timezone=0;], -AC_DEFINE([HAVE_TIMEZONE], [1], - [Define if `timezone' is a global variable]) -AC_MSG_RESULT([yes]), -AC_MSG_RESULT([no])) + +case "'uname'" in + CYGWIN*) + AC_MSG_RESULT([disabled in CYGWIN]) + ;; + *) + AC_TRY_LINK([ + #include + #include ], [timezone=0;], + AC_DEFINE([HAVE_TIMEZONE], [1], + [Define if `timezone' is a global variable]) + AC_MSG_RESULT([yes]), + AC_MSG_RESULT([no])) + ;; +esac dnl Check whether `struct timezone' is defined. AC_STRUCT_TIMEZONE diff --git a/release_docs/INSTALL_Cygwin.txt b/release_docs/INSTALL_Cygwin.txt index 0cb0968..b63d294 100644 --- a/release_docs/INSTALL_Cygwin.txt +++ b/release_docs/INSTALL_Cygwin.txt @@ -98,29 +98,7 @@ Install HDF5 on Cygwin $ bunzip2 < hdf5-1.8.0.tar.bz2 | tar xf - -3. Setup environment - - In the latest version of the Cygwin DLL, a bug was introduced - relating to the 'timezone' global variable and C99 support. As - work-around, we must use a special compiler flag. - - 3.1. In the command prompt you plan to build from, run the - command: - - export CFLAGS="-ansi ${CFLAGS}" - - 3.2 (Optional) If you plan to build C++ libraries, also - run the command: - - export CXXFLAGS="-ansi ${CXXFLAGS}" - - 3.3 (Optional) If you plan to build Fortran libraries, also - run the command: - - export FCFLAGS="-ansi ${FCFLAGS}" - - -4. Configuring +3. Configuring Notes: See detailed information in hdf5/release_docs/INSTALL, part 5. Full installation instructions for source @@ -134,19 +112,19 @@ Install HDF5 on Cygwin In short, - 4.1 To configure HDF5 C Library, using + 3.1 To configure HDF5 C Library, using $ ./configure - 4.2 To configure HDF5 C/C++ Library, using + 3.2 To configure HDF5 C/C++ Library, using $ ./configure --enable-cxx - 4.3 To configure HDF5 C/Fortran Library, using + 3.3 To configure HDF5 C/Fortran Library, using $ ./configure --enable-fortran - 4.4 To configure HDF5 C with Szip library, using + 3.4 To configure HDF5 C with Szip library, using $ ./configure --with-szlib="path to szlib" @@ -157,15 +135,15 @@ Install HDF5 on Cygwin $ ./configure --with-szlib=/cygdrive/c/szip - 4.5 To configure HDF5 C without Zlib, + 3.5 To configure HDF5 C without Zlib, To disable zlib, using $ ./configure --without-zlib - 4.6 Two ways to configure HDF5 C with specified Zlib + 3.6 Two ways to configure HDF5 C with specified Zlib - 4.6.1 Using + 3.6.1 Using $ ./configure --with-zlib=INCDIR,LIBDIR @@ -175,7 +153,7 @@ Install HDF5 on Cygwin $ ./configure --with-zlib=/cygdrive/c/usr/include,/cygdrive/c/usr/lib - 4.6.2 Through the CPPFLAGS and LDFLAGS Variables + 3.6.2 Through the CPPFLAGS and LDFLAGS Variables For example, if zlib was installed in the directory /cygdrive/c/usr then using the following command to configure @@ -185,7 +163,7 @@ Install HDF5 on Cygwin $ LDFLAGS=-L/cygdrive/c/usr/lib \ $ ./configure - 4.7 To specify the installation directories, using + 3.7 To specify the installation directories, using $ ./configure --prefix="path for installation" @@ -196,7 +174,7 @@ Install HDF5 on Cygwin the path with the `--prefix=PATH' switch as in the above command. - 4.8 Combination of Switches + 3.8 Combination of Switches All of the above switches can be combined together. For example, if users want to configure HDF5 C/C++/Fortran @@ -231,7 +209,7 @@ Install HDF5 on Cygwin --enable-fortran <"If no more switches, then hit Enter"> -5. Make and Make Check +4. Make and Make Check After configuration is done successfully, run the following series of commands to build, test and install HDF5 @@ -242,23 +220,20 @@ Install HDF5 on Cygwin Before run "make install", check output file for "make check", there should be no failures at all. -6. Make Install +5. Make Install $ make install > "output file name" -7. Check installed HDF5 library +6. Check installed HDF5 library After step 4, go to your installation directory, there should be three subdirectories: "bin" "include" and "lib". -8. Known Problems +7. Known Problems Shared libraries can not be built on Cygwin In release 1.8.0. - There are issues linking with the latest Cygwin DLL. As a work-around, - make sure to follow the steps described in step 3 above. - ----------------------------------------------------------------------- Need Further assistance, email help@hdfgroup.org -- cgit v0.12