diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/cce-fflags | 73 | ||||
-rw-r--r-- | config/cce-flags | 79 | ||||
-rw-r--r-- | config/cmake/ConfigureChecks.cmake | 166 | ||||
-rw-r--r-- | config/cmake/ConversionTests.c | 427 | ||||
-rw-r--r-- | config/cmake/H5pubconf.h.in | 90 | ||||
-rw-r--r-- | config/cmake/HDF518_Examples.cmake.in | 33 | ||||
-rw-r--r-- | config/cmake/README.txt.cmake.in | 8 | ||||
-rw-r--r-- | config/cmake/cacheinit.cmake | 8 | ||||
-rw-r--r-- | config/cmake/hdf5-config.cmake.in | 157 | ||||
-rw-r--r-- | config/cmake/patch.xml | 11 | ||||
-rw-r--r-- | config/craynv | 198 | ||||
-rw-r--r-- | config/dec-flags | 150 | ||||
-rw-r--r-- | config/hpux11.23 | 96 | ||||
-rw-r--r-- | config/ia64-linux-gnu | 144 | ||||
-rw-r--r-- | config/irix6.x | 178 | ||||
-rw-r--r-- | config/linux-gnulibc1 | 24 | ||||
-rw-r--r-- | config/lt_vers.am | 2 | ||||
-rw-r--r-- | config/nec-superux14.1 | 179 | ||||
-rw-r--r-- | config/sv1-cray | 199 | ||||
-rw-r--r-- | config/x86_64-redstorm-linux-gnu | 164 |
20 files changed, 406 insertions, 1980 deletions
diff --git a/config/cce-fflags b/config/cce-fflags new file mode 100644 index 0000000..896e711 --- /dev/null +++ b/config/cce-fflags @@ -0,0 +1,73 @@ +# -*- 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. + + +# This file should be sourced into configure if the compiler is the +# Cray Compiling Environment (CCE) compiler or a derivative. It is careful not to do anything +# if the compiler is not Cray; otherwise `cc_flags_set' is set to `yes' +# + +# Get the compiler version in a way that works for cce +# unless a compiler version is already known +# +# cc_vendor: The compiler name: Cray +# cc_version: Version number: 8.3.0 +# +if test X = "X$f9x_flags_set"; then + f9x_version="`$FC $FCFLAGS $H5_FCFLAGS -V 2>&1 |grep 'Cray'`" + if test X != "X$f9x_version"; then + f9x_vendor=cce + f9x_version=`echo $f9x_version |sed 's/.*Version \([-a-z0-9\.\-]*\).*/\1/'` + echo "compiler '$FC' is Cray $f9x_vendor-$f9x_version" + fc_version_info=$f9x_version + fi +fi + +# Common Cray flags for various situations +if test "X-cce" = "X-$f9x_vendor"; then + # Insert section about version specific problems from compiler flags here, + # if necessary. + + arch= + # Architecture-specific flags + # Nothing currently. (Uncomment code below and modify to add any) + #case "$host_os-$host_cpu" in + # *-i686) + # arch="-march=i686" + # ;; + #esac + + # General + H5_FCFLAGS="${H5_FCFLAGS} -hnocaf" + + # Production + # -Wl,-s to remove all symbols for smaller file + PROD_FCFLAGS="-O3 -Wl,-s" + + # Debug + DEBUG_FCFLAGS="-g -O0" + + # Profile + # Use this for profiling with gprof + PROFILE_FCFLAGS="-g -p" + + # Flags are set + f9x_flags_set=yes +fi + +# Clear f9x info if no flags set +if test "X-$f9x_flags_set" = "X-"; then + f9x_vendor= + f9x_version= +fi diff --git a/config/cce-flags b/config/cce-flags new file mode 100644 index 0000000..a34fcbe --- /dev/null +++ b/config/cce-flags @@ -0,0 +1,79 @@ +# -*- 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. + + +# This file should be sourced into configure if the compiler is the +# Cray Compiling Environment (CCE) compiler or a derivative. It is careful not to do anything +# if the compiler is not Cray; otherwise `cc_flags_set' is set to `yes' +# + +# Get the compiler version in a way that works for cce +# unless a compiler version is already known +# +# cc_vendor: The compiler name: Cray +# cc_version: Version number: 8.3.0 +# +if test X = "X$cc_flags_set"; then + cc_version="`$CC $CFLAGS $H5_CFLAGS -V 2>&1 |grep 'Cray'`" + if test X != "X$cc_version"; then + cc_vendor=cce + cc_version=`echo $cc_version |sed 's/.*Version \([-a-z0-9\.\-]*\).*/\1/'` + echo "compiler '$CC' is Cray $cc_vendor-$cc_version" + cc_version_info=$cc_version + cxx_version_info=$cc_version + fi +fi + +# Common Cray flags for various situations +if test "X-cce" = "X-$cc_vendor"; then + # Insert section about version specific problems from compiler flags here, + # if necessary. + + arch= + # Architecture-specific flags + # Nothing currently. (Uncomment code below and modify to add any) + #case "$host_os-$host_cpu" in + # *-i686) + # arch="-march=i686" + # ;; + #esac + + # General + # Default to C99 standard. + H5_CFLAGS="${H5_CFLAGS:--hc99 $arch}" + + # Production + # -Wl,-s to remove all symbols for smaller file + PROD_CFLAGS="-O3 -Wl,-s" + PROD_CPPFLAGS= + + # Debug + DEBUG_CFLAGS="-g -O0" + DEBUG_CPPFLAGS= + + # Profile + # Use this for profiling with gprof + PROFILE_CFLAGS="-g -p" + PROFILE_CPPFLAGS= + + # Flags are set + cc_flags_set=yes + +fi + +# Clear cc info if no flags set +if test "X-$cc_flags_set" = "X-"; then + cc_vendor= + cc_version= +fi diff --git a/config/cmake/ConfigureChecks.cmake b/config/cmake/ConfigureChecks.cmake index a709a4d..b193ff4 100644 --- a/config/cmake/ConfigureChecks.cmake +++ b/config/cmake/ConfigureChecks.cmake @@ -33,18 +33,6 @@ endif (HDF5_METADATA_TRACE_FILE) MARK_AS_ADVANCED (HDF5_METADATA_TRACE_FILE) # ---------------------------------------------------------------------- -# Decide whether the data accuracy has higher priority during data -# conversions. If not, some hard conversions will still be prefered even -# though the data may be wrong (for example, some compilers don't -# support denormalized floating values) to maximize speed. -# -option (HDF5_WANT_DATA_ACCURACY "IF data accuracy is guaranteed during data conversions" ON) -if (HDF5_WANT_DATA_ACCURACY) - set (H5_WANT_DATA_ACCURACY 1) -endif (HDF5_WANT_DATA_ACCURACY) -MARK_AS_ADVANCED (HDF5_WANT_DATA_ACCURACY) - -# ---------------------------------------------------------------------- # Decide whether the presence of user's exception handling functions is # checked and data conversion exceptions are returned. This is mainly # for the speed optimization of hard conversions. Soft conversions can @@ -73,13 +61,6 @@ if (HDF5_ENABLE_HSIZET) set (${HDF_PREFIX}_HAVE_LARGE_HSIZET 1) endif (HDF5_ENABLE_HSIZET) -# ---------------------------------------------------------------------- -# Set the flag to indicate that the machine can handle converting -# floating-point to long long values. -# (This flag should be _unset_ for all machines) -# -# set (H5_HW_FP_TO_LLONG_NOT_WORKS 0) - # so far we have no check for this set (H5_HAVE_TMPFILE 1) @@ -258,109 +239,6 @@ ENDMACRO (H5MiscConversionTest) # Check various conversion capabilities #----------------------------------------------------------------------------- -# ----------------------------------------------------------------------- -# Set flag to indicate that the machine can handle conversion from -# long double to integers accurately. This flag should be set "yes" for -# all machines except all SGIs. For SGIs, some conversions are -# incorrect and its cache value is set "no" in its config/irix6.x and -# irix5.x. -# -H5MiscConversionTest (H5_SIZEOF_LONG_DOUBLE H5_LDOUBLE_TO_INTEGER_ACCURATE "checking IF converting from long double to integers is accurate") -# ----------------------------------------------------------------------- -# Set flag to indicate that the machine can do conversion from -# long double to integers regardless of accuracy. This flag should be -# set "yes" for all machines except HP-UX 11.00. For HP-UX 11.00, the -# compiler has 'floating exception' when converting 'long double' to all -# integers except 'unsigned long long'. Other HP-UX systems are unknown -# yet. (1/8/05 - SLU) -# -H5ConversionTests (H5_LDOUBLE_TO_INTEGER_WORKS "Checking IF converting from long double to integers works") -# ----------------------------------------------------------------------- -# Set flag to indicate that the machine can handle conversion from -# integers to long double. (This flag should be set "yes" for all -# machines except all SGIs, where some conversions are -# incorrect and its cache value is set "no" in its config/irix6.x and -# irix5.x) -# -H5MiscConversionTest (H5_SIZEOF_LONG_DOUBLE H5_INTEGER_TO_LDOUBLE_ACCURATE "checking IF accurately converting from integers to long double") -# ---------------------------------------------------------------------- -# Set the flag to indicate that the machine can accurately convert -# 'unsigned long' to 'float' values. -# (This flag should be set for all machines, except for Pathscale compiler -# on Sandia's Linux machine where the compiler interprets 'unsigned long' -# values as negative when the first bit of 'unsigned long' is on during -# the conversion to float.) -# -H5ConversionTests (H5_ULONG_TO_FLOAT_ACCURATE "Checking IF accurately converting unsigned long to float values") -# ---------------------------------------------------------------------- -# Set the flag to indicate that the machine can accurately convert -# 'unsigned (long) long' values to 'float' and 'double' values. -# (This flag should be set for all machines, except for the SGIs, where -# the cache value is set in the config/irix6.x config file) and Solaris -# 64-bit machines, where the short program below tests if round-up is -# correctly handled. -# -if (CMAKE_SYSTEM MATCHES "solaris2.*") - H5ConversionTests (H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE "Checking IF accurately converting unsigned long long to floating-point values") -else (CMAKE_SYSTEM MATCHES "solaris2.*") - set (H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE 1) -endif (CMAKE_SYSTEM MATCHES "solaris2.*") -# ---------------------------------------------------------------------- -# Set the flag to indicate that the machine can accurately convert -# 'float' or 'double' to 'unsigned long long' values. -# (This flag should be set for all machines, except for PGI compiler -# where round-up happens when the fraction of float-point value is greater -# than 0.5. -# -H5ConversionTests (H5_FP_TO_ULLONG_ACCURATE "Checking IF accurately roundup converting floating-point to unsigned long long values" ) -# ---------------------------------------------------------------------- -# Set the flag to indicate that the machine can accurately convert -# 'float', 'double' or 'long double' to 'unsigned long long' values. -# (This flag should be set for all machines, except for HP-UX machines -# where the maximal number for unsigned long long is 0x7fffffffffffffff -# during conversion. -# -H5ConversionTests (H5_FP_TO_ULLONG_RIGHT_MAXIMUM "Checking IF right maximum converting floating-point to unsigned long long values" ) -# ---------------------------------------------------------------------- -# Set the flag to indicate that the machine can accurately convert -# 'long double' to 'unsigned int' values. (This flag should be set for -# all machines, except for some Intel compilers on some Linux.) -# -H5ConversionTests (H5_LDOUBLE_TO_UINT_ACCURATE "Checking IF correctly converting long double to unsigned int values") -# ---------------------------------------------------------------------- -# Set the flag to indicate that the machine can _compile_ -# 'unsigned long long' to 'float' and 'double' typecasts. -# (This flag should be set for all machines.) -# -if (H5_ULLONG_TO_FP_CAST_WORKS MATCHES ^H5_ULLONG_TO_FP_CAST_WORKS$) - set (H5_ULLONG_TO_FP_CAST_WORKS 1 CACHE INTERNAL "Checking IF compiling unsigned long long to floating-point typecasts work") - message (STATUS "Checking IF compiling unsigned long long to floating-point typecasts work... yes") -endif (H5_ULLONG_TO_FP_CAST_WORKS MATCHES ^H5_ULLONG_TO_FP_CAST_WORKS$) -# ---------------------------------------------------------------------- -# Set the flag to indicate that the machine can _compile_ -# 'long long' to 'float' and 'double' typecasts. -# (This flag should be set for all machines.) -# -if (H5_LLONG_TO_FP_CAST_WORKS MATCHES ^H5_LLONG_TO_FP_CAST_WORKS$) - set (H5_LLONG_TO_FP_CAST_WORKS 1 CACHE INTERNAL "Checking IF compiling long long to floating-point typecasts work") - message (STATUS "Checking IF compiling long long to floating-point typecasts work... yes") -endif (H5_LLONG_TO_FP_CAST_WORKS MATCHES ^H5_LLONG_TO_FP_CAST_WORKS$) -# ---------------------------------------------------------------------- -# Set the flag to indicate that the machine can convert from -# 'unsigned long long' to 'long double' without precision loss. -# (This flag should be set for all machines, except for FreeBSD(sleipnir) -# where the last 2 bytes of mantissa are lost when compiler tries to do -# the conversion, and Cygwin where compiler doesn't do rounding correctly.) -# -H5ConversionTests (H5_ULLONG_TO_LDOUBLE_PRECISION "Checking IF converting unsigned long long to long double with precision") -# ---------------------------------------------------------------------- -# Set the flag to indicate that the machine can handle overflow converting -# all floating-point to all integer types. -# (This flag should be set for all machines, except for Cray X1 where -# floating exception is generated when the floating-point value is greater -# than the maximal integer value). -# -H5ConversionTests (H5_FP_TO_INTEGER_OVERFLOW_WORKS "Checking IF overflows normally converting floating-point to integer values") # ---------------------------------------------------------------------- # Set the flag to indicate that the machine is using a special algorithm to convert # 'long double' to '(unsigned) long' values. (This flag should only be set for @@ -370,10 +248,7 @@ H5ConversionTests (H5_FP_TO_INTEGER_OVERFLOW_WORKS "Checking IF overflows norma # The machine's conversion gets the correct value. We define the macro and disable # this kind of test until we figure out what algorithm they use. # -if (H5_LDOUBLE_TO_LONG_SPECIAL MATCHES ^H5_LDOUBLE_TO_LONG_SPECIAL$) - set (H5_LDOUBLE_TO_LONG_SPECIAL 0 CACHE INTERNAL "Define if your system converts long double to (unsigned) long values with special algorithm") - message (STATUS "Checking IF your system converts long double to (unsigned) long values with special algorithm... no") -endif (H5_LDOUBLE_TO_LONG_SPECIAL MATCHES ^H5_LDOUBLE_TO_LONG_SPECIAL$) +H5ConversionTests (H5_LDOUBLE_TO_LONG_SPECIAL "Checking IF your system converts long double to (unsigned) long values with special algorithm") # ---------------------------------------------------------------------- # Set the flag to indicate that the machine is using a special algorithm # to convert some values of '(unsigned) long' to 'long double' values. @@ -382,49 +257,12 @@ endif (H5_LDOUBLE_TO_LONG_SPECIAL MATCHES ^H5_LDOUBLE_TO_LONG_SPECIAL$) # ..., 7fffff..., the compiler uses a unknown algorithm. We define a # macro and skip the test for now until we know about the algorithm. # -if (H5_LONG_TO_LDOUBLE_SPECIAL MATCHES ^H5_LONG_TO_LDOUBLE_SPECIAL$) - set (H5_LONG_TO_LDOUBLE_SPECIAL 0 CACHE INTERNAL "Define if your system can convert (unsigned) long to long double values with special algorithm") - message (STATUS "Checking IF your system can convert (unsigned) long to long double values with special algorithm... no") -endif (H5_LONG_TO_LDOUBLE_SPECIAL MATCHES ^H5_LONG_TO_LDOUBLE_SPECIAL$) -# ---------------------------------------------------------------------- -# Set the flag to indicate that the machine can accurately convert -# 'long double' to '(unsigned) long long' values. (This flag should be set for -# all machines, except for Mac OS 10.4 and SGI IRIX64 6.5. When the bit sequence -# of long double is 0x4351ccf385ebc8a0bfcc2a3c..., the values of (unsigned)long long -# start to go wrong on these two machines. Adjusting it higher to -# 0x4351ccf385ebc8a0dfcc... or 0x4351ccf385ebc8a0ffcc... will make the converted -# values wildly wrong. This test detects this wrong behavior and disable the test. -# -H5ConversionTests (H5_LDOUBLE_TO_LLONG_ACCURATE "Checking IF correctly converting long double to (unsigned) long long values") -# ---------------------------------------------------------------------- -# Set the flag to indicate that the machine can accurately convert -# '(unsigned) long long' to 'long double' values. (This flag should be set for -# all machines, except for Mac OS 10.4, when the bit sequences are 003fff..., -# 007fff..., 00ffff..., 01ffff..., ..., 7fffff..., the converted values are twice -# as big as they should be. -# -H5ConversionTests (H5_LLONG_TO_LDOUBLE_CORRECT "Checking IF correctly converting (unsigned) long long to long double values") -# ---------------------------------------------------------------------- -# Set the flag to indicate that the machine generates bad code -# for the H5VM_log2_gen() routine in src/H5VMprivate.h -# (This flag should be set to no for all machines, except for SGI IRIX64, -# where the cache value is set to yes in it's config file) -# -if (H5_BAD_LOG2_CODE_GENERATED MATCHES ^H5_BAD_LOG2_CODE_GENERATED$) - set (H5_BAD_LOG2_CODE_GENERATED 0 CACHE INTERNAL "Define if your system generates wrong code for log2 routine") - message (STATUS "Checking IF your system generates wrong code for log2 routine... no") -endif (H5_BAD_LOG2_CODE_GENERATED MATCHES ^H5_BAD_LOG2_CODE_GENERATED$) +H5ConversionTests (H5_LONG_TO_LDOUBLE_SPECIAL "Checking IF your system can convert (unsigned) long to long double values with special algorithm") # ---------------------------------------------------------------------- # Check if pointer alignments are enforced # H5ConversionTests (H5_NO_ALIGNMENT_RESTRICTIONS "Checking IF alignment restrictions are strictly enforced") -# Define a macro for Cygwin (on XP only) where the compiler has rounding -# problem converting from unsigned long long to long double */ -if (CYGWIN) - set (H5_CYGWIN_ULLONG_TO_LDOUBLE_ROUND_PROBLEM 1) -endif (CYGWIN) - # ----------------------------------------------------------------------- # wrapper script variables # diff --git a/config/cmake/ConversionTests.c b/config/cmake/ConversionTests.c index 1ee9842..cd2e8bb 100644 --- a/config/cmake/ConversionTests.c +++ b/config/cmake/ConversionTests.c @@ -1,191 +1,119 @@ -#ifdef H5_FP_TO_INTEGER_OVERFLOW_WORKS_TEST +#ifdef H5_LDOUBLE_TO_LONG_SPECIAL_TEST int main(void) { - float f = 2147483648.0f; - int i; - - i = (int)f; - -done: - exit(0); -} - -#endif - -#ifdef H5_FP_TO_ULLONG_ACCURATE_TEST - -int main(void) -{ - float f = 111.60f; - double d = 222.55L; - unsigned long long l1 = (unsigned long long)f; - unsigned long long l2 = (unsigned long long)d; - int ret = 0; - - if(l1 == 112) - ret = 1; - if(l2 == 223) - ret = 1; - -done: - exit(ret); -} - -#endif - -#ifdef H5_FP_TO_ULLONG_RIGHT_MAXIMUM_TEST -int main(void) -{ - float f = 9701917572145405952.00f; - double d1 = 9701917572145405952.00L; - long double d2 = 9701917572145405952.00L; - double d3 = 2e40L; - unsigned long long l1 = (unsigned long long)f; - unsigned long long l2 = (unsigned long long)d1; - unsigned long long l3 = (unsigned long long)d2; - unsigned long long l4; - unsigned long long l5 = 0x7fffffffffffffffULL; - int ret = 0; - - if(l1 <= l5 || l2 <= l5 || l3 <= l5) - ret = 1; - - l4 = (unsigned long long)d3; - if(l4 <= l5) - ret = 1; - -done: - exit(ret); -} - -#endif - -#ifdef H5_LDOUBLE_TO_INTEGER_WORKS_TEST - -#include <stdlib.h> -#include <string.h> - -int main(void) -{ - void *align; - long double ld= 9701917572145405952.00L; - unsigned char v1; - short v2; - unsigned int v3; - int ret = 0; - - align = (void*)malloc(sizeof(long double)); - memcpy(align, &ld, sizeof(long double)); - - /*For HU-UX11.00, there's floating exception(core dump) when doing some of casting - *from 'long double' to integers*/ - v1=(unsigned char)(*((long double*)align)); - v2=(short)(*((long double*)align)); - v3=(unsigned int)(*((long double*)align)); - -done: - exit(ret); -} - -#endif - -#ifdef H5_LDOUBLE_TO_LLONG_ACCURATE_TEST -int main(void) -{ long double ld = 20041683600089727.779961L; - long long ll; - unsigned long long ull; + long ll; + unsigned long ull; unsigned char s[16]; - int ret = 0; - - if(sizeof(long double) == 16) { - /*make sure the long double type is the same as the failing type - *which has 16 bytes in size and 11 bits of exponent. If it is, - *the bit sequence should be like below. It's not - *a decent way to check but this info isn't available. */ - memcpy(s, &ld, 16); - if(s[0]==0x43 && s[1]==0x51 && s[2]==0xcc && s[3]==0xf3 && - s[4]==0x85 && s[5]==0xeb && s[6]==0xc8 && s[7]==0xa0 && - s[8]==0xbf && s[9]==0xcc && s[10]==0x2a && s[11]==0x3c) { - - /*slightly adjust the bit sequence (s[8]=0xdf). The converted - *values will go wild on Mac OS 10.4 and IRIX64 6.5.*/ - s[0]=0x43; s[1]=0x51; s[2]=0xcc; s[3]=0xf3; - s[4]=0x85; s[5]=0xeb; s[6]=0xc8; s[7]=0xa0; - s[8]=0xdf; s[9]=0xcc; s[10]=0x2a; s[11]=0x3c; - s[12]=0x3d; s[13]=0x85; s[14]=0x56; s[15]=0x20; - - memcpy(&ld, s, 16); - ll = (long long)ld; - ull = (unsigned long long)ld; - - if(ll != 20041683600089728 || ull != 20041683600089728) - ret = 1; - } + unsigned char s2[8]; + int ret = 1; + + if(sizeof(long double) == 16 && sizeof(long) == 8) { + /*make sure the long double type has 16 bytes in size and + * 11 bits of exponent. If it is, + *the bit sequence should be like below. It's not + *a decent way to check but this info isn't available. */ + memcpy(s, &ld, 16); + if(s[0]==0x43 && s[1]==0x51 && s[2]==0xcc && s[3]==0xf3 && + s[4]==0x85 && s[5]==0xeb && s[6]==0xc8 && s[7]==0xa0 && + s[8]==0xbf && s[9]==0xcc && s[10]==0x2a && s[11]==0x3c) { + + /* Assign the hexadecimal value of long double type. */ + s[0]=0x43; s[1]=0x51; s[2]=0xcc; s[3]=0xf3; + s[4]=0x85; s[5]=0xeb; s[6]=0xc8; s[7]=0xa0; + s[8]=0xbf; s[9]=0xcc; s[10]=0x2a; s[11]=0x3c; + s[12]=0x3d; s[13]=0x85; s[14]=0x56; s[15]=0x20; + + memcpy(&ld, s, 16); + + ll = (long)ld; + memcpy(s2, &ll, 8); + + /* The library's algorithm converts it to 0x 00 47 33 ce 17 af 22 82 + * and gets wrong value 20041683600089730 on the IBM Power6 Linux. + * But the IBM Power6 Linux converts it to 0x00 47 33 ce 17 af 22 7f + * and gets the correct value 20041683600089727. It uses some special + * algorithm. We're going to define the macro and skip the test until + * we can figure out how they do it. */ + if(s2[0]==0x00 && s2[1]==0x47 && s2[2]==0x33 && s2[3]==0xce && + s2[4]==0x17 && s2[5]==0xaf && s2[6]==0x22 && s2[7]==0x7f) + ret = 0; + + ull = (unsigned long)ld; + memcpy(s2, &ull, 8); + + /* The unsigned long is the same as signed long. */ + if(s2[0]==0x00 && s2[1]==0x47 && s2[2]==0x33 && s2[3]==0xce && + s2[4]==0x17 && s2[5]==0xaf && s2[6]==0x22 && s2[7]==0x7f) + ret = 0; + } } -done: - exit(ret); -} -#endif - -#ifdef H5_LDOUBLE_TO_UINT_ACCURATE_TEST -int main(void) -{ - long double ld = 2733248032.9183987530L; - unsigned int i; - int ret = 0; - - i = (unsigned int)ld; - if(i!=2733248032 && i!=2733248031 && i!=2733248033) - ret = 1; done: exit(ret); } + #endif -#ifdef H5_LLONG_TO_LDOUBLE_CORRECT_TEST +#ifdef H5_LONG_TO_LDOUBLE_SPECIAL_TEST + int main(void) { long double ld; - long long ll; - unsigned long long ull; + long ll; + unsigned long ull; unsigned char s[16]; - int flag=0, ret=0; + int flag=0, ret=1; /*Determine if long double has 16 byte in size, 11 bit exponent, and *the bias is 0x3ff */ if(sizeof(long double) == 16) { - ld = 1.0L; - memcpy(s, &ld, 16); - if(s[0]==0x3f && s[1]==0xf0 && s[2]==0x00 && s[3]==0x00 && - s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00) - flag = 1; + ld = 1.0L; + memcpy(s, &ld, 16); + if(s[0]==0x3f && s[1]==0xf0 && s[2]==0x00 && s[3]==0x00 && + s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00) + flag = 1; } - if(flag==1 && sizeof(long long)==8) { - ll = 0x01ffffffffffffffLL; - ld = (long double)ll; - memcpy(s, &ld, 16); - /*Check if the bit sequence is as supposed to be*/ - if(s[0]!=0x43 || s[1]!=0x7f || s[2]!=0xff || s[3]!=0xff || - s[4]!=0xff || s[5]!=0xff || s[6]!=0xff || s[7]!=0xff || - s[8]!=0xf0 || s[9]!=0x00 || s[10]!=0x00 || s[11]!=0x00) - ret = 1; + if(flag==1 && sizeof(long)==8) { + ll = 0x003fffffffffffffL; + ld = (long double)ll; + memcpy(s, &ld, 16); + /* The library converts the value to 0x434fffffffffffff8000000000000000. + * In decimal it is 18014398509481982.000000, one value short of the original. + * The IBM Power6 Linux converts it to 0x4350000000000000bff0000000000000. + * The value is correct in decimal. It uses some special + * algorithm. We're going to define the macro and skip the test until + * we can figure out how they do it. */ + if(s[0]==0x43 && s[1]==0x50 && s[2]==0x00 && s[3]==0x00 && + s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00 && + s[8]==0xbf && s[9]==0xf0 && s[10]==0x00 && s[11]==0x00 && + s[12]==0x00 && s[13]==0x00 && s[14]==0x00 && s[15]==0x00) + ret = 0; } - if(flag==1 && sizeof(unsigned long long)==8) { - ull = 0x01ffffffffffffffULL; - ld = (long double)ull; - memcpy(s, &ld, 16); - if(s[0]!=0x43 || s[1]!=0x7f || s[2]!=0xff || s[3]!=0xff || - s[4]!=0xff || s[5]!=0xff || s[6]!=0xff || s[7]!=0xff || - s[8]!=0xf0 || s[9]!=0x00 || s[10]!=0x00 || s[11]!=0x00) - ret = 1; + if(flag==1 && sizeof(unsigned long)==8) { + ull = 0xffffffffffffffffUL; + ld = (long double)ull; + memcpy(s, &ld, 16); + /* Use a different value from signed long to test. The problem is the same + * for both long and unsigned long. The value is 18446744073709551615. + * The library converts the value to 0x43effffffffffffffe000000000000000. + * In decimal it's 18446744073709548544.000000, very different from the original. + * The IBM Power6 Linux converts it to 0x43f0000000000000bff0000000000000. + * The value is correct in decimal. It uses some special + * algorithm. We're going to define the macro and skip the test until + * we can figure out how they do it. */ + if(s[0]==0x43 && s[1]==0xf0 && s[2]==0x00 && s[3]==0x00 && + s[4]==0x00 && s[5]==0x00 && s[6]==0x00 && s[7]==0x00 && + s[8]==0xbf && s[9]==0xf0 && s[10]==0x00 && s[11]==0x00 && + s[12]==0x00 && s[13]==0x00 && s[14]==0x00 && s[15]==0x00) + ret = 0; } done: exit(ret); } + #endif #ifdef H5_NO_ALIGNMENT_RESTRICTIONS_TEST @@ -241,180 +169,3 @@ main () #endif -#ifdef H5_ULLONG_TO_LDOUBLE_PRECISION_TEST - -#include <stddef.h> -#include <stdlib.h> -#include <string.h> - -int main(void) -{ - /* General variables */ - int endian; - int tst_value = 1; - int ret = 0; - - /* For FreeBSD */ - unsigned long long l = 0xa601e80bda85fcefULL; - long double ld; - unsigned char *c1, *c2; - size_t size; - - /* For Cygwin */ - unsigned long long l_cyg = 0xfffffffffffffff0ULL; - long double ld_cyg; - unsigned char *c2_cyg; - size_t size_cyg; - - - /* Determine this system's endianess */ - c1 = (unsigned char*)calloc(1, sizeof(int)); - memcpy((void*)c1, &tst_value, sizeof(int)); - if(c1[0]==1) - endian = 0; /* little endian */ - else - endian = 1; /* big endian */ - - /* For FreeBSD */ - size = sizeof(long double); - memset(&ld, 0, size); - ld = (long double)l; - - c2 = (unsigned char*)calloc(1, size); - memcpy((void*)c2, &ld, size); - - /* Test if the last 2 bytes of mantissa are lost. Mainly for FreeBSD on Intel - * architecture(sleipnir) where it happens. */ - /*if(endian==0 && c2[0]==0 && c2[1]==0)*/ /*little endian*/ - if(endian==0 && c2[0]==0) { /*little endian*/ - ret = 1; - goto done; - } - - /* For Cygwin */ - size_cyg = sizeof(long double); - memset(&ld_cyg, 0, size); - ld_cyg = (long double)l_cyg; - - c2_cyg = (unsigned char*)calloc(1, size_cyg); - memcpy((void*)c2_cyg, &ld_cyg, size_cyg); - - /* Test if the last 4 bytes(roughly) of mantissa are rounded up. Mainly for Cygwin - * where the values like 0xffffffffffffffff, 0xfffffffffffffffe, ..., - * 0xfffffffffffff000 ... are rounded up as 0x0000403f8000000000000000 - * instead of 0x0000403effffffffffffffff, 0x0000403efffffffffffffffe, ..., - * 0x0000403efffffffffffff000 ... - */ - if(endian==0 && c2_cyg[0]==0 && c2_cyg[1]==0 && c2_cyg[2]==0 && c2_cyg[3]==0) - ret = 1; - -done: - if(c1) - free(c1); - if(c2) - free(c2); - if(c2_cyg) - free(c2_cyg); - exit(ret); -} - -#endif - - -#ifdef H5_ULONG_TO_FLOAT_ACCURATE_TEST - -int main(void) -{ - int ret = 0; - unsigned long l1; - unsigned long l2; - unsigned long l3; - float f1; - float f2; - float f3; - - - if(sizeof(unsigned long)==8) { - l1 = 0xffffffffffffffffUL; - l2 = 0xffffffffffff0000UL; - l3 = 0xf000000000000000UL; - - f1 = (float)l1; - f2 = (float)l2; - f3 = (float)l3; - - if((f1 < 0) || (f2 < 0) || (f3 < 0)) - ret = 1; - } - -done: - exit(ret); -} - -#endif - -#ifdef H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE_TEST - -#include <string.h> - - -int main(void) -{ - unsigned long l1; - unsigned long l2; - unsigned long l3; - unsigned long l4; - unsigned long long ld1; - unsigned long long ld2; - unsigned long long ld3; - unsigned long long ld4; - double d1, d2, d3, d4; - unsigned char s[8]; - int ret = 0; - - if(sizeof(unsigned long)==8) { - l1 = 0xf000000000000b00UL; /*Round-down case*/ - l2 = 0xf000000000000401UL; /*Round-up case*/ - l3 = 0xf000000000000400UL; /*Round-down case*/ - l4 = 0xf000000000000c00UL; /*Round-up case*/ - - d1 = (double)l1; - d2 = (double)l2; - d3 = (double)l3; - d4 = (double)l4; - } else if(sizeof(unsigned long long)==8) { - ld1 = 0xf000000000000b00ULL; /*Round-down case*/ - ld2 = 0xf000000000000401ULL; /*Round-up case*/ - ld3 = 0xf000000000000400ULL; /*Round-down case*/ - ld4 = 0xf000000000000c00ULL; /*Round-up case*/ - - d1 = (double)ld1; - d2 = (double)ld2; - d3 = (double)ld3; - d4 = (double)ld4; - } else { - ret = 1; - goto done; - } - - memcpy(s, &d1, 8); - if(s[7]!=1) - ret = 1; - - memcpy(s, &d2, 8); - if(s[7]!=1) - ret = 1; - - memcpy(s, &d3, 8); - if(s[7]!=0) - ret = 1; - - memcpy(s, &d4, 8); - if(s[7]!=2) - ret = 1; - -done: - exit(ret); -} -} -#endif diff --git a/config/cmake/H5pubconf.h.in b/config/cmake/H5pubconf.h.in index a557364..c47b7c4 100644 --- a/config/cmake/H5pubconf.h.in +++ b/config/cmake/H5pubconf.h.in @@ -36,24 +36,13 @@ /* Define if building universal (internal helper macro) */ #cmakedefine H5_AC_APPLE_UNIVERSAL_BUILD @H5_AC_APPLE_UNIVERSAL_BUILD@ -/* Define if your system generates wrong code for log2 routine. */ -#cmakedefine H5_BAD_LOG2_CODE_GENERATED @H5_BAD_LOG2_CODE_GENERATED@ - /* Define if the memory buffers being written to disk should be cleared before writing. */ #cmakedefine H5_CLEAR_MEMORY @H5_CLEAR_MEMORY@ -/* Define if your system can handle converting denormalized floating-point - values. */ -#cmakedefine H5_CONVERT_DENORMAL_FLOAT @H5_CONVERT_DENORMAL_FLOAT@ - /* Define if C++ compiler recognizes offsetof */ #cmakedefine H5_CXX_HAVE_OFFSETOF @H5_CXX_HAVE_OFFSETOF@ -/* Define a macro for Cygwin (on XP only) where the compiler has rounding - problem converting from unsigned long long to long double */ -#cmakedefine H5_CYGWIN_ULLONG_TO_LDOUBLE_ROUND_PROBLEM @H5_CYGWIN_ULLONG_TO_LDOUBLE_ROUND_PROBLEM@ - /* Define the default plugins path to compile */ #cmakedefine H5_DEFAULT_PLUGINDIR "@H5_DEFAULT_PLUGINDIR@" @@ -74,18 +63,6 @@ /* As FC_FUNC, but for C identifiers containing underscores. */ #define @H5_FC_FUNC_@ -/* Define if your system can handle overflow converting floating-point to - integer values. */ -#cmakedefine H5_FP_TO_INTEGER_OVERFLOW_WORKS @H5_FP_TO_INTEGER_OVERFLOW_WORKS@ - -/* Define if your system roundup accurately converting floating-point to - unsigned long long values. */ -#cmakedefine H5_FP_TO_ULLONG_ACCURATE @H5_FP_TO_ULLONG_ACCURATE@ - -/* Define if your system has right maximum convert floating-point to unsigned - long long values. */ -#cmakedefine H5_FP_TO_ULLONG_RIGHT_MAXIMUM @H5_FP_TO_ULLONG_RIGHT_MAXIMUM@ - /* Define to 1 if you have the `alarm' function. */ #cmakedefine H5_HAVE_ALARM @H5_HAVE_ALARM@ @@ -139,18 +116,6 @@ /* Define if support for deflate (zlib) filter is enabled */ #cmakedefine H5_HAVE_FILTER_DEFLATE @H5_HAVE_FILTER_DEFLATE@ -/* Define if support for Fletcher32 checksum is enabled */ -#cmakedefine H5_HAVE_FILTER_FLETCHER32 @H5_HAVE_FILTER_FLETCHER32@ - -/* Define if support for nbit filter is enabled */ -#cmakedefine H5_HAVE_FILTER_NBIT @H5_HAVE_FILTER_NBIT@ - -/* Define if support for scaleoffset filter is enabled */ -#cmakedefine H5_HAVE_FILTER_SCALEOFFSET @H5_HAVE_FILTER_SCALEOFFSET@ - -/* Define if support for shuffle filter is enabled */ -#cmakedefine H5_HAVE_FILTER_SHUFFLE @H5_HAVE_FILTER_SHUFFLE@ - /* Define if support for szip filter is enabled */ #cmakedefine H5_HAVE_FILTER_SZIP @H5_HAVE_FILTER_SZIP@ @@ -230,9 +195,6 @@ /* Define to 1 if you have the `dmalloc' library (-ldmalloc). */ #cmakedefine H5_HAVE_LIBDMALLOC @H5_HAVE_LIBDMALLOC@ -/* Define to 1 if you have the `lmpe' library (-llmpe). */ -#cmakedefine H5_HAVE_LIBLMPE @H5_HAVE_LIBLMPE@ - /* Define to 1 if you have the `m' library (-lm). */ #cmakedefine H5_HAVE_LIBM @H5_HAVE_LIBM@ @@ -461,42 +423,13 @@ /* Define to 1 if you have the `_scrsize' function. */ #cmakedefine H5_HAVE__SCRSIZE @H5_HAVE__SCRSIZE@ -/* Define if your system can't handle converting floating-point values to long - long. */ -#cmakedefine H5_HW_FP_TO_LLONG_NOT_WORKS @H5_HW_FP_TO_LLONG_NOT_WORKS@ - /* Define if HDF5's high-level library headers should be included in hdf5.h */ #cmakedefine H5_INCLUDE_HL @H5_INCLUDE_HL@ -/* Define if your system can accurately convert from integers to long double - values. */ -#cmakedefine H5_INTEGER_TO_LDOUBLE_ACCURATE @H5_INTEGER_TO_LDOUBLE_ACCURATE@ - -/* Define if your system can convert long double to integers accurately. */ -#cmakedefine H5_LDOUBLE_TO_INTEGER_ACCURATE @H5_LDOUBLE_TO_INTEGER_ACCURATE@ - -/* Define if your system can convert from long double to integer values. */ -#cmakedefine H5_LDOUBLE_TO_INTEGER_WORKS @H5_LDOUBLE_TO_INTEGER_WORKS@ - -/* Define if your system can convert long double to (unsigned) long long - values correctly. */ -#cmakedefine H5_LDOUBLE_TO_LLONG_ACCURATE @H5_LDOUBLE_TO_LLONG_ACCURATE@ - /* Define if your system converts long double to (unsigned) long values with special algorithm. */ #cmakedefine H5_LDOUBLE_TO_LONG_SPECIAL @H5_LDOUBLE_TO_LONG_SPECIAL@ -/* Define if your system can convert long double to unsigned int values - correctly. */ -#cmakedefine H5_LDOUBLE_TO_UINT_ACCURATE @H5_LDOUBLE_TO_UINT_ACCURATE@ - -/* Define if your system can compile long long to floating-point casts. */ -#cmakedefine H5_LLONG_TO_FP_CAST_WORKS @H5_LLONG_TO_FP_CAST_WORKS@ - -/* Define if your system can convert (unsigned) long long to long double - values correctly. */ -#cmakedefine H5_LLONG_TO_LDOUBLE_CORRECT @H5_LLONG_TO_LDOUBLE_CORRECT@ - /* Define if your system can convert (unsigned) long to long double values with special algorithm. */ #cmakedefine H5_LONG_TO_LDOUBLE_SPECIAL @H5_LONG_TO_LDOUBLE_SPECIAL@ @@ -690,22 +623,6 @@ /* Define to 1 if your <sys/time.h> declares `struct tm'. */ #cmakedefine H5_TM_IN_SYS_TIME @H5_TM_IN_SYS_TIME@ -/* Define if your system can compile unsigned long long to floating-point - casts. */ -#cmakedefine H5_ULLONG_TO_FP_CAST_WORKS @H5_ULLONG_TO_FP_CAST_WORKS@ - -/* Define if your system can convert unsigned long long to long double with - correct precision. */ -#cmakedefine H5_ULLONG_TO_LDOUBLE_PRECISION @H5_ULLONG_TO_LDOUBLE_PRECISION@ - -/* Define if your system accurately converting unsigned long to float values. - */ -#cmakedefine H5_ULONG_TO_FLOAT_ACCURATE @H5_ULONG_TO_FLOAT_ACCURATE@ - -/* Define if your system can accurately convert unsigned (long) long values to - floating-point values. */ -#cmakedefine H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE @H5_ULONG_TO_FP_BOTTOM_BIT_ACCURATE@ - /* Define using v1.6 public API symbols by default */ #cmakedefine H5_USE_16_API_DEFAULT @H5_USE_16_API_DEFAULT@ @@ -720,13 +637,6 @@ /* Version number of package */ #define H5_VERSION "@HDF5_PACKAGE_VERSION_STRING@" -/* Define if vsnprintf() returns the correct value for formatted strings that - don't fit into size allowed */ -#cmakedefine H5_VSNPRINTF_WORKS @H5_VSNPRINTF_WORKS@ - -/* Data accuracy is prefered to speed during data conversions */ -#cmakedefine H5_WANT_DATA_ACCURACY @H5_WANT_DATA_ACCURACY@ - /* Check exception handling functions during data conversions */ #cmakedefine H5_WANT_DCONV_EXCEPTION @H5_WANT_DCONV_EXCEPTION@ diff --git a/config/cmake/HDF518_Examples.cmake.in b/config/cmake/HDF518_Examples.cmake.in index 7b7cf0a..d767f51 100644 --- a/config/cmake/HDF518_Examples.cmake.in +++ b/config/cmake/HDF518_Examples.cmake.in @@ -13,8 +13,8 @@ set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY}) set(CTEST_BUILD_CONFIGURATION "Release") #set(NO_MAC_FORTRAN "true") #set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=ON") -#set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_ENABLE_F2003:BOOL=ON) -set(CTEST_USE_TAR_SOURCE "${CTEST_SCRIPT_ARG}") +set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_ENABLE_F2003:BOOL=ON") +#set(CTEST_USE_TAR_SOURCE "${CTEST_SCRIPT_ARG}") ############################################################################################################### # Adjust the following SET Commands as needed @@ -23,7 +23,7 @@ if(WIN32) if(STATICLIBRARIES) set(BUILD_OPTIONS "${BUILD_OPTIONS} -DUSE_SHARED_LIBS:BOOL=OFF") endif(STATICLIBRARIES) - set(ENV{HDF5_DIR} "${INSTALLDIR}/cmake/hdf5") + set(ENV{HDF5_DIR} "${INSTALLDIR}/cmake") set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}\\build) set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_SOURCE_NAME}") set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}") @@ -31,7 +31,7 @@ else(WIN32) if(STATICLIBRARIES) set(BUILD_OPTIONS "${BUILD_OPTIONS} -DUSE_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC") endif(STATICLIBRARIES) - set(ENV{HDF5_DIR} "${INSTALLDIR}/share/cmake/hdf5") + set(ENV{HDF5_DIR} "${INSTALLDIR}/share/cmake") set(ENV{LD_LIBRARY_PATH} "${INSTALLDIR}/lib") set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}/build) set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}") @@ -71,8 +71,8 @@ if(CTEST_USE_TAR_SOURCE) message(STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.zip]") execute_process(COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.zip RESULT_VARIABLE rv) else(WIN32) - message(STATUS "extracting... [${CTEST_CMAKE_COMMAND} -E tar -xvf ${CTEST_SOURCE_NAME}.tar.gz]") - execute_process(COMMAND tar -xvf ${CTEST_SOURCE_NAME}.tar.gz RESULT_VARIABLE rv) + message(STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.tar]") + execute_process(COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.tar RESULT_VARIABLE rv) endif(WIN32) if(NOT rv EQUAL 0) @@ -110,16 +110,17 @@ set (CTEST_CONFIGURE_COMMAND set($ENV{LC_MESSAGES} "en_EN") #----------------------------------------------------------------------------- - ## NORMAL process - ## -------------------------- - CTEST_START (Experimental) - CTEST_CONFIGURE (BUILD "${CTEST_BINARY_DIRECTORY}") - CTEST_READ_CUSTOM_FILES ("${CTEST_BINARY_DIRECTORY}") - CTEST_BUILD (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND) - CTEST_TEST (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args} RETURN_VALUE res) - if(res GREATER 0) - message (FATAL_ERROR "tests FAILED") - endif(res GREATER 0) +configure_file(${CTEST_SOURCE_DIRECTORY}/config/cmake/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake) +ctest_read_custom_files ("${CTEST_BINARY_DIRECTORY}") +## NORMAL process +## -------------------------- +ctest_start (Experimental) +ctest_configure (BUILD "${CTEST_BINARY_DIRECTORY}") +ctest_build (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND) +ctest_test (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args} RETURN_VALUE res) +if(res GREATER 0) + message (FATAL_ERROR "tests FAILED") +endif(res GREATER 0) #----------------------------------------------------------------------------- ############################################################################################################## message(STATUS "DONE")
\ No newline at end of file diff --git a/config/cmake/README.txt.cmake.in b/config/cmake/README.txt.cmake.in index 4044ce5..cc8baeb 100644 --- a/config/cmake/README.txt.cmake.in +++ b/config/cmake/README.txt.cmake.in @@ -24,15 +24,15 @@ Installation After Installation =========================================================================== -The compressed examples file HDF5Examples-0.1.1-Source.@BINARY_EXAMPLE_ENDING@, located in the +The examples folder, HDF5Examples, located in the HDF5 install folder, can be built and tested with CMake and the supplied HDF518_Examples.cmake file. The HDF518_Examples.cmake expects HDF5 to have -been installed in the default location with above compilers. Also, CMake and 7Zip -utilities should be installed. +been installed in the default location with above compilers. Also, the CMake +utility should be installed. To test the installation with the examples; Create a directory to run the examples. - Copy HDF5Examples-0.1.1-Source.@BINARY_EXAMPLE_ENDING@ to this directory, do NOT unzip. + Copy HDF5Examples folder to this directory. Copy HDF518_Examples.cmake to this directory. Edit HDF518_Examples.cmake line 8 to set INSTALLDIR to where HDF5 is installed. (The default should be correct unless you installed into a different folder.) diff --git a/config/cmake/cacheinit.cmake b/config/cmake/cacheinit.cmake index e68afe6..87d4fcc 100644 --- a/config/cmake/cacheinit.cmake +++ b/config/cmake/cacheinit.cmake @@ -10,18 +10,10 @@ set (BUILD_TESTING ON CACHE BOOL "Build HDF5 Unit Testing" FORCE) set (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE) -set (HDF5_BUILD_CPP_LIB ON CACHE BOOL "Build HDF5 C++ Library" FORCE) - -set (HDF5_BUILD_EXAMPLES ON CACHE BOOL "Build HDF5 Library Examples" FORCE) - set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE) set (HDF5_ENABLE_F2003 ON CACHE BOOL "Enable FORTRAN 2003 Standard" FORCE) -set (HDF5_BUILD_HL_LIB ON CACHE BOOL "Build HIGH Level HDF5 Library" FORCE) - -set (HDF5_BUILD_TOOLS ON CACHE BOOL "Build HDF5 Tools" FORCE) - set (HDF5_BUILD_GENERATORS OFF CACHE BOOL "Build Test Generators" FORCE) set (HDF5_ENABLE_Z_LIB_SUPPORT ON CACHE BOOL "Enable Zlib Filters" FORCE) diff --git a/config/cmake/hdf5-config.cmake.in b/config/cmake/hdf5-config.cmake.in index 8287c7b..da5304d 100644 --- a/config/cmake/hdf5-config.cmake.in +++ b/config/cmake/hdf5-config.cmake.in @@ -3,63 +3,76 @@ #----------------------------------------------------------------------------- @PACKAGE_INIT@ +string(TOUPPER @HDF5_PACKAGE@ HDF5_PACKAGE_NAME) + +set (${HDF5_PACKAGE_NAME}_VALID_COMPONENTS + C + CXX + Fortran + HL + CXX_HL + Fortran_HL + Tools +) + #----------------------------------------------------------------------------- # User Options #----------------------------------------------------------------------------- -set (HDF5_ENABLE_PARALLEL @HDF5_ENABLE_PARALLEL@) -set (HDF5_BUILD_FORTRAN @HDF5_BUILD_FORTRAN@) -set (HDF5_ENABLE_F2003 @HDF5_ENABLE_F2003@) -set (HDF5_BUILD_CPP_LIB @HDF5_BUILD_CPP_LIB@) -set (HDF5_BUILD_TOOLS @HDF5_BUILD_TOOLS@) -set (HDF5_BUILD_HL_LIB @HDF5_BUILD_HL_LIB@) -set (HDF5_ENABLE_Z_LIB_SUPPORT @HDF5_ENABLE_Z_LIB_SUPPORT@) -set (HDF5_ENABLE_SZIP_SUPPORT @HDF5_ENABLE_SZIP_SUPPORT@) -set (HDF5_ENABLE_SZIP_ENCODING @HDF5_ENABLE_SZIP_ENCODING@) -set (HDF5_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@) -set (HDF5_PACKAGE_EXTLIBS @HDF5_PACKAGE_EXTLIBS@) +set (${HDF5_PACKAGE_NAME}_ENABLE_PARALLEL @HDF5_ENABLE_PARALLEL@) +set (${HDF5_PACKAGE_NAME}_BUILD_FORTRAN @HDF5_BUILD_FORTRAN@) +set (${HDF5_PACKAGE_NAME}_ENABLE_F2003 @HDF5_ENABLE_F2003@) +set (${HDF5_PACKAGE_NAME}_BUILD_CPP_LIB @HDF5_BUILD_CPP_LIB@) +set (${HDF5_PACKAGE_NAME}_BUILD_TOOLS @HDF5_BUILD_TOOLS@) +set (${HDF5_PACKAGE_NAME}_BUILD_HL_LIB @HDF5_BUILD_HL_LIB@) +set (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT @HDF5_ENABLE_Z_LIB_SUPPORT@) +set (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT @HDF5_ENABLE_SZIP_SUPPORT@) +set (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_ENCODING @HDF5_ENABLE_SZIP_ENCODING@) +set (${HDF5_PACKAGE_NAME}_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@) +set (${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS @HDF5_PACKAGE_EXTLIBS@) +set (${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES @HDF5_LIBRARIES_TO_EXPORT@) #----------------------------------------------------------------------------- # Dependencies #----------------------------------------------------------------------------- -IF(HDF5_ENABLE_PARALLEL) - SET(HDF5_MPI_C_INCLUDE_PATH "@MPI_C_INCLUDE_PATH@") - SET(HDF5_MPI_C_LIBRARIES "@MPI_C_LIBRARIES@") -ENDIF(HDF5_ENABLE_PARALLEL) +if (${HDF5_PACKAGE_NAME}_ENABLE_PARALLEL) + set (${HDF5_PACKAGE_NAME}_MPI_C_INCLUDE_PATH "@MPI_C_INCLUDE_PATH@") + set (${HDF5_PACKAGE_NAME}_MPI_C_LIBRARIES "@MPI_C_LIBRARIES@") +endif () #----------------------------------------------------------------------------- # Directories #----------------------------------------------------------------------------- -set (HDF5_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@" "${HDF5_MPI_C_INCLUDE_PATH}" ) +set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@" "${${HDF5_PACKAGE_NAME}_MPI_C_INCLUDE_PATH}") -set (HDF5_SHARE_DIR "@PACKAGE_SHARE_INSTALL_DIR@") -set_and_check (HDF5_BUILD_DIR "@PACKAGE_CURRENT_BUILD_DIR@") +set (${HDF5_PACKAGE_NAME}_SHARE_DIR "@PACKAGE_SHARE_INSTALL_DIR@") +set_and_check (${HDF5_PACKAGE_NAME}_BUILD_DIR "@PACKAGE_CURRENT_BUILD_DIR@") -if (HDF5_BUILD_FORTRAN) - set (HDF5_INCLUDE_DIR_FORTRAN "@PACKAGE_INCLUDE_INSTALL_DIR@" ) -endif (HDF5_BUILD_FORTRAN) +if (${HDF5_PACKAGE_NAME}_BUILD_FORTRAN) + set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_FORTRAN "@PACKAGE_INCLUDE_INSTALL_DIR@") +endif () -if (HDF5_BUILD_CPP_LIB) - set (HDF5_INCLUDE_DIR_CPP "@PACKAGE_INCLUDE_INSTALL_DIR@" ) -endif (HDF5_BUILD_CPP_LIB) +if (${HDF5_PACKAGE_NAME}_BUILD_CPP_LIB) + set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_CPP "@PACKAGE_INCLUDE_INSTALL_DIR@") +endif () -if (HDF5_BUILD_HL_LIB) - set (HDF5_INCLUDE_DIR_HL "@PACKAGE_INCLUDE_INSTALL_DIR@" ) -endif (HDF5_BUILD_HL_LIB) +if (${HDF5_PACKAGE_NAME}_BUILD_HL_LIB) + set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_HL "@PACKAGE_INCLUDE_INSTALL_DIR@") +endif () -if (HDF5_BUILD_HL_LIB AND HDF5_BUILD_CPP_LIB) - set (HDF5_INCLUDE_DIR_HL_CPP "@PACKAGE_INCLUDE_INSTALL_DIR@" ) -endif (HDF5_BUILD_HL_LIB AND HDF5_BUILD_CPP_LIB) +if (${HDF5_PACKAGE_NAME}_BUILD_HL_LIB AND ${HDF5_PACKAGE_NAME}_BUILD_CPP_LIB) + set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_HL_CPP "@PACKAGE_INCLUDE_INSTALL_DIR@") +endif () -if (HDF5_BUILD_TOOLS) - set (HDF5_INCLUDE_DIR_TOOLS "@PACKAGE_INCLUDE_INSTALL_DIR@" ) - set_and_check (HDF5_TOOLS_DIR "@PACKAGE_CURRENT_BUILD_DIR@/bin" ) -endif (HDF5_BUILD_TOOLS) +if (${HDF5_PACKAGE_NAME}_BUILD_TOOLS) + set (${HDF5_PACKAGE_NAME}_INCLUDE_DIR_TOOLS "@PACKAGE_INCLUDE_INSTALL_DIR@") + set_and_check (${HDF5_PACKAGE_NAME}_TOOLS_DIR "@PACKAGE_CURRENT_BUILD_DIR@/bin") +endif () if (HDF5_BUILD_SHARED_LIBS) - set (H5_BUILT_AS_DYNAMIC_LIB 1 ) -else (HDF5_BUILD_SHARED_LIBS) - set (H5_BUILT_AS_STATIC_LIB 1 ) -endif (HDF5_BUILD_SHARED_LIBS) + set (H5_BUILT_AS_DYNAMIC_LIB 1) +else () + set (H5_BUILT_AS_STATIC_LIB 1) +endif () #----------------------------------------------------------------------------- # Version Strings @@ -73,14 +86,64 @@ set (HDF5_VERSION_MINOR @HDF5_VERSION_MINOR@) # project which has already built hdf5 as a subproject #----------------------------------------------------------------------------- if (NOT TARGET "@HDF5_PACKAGE@") - if (HDF5_ENABLE_Z_LIB_SUPPORT AND HDF5_PACKAGE_EXTLIBS AND NOT TARGET "zlib") - include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) - endif (HDF5_ENABLE_Z_LIB_SUPPORT AND HDF5_PACKAGE_EXTLIBS AND NOT TARGET "zlib") - if (HDF5_ENABLE_SZIP_SUPPORT AND HDF5_PACKAGE_EXTLIBS AND NOT TARGET "szip") - include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE_NAME@/@SZIP_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) - endif (HDF5_ENABLE_SZIP_SUPPORT AND HDF5_PACKAGE_EXTLIBS AND NOT TARGET "szip") + if (${HDF5_PACKAGE_NAME}_ENABLE_Z_LIB_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "zlib") + include (@PACKAGE_SHARE_INSTALL_DIR@/@ZLIB_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) + endif () + if (${HDF5_PACKAGE_NAME}_ENABLE_SZIP_SUPPORT AND ${HDF5_PACKAGE_NAME}_PACKAGE_EXTLIBS AND NOT TARGET "szip") + include (@PACKAGE_SHARE_INSTALL_DIR@/@SZIP_PACKAGE_NAME@@HDF_PACKAGE_EXT@-targets.cmake) + endif () include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF5_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake) - set (HDF5_LIBRARIES "@HDF5_LIBRARIES_TO_EXPORT@") -endif (NOT TARGET "@HDF5_PACKAGE@") +endif () + +# Handle default component : +if (NOT ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS) + set (${HDF5_PACKAGE_NAME}_FIND_COMPONENTS C HL) + set (${HDF5_PACKAGE_NAME}_FIND_REQUIRED_C true) +endif () + +# Handle requested components: +list (REMOVE_DUPLICATES ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS) + foreach (comp IN LISTS ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS) + set (hdf5_comp2) + if (${comp} MATCHES "C") + set (hdf5_comp "hdf5") + elseif (${comp} MATCHES "CXX") + set (hdf5_comp "hdf5_cpp") + elseif (${comp} MATCHES "HL") + set (hdf5_comp "hdf5_hl") + elseif (${comp} MATCHES "CXX_HL") + set (hdf5_comp "hdf5_hl_cpp") + elseif (${comp} MATCHES "Tools") + set (hdf5_comp "hdf5_tools") + elseif (${comp} MATCHES "Fortran") + set (hdf5_comp2 "hdf5_f90cstub") + set (hdf5_comp "hdf5_fortran") + elseif (${comp} MATCHES "Fortran_HL") + set (hdf5_comp2 "hdf5_hl_f90cstub") + set (hdf5_comp "hdf5_hl_fortran") + endif () + list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp}" HAVE_COMP) + if (${HAVE_COMP} LESS 0) + set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 0) + else () + if (hdf5_comp2) + list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp2}" HAVE_COMP2) + if (${HAVE_COMP2} LESS 0) + set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 0) + else () + set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 1) + string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY) + set (${COMP_LIBRARY} ${${COMP_LIBRARY}} ${hdf5_comp2} ${hdf5_comp}) + endif () + else () + set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 1) + string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY) + set (${COMP_LIBRARY} ${${COMP_LIBRARY}} ${hdf5_comp}) + endif () + endif () + endforeach () + + check_required_components(${HDF5_PACKAGE_NAME}_FIND_COMPONENTS) -check_required_components(hdf5) +set (${HDF5_PACKAGE_NAME}_LIBRARIES ${${COMP_LIBRARY}}) +
\ No newline at end of file diff --git a/config/cmake/patch.xml b/config/cmake/patch.xml new file mode 100644 index 0000000..70571c5 --- /dev/null +++ b/config/cmake/patch.xml @@ -0,0 +1,11 @@ +<CPackWiXPatch> + <CPackWiXFragment Id="CM_CP_libraries.bin.hdf5.dll"> + <Environment Id="PATH" + Name="PATH" + Value="[CM_DP_libraries.bin]" + Permanent="no" + Part="last" + Action="set" + System="yes"/> + </CPackWiXFragment> +</CPackWiXPatch> diff --git a/config/craynv b/config/craynv deleted file mode 100644 index 479d5c8..0000000 --- a/config/craynv +++ /dev/null @@ -1,198 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# Copyright by the Board of Trustees of the University of Illinois. -# 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. - - -# 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. - -# Disabling Dependency Tracking -# --------------------- -# -# The Cray X1 machines that The HDF Group tests on seem to have trouble doing -# dependency tracking (probably because they use Cray's C++ compiler, -# which autoconf may not recognize). Until this is fixed by autoconf -# or a user complains, disable dependency tracking on Crays. -enable_dependency_tracking="no" - -# Choosing a C Compiler -# --------------------- -# -# The user should be able to specify the compiler by setting the CC -# environment variable to the name of the compiler and any switches it -# requires for proper operation. If CC is unset then this script may -# set it. If CC is unset by time this script completes then configure -# will try `gcc' and `cc' in that order (perhaps some others too). -# -# Note: Code later in this file may depend on the value of $CC_BASENAME -# in order to distinguish between different compilers when -# deciding which compiler command-line switches to use. This -# variable is set based on the incoming value of $CC and is only -# used within this file. - -if test "X-" = "X-$CC"; then - CC=cc - CC_BASENAME=cc -fi -# no need to use RANLIB -RANLIB=: - -# C Compiler and Preprocessor Flags -# --------------------------------- -# -# Flags that end with `_CFLAGS' are always passed to the compiler. -# Flags that end with `_CPPFLAGS' are passed to the compiler when -# compiling but not when linking. -# -# DEBUG_CFLAGS Flags to pass to the compiler to create a -# DEBUG_CPPFLAGS library suitable for use with debugging -# tools. Usually this list will exclude -# optimization switches (like `-O') and include -# switches that turn on symbolic debugging -# support (like `-g'). -# -# PROD_CFLAGS Flags to pass to the compiler to create a -# PROFILE_CPPFLAGS library suitable for performance testing (like -# `-pg'). This may or may not include debugging -# or production flags. -# -# H5_CFLAGS Flags can be added to this variable which -# might already be partially initialized. These -# flags will always be passed to the compiler -# and should include switches to turn on full -# warnings. HDF5 attempts to be ANSI and Posix -# compliant and employ good programming -# practices resulting in few if any -# warnings. -# -# Warning flags do not have to be added to H5_CFLAGS -# variable if the compiler is the GNU gcc -# compiler or a descendent of gcc such as EGCS or PGCC. -# -# AM_CFLAGS Flags added directly into this variable will -# be propogated to the compiler wrapper scripts (h5cc, -# h5c++, et cetera) in addition to being used to compile -# the library. -# -# These flags should be set according to the compiler being used. -# There are two ways to check the compiler. You can try using `-v' or -# `--version' to see if the compiler will print a version string. You -# can use the value of $CC_BASENAME which is the base name of the -# first word in $CC (note that the value of CC may have changed -# above). - -case $CC_BASENAME in - gcc) - H5_CFLAGS="$H5_CFLAGS -Wsign-compare" #Only works for some versions - DEBUG_CFLAGS="-g -fverbose-asm" - DEBUG_CPPFLAGS= - PROD_CFLAGS="-O3 -fomit-frame-pointer" - PROD_CPPFLAGS= - PROFILE_CFLAGS="-pg" - PROFILE_CPPFLAGS= - ;; - - cc) - H5_CFLAGS="$H5_CFLAGS" - DEBUG_CFLAGS="-g" - DEBUG_CPPFLAGS= - PROD_CFLAGS="" - PROD_CPPFLAGS= - PROFILE_CFLAGS= - PROFILE_CPPFLAGS= - ;; - - *) - H5_CFLAGS="$H5_CFLAGS -ansi" - DEBUG_CFLAGS="-g" - DEBUG_CPPFLAGS= - PROD_CFLAGS="-O" - PROD_CPPFLAGS= - PROFILE_CFLAGS="-pg" - PROFILE_CPPFLAGS= - ;; -esac - - - -# Overriding Configure Tests -# -------------------------- -# -# Values for overriding configuration tests when cross compiling. -# This includes compiling on some machines where the serial front end -# compiles for a parallel back end. - -# Set this to `yes' or `no' depending on whether the target is big -# endian or little endian. -#ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'} - -# Set this to the width required by printf() to print type `long -# long'. For instance, if the format would be `%lld' then set it to -# `ll' or if the format would be `%qd' set it to `q'. -#hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'} - -# Hard set the flag to indicate that converting denormalized floating-point -# values doesn't work. -hdf5_cv_convert_denormal_float=${hdf5_cv_convert_denormal_float='no'} - -# The default Fortran 90 compiler - -if test "X-" = "X-$F9X"; then - F9X=ftn -fi - -if test "X-" = "X-$f9x_flags_set"; then - # -Wl passes flags to the linker and -M# will ignore warnings with - # number#. Warning 405 and 412 were stopping the executable from - # being built. - # The -em flag enables .mod files, which is what HDF5 builds. - F9XSUFFIXFLAG="" - FSEARCH_DIRS="" - H5_FCFLAGS="$H5_FCFLAGS -em" - DEBUG_FCFLAGS="-g" - PROD_FCFLAGS="" - PROFILE_FCFLAGS="" - f9x_flags_set=yes -fi - -# The default C++ compiler - -if test -z "$CXX"; then - CXX="CC" - CXX_BASENAME=CC -fi - -case $CXX_BASENAME in - g++) - H5_CXXFLAGS="$H5_CXXFLAGS -Wsign-compare" #Only works for some versions - DEBUG_CXXFLAGS="-g -fverbose-asm" - DEBUG_CPPFLAGS= - PROD_CXXFLAGS="-O3 -fomit-frame-pointer" - PROD_CPPFLAGS= - PROFILE_CXXFLAGS="-pg" - PROFILE_CPPFLAGS= - ;; - - *) - H5_CXXFLAGS="$H5_CXXFLAGS" - DEBUG_CXXFLAGS="-g" - DEBUG_CPPFLAGS= - PROD_CXXFLAGS="" - PROD_CPPFLAGS= - PROFILE_CXXFLAGS= - PROFILE_CPPFLAGS= - ;; -esac - diff --git a/config/dec-flags b/config/dec-flags deleted file mode 100644 index 8f3fa1a..0000000 --- a/config/dec-flags +++ /dev/null @@ -1,150 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# Copyright by the Board of Trustees of the University of Illinois. -# 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. - - -# This file should be sourced into configure if the compiler is a DEC -# compiler. It is careful not to do anything if the compiler is not -# DEC; otherwise `cc_flags_set' is set to `yes' -# - -# Get the compiler version unless it's already known. -# -# cc_vendor: The compiler vendor: DEC -# cc_version: Version number, like: V5.2-038 -# -if test X = "X$cc_flags_set"; then - cc_vendor=DEC - cc_version="`$CC $CFLAGS $H5_CFLAGS -V 2>&1 |head -1`" - case "$cc_version" in - DEC*) - cc_version="`echo $cc_version |\ - sed 's/.*DEC C \(V[0-9][-\.0-9]*\).*/\1/'`" - ;; - Compaq*) - cc_version="`echo $cc_version |\ - sed 's/.*Compaq C \(V[0-9][-\.0-9]*\).*/\1/'`" - ;; - esac - - if test X != "$gcc_version"; then - echo "compiler '$CC' is $cc_vendor-$cc_version" - else - cc_vendor= - fi -fi - -# Warn about old compilers that don't work right. -case "$cc_vendor-$cc_version" in - DEC-V5.2-038) - cat <<EOF - ** - ** This compiler may generate incorrect code when optimizations are - ** enabled. Please upgrade to a newer version (we're not sure which - ** version actually works) before reporting bugs to the HDF5 team. - ** -EOF - sleep 5 - ;; -esac - -# Compiler flags -case "$cc_vendor-$cc_version" in - DEC-V5.*) - # Production - PROD_CFLAGS="-std -verbose -warnprotos -ieee -misalign -O4 -ansi_args -fp_reorder -readonly_strings -inline speed" - PROD_CPPFLAGS="-D_INTRINSICS -D_INLINE_INTRINSICS" - - # Debug - DEBUG_CFLAGS="-g -std -verbose -warnprotos -ieee -misalign" - DEBUG_CPPFLAGS= - - # Profile - PROFILE_CFLAGS="-pg -std -verbose -warnprotos -ieee -misalign" - PROFILE_CPPFLAGS= - - # Flags are set - cc_flags_set=yes - ;; - - DEC-V6.*) - # Production - PROD_CFLAGS="-c99 -verbose -warnprotos -ieee -misalign -O4 -fp_reorder -readonly_strings -inline speed" - PROD_CPPFLAGS="-D_INTRINSICS -D_INLINE_INTRINSICS" - - # Debug - DEBUG_CFLAGS="-g -c99 -verbose -warnprotos -ieee -misalign" - DEBUG_CPPFLAGS= - - # Profile - PROFILE_CFLAGS="-pg -c99 -verbose -warnprotos -ieee -misalign" - PROFILE_CPPFLAGS= - - # Flags are set - cc_flags_set=yes - ;; -esac - -# If no flags were set then clear the compiler vendor and version info. -if test X = "X$cc_flags_set"; then - cc_vendor= - cc_version= -fi - -# The default Fortran 90 compiler - -if test "X-" = "X-$FC"; then - FC=f90 -fi - -if test "X-" = "X-$f9x_flags_set"; then - F9XSUFFIXFLAG="" - FSEARCH_DIRS="" - H5_FCFLAGS="$H5_FCFLAGS -Olimit 2048 -std1" - DEBUG_FCFLAGS="-Olimit 2048 -std1" - PROD_FCFLAGS="-Olimit 2048 -std1" - PROFILE_FCFLAGS="-Olimit 2048 -std1" - f9x_flags_set=yes -fi - -# The default C++ compiler - -if test -z "$CXX"; then - CXX=cxx - CXX_BASENAME=cxx -fi - - -case $CXX_BASENAME in - g++) - H5_CXXFLAGS="$H5_CXXFLAGS -Wsign-compare" #Only works for some versions - DEBUG_CXXFLAGS="-g -fverbose-asm" - DEBUG_CPPFLAGS= - PROD_CXXFLAGS="-O3 -fomit-frame-pointer" - PROD_CPPFLAGS= - PROFILE_CXXFLAGS="-pg" - PROFILE_CPPFLAGS= - ;; - - *) - H5_CXXFLAGS="$H5_CXXFLAGS -tlocal -D__USE_STD_IOSTREAM" - DEBUG_CXXFLAGS="-g" - DEBUG_CPPFLAGS= - PROD_CXXFLAGS="-O" - PROD_CPPFLAGS= - PROFILE_CXXFLAGS="-pg" - PROFILE_CPPFLAGS= - ;; -esac - diff --git a/config/hpux11.23 b/config/hpux11.23 deleted file mode 100644 index 339cc84..0000000 --- a/config/hpux11.23 +++ /dev/null @@ -1,96 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# Copyright by the Board of Trustees of the University of Illinois. -# 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. - - -# 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. -# -# See BlankForm in this directory for details. - -# Default compiler is `cc' -if test "X-" = "X-$CC"; then - CC=cc - CC_BASENAME=cc -fi - -# Flags -case "X-$CC" in - X-gcc) - H5_CFLAGS="$H5_CFLAGS -Wsign-compare" #Only works for some versions - DEBUG_CFLAGS="-g -fverbose-asm" - DEBUG_CPPFLAGS= - PROD_CFLAGS="-O3" - PROD_CPPFLAGS= - PROFILE_CFLAGS="-pg" - PROFILE_CPPFLAGS= - ;; - - *) - H5_CFLAGS="$H5_CFLAGS -Ae -Wp,-H65536" #increase the size of macro definition table. For test/dtypes.c - DEBUG_CFLAGS=-g - DEBUG_CPPFLAGS="-Ae" - PROD_CFLAGS=-O - PROD_CPPFLAGS="-Ae" - PROFILE_CFLAGS= - PROFILE_CPPFLAGS="-Ae" - ;; -esac - -# The default Fortran 90 compiler - -if test "X$FC" = "X"; then - FC=f90 -fi - -if test "X$f9x_flags_set" = "X"; then - F9XSUFFIXFLAG="" - FSEARCH_DIRS="" - H5_FCFLAGS="$H5_FCFLAGS -O" - DEBUG_FCFLAGS="-O" - PROD_FCFLAGS="-O" - PROFILE_FCFLAGS="-O" - f9x_flags_set=yes -fi - -# The default C++ compiler - -if test -z "$CXX"; then - CXX=aCC - CXX_BASENAME=aCC -fi - -case "X-$CXX" in - X-aCC) - # +Z for PIC - H5_CXXFLAGS="$H5_CXXFLAGS +Z -D_INCLUDE_LONGLONG" - H5_CFLAGS="$H5_CFLAGS -g +O2" - DEBUG_CXXFLAGS=-g - DEBUG_CPPFLAGS= - PROD_CXXFLAGS="-O -s" - PROD_CPPFLAGS= - PROFILE_CPPFLAGS= - ;; - - *) - H5_CXXFLAGS="$H5_CXXFLAGS -D_INCLUDE_LONGLONG" - H5_CFLAGS="$H5_CFLAGS" - DEBUG_CXXFLAGS= - DEBUG_CPPFLAGS= - PROD_CXXFLAGS= - PROD_CPPFLAGS= - PROFILE_CPPFLAGS= - ;; -esac diff --git a/config/ia64-linux-gnu b/config/ia64-linux-gnu deleted file mode 100644 index 9f1b262..0000000 --- a/config/ia64-linux-gnu +++ /dev/null @@ -1,144 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# Copyright by the Board of Trustees of the University of Illinois. -# 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. - - -# 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 Intel C compiler by default (if it's available). -# Use mpicc for parallel by default. -if test "X$CC" = "X"; then - if test "X-$enable_parallel" = "X-yes"; then - CC=mpicc - CC_BASENAME=mpicc - elif which icc > /dev/null; then - CC=icc - CC_BASENAME=icc - fi -fi - -# Define RUNPARALLEL if parallel mode is enabled or a parallel compiler used. -if test "X-$enable_parallel" = "X-yes" -o X-$CC_BASENAME = X-mpicc; then - RUNPARALLEL=${RUNPARALLEL="mpirun -np \$\${NPROCS:=6}"} -fi - -#---------------------------------------------------------------------------- -# Compiler flags. The CPPFLAGS values should not include package debug -# flags like `-DH5G_DEBUG' since these are added with the -# `--enable-debug' switch of configure. - -case $CC_BASENAME in - ecc|icc) - . $srcdir/config/intel-flags - ;; - - gcc) - . $srcdir/config/gnu-flags - ;; - - *) - H5_CFLAGS="$H5_CFLAGS -ansi" - DEBUG_CFLAGS="-g" - DEBUG_CPPFLAGS= - PROD_CFLAGS="-O" - PROD_CPPFLAGS= - PROFILE_CFLAGS="-pg" - PROFILE_CPPFLAGS= - ;; -esac - -# The default Fortran 90 compiler - -# Use Intel Fortran compiler by default. -if test X-$enable_fortran = X-yes -a "X-$FC" = "X-"; then - if test "X-$enable_parallel" = "X-yes"; then - FC=mpif90 - else - FC="ifort" - fi -fi - -case $FC in - *efc|*ifort) - # this is for efc v7. Older efc do not work with these. - # -Vaxlib is for non-standard fortran calls like exit(). - MORE_FCFLAGS='-fpp -DDEC$=DEC_ -DMS$=MS_ -Vaxlib' - H5_FCFLAGS="$H5_FCFLAGS $MORE_FCFLAGS" - f9x_flags_set=yes - ;; - - *) - f9x_flags_set=yes - ;; -esac - -# The following is not right and need work. -if test "X$f9x_flags_set" = "X"; then - F9XSUFFIXFLAG="" - FSEARCH_DIRS="" - H5_FCFLAGS="$H5_FCFLAGS" - DEBUG_FCFLAGS="" - PROD_FCFLAGS="" - PROFILE_FCFLAGS="" - f9x_flags_set=yes -fi - -# The Default settings for C++ -# Intel changed C++ compiler's name from "icc" to "icpc" in version 8.1 -if test -z "$CXX"; then - CXX=icpc - CXX_BASENAME=icpc -fi - -# A patch to make g++ getting the default settings. -# CXX_BASENAME should have been set in configure. -if test "X$CXX" = "Xg++"; then - CXX_BASENAME=g++ -fi - - -case $CXX_BASENAME in - ecc|icc) # Intel compilers - # Default to C99 standard. - H5_CXXFLAGS="${H5_CXXFLAGS:--std=c99}" - DEBUG_CXXFLAGS="-g -w2 -Wall" - DEBUG_CPPFLAGS= - PROD_CXXFLAGS="" #Default optimization O2 is used - PROD_CPPFLAGS= - PROFILE_CXXFLAGS="-pg" - PROFILE_CPPFLAGS= - ;; - g++) - H5_CXXFLAGS="$H5_CXXFLAGS -Wsign-compare" #Only works for some versions - DEBUG_CXXFLAGS="-g -fverbose-asm" - DEBUG_CPPFLAGS= - PROD_CXXFLAGS="-O3 -fomit-frame-pointer" - PROD_CPPFLAGS= - PROFILE_CXXFLAGS="-pg" - PROFILE_CPPFLAGS= - ;; - - *) - # Default to C99 standard. - H5_CXXFLAGS="${H5_CXXFLAGS:--std=c99}" - DEBUG_CXXFLAGS="-g" - DEBUG_CPPFLAGS= - PROD_CXXFLAGS="-O" - PROD_CPPFLAGS= - PROFILE_CXXFLAGS="-pg" - PROFILE_CPPFLAGS= - ;; -esac diff --git a/config/irix6.x b/config/irix6.x deleted file mode 100644 index 8907a66..0000000 --- a/config/irix6.x +++ /dev/null @@ -1,178 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# Copyright by the Board of Trustees of the University of Illinois. -# 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. - - -# 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. -# -# See BlankForm in this directory for details. - -# Disable dependency tracking on IRIX unless the user specifically asks for -# it. -# IRIX's pmake confuses automake (as of version 1.9) if dependency tracking -# is enabled and it is not an in-place build. Simply disabling dependency -# tracking on IRIX is simpler to implement than detecting pmake, detecting -# when a build is not in-place, and then disabling dependency tracking. -if test -z "${enable_dependency_tracking}"; then - enable_dependency_tracking="no" -fi - -# Use SGI supplied C compiler by default. There is no ranlib -if test "X-" = "X-$CC"; then - CC='cc' - CC_BASENAME=cc - # use c99 compiler if available. - if `c99 -version >/dev/null 2>&1` ; then - CC='c99' - fi -fi -RANLIB=: - -# Compiler flags -case "X-$CC_BASENAME" in - X-gcc) - . $srcdir/config/gnu-flags - ;; - - *) - if [ "$CC_BASENAME" = "cc" ] || ($CC -version 2>&1 | grep -s "MIPSpro Compilers") 2>&1 > /dev/null; then - # use these flags if this is the SGI cc compiler or some compiler - # command that eventually uses the SGI cc compiler. - - # Check for old versions of the compiler that don't work right. - case "`$CC -version 2>&1 |head -1`" in - "Mongoose Compilers: Version 7.00") - echo " +---------------------------------------------------+" - echo " | You have an old version of cc (Mongoose Compilers |" - echo " | version 7.00). Please upgrade to MIPSpro version |" - echo " | 7.2.1.2m (patches are available from the SGI web |" - echo " | site). The 7.00 version may generate incorrect |" - echo " | code, especially when optimizations are enabled. |" - echo " +---------------------------------------------------+" - sleep 5 - ;; - esac - - # Always turn off these compiler warnings for the -64 compiler: - # 1174: function declared but not used - # 1196: __vfork() (this is an SGI config problem) - # 1209: constant expressions - # 1429: the `long long' type is not standard - # 1685: turn off warnings about turning off invalid warnings - # 3201: remark - parameter not referenced - #H5_CFLAGS="$H5_CFLAGS -woff 1174,1429,1209,1196,1685,3201" - H5_CFLAGS="$H5_CFLAGS -woff 1209,3201" - - # Always turn off these compiler warnings for the old compiler: - # 799: the `long long' type is not standard - # 803: turn off warnings about turning off invalid warnings - # 835: __vfork() (this is an SGI config problem) - #H5_CFLAGS="$H5_CFLAGS -woff 799,803,835" - - # Always turn off these loader warnings: - # (notice the peculiar syntax) - # 47: branch instructions that degrade performance on R4000 - # 84: a library is not used - # 85: duplicate definition preemption (from -lnsl) - # 134: duplicate weak definition preemption (from -lnsl) - H5_CFLAGS="$H5_CFLAGS -Wl,-woff,47,-woff,84,-woff,85,-woff,134" - fi - - # Extra debugging flags - DEBUG_CFLAGS="-g -fullwarn" - DEBUG_CPPFLAGS= - - # Extra production flags - PROD_CFLAGS="-O -OPT:Olimit=0 -s" - PROD_CPPFLAGS= - - # Extra profiling flags - PROFILE_CFLAGS= - PROFILE_CPPFLAGS= - ;; -esac - -# The default Fortran 90 compiler - -if test "X-" = "X-$FC"; then - FC="f90" -fi - -if test "X-" = "X-$f9x_flags_set"; then - F9XSUFFIXFLAG="" - FSEARCH_DIRS="" - H5_FCFLAGS="$H5_FCFLAGS -mips4 -O -s" - DEBUG_FCFLAGS="-mips4 -O -s" - PROD_FCFLAGS="-mips4 -O -s" - PROFILE_FCFLAGS="-mips4 -O -s" - f9x_flags_set=yes -fi - -# The default C++ compiler - -# The default compiler is `MIPSpro CC' -if test -z "$CXX"; then - CXX=CC - CXX_BASENAME=CC -fi - -# Try native compiler flags -if test -z "$cxx_flags_set"; then - # -LANG:std required for std use; -ptused causes templates used to be - # instantiated - AM_CPPFLAGS="$AM_CPPFLAGS -LANG:std" - H5_CPPFLAGS="$H5_CPPFLAGS -ptused" - - # libCio is a default library, since libtool before 1.5 doesn't fully - # support C++ yet, default libraries must be explicitly specified. - # A new macro is used for this temporary and specific task so it - # won't polute the existing configuration - DEFAULT_LIBS="-lCio" - - DEBUG_CXXFLAGS=-g - DEBUG_CPPFLAGS= - PROD_CXXFLAGS="-O -s" - PROD_CPPFLAGS= - PROFILE_CXXFLAGS=-xpg - PROFILE_CPPFLAGS= - cxx_flags_set=yes -fi - -# Hard set flag to indicate that the 'unsigned long long' to floating-point -# value conversion are broken by the compilers (as of 4/27/04 - QAK) -hdf5_cv_ulong_to_fp_bottom_bit_accurate=${hdf5_cv_ulong_to_fp_bottom_bit_accurate='no'} - -# Set flags to avoid conversion between 'long double' and integers because of -# SGI's compiler problems. For both IRIX64 6.5 and IRIX 6.5, the compilers -# have the following problems, -# long double -> signed char : incorrect rounding -# long double -> unsigned char : incorrect rounding -# long double -> short : incorrect rounding -# long double -> unsigned short : incorrect rounding -# long double -> long or long long: incorrect value -# long double -> unsigned long or long long : incorrect value -# -# long or long long -> long double : correct value but incorrect bit pattern -# unsigned long or long long -> long double : correct value but incorrect bit pattern -# (1/5/05 - SLU) -hdf5_cv_ldouble_to_integer_accurate=${hdf5_cv_ldouble_to_integer_accurate='no'} -hdf5_cv_integer_to_ldouble_accurate=${hdf5_cv_integer_to_ldouble_accurate='no'} - -# Set flag to generate alternate code for H5VM_log2_gen, to avoid -# problems with the MIPSpro compiler 7.30 and IRIX64 6.5 (ie. other -# combinations might work, but haven't been tested) -# (9/15/06 - QAK) -hdf5_cv_bad_log2_code_generated=${hdf5_cv_bad_log2_code_generated='yes'} diff --git a/config/linux-gnulibc1 b/config/linux-gnulibc1 index c18c02d..465bfed 100644 --- a/config/linux-gnulibc1 +++ b/config/linux-gnulibc1 @@ -38,6 +38,9 @@ fi # Figure out PGI C compiler flags . $srcdir/config/pgi-flags +# Figure out CCE C compiler flags +. $srcdir/config/cce-flags + # Figure out Intel C compiler flags . $srcdir/config/intel-flags @@ -89,10 +92,13 @@ else esac fi -# Figure out PGI F90 compiler flags +# Figure out PGI FC compiler flags . $srcdir/config/pgi-fflags -# Figure out Intel F90 compiler flags +# Figure out CCE FC compiler flags +. $srcdir/config/cce-fflags + +# Figure out Intel FC compiler flags . $srcdir/config/intel-fflags case $FC_BASENAME in @@ -125,6 +131,10 @@ if test -z "$CXX"; then fi # compiler version strings + +# check if the compiler_version_info is already set +if test -z "$cc_version_info"; then + case $CC in # whatever matches *pgcc* will also match *gcc*, so this one must come first *pgcc*) @@ -153,7 +163,11 @@ case $CC in ;; esac +fi + # get fortran version info +# check if the compiler_version_info is already set +if test -z "$fc_version_info"; then case $FC in *gfortran*) fc_version_info=`$FC $FCFLAGS $H5_FCFLAGS --version 2>&1 |\ @@ -199,9 +213,11 @@ case $FC in echo "No match to get fc_version_info for $FC" ;; esac - +fi # get c++ version info +# check if the compiler_version_info is already set +if test -z "$cxx_version_info"; then case $CXX in *g++*) cxx_version_info=`$CXX $CXXFLAGS $H5_CXXFLAGS --version 2>&1 |\ @@ -226,4 +242,4 @@ case $CXX in echo "No match to get cxx_version_info for $CXX" ;; esac - +fi diff --git a/config/lt_vers.am b/config/lt_vers.am index d442ca9..41d7e81 100644 --- a/config/lt_vers.am +++ b/config/lt_vers.am @@ -19,7 +19,7 @@ # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 205 +LT_VERS_REVISION = 206 LT_VERS_AGE = 0 ## If the API changes *at all*, increment LT_VERS_INTERFACE and diff --git a/config/nec-superux14.1 b/config/nec-superux14.1 deleted file mode 100644 index dc1a15d..0000000 --- a/config/nec-superux14.1 +++ /dev/null @@ -1,179 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# Copyright by the Board of Trustees of the University of Illinois. -# 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. - - -# 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. -# [ak] created for a nec sx6 running superux with native compilers -# [ak] -xint is neccessary because of src/H5FDmulti.c[H5Pset_fapl_multi] -# [ak] integer division of unsigned longs for _memb_addr - -#---------------------------------------------------------------------------- -# Compiler flags. The CPPFLAGS values should not include package debug -# flags like `-DH5G_DEBUG' since these are added with the -# `--enable-debug' switch of configure. -#---------------------------------------------------------------------------- - - -# Choosing a C Compiler -# --------------------- -# -# The user should be able to specify the compiler by setting the CC -# environment variable to the name of the compiler and any switches it -# requires for proper operation. If CC is unset then this script may -# set it. If CC is unset by time this script completes then configure -# will try `gcc' and `cc' in that order (perhaps some others too). -# -# Note: Code later in this file may depend on the value of $CC_BASENAME -# in order to distinguish between different compilers when -# deciding which compiler command-line switches to use. This -# variable is set based on the incoming value of $CC and is only -# used within this file. - -if test "X-" = "X-$CC"; then - CC="sxc++ -Xa -size_t64 -xint -K c99" - CC_BASENAME=sxc++ -fi -# The default archiver is `sxar' -AR=${AR:-sxar} -RANLIB=${RANLIB:=":"} - -if test "X-" = "X-$CXX"; then - CXX="sxc++ -size_t64 -xint -Kexceptions" - CXX_BASENAME=sxc++ -fi - -if test "X-" = "X-$F9X"; then - FC="sxf90 -size_t64 -ew " - FC_BASENAME=sxf90 -fi - -# C Compiler and Preprocessor Flags -# --------------------------------- -# -# Flags that end with `_CFLAGS' are always passed to the compiler. -# Flags that end with `_CPPFLAGS' are passed to the compiler when -# compiling but not when linking. -# -# DEBUG_CFLAGS Flags to pass to the compiler to create a -# DEBUG_CPPFLAGS library suitable for use with debugging -# tools. Usually this list will exclude -# optimization switches (like `-O') and include -# switches that turn on symbolic debugging -# support (like `-g'). -# -# PROD_CFLAGS Flags to pass to the compiler to create a -# PROD_CPPFLAGS production version of the library. These -# usualy exclude symbolic debugging switches -# (like `-g') and include optimization switches -# (like `-O'). -# -# PROFILE_CFLAGS Flags to pass to the compiler to create a -# PROFILE_CPPFLAGS library suitable for performance testing (like -# `-pg'). This may or may not include debugging -# or production flags. -# -# H5_CFLAGS Flags can be added to this variable which -# might already be partially initialized. These -# flags will always be passed to the compiler -# and should include switches to turn on full -# warnings. HDF5 attempts to be ANSI and Posix -# compliant and employ good programming -# practices resulting in few if any -# warnings. -# -# Warning flags do not have to be added to H5_CFLAGS -# variable if the compiler is the GNU gcc -# compiler or a descendent of gcc such as EGCS or PGCC. -# -# AM_CFLAGS Flags added directly into this variable will -# be propogated to the compiler wrapper scripts (h5cc, -# h5c++, et cetera) in addition to being used to compile -# the library. -# -# These flags should be set according to the compiler being used. -# There are two ways to check the compiler. You can try using `-v' or -# `--version' to see if the compiler will print a version string. You -# can use the value of $CC_BASENAME which is the base name of the -# first word in $CC (note that the value of CC may have changed -# above). - -case $CC_BASENAME in - cc) - H5_CFLAGS="$H5_CFLAGS" - DEBUG_CFLAGS="-Cdebug -g -wall" - DEBUG_CPPFLAGS= - PROD_CFLAGS="-Cnoopt" - PROD_CPPFLAGS= - PROFILE_CFLAGS="-p" - PROFILE_CPPFLAGS= - ;; - - *) - H5_CFLAGS="$H5_CFLAGS" - DEBUG_CFLAGS="-g" - DEBUG_CPPFLAGS= - PROD_CFLAGS="" - PROD_CPPFLAGS= - PROFILE_CFLAGS="-p" - PROFILE_CPPFLAGS= - ;; -esac - -case $CXX_BASENAME in - c++) - H5_CXXFLAGS="$H5_CXXFLAGS -Tlocal" - ;; - - *) - H5_CXXFLAGS="$H5_CXXFLAGS" - ;; -esac - -case $FC_BASENAME in - f90) - H5_FCFLAGS="$F9XFLAGS" - ;; - - *) - H5_FCFLAGS="$F9XFLAGS" - ;; -esac - -# Overriding Configure Tests -# -------------------------- -# -ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=0} -hdf5_cv_gettimeofday_tz=no -# I have to add the follwoing two lines when -K c99 was used -ac_cv_func_getrusage=no -ac_cv_func_gethostname=no -hdf5_cv_vsnprintf_works=no -hdf5_cv_printf_ll=l -hdf5_cv_system_scope_threads=no -hdf5_cv_sw_ldouble_to_integer_works=no -hdf5_cv_fp_to_ullong_right_maximum=no -hdf5_cv_fp_to_ullong_bottom_bit_works=yes -hdf5_cv_fp_to_ullong_right_maximum=no -hdf5_cv_ldouble_to_uint_work=no -hdf5_cv_ullong_to_fp_cast_works=yes -hdf5_cv_ullong_to_ldouble_precision_works=no -hdf5_cv_fp_to_integer_overflow_works=yes -hdf5_cv_fp_to_ullong_accurate=no -hdf5_cv_fp_to_ullong_right_maximum=no -CONFIGURE_LIBS=/usr/lib/libi90sxe.a - - diff --git a/config/sv1-cray b/config/sv1-cray deleted file mode 100644 index 1bae48d..0000000 --- a/config/sv1-cray +++ /dev/null @@ -1,199 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# Copyright by the Board of Trustees of the University of Illinois. -# 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. - - -# 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. - - -#---------------------------------------------------------------------------- -# Compiler flags. The CPPFLAGS values should not include package debug -# flags like `-DH5G_DEBUG' since these are added with the -# `--enable-debug' switch of configure. -#---------------------------------------------------------------------------- - - -# Choosing a C Compiler -# --------------------- -# -# The user should be able to specify the compiler by setting the CC -# environment variable to the name of the compiler and any switches it -# requires for proper operation. If CC is unset then this script may -# set it. If CC is unset by time this script completes then configure -# will try `gcc' and `cc' in that order (perhaps some others too). -# -# Note: Code later in this file may depend on the value of $CC_BASENAME -# in order to distinguish between different compilers when -# deciding which compiler command-line switches to use. This -# variable is set based on the incoming value of $CC and is only -# used within this file. - -if test "X-" = "X-$CC"; then - CC=cc - CC_BASENAME=cc -fi -# no need to use RANLIB -RANLIB=: - - -# C Compiler and Preprocessor Flags -# --------------------------------- -# -# Flags that end with `_CFLAGS' are always passed to the compiler. -# Flags that end with `_CPPFLAGS' are passed to the compiler when -# compiling but not when linking. -# -# DEBUG_CFLAGS Flags to pass to the compiler to create a -# DEBUG_CPPFLAGS library suitable for use with debugging -# tools. Usually this list will exclude -# optimization switches (like `-O') and include -# switches that turn on symbolic debugging -# support (like `-g'). -# -# PROD_CFLAGS Flags to pass to the compiler to create a -# PROD_CPPFLAGS production version of the library. These -# usualy exclude symbolic debugging switches -# (like `-g') and include optimization switches -# (like `-O'). -# -# PROFILE_CFLAGS Flags to pass to the compiler to create a -# PROFILE_CPPFLAGS library suitable for performance testing (like -# `-pg'). This may or may not include debugging -# or production flags. -# -# H5_CFLAGS Flags can be added to this variable which -# might already be partially initialized. These -# flags will always be passed to the compiler -# and should include switches to turn on full -# warnings. HDF5 attempts to be ANSI and Posix -# compliant and employ good programming -# practices resulting in few if any -# warnings. -# -# Warning flags do not have to be added to H5_CFLAGS -# variable if the compiler is the GNU gcc -# compiler or a descendent of gcc such as EGCS or PGCC. -# -# AM_CFLAGS Flags added directly into this variable will -# be propogated to the compiler wrapper scripts (h5cc, -# h5c++, et cetera) in addition to being used to compile -# the library. -# -# These flags should be set according to the compiler being used. -# There are two ways to check the compiler. You can try using `-v' or -# `--version' to see if the compiler will print a version string. You -# can use the value of $CC_BASENAME which is the base name of the -# first word in $CC (note that the value of CC may have changed -# above). - -case $CC_BASENAME in - gcc) - H5_CFLAGS="$H5_CFLAGS -Wsign-compare" #Only works for some versions - DEBUG_CFLAGS="-g -fverbose-asm" - DEBUG_CPPFLAGS= - PROD_CFLAGS="-O3 -fomit-frame-pointer" - PROD_CPPFLAGS= - PROFILE_CFLAGS="-pg" - PROFILE_CPPFLAGS= - ;; - - cc) - H5_CFLAGS="$H5_CFLAGS" - DEBUG_CFLAGS="-g -h zero" - DEBUG_CPPFLAGS= - PROD_CFLAGS="-O2 -h scalar0 -h vector0 -h task1" - PROD_CPPFLAGS= - PROFILE_CFLAGS="-pg" - PROFILE_CPPFLAGS= - ;; - - *) - H5_CFLAGS="$H5_CFLAGS -ansi" - DEBUG_CFLAGS="-g" - DEBUG_CPPFLAGS= - PROD_CFLAGS="-O" - PROD_CPPFLAGS= - PROFILE_CFLAGS="-pg" - PROFILE_CPPFLAGS= - ;; -esac - - -# Overriding Configure Tests -# -------------------------- -# -# Values for overriding configuration tests when cross compiling. -# This includes compiling on some machines where the serial front end -# compiles for a parallel back end. - -# Set this to `yes' or `no' depending on whether the target is big -# endian or little endian. -#ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'} - -# Set this to the width required by printf() to print type `long -# long'. For instance, if the format would be `%lld' then set it to -# `ll' or if the format would be `%qd' set it to `q'. -#hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'} - -# Hard set the flag to indicate that converting denormalized floating-point -# values doesn't work. -hdf5_cv_convert_denormal_float=${hdf5_cv_convert_denormal_float='no'} - -# The default Fortran 90 compiler - -if test "X-" = "X-$FC"; then - FC=f90 -fi - -if test "X-" = "X-$f9x_flags_set"; then - F9XSUFFIXFLAG="" - FSEARCH_DIRS="" - H5_FCFLAGS="$H5_FCFLAGS -dp" - DEBUG_FCFLAGS="-dp" - PROD_FCFLAGS="-dp" - PROFILE_FCFLAGS="-dp" - f9x_flags_set=yes -fi - -# The default C++ compiler - -if test -z "$CXX"; then - CXX="CC" - CXX_BASENAME=CC -fi - - -case $CXX_BASENAME in - g++) - H5_CXXFLAGS="$H5_CXXFLAGS -Wsign-compare" #Only works for some versions - DEBUG_CXXFLAGS="-g -fverbose-asm" - DEBUG_CPPFLAGS= - PROD_CXXFLAGS="-O3 -fomit-frame-pointer" - PROD_CPPFLAGS= - PROFILE_CXXFLAGS="-pg" - PROFILE_CPPFLAGS= - ;; - - *) - H5_CXXFLAGS="$H5_CXXFLAGS -h instantiate=used" - DEBUG_CXXFLAGS="-g" - DEBUG_CPPFLAGS= - PROD_CXXFLAGS="-O" - PROD_CPPFLAGS= - PROFILE_CXXFLAGS="-pg" - PROFILE_CPPFLAGS= - ;; -esac diff --git a/config/x86_64-redstorm-linux-gnu b/config/x86_64-redstorm-linux-gnu deleted file mode 100644 index 76f9711..0000000 --- a/config/x86_64-redstorm-linux-gnu +++ /dev/null @@ -1,164 +0,0 @@ -# -*- shell-script -*- -# -# Copyright by The HDF Group. -# Copyright by the Board of Trustees of the University of Illinois. -# 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. - - -# 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. -# -# See BlankForm in this directory for details. - -# This is for the ASCI RED STORM machine - -# Define RUNPARALLEL and RUNSERIAL if parallel mode is enabled or a parallel -# compiler is used. -if test "X-$enable_parallel" = "X-yes" -o X-$CC_BASENAME = X-mpicc; then - RUNSERIAL=${RUNSERIAL:-"yod -sz 1"} - RUNPARALLEL=${RUNPARALLEL:-"yod -sz 3"} - # Disable stream-vfd option. It does not work in parallel mode. - enable_stream_vfd="${enable_stream_vfd:-no}" - # Turn off shared lib option. It does not work in parallel mode. - enable_shared="${enable_shared:-no}" -fi - -H5_CFLAGS="$H5_CFLAGS -DRED_STORM" - -# What compiler flags should be used for code development? -DEBUG_CFLAGS=-g -DEBUG_CPPFLAGS= - -# What compiler flags should be used for building a production -# library? -PROD_CFLAGS=-O -PROD_CPPFLAGS= - -# What compiler flags enable code profiling? -PROFILE_CFLAGS=-pg -PROFILE_CPPFLAGS= - -# Set this to the width required by printf() to print type `long -# long'. For instance, if the format would be `%lld' then set it to -# `ll' or if the format would be `%qd' set it to `q'. -hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'} - -# Cache the sizeof of the following types to save configure time. -# These are verified in test/tconfig in case they change. -ac_cv_type_char=${ac_cv_type_char=yes} -ac_cv_sizeof_char=${ac_cv_sizeof_char='1'} -ac_cv_type_short=${ac_cv_type_short=yes} -ac_cv_sizeof_short=${ac_cv_sizeof_short='2'} -ac_cv_type_int=${ac_cv_type_int=yes} -ac_cv_sizeof_int=${ac_cv_sizeof_int='4'} -ac_cv_type_long=${ac_cv_type_long=yes} -ac_cv_sizeof_long=${ac_cv_sizeof_long='8'} -ac_cv_type_float=${ac_cv_type_float=yes} -ac_cv_sizeof_float=${ac_cv_sizeof_float='4'} -ac_cv_type_double=${ac_cv_type_double=yes} -ac_cv_sizeof_double=${ac_cv_sizeof_double='8'} -ac_cv_type_long_double=${ac_cv_type_long_double=yes} -# no cache for long double which varies in size in different compilers. -# gcc defines it as 12 bytes but pgcc defines it as 8 bytes. -#ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double='8'} -ac_cv_type_long_long=${ac_cv_type_long_long=yes} -ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long='8'} -ac_cv_type_size_t=${ac_cv_type_size_t=yes} -ac_cv_sizeof_size_t=${ac_cv_sizeof_size_t='8'} -ac_cv_type_ssize_t=${ac_cv_type_ssize_t=yes} -ac_cv_sizeof_ssize_t=${ac_cv_sizeof_ssize_t='8'} -ac_cv_type_off_t=${ac_cv_type_off_t=yes} -ac_cv_sizeof_off_t=${ac_cv_sizeof_off_t='8'} - -# Hard set sizeof of the following types to 0 because they are not supported. -#ac_cv_type___int64=${ac_cv_type___int64=no} -#ac_cv_sizeof___int64=${ac_cv_sizeof___int64='0'} - -# Hard set malloc of zero bytes to no because it does not work. -hdf5_cv_malloc_works=${hdf5_cv_malloc_works='no'} - -# Cache the sizeof of the following types to save configure time. -# These are verified in test/tconfig in case they change. -ac_cv_type_int8_t=${ac_cv_type_int8_t=yes} -ac_cv_type_int16_t=${ac_cv_type_int16_t=yes} -ac_cv_type_int32_t=${ac_cv_type_int32_t=yes} -ac_cv_type_int64_t=${ac_cv_type_int64_t=yes} -ac_cv_type_uint8_t=${ac_cv_type_uint8_t=yes} -ac_cv_type_uint16_t=${ac_cv_type_uint16_t=yes} -ac_cv_type_uint32_t=${ac_cv_type_uint32_t=yes} -ac_cv_type_uint64_t=${ac_cv_type_uint64_t=yes} -ac_cv_sizeof_int8_t=${ac_cv_sizeof_int8_t='1'} -ac_cv_sizeof_int16_t=${ac_cv_sizeof_int16_t='2'} -ac_cv_sizeof_int32_t=${ac_cv_sizeof_int32_t='4'} -ac_cv_sizeof_int64_t=${ac_cv_sizeof_int64_t='8'} -ac_cv_sizeof_uint8_t=${ac_cv_sizeof_uint8_t='1'} -ac_cv_sizeof_uint16_t=${ac_cv_sizeof_uint16_t='2'} -ac_cv_sizeof_uint32_t=${ac_cv_sizeof_uint32_t='4'} -ac_cv_sizeof_uint64_t=${ac_cv_sizeof_uint64_t='8'} - -# Cache the sizeof of the following types to save configure time. -# These are verified in test/tconfig in case they change. -ac_cv_type_int_least8_t=${ac_cv_type_int_least8_t=yes} -ac_cv_type_int_least16_t=${ac_cv_type_int_least16_t=yes} -ac_cv_type_int_least32_t=${ac_cv_type_int_least32_t=yes} -ac_cv_type_int_least64_t=${ac_cv_type_int_least64_t=yes} -ac_cv_type_uint_least8_t=${ac_cv_type_uint_least8_t=yes} -ac_cv_type_uint_least16_t=${ac_cv_type_uint_least16_t=yes} -ac_cv_type_uint_least32_t=${ac_cv_type_uint_least32_t=yes} -ac_cv_type_uint_least64_t=${ac_cv_type_uint_least64_t=yes} -ac_cv_sizeof_int_least8_t=${ac_cv_sizeof_int_least8_t='1'} -ac_cv_sizeof_int_least16_t=${ac_cv_sizeof_int_least16_t='2'} -ac_cv_sizeof_int_least32_t=${ac_cv_sizeof_int_least32_t='4'} -ac_cv_sizeof_int_least64_t=${ac_cv_sizeof_int_least64_t='8'} -ac_cv_sizeof_uint_least8_t=${ac_cv_sizeof_uint_least8_t='1'} -ac_cv_sizeof_uint_least16_t=${ac_cv_sizeof_uint_least16_t='2'} -ac_cv_sizeof_uint_least32_t=${ac_cv_sizeof_uint_least32_t='4'} -ac_cv_sizeof_uint_least64_t=${ac_cv_sizeof_uint_least64_t='8'} - -# Cache the sizeof of the following types to save configure time. -# These are verified in test/tconfig in case they change. -ac_cv_type_int_fast8_t=${ac_cv_type_int_fast8_t=yes} -ac_cv_type_int_fast16_t=${ac_cv_type_int_fast16_t=yes} -ac_cv_type_int_fast32_t=${ac_cv_type_int_fast32_t=yes} -ac_cv_type_int_fast64_t=${ac_cv_type_int_fast64_t=yes} -ac_cv_type_uint_fast8_t=${ac_cv_type_uint_fast8_t=yes} -ac_cv_type_uint_fast16_t=${ac_cv_type_uint_fast16_t=yes} -ac_cv_type_uint_fast32_t=${ac_cv_type_uint_fast32_t=yes} -ac_cv_type_uint_fast64_t=${ac_cv_type_uint_fast64_t=yes} -ac_cv_sizeof_int_fast8_t=${ac_cv_sizeof_int_fast8_t='1'} -ac_cv_sizeof_int_fast16_t=${ac_cv_sizeof_int_fast16_t='8'} -ac_cv_sizeof_int_fast32_t=${ac_cv_sizeof_int_fast32_t='8'} -ac_cv_sizeof_int_fast64_t=${ac_cv_sizeof_int_fast64_t='8'} -ac_cv_sizeof_uint_fast8_t=${ac_cv_sizeof_uint_fast8_t='1'} -ac_cv_sizeof_uint_fast16_t=${ac_cv_sizeof_uint_fast16_t='8'} -ac_cv_sizeof_uint_fast32_t=${ac_cv_sizeof_uint_fast32_t='8'} -ac_cv_sizeof_uint_fast64_t=${ac_cv_sizeof_uint_fast64_t='8'} - -hdf5_cv_system_scope_threads=${hdf5_cv_system_scope_threads="no"} - -# Hard set MPI_File_set_size() working for files over 2GB to yes -hdf5_cv_mpi_file_set_size_big=${hdf5_cv_mpi_file_set_size_big='yes'} - -# Hard set variables for v1.7 and higher. -# Set gettimeofday_tz to yes. -hdf5_cv_gettimeofday_tz=${hdf5_cv_gettimeofday_tz='yes'} -hdf5_cv_convert_denormal_float=${hdf5_cv_convert_denormal_float='no'} -hdf5_cv_fp_to_ullong_bottom_bit_works=${hdf5_cv_fp_to_ullong_bottom_bit_works='no'} -hdf5_cv_fp_to_ullong_right_maximum=${hdf5_cv_fp_to_ullong_right_maximum='yes'} -hdf5_cv_ldouble_to_uint_works=${hdf5_cv_ldouble_to_uint_works='yes'} -hdf5_cv_sw_ldouble_to_integer_works=${hdf5_cv_sw_ldouble_to_integer_works='yes'} -hdf5_cv_sw_ulong_to_fp_bottom_bit_works=${hdf5_cv_sw_ulong_to_fp_bottom_bit_works='no'} -hdf5_cv_ullong_to_fp_cast_works=${hdf5_cv_ullong_to_fp_cast_works='yes'} -hdf5_cv_ullong_to_ldouble_precision_works=${hdf5_cv_ullong_to_ldouble_precision_works='yes'} -hdf5_cv_vsnprintf_works=${hdf5_cv_vsnprintf_works='yes'} -hdf5_cv_fp_to_integer_overflow_works=${hdf5_cv_fp_to_integer_overflow_works='yes'} |