Merge pull request #469 in HDFFV/hdf5 from ~DEROBINS/hdf5_der:hdf5_1_10 to hdf5_1_10

* commit '14bc39bcb59ce36d1d2fd156afeaf3aa7bb5ad84':
  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.
This commit is contained in:
Dana Robinson 2017-04-25 16:28:17 -05:00
commit 8f049c8736
2 changed files with 48 additions and 30 deletions

View File

@ -203,6 +203,39 @@ Darwin*)
;; ;;
esac 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 # Run autotools in order
# #
# When available, we use the --force option to ensure all files are # When available, we use the --force option to ensure all files are
@ -265,35 +298,7 @@ fi
${autoconf_cmd} || exit 1 ${autoconf_cmd} || exit 1
echo echo
# Run scripts that process source. echo "*** SUCCESS ***"
# 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 echo
exit 0 exit 0

View File

@ -161,6 +161,8 @@ $Source = "";
############################################################################## ##############################################################################
# Print an error message. # Print an error message.
# #
my $found_errors = 0;
sub errmesg ($$@) { sub errmesg ($$@) {
my ($file, $func, @mesg) = @_; my ($file, $func, @mesg) = @_;
my ($mesg) = join "", @mesg; my ($mesg) = join "", @mesg;
@ -170,6 +172,8 @@ sub errmesg ($$@) {
$lineno = tr/\n/\n/; $lineno = tr/\n/\n/;
} }
$found_errors = 1;
print "$file: in function \`$func\':\n"; print "$file: in function \`$func\':\n";
print "$file:$lineno: $mesg\n"; print "$file:$lineno: $mesg\n";
} }
@ -339,4 +343,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";
}