diff options
-rw-r--r-- | INSTALL | 100 | ||||
-rw-r--r-- | MANIFEST | 16 | ||||
-rwxr-xr-x | bin/release | 58 | ||||
-rwxr-xr-x | configure | 50 | ||||
-rw-r--r-- | configure.in | 29 | ||||
-rw-r--r-- | doc/html/H5.user.html | 4 | ||||
-rw-r--r-- | doc/html/tracing.html | 9 | ||||
-rw-r--r-- | src/H5Z.c | 2 |
8 files changed, 148 insertions, 120 deletions
@@ -1,8 +1,8 @@ This file contains instructions for the installation of HDF5 on Unix-like systems. First, one must obtain a tarball of the HDF5 -release from the ftp://hdf.ncsa.uiuc.edu/pub/dist/HDF5 -repository. The files are available in uncompressed tar, gzip, bzip2, -and compress formats. +release from the ftp://hdf.ncsa.uiuc.edu/pub/dist/HDF5 repository. +The files are available in uncompressed tar, gzip, bzip2, and compress +formats. For those that like to live dangerously and don't like to read ;-) you can do the following: @@ -33,69 +33,69 @@ Step 1. Unpack the source tree. $ bunzip2 <hdf5-1.0.0a.tar.bz2 |tar xf - OR $ uncompress -c <hdf5-1.0.0a.tar.Z |tar xf - -Step 2. Configure makefiles. +Step 2. Configure. * HDF5 uses the GNU autoconf program for configuration. Most installations can be configured by typing just (from the hdf5-1.0.0a directory) - $ ./configure + $ sh configure - Note: you may need to say `sh configure'. - * By default libraries, include files, programs, and documentation - are installed (when one says `make install') under - /usr/local/lib, /usr/local/include, /usr/local/bin, and - /usr/local/man. However, if you want them in some other - location you can specify a prefix to use instead of /usr/local. - For instance, to install in /usr/lib, /usr/include, /usr/bin, - and /usr/man one would say + * The configuration process can be controlled through environment + variables, command-line switches, and host configuration files. + For a complete list of switches say `sh configure --help'. - $ ./configure --prefix=/usr + * Host configuration files are located in the `config' directory + and are based on architecture name, vendor name, and/or operating + system which are displayed near the beginning of the `configure' + output. Not all hosts require a host configuration file. + + * The C compiler and flags, the `ar' and `ranlib' program names, + and the `make' program can be specified with environment + variables if configure doesn't properly detect them and they are + not defined in a host config file. + + CC Name of the C compiler. + CFLAGS Switches for the C compiler. + CPPFLAGS Additional switches for the .c -> .o step. + AR Name of the `ar' program. + RANLIB Name of the `ranlib' program or `:' if none. + MAKE Name of the `make' program (GNU make is preferred) - Note: HDF5 can be used without installing it. + * This version of HDF5 is normally built with various debugging + code enabled. To turn it off add the `--disable-debug' switch + to the configure command. - * Early releases of the library will be compiled with some - debugging features enabled (see output from configure). The - debugging can be turned off by specifying `--disable-debug' as a - configure switch. Also, to compile an optimized version of the - library one can say `--enable-production'. + * This version of HDF5 is normally built with support for symbolic + debugging with dbx or gdb and without compiler optimization + switches. To disable symbolic debugging and enable + optimizations add `--enable-production' to the configure + command. + + * This version of HDF5 is normally built with the ability to print + the names, arguments, and return values of all API functions + when they're called. For more information refer to the + doc/html/tracing.html file. To disable tracing support add + `--disable-trace' to the configure command. * Old versions of gcc (<2.8.0) may experience register allocation problems on some architectures. If this happens then the `--disable-hsizet' can be given but the resulting library will be unable to handle datasets larger than 4GB. - * You can also override detection of certain things with - environment variables: - - CC Name of the C compiler to use. - CFLAGS Alternate C compiler flags. - CPPFLAGS Alternate C preprocessor flags. - MAKE Name of the make(1) program. - - For instance it is common to specify the name of the C compiler, - C proprocessor flags, and compiler flags (add `env' to the - beginning of this command if you're running a csh-like shell) - - $ CC=gcc CPPFLAGS=-DNDEBUG CFLAGS="-Wall -O3" ./configure - - * Settings for compiler flags (and a few other things) can also be - specified in config files located in the config directory. The - name of the file is the result of running ./bin/config.guess. - Use config/BlankForm as a template. - - * The library can print the names, arguments and values, and - return value from all API functions. The code that does this is - enabled with the `--enable-tracing' configuration switch. In - order to actually see tracing output one should set the - environment variable HDF5_TRACE to a file descriptor number such - as `2'. - - * You can see a list of other configuration options by saying + * By default libraries, include files, programs, and documentation + are installed (when one says `make install') under + /usr/local/lib, /usr/local/include, /usr/local/bin, and + /usr/local/man. However, if you want them in some other + location you can specify a prefix to use instead of /usr/local. + For instance, to install in /usr/lib, /usr/include, /usr/bin, + and /usr/man one would say - $ ./configure --help + $ ./configure --prefix=/usr + The library can be used directly from the source tree without + installing it. Step 3. Compile library, tests, and programs. @@ -125,6 +125,10 @@ Step 4. Run confidence tests. date'. If this happens then run `make _test' instead or run `make test' from within the test directory. + Temporary files will be deleted by each test when it completes, + but may continue to exist in an incomplete state if the test + fails. To prevent deletion of the files define the + HDF5_NOCLEANUP environment variable. Step 5. Install public files. @@ -37,14 +37,6 @@ ./config/solaris2.5 ./configure ./configure.in -./examples/Attributes.txt -./examples/Makefile.in -./examples/h5_chunk_read.c -./examples/h5_compound.c -./examples/h5_extend_write.c -./examples/h5_group.c -./examples/h5_read.c -./examples/h5_write.c ./doc/html/Attributes.html ./doc/html/Big.html ./doc/html/Caching.html @@ -121,6 +113,14 @@ ./doc/tgif/IOPipe.obj ./doc/tgif/RobbPipe.obj ./doc/tgif/UserView.obj +./examples/Attributes.txt +./examples/Makefile.in +./examples/h5_chunk_read.c +./examples/h5_compound.c +./examples/h5_extend_write.c +./examples/h5_group.c +./examples/h5_read.c +./examples/h5_write.c ./src/.distdep ./src/.indent.pro ./src/H5.c diff --git a/bin/release b/bin/release index 8a476f7..ef79faf 100755 --- a/bin/release +++ b/bin/release @@ -118,22 +118,27 @@ sub manifest () { sub release (@) { my @types = @_; my ($ver, $status, $created_symlink); + my ($batch) = 0; local $_; + if (@types>0 && $types[0] =~ /^-?-batch$/) { + $batch = 1; + shift @types; + } + # Make sure no one forgot to update MANIFEST manifest; # Make sure the version number is correct. - print "Building an HDF release...\n"; - print "HDF version to release [", ($ver=getver), "] "; - return "" unless defined ($_=<STDIN>); - chomp; - (setver ($ver=$_) or die "cannot set version") if /\S/; - - # Clean the source tree, showing only errors. - print "Cleaning source tree...\n"; - $status = system "make distclean >/dev/null"; - die "cannot make distclean" if $status >> 8; + $ver = getver; + if ($batch) { + print "Releasing version $ver\n"; + } else { + print "HDF version to release [$ver] "; + return "" unless defined ($_=<STDIN>); + chomp; + (setver ($ver=$_) or die "cannot set version") if /\S/; + } # Move default top-level makefile into place. $status = system "cp Makefile.dist Makefile"; @@ -197,27 +202,34 @@ sub release (@) { # Update version info - print <<EOF; + if ($batch) { + my ($v1,$v2,$v3,$v4) = $ver =~ /^(\d+)\.(\d+)\.(\d+)([a-z])$/; + $v3 += 1; + setver ($ver = "$v1.$v2.${v3}a") or die "cannot set version"; + print "Development version set to $ver\n"; + } else { + print <<EOF; If this is a real release then the version number for continued development should be incremented. Otherwise just press return. EOF - print "Set development version to [", ($ver=getver), "] "; - return "" unless defined ($_ = <STDIN>); - chomp; - (setver ($ver=$_) or die "cannot set version") if /\S/; - - if (-d "CVS") { - my $tag = $ver; - $tag =~ s/\./-/g; - print "Tag CVS sources with \"$tag\"? [n] "; - chomp ($_ = <STDIN>); - if ($_ eq 'y') { + print "Set development version to [", ($ver=getver), "] "; + return "" unless defined ($_ = <STDIN>); + chomp; + (setver ($ver=$_) or die "cannot set version") if /\S/; + + if (-d "CVS") { + my $tag = $ver; + $tag =~ s/\./-/g; + print "Tag CVS sources with \"$tag\"? [n] "; + chomp ($_ = <STDIN>); + if ($_ eq 'y') { print "Tagging CVS sources...\n"; my $status = system "cvs tag -R $tag"; die "cvs tag failed" if $status >> 8; - } + } + } } return 1; @@ -27,7 +27,7 @@ ac_help="$ac_help without the leading H5 or the word no. The default is most packages." ac_help="$ac_help ---enable-tracing Cause the library to trace all API calls" +--disable-trace Disable API tracing capability" ac_help="$ac_help --enable-parallel=mpio Enable parallel support with MPIO" @@ -605,9 +605,9 @@ fi -echo $ac_n "checking for site config file""... $ac_c" 1>&6 -echo "configure:610: checking for site config file" >&5 -site_config="none" +echo $ac_n "checking for host config file""... $ac_c" 1>&6 +echo "configure:610: checking for host config file" >&5 +host_config="none" for f in $host \ $host_vendor-$host_os \ $host_cpu-$host_os \ @@ -616,13 +616,13 @@ for f in $host \ $host_vendor \ $host_cpu ; do if test -f config/$f; then - site_config=config/$f + host_config=config/$f break fi done -echo "$ac_t""$site_config" 1>&6 -if test $site_config != "none"; then - . $site_config +echo "$ac_t""$host_config" 1>&6 +if test $host_config != "none"; then + . $host_config fi @@ -2245,17 +2245,21 @@ fi echo $ac_n "checking for API tracing""... $ac_c" 1>&6 echo "configure:2248: checking for API tracing" >&5; -# Check whether --enable-tracing or --disable-tracing was given. -if test "${enable_tracing+set}" = set; then - enableval="$enable_tracing" - CPPFLAGS="$CPPFLAGS -DH5_DEBUG_API" - echo "$ac_t""yes" 1>&6 -else - CPPFLAGS="$CPPFLAGS -UH5_DEBUG_API" - echo "$ac_t""no" 1>&6 +# Check whether --enable-trace or --disable-trace was given. +if test "${enable_trace+set}" = set; then + enableval="$enable_trace" + TRACE=$enableval fi +if test X = "X$TRACE" -o Xyes = "X$TRACE"; then + echo "$ac_t""yes" 1>&6 + CPPFLAGS="$CPPFLAGS -DH5_DEBUG_API" +else + echo "$ac_t""no" 1>&6 + CPPFLAGS="$CPPFLAGS -UH5_DEBUG_API" +fi + # Check whether --enable-parallel or --disable-parallel was given. if test "${enable_parallel+set}" = set; then enableval="$enable_parallel" @@ -2263,7 +2267,7 @@ if test "${enable_parallel+set}" = set; then fi echo $ac_n "checking for parallel support""... $ac_c" 1>&6 -echo "configure:2267: checking for parallel support" >&5; +echo "configure:2271: checking for parallel support" >&5; case "X-$PARALLEL" in @@ -2288,7 +2292,7 @@ EOF CFLAGS="$CFLAGS $MPI_LIB" RUNTEST="$RUNTEST" echo $ac_n "checking for main in -lmpi""... $ac_c" 1>&6 -echo "configure:2292: checking for main in -lmpi" >&5 +echo "configure:2296: checking for main in -lmpi" >&5 ac_lib_var=`echo mpi'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2296,14 +2300,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lmpi $LIBS" cat > conftest.$ac_ext <<EOF -#line 2300 "configure" +#line 2304 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:2307: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2311: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2330,7 +2334,7 @@ else echo "$ac_t""no" 1>&6 fi echo $ac_n "checking for main in -lmpio""... $ac_c" 1>&6 -echo "configure:2334: checking for main in -lmpio" >&5 +echo "configure:2338: checking for main in -lmpio" >&5 ac_lib_var=`echo mpio'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2338,14 +2342,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lmpio $LIBS" cat > conftest.$ac_ext <<EOF -#line 2342 "configure" +#line 2346 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:2349: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2353: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else diff --git a/configure.in b/configure.in index e3a4f5c..d5dccc3 100644 --- a/configure.in +++ b/configure.in @@ -44,8 +44,8 @@ dnl OS dnl VENDOR dnl CPU dnl -AC_MSG_CHECKING(for site config file) -site_config="none" +AC_MSG_CHECKING(for host config file) +host_config="none" for f in $host \ $host_vendor-$host_os \ $host_cpu-$host_os \ @@ -54,13 +54,13 @@ for f in $host \ $host_vendor \ $host_cpu ; do if test -f config/$f; then - site_config=config/$f + host_config=config/$f break fi done -AC_MSG_RESULT($site_config) -if test $site_config != "none"; then - . $site_config +AC_MSG_RESULT($host_config) +if test $host_config != "none"; then + . $host_config fi @@ -265,12 +265,17 @@ dnl ---------------------------------------------------------------------- dnl Enable tracing of the API dnl AC_MSG_CHECKING(for API tracing); -AC_ARG_ENABLE(tracing, - --enable-tracing Cause the library to trace all API calls, - CPPFLAGS="$CPPFLAGS -DH5_DEBUG_API" - AC_MSG_RESULT(yes), - CPPFLAGS="$CPPFLAGS -UH5_DEBUG_API" - AC_MSG_RESULT(no)) +AC_ARG_ENABLE(trace, + [--disable-trace Disable API tracing capability], + TRACE=$enableval) + +if test X = "X$TRACE" -o Xyes = "X$TRACE"; then + AC_MSG_RESULT(yes) + CPPFLAGS="$CPPFLAGS -DH5_DEBUG_API" +else + AC_MSG_RESULT(no) + CPPFLAGS="$CPPFLAGS -UH5_DEBUG_API" +fi dnl ---------------------------------------------------------------------- dnl Check for parallel support diff --git a/doc/html/H5.user.html b/doc/html/H5.user.html index 3c16553..dc1232a 100644 --- a/doc/html/H5.user.html +++ b/doc/html/H5.user.html @@ -30,6 +30,8 @@ A guide to the H5E interface. <li><a href="Caching.html">Caching</a> - A guide for meta and raw data caching. + <li><a href="tracing.html">API Tracing</a> - + A guide to debugging HDF5 API calls. </ul> <p>The following documents form a loosely organized developer's guide to @@ -64,7 +66,7 @@ <address><a href="mailto:koziol@ncsa.uiuc.edu">Quincey Koziol</a></address> <address><a href="mailto:matzke@llnl.gov">Robb Matzke</a></address> <!-- hhmts start --> -Last modified: Tue May 26 15:39:47 EDT 1998 +Last modified: Wed Jul 8 14:10:50 EDT 1998 <!-- hhmts end --> </body> diff --git a/doc/html/tracing.html b/doc/html/tracing.html index 18ef556..8d3c677 100644 --- a/doc/html/tracing.html +++ b/doc/html/tracing.html @@ -48,8 +48,9 @@ HDF5-DIAG: Error detected in thread 0. Back trace follows. <p>This all happens with some magic in the configuration script, the makefiles, and macros. First, from the end-user point of view, the library must be configured with the - <code>--enable-tracing</code> switch. This causes the library to - include the support necessary for API tracing. + <code>--enable-trace</code> switch (the default; + `--disable-trace' is the alternative). This causes the library + to include the support necessary for API tracing. <p> <center> @@ -59,7 +60,7 @@ HDF5-DIAG: Error detected in thread 0. Back trace follows. <td> <code><pre> $ make distclean -$ sh configure --enable-tracing +$ sh configure --enable-trace $ make </pre></code> </td> @@ -186,7 +187,7 @@ H5E.c:336: warning: trace info was not inserted <address><a href="mailto:matzke@llnl.gov">Robb Matzke</a></address> <!-- Created: Wed Jun 17 12:29:12 EDT 1998 --> <!-- hhmts start --> -Last modified: Wed Jun 17 15:45:50 EDT 1998 +Last modified: Wed Jul 8 14:07:23 EDT 1998 <!-- hhmts end --> </body> </html> @@ -416,7 +416,7 @@ H5Z_zlib_c (unsigned int flags, size_t __unused__ cd_size, const void *src, size_t dst_nbytes, void *dst/*out*/) { size_t ret_value = 0; -#ifdef HAVE_ZLIB_H +#if defined(HAVE_LIBZ) && defined(HAVE_ZLIB_H) const Bytef *z_src = (const Bytef*)src; Bytef *z_dst = (Bytef*)dst; uLongf z_dst_nbytes = (uLongf)dst_nbytes; |