diff options
author | Dana Robinson <derobins@hdfgroup.org> | 2017-04-25 06:09:55 (GMT) |
---|---|---|
committer | Dana Robinson <derobins@hdfgroup.org> | 2017-04-25 06:09:55 (GMT) |
commit | b1a5ba405393da68028cf1c8b159a3abb51d2187 (patch) | |
tree | 8558f5de6384e0d1a37a71ff16403cf053ad80ed | |
parent | 9d84abe503267baaf3ddc675a4e3182d7f415be0 (diff) | |
download | hdf5-b1a5ba405393da68028cf1c8b159a3abb51d2187.zip hdf5-b1a5ba405393da68028cf1c8b159a3abb51d2187.tar.gz hdf5-b1a5ba405393da68028cf1c8b159a3abb51d2187.tar.bz2 |
Updated bin/trace to emit errors and reordered autogen.sh processing
so that script failures leave the library in a non-compilable state,
making it harder to ignore errors.
-rwxr-xr-x | autogen.sh | 63 | ||||
-rwxr-xr-x | bin/trace | 15 |
2 files changed, 48 insertions, 30 deletions
@@ -205,6 +205,39 @@ Darwin*) ;; esac +# Run scripts that process source. +# +# These should be run before the autotools so that failures here block +# compilation. + +# Run trace script +# The trace script adds H5TRACE macros to library source files. It should +# have no effect on files that don't have HDF5 API macros in them. +echo "Running trace script:" +bin/trace src/H5*.c || exit 1 +echo + +# Run make_err +# make_err automatically generates the H5E headers that create error message +# types for HDF5. +echo "Running error generation script:" +bin/make_err src/H5err.txt || exit 1 +echo + +# Run make_vers +# make_vers automatically generates the public headers that define the API version +# macros for HDF5. +echo "Running API version generation script:" +bin/make_vers src/H5vers.txt || exit 1 +echo + +# Run make_overflow +# make_overflow automatically generates macros for detecting overflows for type +# conversion. +echo "Running overflow macro generation script:" +bin/make_overflow src/H5overflow.txt || exit 1 +echo + # Run autotools in order # # When available, we use the --force option to ensure all files are @@ -267,35 +300,7 @@ fi ${autoconf_cmd} || exit 1 echo -# Run scripts that process source. - -# Run trace script -# The trace script adds H5TRACE macros to library source files. It should -# have no effect on files that don't have HDF5 API macros in them. -echo -echo "Running trace script:" -bin/trace src/H5*.c || exit 1 - -# Run make_err -# make_err automatically generates the H5E headers that create error message -# types for HDF5. -echo -echo "Running error generation script:" -bin/make_err src/H5err.txt || exit 1 - -# Run make_vers -# make_vers automatically generates the public headers that define the API version -# macros for HDF5. -echo -echo "Running API version generation script:" -bin/make_vers src/H5vers.txt || exit 1 - -# Run make_overflow -# make_overflow automatically generates macros for detecting overflows for type -# conversion. -echo -echo "Running overflow macro generation script:" -bin/make_overflow src/H5overflow.txt || exit 1 +echo "*** SUCCESS ***" echo exit 0 @@ -163,6 +163,8 @@ $Source = ""; ############################################################################## # Print an error message. # +my $found_errors = 0; + sub errmesg ($$@) { my ($file, $func, @mesg) = @_; my ($mesg) = join "", @mesg; @@ -172,6 +174,8 @@ sub errmesg ($$@) { $lineno = tr/\n/\n/; } + $found_errors = 1; + print "$file: in function \`$func\':\n"; print "$file:$lineno: $mesg\n"; } @@ -341,4 +345,13 @@ for $file (@ARGV) { } } -printf "Finished processing HDF5 API calls\n" +if ($found_errors eq 1) { + printf "\n"; + printf "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n"; + printf "*** ERRORS FOUND *** ERRORS FOUND *** ERRORS FOUND ****\n"; + printf "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n"; + exit 1; +} else { + printf "Finished processing HDF5 API calls\n"; +} + |