mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-01-18 15:15:56 +08:00
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:
parent
b962c7ad42
commit
14bc39bcb5
63
autogen.sh
63
autogen.sh
@ -203,6 +203,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
|
||||
@ -265,35 +298,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
|
||||
|
15
bin/trace
15
bin/trace
@ -161,6 +161,8 @@ $Source = "";
|
||||
##############################################################################
|
||||
# Print an error message.
|
||||
#
|
||||
my $found_errors = 0;
|
||||
|
||||
sub errmesg ($$@) {
|
||||
my ($file, $func, @mesg) = @_;
|
||||
my ($mesg) = join "", @mesg;
|
||||
@ -170,6 +172,8 @@ sub errmesg ($$@) {
|
||||
$lineno = tr/\n/\n/;
|
||||
}
|
||||
|
||||
$found_errors = 1;
|
||||
|
||||
print "$file: in function \`$func\':\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";
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user