diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2011-04-19 20:15:21 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2011-04-19 20:15:21 (GMT) |
commit | 099b37d073e633b0cb4d8c3f41ddf5788e63e6ee (patch) | |
tree | 3316f03ab81dbbab9160aac62fefe3f78b50c1d4 /config | |
parent | 94cf912176257c753eaddde0acabc9a11be2e48d (diff) | |
download | hdf5-099b37d073e633b0cb4d8c3f41ddf5788e63e6ee.zip hdf5-099b37d073e633b0cb4d8c3f41ddf5788e63e6ee.tar.gz hdf5-099b37d073e633b0cb4d8c3f41ddf5788e63e6ee.tar.bz2 |
[svn-r20559] Description:
Bring r20407:20557 from trunk to revise_chunks branch
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (amani) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, w/threadsafe, in production mode
Linux/PPC 2.6 (heiwa) w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-ia64 2.6 (ember) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in debug mode
Diffstat (limited to 'config')
-rw-r--r-- | config/apple | 8 | ||||
-rwxr-xr-x | config/cmake/CTestCustom.cmake | 22 | ||||
-rw-r--r-- | config/cmake/ConfigureChecks.cmake | 38 | ||||
-rw-r--r-- | config/cmake/H5pubconf.h.in | 8 | ||||
-rw-r--r-- | config/cmake/HDF5Tests.c | 19 | ||||
-rw-r--r-- | config/cmake/HDFMacros.cmake | 118 | ||||
-rw-r--r-- | config/cmake/userblockTest.cmake | 120 | ||||
-rw-r--r-- | config/commence.am | 2 | ||||
-rw-r--r-- | config/freebsd | 18 | ||||
-rw-r--r-- | config/gnu-flags | 70 | ||||
-rw-r--r-- | config/ibm-aix6.x | 21 |
11 files changed, 306 insertions, 138 deletions
diff --git a/config/apple b/config/apple index babcdad..a2d6ae4 100644 --- a/config/apple +++ b/config/apple @@ -47,14 +47,6 @@ fi . $srcdir/config/intel-fflags -# Fortran doesn't work with shared libraries -# -if test "X-" != "X-$enable_fortran"; then - echo ' Warning: shared libraries are not supported with Fortran' - echo ' Disabling shared libraries' - enable_shared="no" -fi - # compiler version strings case $CC in *gcc*) diff --git a/config/cmake/CTestCustom.cmake b/config/cmake/CTestCustom.cmake index 6dae1ce..1ae77bc 100755 --- a/config/cmake/CTestCustom.cmake +++ b/config/cmake/CTestCustom.cmake @@ -29,6 +29,7 @@ SET (CTEST_CUSTOM_MEMCHECK_IGNORE H5COPY-clear-refs H5COPY-clear-ext-links H5COPY-clear-misc + H5COPY-clear-samefile ######### tools/h5diff ######### H5DIFF-clearall-objects ######### tools/h5dump ######### @@ -57,33 +58,45 @@ SET (CTEST_CUSTOM_MEMCHECK_IGNORE H5IMPORT-BINARY_F64-clear-objects H5IMPORT-ASCII_F64-clear-objects ######### tools/h5jam ######### + H5JAM-SETUP-N_twithub_u10_c-clear-objects + H5JAM-SETUP-N_twithub_u10_c + H5JAM-N_twithub_u10_c-clear-objects + H5JAM-NONE_COPY-N_twithub_u10_c + H5JAM-CHECKFILE-N_twithub_u10_c-clear-objects H5JAM-SETUP-N_twithub_u511_c-clear-objects H5JAM-SETUP-N_twithub_u511_c H5JAM-N_twithub_u511_c-clear-objects + H5JAM-NONE_COPY-N_twithub_u511_c H5JAM-CHECKFILE-N_twithub_u511_c-clear-objects H5JAM-SETUP-N_twithub_u512_c-clear-objects H5JAM-SETUP-N_twithub_u512_c H5JAM-N_twithub_u512_c-clear-objects + H5JAM-NONE_COPY-N_twithub_u512_c H5JAM-CHECKFILE-N_twithub_u512_c-clear-objects H5JAM-SETUP-N_twithub_u513_c-clear-objects H5JAM-SETUP-N_twithub_u513_c H5JAM-N_twithub_u513_c-clear-objects + H5JAM-NONE_COPY-N_twithub_u513_c H5JAM-CHECKFILE-N_twithub_u513_c-clear-objects H5JAM-SETUP-N_twithub513_u10_c-clear-objects H5JAM-SETUP-N_twithub513_u10_c H5JAM-N_twithub513_u10_c-clear-objects + H5JAM-NONE_COPY-N_twithub513_u10_c H5JAM-CHECKFILE-N_twithub513_u10_c-clear-objects H5JAM-SETUP-N_twithub513_u511_c-clear-objects H5JAM-SETUP-N_twithub513_u511_c H5JAM-N_twithub513_u511_c-clear-objects + H5JAM-NONE_COPY-N_twithub513_u511_c H5JAM-CHECKFILE-N_twithub513_u511_c-clear-objects H5JAM-SETUP-N_twithub513_u512_c-clear-objects H5JAM-SETUP-N_twithub513_u512_c H5JAM-N_twithub513_u512_c-clear-objects + H5JAM-NONE_COPY-N_twithub513_u512_c H5JAM-CHECKFILE-N_twithub513_u512_c-clear-objects H5JAM-SETUP-N_twithub513_u513_c-clear-objects H5JAM-SETUP-N_twithub513_u513_c H5JAM-N_twithub513_u513_c-clear-objects + H5JAM-NONE_COPY-N_twithub513_u513_c H5JAM-CHECKFILE-N_twithub513_u513_c-clear-objects H5JAM-CHECKFILE-twithub_u10_c-clear-objects H5JAM-twithub_u511_c-clear-objects @@ -100,10 +113,6 @@ SET (CTEST_CUSTOM_MEMCHECK_IGNORE H5JAM-CHECKFILE-twithub513_u512_c-clear-objects H5JAM-twithub513_u513_c-clear-objects H5JAM-CHECKFILE-twithub513_u513_c-clear-objects - H5JAM-SETUP-N_twithub_u10_c-clear-objects - H5JAM-SETUP-N_twithub_u10_c - H5JAM-N_twithub_u10_c-clear-objects - H5JAM-CHECKFILE-N_twithub_u10_c-clear-objects H5JAM-SETUP-twithub_tall-clear-objects H5JAM-SETUP-twithub_tall H5JAM-UNJAM-twithub_tall-clear-objects @@ -125,6 +134,7 @@ SET (CTEST_CUSTOM_MEMCHECK_IGNORE H5JAM-UNJAM_D-N_twithub513_tall-clear-objects H5JAM-CHECKFILE-N_twithub513_tall-clear-objects H5JAM-SETUP-D_twithub_tall-clear-objects + H5JAM-SETUP-D_twithub_tall H5JAM-UNJAM-D_twithub_tall-clear-objects H5JAM-UNJAM_D-D_twithub_tall-clear-objects H5JAM-CHECKFILE-D_twithub_tall-clear-objects @@ -162,18 +172,22 @@ SET (CTEST_CUSTOM_MEMCHECK_IGNORE H5JAM-SETUP-ta_u10-clear-objects H5JAM-SETUP-ta_u10 H5JAM-ta_u10-clear-objects + H5JAM-NONE_COPY-ta_u10 H5JAM-CHECKFILE-ta_u10-clear-objects H5JAM-SETUP-ta_u511-clear-objects H5JAM-SETUP-ta_u511 H5JAM-ta_u511-clear-objects + H5JAM-NONE_COPY-ta_u511 H5JAM-CHECKFILE-ta_u511-clear-objects H5JAM-SETUP-ta_u512-clear-objects H5JAM-SETUP-ta_u512 H5JAM-ta_u512-clear-objects + H5JAM-NONE_COPY-ta_u512 H5JAM-CHECKFILE-ta_u512-clear-objects H5JAM-SETUP-ta_u513-clear-objects H5JAM-SETUP-ta_u513 H5JAM-ta_u513-clear-objects + H5JAM-NONE_COPY-ta_u513 ######### tools/h5ls ######### H5LS-clearall-objects ######### tools/h5repack ######### diff --git a/config/cmake/ConfigureChecks.cmake b/config/cmake/ConfigureChecks.cmake index cea7bf9..f1883cd 100644 --- a/config/cmake/ConfigureChecks.cmake +++ b/config/cmake/ConfigureChecks.cmake @@ -8,11 +8,9 @@ INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFiles.cmake) INCLUDE (${CMAKE_ROOT}/Modules/CheckLibraryExists.cmake) INCLUDE (${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake) INCLUDE (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake) +INCLUDE (${CMAKE_ROOT}/Modules/CheckVariableExists.cmake) INCLUDE (${CMAKE_ROOT}/Modules/CheckFortranFunctionExists.cmake) -MESSAGE (STATUS "Configure Checks that still need to be implemented") -MESSAGE (STATUS " GetConsoleScreenBufferInfo function for Windows") - #----------------------------------------------------------------------------- # Always SET this for now IF we are on an OS X box #----------------------------------------------------------------------------- @@ -130,9 +128,9 @@ ENDMACRO (CHECK_LIBRARY_EXISTS_CONCAT) SET (WINDOWS) IF (WIN32) - IF (NOT UNIX AND NOT CYGWIN) + IF (NOT UNIX AND NOT CYGWIN AND NOT MINGW) SET (WINDOWS 1) - ENDIF (NOT UNIX AND NOT CYGWIN) + ENDIF (NOT UNIX AND NOT CYGWIN AND NOT MINGW) ENDIF (WIN32) #IF (WIN32) @@ -176,8 +174,11 @@ IF (WINDOWS) SET (H5_HAVE_LONGJMP 1) SET (H5_STDC_HEADERS 1) SET (H5_HAVE_GETHOSTNAME 1) - SET (H5_HAVE_TIMEZONE 1) + SET (H5_HAVE_GETCONSOLESCREENBUFFERINFO 1) SET (H5_HAVE_FUNCTION 1) + SET (H5_GETTIMEOFDAY_GIVES_TZ 1) + SET (H5_HAVE_TIMEZONE 1) + SET (H5_HAVE_GETTIMEOFDAY 1) SET (H5_LONE_COLON 0) ENDIF (WINDOWS) @@ -258,7 +259,6 @@ CHECK_INCLUDE_FILE_CONCAT ("sys/timeb.h" H5_HAVE_SYS_TIMEB_H) CHECK_INCLUDE_FILE_CONCAT ("sys/types.h" H5_HAVE_SYS_TYPES_H) CHECK_INCLUDE_FILE_CONCAT ("unistd.h" H5_HAVE_UNISTD_H) CHECK_INCLUDE_FILE_CONCAT ("stdlib.h" H5_HAVE_STDLIB_H) -CHECK_INCLUDE_FILE_CONCAT ("memory.h" H5_HAVE_MEMORY_H) CHECK_INCLUDE_FILE_CONCAT ("dlfcn.h" H5_HAVE_DLFCN_H) CHECK_INCLUDE_FILE_CONCAT ("features.h" H5_HAVE_FEATURES_H) CHECK_INCLUDE_FILE_CONCAT ("inttypes.h" H5_HAVE_INTTYPES_H) @@ -505,14 +505,14 @@ MACRO (HDF5_FUNCTION_TEST OTHER_TEST) ENDFOREACH (def) FOREACH (def - H5_HAVE_SYS_TIME_H - H5_HAVE_UNISTD_H - H5_HAVE_SYS_TYPES_H - H5_HAVE_SYS_SOCKET_H + HAVE_SYS_TIME_H + HAVE_UNISTD_H + HAVE_SYS_TYPES_H + HAVE_SYS_SOCKET_H ) - IF ("${def}") + IF ("${H5_${def}}") SET (MACRO_CHECK_FUNCTION_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D${def}") - ENDIF ("${def}") + ENDIF ("${H5_${def}}") ENDFOREACH (def) IF (LARGEFILE) @@ -521,7 +521,7 @@ MACRO (HDF5_FUNCTION_TEST OTHER_TEST) ) ENDIF (LARGEFILE) - # (STATUS "Performing ${OTHER_TEST}") + #MESSAGE (STATUS "Performing ${OTHER_TEST}") TRY_COMPILE (${OTHER_TEST} ${CMAKE_BINARY_DIR} ${HDF5_RESOURCES_DIR}/HDF5Tests.c @@ -571,11 +571,11 @@ IF (NOT WINDOWS) LONE_COLON ) HDF5_FUNCTION_TEST (${test}) - IF (NOT CYGWIN) - HDF5_FUNCTION_TEST (HAVE_TIMEZONE) -# HDF5_FUNCTION_TEST (HAVE_STAT_ST_BLOCKS) - ENDIF (NOT CYGWIN) ENDFOREACH (test) + IF (NOT CYGWIN AND NOT MINGW) + HDF5_FUNCTION_TEST (HAVE_TIMEZONE) +# HDF5_FUNCTION_TEST (HAVE_STAT_ST_BLOCKS) + ENDIF (NOT CYGWIN AND NOT MINGW) ENDIF (NOT WINDOWS) #----------------------------------------------------------------------------- @@ -851,4 +851,4 @@ H5ConversionTests (H5_NO_ALIGNMENT_RESTRICTIONS "Checking IF alignment restricti # problem converting from unsigned long long to long double */ IF (CYGWIN) SET (H5_CYGWIN_ULLONG_TO_LDOUBLE_ROUND_PROBLEM 1) -ENDIF (CYGWIN)
\ No newline at end of file +ENDIF (CYGWIN) diff --git a/config/cmake/H5pubconf.h.in b/config/cmake/H5pubconf.h.in index 0dbd1ec..df9c3a8 100644 --- a/config/cmake/H5pubconf.h.in +++ b/config/cmake/H5pubconf.h.in @@ -270,9 +270,6 @@ /* Define to 1 if you have the `lstat' function. */ #cmakedefine H5_HAVE_LSTAT @H5_HAVE_LSTAT@ -/* Define to 1 if you have the <memory.h> header file. */ -#cmakedefine H5_HAVE_MEMORY_H @H5_HAVE_MEMORY_H@ - /* Define if we have MPE support */ #cmakedefine H5_HAVE_MPE @H5_HAVE_MPE@ @@ -294,6 +291,9 @@ /* Define to 1 if you have the <pthread.h> header file. */ #cmakedefine H5_HAVE_PTHREAD_H @H5_HAVE_PTHREAD_H@ +/* Define to 1 if you have the 'InitOnceExecuteOnce' function. */ +#cmakedefine H5_HAVE_WIN_THREADS @H5_HAVE_WIN_THREADS@ + /* Define to 1 if you have the `random' function. */ #cmakedefine H5_HAVE_RANDOM @H5_HAVE_RANDOM@ @@ -790,4 +790,4 @@ #undef inline #endif -#endif
\ No newline at end of file +#endif diff --git a/config/cmake/HDF5Tests.c b/config/cmake/HDF5Tests.c index 7fb5756..55e91a4 100644 --- a/config/cmake/HDF5Tests.c +++ b/config/cmake/HDF5Tests.c @@ -217,7 +217,9 @@ SIMPLE_TEST(struct tm tm; tm.tm_gmtoff=0); #ifdef HAVE_TIMEZONE +#ifdef HAVE_SYS_TIME_H #include <sys/time.h> +#endif #include <time.h> SIMPLE_TEST(timezone=0); @@ -382,4 +384,21 @@ int main () #endif /* HAVE_GPFS */ +#ifdef HAVE_WIN_THREADS + +#include <windows.h> +int main () +{ + BOOL first_init_g=INIT_ONCE_STATIC_INIT; + BOOL CALLBACK win32_first_thread_init(PINIT_ONCE InitOnce, PVOID Parameter, PVOID *lpContext); + BOOL ret=FALSE; + + ret=InitOnceExecuteOnce(&first_init_g, win32_first_thread_init, NULL, NULL); + exit(ret ? 0 : 1); +} +BOOL CALLBACK +win32_first_thread_init(PINIT_ONCE InitOnce, PVOID Parameter, PVOID *lpContext) +{return TRUE;} + +#endif /* HAVE_WIN_THREADS */ diff --git a/config/cmake/HDFMacros.cmake b/config/cmake/HDFMacros.cmake index 60ee6e8..cf23846 100644 --- a/config/cmake/HDFMacros.cmake +++ b/config/cmake/HDFMacros.cmake @@ -15,7 +15,11 @@ MACRO (EXTERNAL_JPEG_LIBRARY compress_type jpeg_pic) INSTALL_COMMAND "" CMAKE_ARGS -DBUILD_SHARED_LIBS:BOOL=OFF - -DCMAKE_BUILD_TYPE:STRING="Release" + -DJPEG_EXTERNALLY_CONFIGURED:BOOL=ON + -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX} + -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} + -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} -DCMAKE_ANSI_CFLAGS:STRING="${jpeg_pic}" ) ELSEIF (${compress_type} MATCHES "TGZ") @@ -25,13 +29,27 @@ MACRO (EXTERNAL_JPEG_LIBRARY compress_type jpeg_pic) INSTALL_COMMAND "" CMAKE_ARGS -DBUILD_SHARED_LIBS:BOOL=OFF - -DCMAKE_BUILD_TYPE:STRING="Release" + -DJPEG_EXTERNALLY_CONFIGURED:BOOL=ON + -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX} + -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} + -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} -DCMAKE_ANSI_CFLAGS:STRING="${jpeg_pic}" ) ENDIF (${compress_type} MATCHES "SVN") EXTERNALPROJECT_GET_PROPERTY (JPEG BINARY_DIR SOURCE_DIR) - SET (JPEG_LIBRARY "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/libjpeg${CMAKE_STATIC_LIBRARY_SUFFIX}") + IF (${BLDTYPE} MATCHES "Debug") + IF (WIN32 AND NOT MINGW) + SET (DBG_EXT "_D") + ELSE (WIN32 AND NOT MINGW) + SET (DBG_EXT "_debug") + ENDIF (WIN32 AND NOT MINGW) + ELSE (${BLDTYPE} MATCHES "Debug") + SET (DBG_EXT "") + ENDIF (${BLDTYPE} MATCHES "Debug") + + SET (JPEG_LIBRARY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/libjpeg${DBG_EXT}${CMAKE_STATIC_LIBRARY_SUFFIX}") SET (JPEG_INCLUDE_DIR_GEN "${BINARY_DIR}") SET (JPEG_INCLUDE_DIR "${SOURCE_DIR}/src") SET (JPEG_FOUND 1) @@ -46,15 +64,10 @@ MACRO (PACKAGE_JPEG_LIBRARY compress_type) COMMENT "Copying ${JPEG_INCLUDE_DIR_GEN}/jconfig.h to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/" ) SET (EXTERNAL_HEADER_LIST ${EXTERNAL_HEADER_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/jconfig.h) - ADD_CUSTOM_TARGET (JPEG-Library-Copy ALL - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${JPEG_LIBRARY} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ - COMMENT "Copying ${JPEG_LIBRARY} to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/" - ) GET_FILENAME_COMPONENT(JPEG_LIB_NAME ${JPEG_LIBRARY} NAME) - SET (EXTERNAL_LIBRARY_LIST ${EXTERNAL_LIBRARY_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${JPEG_LIB_NAME}) + SET (EXTERNAL_LIBRARY_LIST ${EXTERNAL_LIBRARY_LIST} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${JPEG_LIB_NAME}) IF (${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ") ADD_DEPENDENCIES (JPEG-GenHeader-Copy JPEG) - ADD_DEPENDENCIES (JPEG-Library-Copy JPEG) ENDIF (${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ") ENDMACRO (PACKAGE_JPEG_LIBRARY) @@ -67,6 +80,11 @@ MACRO (EXTERNAL_SZIP_LIBRARY compress_type libtype encoding) INSTALL_COMMAND "" CMAKE_ARGS -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS} + -DSZIP_EXTERNALLY_CONFIGURED:BOOL=ON + -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX} + -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} + -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} -DSZIP_ENABLE_ENCODING:BOOL=${encoding} ) ELSEIF (${compress_type} MATCHES "TGZ") @@ -76,6 +94,11 @@ MACRO (EXTERNAL_SZIP_LIBRARY compress_type libtype encoding) INSTALL_COMMAND "" CMAKE_ARGS -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS} + -DSZIP_EXTERNALLY_CONFIGURED:BOOL=ON + -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX} + -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} + -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} -DSZIP_ENABLE_ENCODING:BOOL=${encoding} ) ENDIF (${compress_type} MATCHES "SVN") @@ -83,11 +106,7 @@ MACRO (EXTERNAL_SZIP_LIBRARY compress_type libtype encoding) IF (${BLDTYPE} MATCHES "Debug") IF (WIN32 AND NOT MINGW) - IF (HDF_LEGACY_NAMING) - SET (DBG_EXT "d") - ELSE (HDF_LEGACY_NAMING) - SET (DBG_EXT "_D") - ENDIF (HDF_LEGACY_NAMING) + SET (DBG_EXT "_D") ELSE (WIN32 AND NOT MINGW) SET (DBG_EXT "_debug") ENDIF (WIN32 AND NOT MINGW) @@ -97,12 +116,12 @@ MACRO (EXTERNAL_SZIP_LIBRARY compress_type libtype encoding) IF (${libtype} MATCHES "SHARED") IF (WIN32 AND NOT MINGW) - SET (SZIP_LIBRARY "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/${CMAKE_IMPORT_LIBRARY_PREFIX}szip${DBG_EXT}${CMAKE_IMPORT_LIBRARY_SUFFIX}") + SET (SZIP_LIBRARY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/${CMAKE_IMPORT_LIBRARY_PREFIX}szip${DBG_EXT}${CMAKE_IMPORT_LIBRARY_SUFFIX}") ELSE (WIN32 AND NOT MINGW) - SET (SZIP_LIBRARY "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/${CMAKE_SHARED_LIBRARY_PREFIX}szip${DBG_EXT}${CMAKE_SHARED_LIBRARY_SUFFIX}") + SET (SZIP_LIBRARY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/${CMAKE_SHARED_LIBRARY_PREFIX}szip${DBG_EXT}${CMAKE_SHARED_LIBRARY_SUFFIX}") ENDIF (WIN32 AND NOT MINGW) ELSE (${libtype} MATCHES "SHARED") - SET (SZIP_LIBRARY "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/libszip${DBG_EXT}${CMAKE_STATIC_LIBRARY_SUFFIX}") + SET (SZIP_LIBRARY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/libszip${DBG_EXT}${CMAKE_STATIC_LIBRARY_SUFFIX}") ENDIF (${libtype} MATCHES "SHARED") SET (SZIP_INCLUDE_DIR_GEN "${BINARY_DIR}") SET (SZIP_INCLUDE_DIR "${SOURCE_DIR}/src") @@ -118,30 +137,15 @@ MACRO (PACKAGE_SZIP_LIBRARY compress_type libtype) COMMENT "Copying ${SZIP_INCLUDE_DIR_GEN}/SZconfig.h to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/" ) SET (EXTERNAL_HEADER_LIST ${EXTERNAL_HEADER_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/SZconfig.h) - ADD_CUSTOM_TARGET (SZIP-Library-Copy ALL - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SZIP_LIBRARY} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ - COMMENT "Copying ${SZIP_LIBRARY} to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/" - ) GET_FILENAME_COMPONENT(SZIP_LIB_NAME ${SZIP_LIBRARY} NAME) - SET (EXTERNAL_LIBRARY_LIST ${EXTERNAL_LIBRARY_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${SZIP_LIB_NAME}) + SET (EXTERNAL_LIBRARY_LIST ${EXTERNAL_LIBRARY_LIST} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${SZIP_LIB_NAME}) IF (${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ") ADD_DEPENDENCIES (SZIP-GenHeader-Copy SZIP) - ADD_DEPENDENCIES (SZIP-Library-Copy SZIP) ENDIF (${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ") IF (WIN32 AND NOT CYGWIN) IF (${libtype} MATCHES "SHARED") GET_FILENAME_COMPONENT(SZIP_DLL_NAME ${SZIP_LIBRARY} NAME_WE) - # MESSAGE (STATUS "SZIP_DLL_NAME: ${SZIP_DLL_NAME}") - GET_FILENAME_COMPONENT(SZIP_BIN_PATH ${SZIP_LIBRARY} PATH) - # MESSAGE (STATUS "SZIP_BIN_PATH: ${SZIP_BIN_PATH}") - SET (EXTERNAL_LIBRARYDLL_LIST ${EXTERNAL_LIBRARYDLL_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${SZIP_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}) - ADD_CUSTOM_TARGET (SZIP-Dll-Copy ALL - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SZIP_BIN_PATH}/${SZIP_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ - COMMENT "Copying ${SZIP_BIN_PATH}/${SZIP_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/" - ) - IF (${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ") - ADD_DEPENDENCIES (SZIP-Dll-Copy SZIP) - ENDIF (${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ") + SET (EXTERNAL_LIBRARYDLL_LIST ${EXTERNAL_LIBRARYDLL_LIST} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${SZIP_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}) ENDIF (${libtype} MATCHES "SHARED") ENDIF (WIN32 AND NOT CYGWIN) ENDMACRO (PACKAGE_SZIP_LIBRARY) @@ -155,6 +159,11 @@ MACRO (EXTERNAL_ZLIB_LIBRARY compress_type libtype) INSTALL_COMMAND "" CMAKE_ARGS -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS} + -DZLIB_EXTERNALLY_CONFIGURED:BOOL=ON + -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX} + -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} + -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} -DHDF_LEGACY_NAMING:BOOL=${HDF_LEGACY_NAMING} ) ELSEIF (${compress_type} MATCHES "TGZ") @@ -164,6 +173,11 @@ MACRO (EXTERNAL_ZLIB_LIBRARY compress_type libtype) INSTALL_COMMAND "" CMAKE_ARGS -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS} + -DZLIB_EXTERNALLY_CONFIGURED:BOOL=ON + -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX} + -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} + -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} -DHDF_LEGACY_NAMING:BOOL=${HDF_LEGACY_NAMING} ) ENDIF (${compress_type} MATCHES "SVN") @@ -171,11 +185,7 @@ MACRO (EXTERNAL_ZLIB_LIBRARY compress_type libtype) IF (${BLDTYPE} MATCHES "Debug") IF (WIN32 AND NOT MINGW) - IF (HDF_LEGACY_NAMING) - SET (DBG_EXT "d") - ELSE (HDF_LEGACY_NAMING) - SET (DBG_EXT "_D") - ENDIF (HDF_LEGACY_NAMING) + SET (DBG_EXT "_D") ELSE (WIN32 AND NOT MINGW) SET (DBG_EXT "_debug") ENDIF (WIN32 AND NOT MINGW) @@ -185,21 +195,22 @@ MACRO (EXTERNAL_ZLIB_LIBRARY compress_type libtype) IF (${libtype} MATCHES "SHARED") IF (WIN32 AND NOT MINGW) - SET (ZLIB_LIBRARY "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/${CMAKE_IMPORT_LIBRARY_PREFIX}zlib1${DBG_EXT}${CMAKE_IMPORT_LIBRARY_SUFFIX}") + SET (ZLIB_LIBRARY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/${CMAKE_IMPORT_LIBRARY_PREFIX}zlib1${DBG_EXT}${CMAKE_IMPORT_LIBRARY_SUFFIX}") ELSE (WIN32 AND NOT MINGW) - SET (ZLIB_LIBRARY "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/${CMAKE_SHARED_LIBRARY_PREFIX}z${DBG_EXT}${CMAKE_SHARED_LIBRARY_SUFFIX}") + SET (ZLIB_LIBRARY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/${CMAKE_SHARED_LIBRARY_PREFIX}z${DBG_EXT}${CMAKE_SHARED_LIBRARY_SUFFIX}") ENDIF (WIN32 AND NOT MINGW) ELSE (${libtype} MATCHES "SHARED") IF (WIN32 AND NOT MINGW) IF (HDF_LEGACY_NAMING) - SET (ZLIB_LIBRARY "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/zlib${DBG_EXT}${CMAKE_STATIC_LIBRARY_SUFFIX}") + SET (ZLIB_LIBRARY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/zlib${DBG_EXT}${CMAKE_STATIC_LIBRARY_SUFFIX}") ELSE (HDF_LEGACY_NAMING) - SET (ZLIB_LIBRARY "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/libzlib${DBG_EXT}${CMAKE_STATIC_LIBRARY_SUFFIX}") + SET (ZLIB_LIBRARY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/libzlib${DBG_EXT}${CMAKE_STATIC_LIBRARY_SUFFIX}") ENDIF (HDF_LEGACY_NAMING) ELSE (WIN32 AND NOT MINGW) - SET (ZLIB_LIBRARY "${BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/libz${DBG_EXT}${CMAKE_STATIC_LIBRARY_SUFFIX}") + SET (ZLIB_LIBRARY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/libz${DBG_EXT}${CMAKE_STATIC_LIBRARY_SUFFIX}") ENDIF (WIN32 AND NOT MINGW) ENDIF (${libtype} MATCHES "SHARED") + SET (ZLIB_INCLUDE_DIR_GEN "${BINARY_DIR}") SET (ZLIB_INCLUDE_DIR "${SOURCE_DIR}/src") SET (ZLIB_FOUND 1) @@ -214,30 +225,15 @@ MACRO (PACKAGE_ZLIB_LIBRARY compress_type libtype) COMMENT "Copying ${ZLIB_INCLUDE_DIR_GEN}/zconf.h to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/" ) SET (EXTERNAL_HEADER_LIST ${EXTERNAL_HEADER_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/zconf.h) - ADD_CUSTOM_TARGET (ZLIB-Library-Copy ALL - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${ZLIB_LIBRARY} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ - COMMENT "Copying ${ZLIB_LIBRARY} to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/" - ) GET_FILENAME_COMPONENT(ZLIB_LIB_NAME ${ZLIB_LIBRARY} NAME) - SET (EXTERNAL_LIBRARY_LIST ${EXTERNAL_LIBRARY_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${ZLIB_LIB_NAME}) + SET (EXTERNAL_LIBRARY_LIST ${EXTERNAL_LIBRARY_LIST} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${ZLIB_LIB_NAME}) IF (${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ") ADD_DEPENDENCIES (ZLIB-GenHeader-Copy ZLIB) - ADD_DEPENDENCIES (ZLIB-Library-Copy ZLIB) ENDIF (${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ") IF (WIN32 AND NOT CYGWIN) IF (${libtype} MATCHES "SHARED") GET_FILENAME_COMPONENT(ZLIB_DLL_NAME ${ZLIB_LIBRARY} NAME_WE) - # MESSAGE (STATUS "ZLIB_DLL_NAME: ${ZLIB_DLL_NAME}") - GET_FILENAME_COMPONENT(ZLIB_BIN_PATH ${ZLIB_LIBRARY} PATH) - # MESSAGE (STATUS "ZLIB_BIN_PATH: ${ZLIB_BIN_PATH}") - SET (EXTERNAL_LIBRARYDLL_LIST ${EXTERNAL_LIBRARYDLL_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${ZLIB_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}) - ADD_CUSTOM_TARGET (ZLIB-Dll-Copy ALL - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${ZLIB_BIN_PATH}/${ZLIB_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ - COMMENT "Copying ${ZLIB_BIN_PATH}/${ZLIB_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/" - ) - IF (${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ") - ADD_DEPENDENCIES (ZLIB-Dll-Copy ZLIB) - ENDIF (${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ") + SET (EXTERNAL_LIBRARYDLL_LIST ${EXTERNAL_LIBRARYDLL_LIST} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${ZLIB_DLL_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}) ENDIF (${libtype} MATCHES "SHARED") ENDIF (WIN32 AND NOT CYGWIN) ENDMACRO (PACKAGE_ZLIB_LIBRARY) diff --git a/config/cmake/userblockTest.cmake b/config/cmake/userblockTest.cmake new file mode 100644 index 0000000..5e8a808 --- /dev/null +++ b/config/cmake/userblockTest.cmake @@ -0,0 +1,120 @@ +# runTest.cmake executes a command and captures the output in a file. File is then compared +# against a reference file. Exit status of command can also be compared. + +# arguments checking +IF (NOT TEST_PROGRAM) + MESSAGE (FATAL_ERROR "Require TEST_PROGRAM tellub to be defined") +ENDIF (NOT TEST_PROGRAM) +IF (NOT TEST_GET_PROGRAM) + MESSAGE (FATAL_ERROR "Require TEST_GET_PROGRAM getub to be defined") +ENDIF (NOT TEST_GET_PROGRAM) +IF (NOT TEST_FOLDER) + MESSAGE ( FATAL_ERROR "Require TEST_FOLDER to be defined") +ENDIF (NOT TEST_FOLDER) +IF (NOT TEST_HFILE) + MESSAGE (FATAL_ERROR "Require TEST_HFILE the hdf file to be defined") +ENDIF (NOT TEST_HFILE) +IF (NOT TEST_UFILE) + MESSAGE (FATAL_ERROR "Require TEST_UFILE the ub file to be defined") +ENDIF (NOT TEST_UFILE) +IF (NOT TEST_CHECKUB) + MESSAGE (STATUS "Require TEST_CHECKUB - YES or NO - to be defined") +ENDIF (NOT TEST_CHECKUB) +#IF (NOT TEST_EXPECT) +# MESSAGE (STATUS "Require TEST_EXPECT to be defined") +#ENDIF (NOT TEST_EXPECT) +#IF (NOT TEST_OFILE) +# MESSAGE (FATAL_ERROR "Require TEST_OFILE the original hdf file to be defined") +#ENDIF (NOT TEST_OFILE) + +SET (TEST_U_STRING_LEN 0) +SET (TEST_O_STRING_LEN 0) +SET (TEST_H_STRING_LEN 0) +SET (TEST_STRING_SIZE 0) + +IF (TEST_CHECKUB STREQUAL "YES") + # find the length of the user block to check + #s1=`cat $ufile | wc -c | sed -e 's/ //g'` + FILE (STRINGS ${TEST_FOLDER}/${TEST_UFILE} TEST_U_STRING) + STRING (LENGTH ${TEST_U_STRING} TEST_U_STRING_LEN) + + # Get the size of the original user block, if any. + IF (TEST_OFILE) + # 'tellub' calls H5Fget_user_block to get the size + # of the user block + #s2=`$JAM_BIN/tellub $origfile` + EXECUTE_PROCESS ( + COMMAND ${TEST_PROGRAM} ${TEST_OFILE} + WORKING_DIRECTORY ${TEST_FOLDER} + RESULT_VARIABLE TEST_RESULT + OUTPUT_FILE ${TEST_HFILE}.len.txt + OUTPUT_VARIABLE TEST_ERROR + ERROR_VARIABLE TEST_ERROR + ) + IF (NOT ${TEST_RESULT} STREQUAL "0") + MESSAGE (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} ${TEST_OFILE} is: ${TEST_ERROR}") + ENDIF (NOT ${TEST_RESULT} STREQUAL "0") + FILE (READ ${TEST_HFILE}.len.txt TEST_O_STRING_LEN) + ENDIF (TEST_OFILE) + + MATH( EXPR TEST_STRING_SIZE "${TEST_U_STRING_LEN} + ${TEST_O_STRING_LEN}" ) + + IF (NOT TEST_O_STRING_LEN STREQUAL "0") + #$JAM_BIN/getub -c $s2 $origfile > $cmpfile + EXECUTE_PROCESS ( + COMMAND ${TEST_GET_PROGRAM} -c ${TEST_O_STRING_LEN} ${TEST_OFILE} + WORKING_DIRECTORY ${TEST_FOLDER} + RESULT_VARIABLE TEST_RESULT + OUTPUT_FILE ${TEST_UFILE}.cmp + OUTPUT_VARIABLE TEST_ERROR + ERROR_VARIABLE TEST_ERROR + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + #cat $ufile >> $cmpfile + FILE (STRINGS ${TEST_UFILE} TEST_STREAM NEWLINE_CONSUME) + FILE (APPEND ${TEST_UFILE}.cmp "${TEST_STREAM}") + ELSE (NOT TEST_O_STRING_LEN STREQUAL "0") + FILE (STRINGS ${TEST_UFILE} TEST_STREAM NEWLINE_CONSUME) + FILE (WRITE ${TEST_UFILE}.cmp ${TEST_STREAM}) + ENDIF (NOT TEST_O_STRING_LEN STREQUAL "0") + + #$JAM_BIN/getub -c $size $hfile > $tfile + EXECUTE_PROCESS ( + COMMAND ${TEST_GET_PROGRAM} -c ${TEST_STRING_SIZE} ${TEST_HFILE} + WORKING_DIRECTORY ${TEST_FOLDER} + RESULT_VARIABLE TEST_RESULT + OUTPUT_FILE ${TEST_HFILE}.cmp + OUTPUT_VARIABLE TEST_ERROR + ERROR_VARIABLE TEST_ERROR + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + # now compare the outputs + EXECUTE_PROCESS ( + COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_UFILE}.cmp ${TEST_HFILE}.cmp + RESULT_VARIABLE TEST_RESULT + ) + + MESSAGE (STATUS "COMPARE Result: ${TEST_RESULT}: ${TEST_STRING_SIZE}=${TEST_U_STRING_LEN}+${TEST_O_STRING_LEN}") + # if the return value is !=${TEST_EXPECT} bail out + IF (NOT ${TEST_RESULT} STREQUAL ${TEST_EXPECT}) + MESSAGE (FATAL_ERROR "Failed: The output of ${TEST_UFILE} did not match ${TEST_HFILE}.\n${TEST_ERROR}") + ENDIF (NOT ${TEST_RESULT} STREQUAL ${TEST_EXPECT}) +ELSE (TEST_CHECKUB STREQUAL "YES") + # call 'ubsize' to get the size of the user block + #ubsize=`$JAM_BIN/tellub $hfile` + EXECUTE_PROCESS ( + COMMAND ${TEST_PROGRAM} ${TEST_HFILE} + WORKING_DIRECTORY ${TEST_FOLDER} + RESULT_VARIABLE TEST_H_STRING_LEN + OUTPUT_VARIABLE TEST_ERROR + ERROR_VARIABLE TEST_ERROR + ) + IF (NOT TEST_H_STRING_LEN STREQUAL "0") + MESSAGE (FATAL_ERROR "Failed: The output of ${TEST_HFILE} was NOT empty") + ENDIF (NOT TEST_H_STRING_LEN STREQUAL "0") +ENDIF (TEST_CHECKUB STREQUAL "YES") + +# everything went fine... +MESSAGE ("Passed: The output of CHECK matched expectation") + diff --git a/config/commence.am b/config/commence.am index c5c27d5..3d098d9 100644 --- a/config/commence.am +++ b/config/commence.am @@ -69,11 +69,13 @@ H5CPP=${DESTDIR}$(bindir)/h5c++ # but which should not be exported to h5cc for building other programs. # AM_CFLAGS is an automake construct which should be used by Makefiles # instead of CFLAGS, as CFLAGS is reserved solely for the user to define. +# This applies to FCFLAGS, CXXFLAGS, CPPFLAGS, and LDFLAGS as well. AM_CFLAGS=@AM_CFLAGS@ @H5_CFLAGS@ AM_FCFLAGS=@AM_FCFLAGS@ @H5_FCFLAGS@ AM_CXXFLAGS=@AM_CXXFLAGS@ @H5_CXXFLAGS@ AM_CPPFLAGS=@AM_CPPFLAGS@ @H5_CPPFLAGS@ +AM_LDFLAGS=@AM_LDFLAGS@ @H5_LDFLAGS@ ACLOCAL_AMFLAGS="-I m4" diff --git a/config/freebsd b/config/freebsd index acba521..e42ca60 100644 --- a/config/freebsd +++ b/config/freebsd @@ -26,13 +26,6 @@ if test "X-" = "X-$CC"; then CC_BASENAME=gcc fi -# Add "_XOPEN_SOURCE" define to cpp flags, to quiet warnings -# from /usr/include/sys/cdefs.h -# (Unless we are using g++ as a C compiler) -#if test "X-g++" != "X-$CC"; then -# H5_CPPFLAGS="$H5_CPPFLAGS -D_XOPEN_SOURCE=600" -#fi - # Figure out C compiler flags . $srcdir/config/gnu-flags @@ -63,14 +56,3 @@ fi # Figure out Intel F90 compiler flags . $srcdir/config/intel-fflags -# Special setup to use pthread support if enable-threadsafe is on. -# Works with static executable only. -if test "X-" != "X-$enable_threadsafe"; then - H5_CFLAGS="$H5_CFLAGS -D_THREAD_SAFE" - H5_CXXFLAGS="$H5_CXXFLAGS -D_THREAD_SAFE" - AM_LDFLAGS="$AM_LDFLAGS -pthread" -fi - -# Temporarily hard set this variable. The problem of loss of the last 2 bytes of mantissa -# turns out to be elusive. Hard set it until a better solution is found. -hdf5_cv_ullong_to_ldouble_precision_works=${hdf5_cv_ullong_to_ldouble_precision_works='no'} diff --git a/config/gnu-flags b/config/gnu-flags index 96db51d..2ef29e5 100644 --- a/config/gnu-flags +++ b/config/gnu-flags @@ -180,10 +180,10 @@ esac # the information from the previous version and adding modifications to that. case "$cc_vendor-$cc_version" in -# Closer to the gcc 4.6 release, we should check for additional flags to +# Closer to the gcc 4.7 release, we should check for additional flags to # include and break it out into it's own section, like the other versions # below. -QAK - gcc-4.[56]*) + gcc-4.[67]*) # Replace -ansi flag with -std=c99 flag H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-ansi/-std=c99/g'`" @@ -236,7 +236,71 @@ case "$cc_vendor-$cc_version" in H5_CFLAGS="$H5_CFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat" # Append more extra warning flags that only gcc 4.5+ know about - H5_CFLAGS="$H5_CFLAGS -Wjump-misses-init -Wunsuffixed-float-constants -Wunused-result" + H5_CFLAGS="$H5_CFLAGS -Wstrict-aliasing -Wstrict-overflow=5 -Wc++0x-compat -Wjump-misses-init -Wunsuffixed-float-constants" + + # Append more extra warning flags that only gcc 4.6+ know about + H5_CFLAGS="$H5_CFLAGS -Wdouble-promotion -Wsuggest-attribute=const -Wtrampolines" + + # Try out the new "stack protector" feature in gcc 4.1 + # (Strictly speaking this isn't really a "warning" flag, so it's added to + # the debugging flags) + #DEBUG_CFLAGS="$DEBUG_CFLAGS -Wstack-protector -fstack-protector-all" + ;; + + gcc-4.5*) + # Replace -ansi flag with -std=c99 flag + H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-ansi/-std=c99/g'`" + + # Disable warnings about using 'long long' type + H5_CFLAGS="$H5_CFLAGS -Wno-long-long" + + # Append warning flags from gcc-3* case + # (don't use -Wpadded flag for normal builds, many of the warnings its + # issuing can't be fixed and they are making it hard to detect other, + # more important warnings) + #H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded" + H5_CFLAGS="$H5_CFLAGS -Wfloat-equal -Wmissing-format-attribute" + + # Append warning flags from gcc-3.2* case + H5_CFLAGS="$H5_CFLAGS -Wmissing-noreturn -Wpacked -Wdisabled-optimization" + + # Enable more format checking flags, beyond the basic -Wformat included + # in -Wall + H5_CFLAGS="$H5_CFLAGS -Wformat=2" + + # The "unreachable code" warning appears to be reliable now... + # (this warning was removed in gcc 4.5+) + #H5_CFLAGS="$H5_CFLAGS -Wunreachable-code" + + # Append warning flags from gcc-3.3* case + H5_CFLAGS="$H5_CFLAGS -Wendif-labels" + + # Append warning flags from gcc-3.4* case + H5_CFLAGS="$H5_CFLAGS -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch" + + # Replace old -W flag with new -Wextra flag + H5_CFLAGS="`echo $H5_CFLAGS | sed -e 's/-W\ /-Wextra\ /g'`" + + # Append more extra warning flags that only gcc4.0+ know about + H5_CFLAGS="$H5_CFLAGS -Wvariadic-macros -Wnonnull -Winit-self -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wunused-macros" + + # Append more extra warning flags that only gcc 4.1+ know about + H5_CFLAGS="$H5_CFLAGS -Wunsafe-loop-optimizations -Wc++-compat" + + # Append more extra warning flags that only gcc 4.2+ know about + H5_CFLAGS="$H5_CFLAGS -Wstrict-overflow" + + # Append more extra warning flags that only gcc 4.3+ know about + # + # Technically, variable-length arrays are part of the C99 standard, but + # we should approach them a bit cautiously... -QAK + H5_CFLAGS="$H5_CFLAGS -Wlogical-op -Wlarger-than=2048 -Wvla" + + # Append more extra warning flags that only gcc 4.4+ know about + H5_CFLAGS="$H5_CFLAGS -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat" + + # Append more extra warning flags that only gcc 4.5+ know about + H5_CFLAGS="$H5_CFLAGS -Wstrict-aliasing -Wstrict-overflow=5 -Wc++0x-compat -Wjump-misses-init -Wunsuffixed-float-constants" # Try out the new "stack protector" feature in gcc 4.1 # (Strictly speaking this isn't really a "warning" flag, so it's added to diff --git a/config/ibm-aix6.x b/config/ibm-aix6.x deleted file mode 100644 index 104008a..0000000 --- a/config/ibm-aix6.x +++ /dev/null @@ -1,21 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# All rights reserved. -# -# This file is part of HDF5. The full HDF5 copyright notice, including -# terms governing use, modification, and redistribution, is contained in -# the files COPYING and Copyright.html. COPYING can be found at the root -# of the source code distribution tree; Copyright.html can be found at the -# root level of an installed copy of the electronic HDF5 document set and -# is linked from the top-level documents page. It can also be found at -# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -# access to either file, you may request a copy from help@hdfgroup.org. - -# Configuration file for building on the IBM AIX 6.X platforms. -# This file is part of the HDF5 build script. It is processed shortly -# after configure starts and defines, among other things, flags for -# the various compile modes. - -# Use the generic ibm-aix. -. $srcdir/config/ibm-aix |