diff options
Diffstat (limited to 'contrib/test_install_headers.sh')
-rwxr-xr-x | contrib/test_install_headers.sh | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/contrib/test_install_headers.sh b/contrib/test_install_headers.sh new file mode 100755 index 000000000..6f6855e31 --- /dev/null +++ b/contrib/test_install_headers.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# contrib/test_install_headers.sh +# Tim King <taking@google.com> for the CVC4 project, 24 December 2015 +# +# ./contrib/test_install_headers.sh <INSTALL> +# +# This files tests the completeness of the public headers for CVC4. +# Any header marked by #include "cvc4_public.h" in either the builds/ +# or src/ directory is installed into the path INSTALL/include/cvc4 where +# INSTALL is set using the --prefix=INSTALL flag at configure time. +# This test uses find to attempt to include all of the headers in +# INSTALL/include/cvc4 and compiles a simple cpp file. + +INSTALLATION=$1 +CXX=g++ +LDFLAGS=-lcln +CXXFILE=test_cvc4_header_install.cpp +OUTFILE=test_cvc4_header_install + +echo $INSTALLATION + +echo "Generating $CXXFILE" +find $INSTALLATION/include/cvc4/ -name *.h -printf '%P\n' | \ + awk '{ print "#include <cvc4/" $0 ">"}' > $CXXFILE +echo "int main() { return 0; }" >> $CXXFILE + +echo "Compiling $CXXFILE into $OUTFILE" +echo "$CXX -I$INSTALLATION/include -L$INSTALLATION/lib $LDFLAGS -o $OUTFILE $CXXFILE" +$CXX -I$INSTALLATION/include -L$INSTALLATION/lib $LDFLAGS -o $OUTFILE $CXXFILE + +read -p "Do you want to delete $CXXFILE and $OUTFILE? [y/n]" yn +case $yn in + [Nn]* ) exit;; + [Yy]* ) rm "$OUTFILE" "$CXXFILE";; + * ) echo "Did not get a yes or no answer. Exiting."; exit;; +esac |