summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2011-04-19 20:15:21 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2011-04-19 20:15:21 (GMT)
commit099b37d073e633b0cb4d8c3f41ddf5788e63e6ee (patch)
tree3316f03ab81dbbab9160aac62fefe3f78b50c1d4 /config
parent94cf912176257c753eaddde0acabc9a11be2e48d (diff)
downloadhdf5-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/apple8
-rwxr-xr-xconfig/cmake/CTestCustom.cmake22
-rw-r--r--config/cmake/ConfigureChecks.cmake38
-rw-r--r--config/cmake/H5pubconf.h.in8
-rw-r--r--config/cmake/HDF5Tests.c19
-rw-r--r--config/cmake/HDFMacros.cmake118
-rw-r--r--config/cmake/userblockTest.cmake120
-rw-r--r--config/commence.am2
-rw-r--r--config/freebsd18
-rw-r--r--config/gnu-flags70
-rw-r--r--config/ibm-aix6.x21
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