|
Packit |
b513ef |
#! /bin/sh
|
|
Packit |
b513ef |
# $Id$
|
|
Packit |
b513ef |
# ----------------------------------------------------------------------
|
|
Packit |
b513ef |
#
|
|
Packit |
b513ef |
|
|
Packit |
b513ef |
case `uname` in
|
|
Packit |
b513ef |
CYGWIN*)
|
|
Packit |
b513ef |
execsuffix=.exe ;;
|
|
Packit |
b513ef |
*)
|
|
Packit |
b513ef |
execsuffix= ;;
|
|
Packit |
b513ef |
esac
|
|
Packit |
b513ef |
ocamlfind="src/findlib/ocamlfind${execsuffix}"
|
|
Packit |
b513ef |
|
|
Packit |
b513ef |
PATH="./tools:$PATH"
|
|
Packit |
b513ef |
export PATH
|
|
Packit |
b513ef |
|
|
Packit |
b513ef |
check_linkage () {
|
|
Packit |
b513ef |
p=$1
|
|
Packit |
b513ef |
shift
|
|
Packit |
b513ef |
rm -f itest-aux/simple
|
|
Packit |
b513ef |
$ocamlfind ocamlc -linkall -linkpkg -custom "$@" -o itest-aux/simple itest-aux/simple_$p.ml >itest-aux/err.out 2>&1
|
|
Packit |
b513ef |
output=`cat itest-aux/err.out | sed -e '/WARNING.*/ d'`
|
|
Packit |
b513ef |
error=0
|
|
Packit |
b513ef |
if [ -n "$output" ]; then
|
|
Packit |
b513ef |
echo "* When trying to compile with"
|
|
Packit |
b513ef |
echo " $ocamlfind ocamlc -linkall -linkpkg -custom "$@" -o itest-aux/simple itest-aux/simple_$p.ml"
|
|
Packit |
b513ef |
echo " an error has occurred. The error error message has been written"
|
|
Packit |
b513ef |
echo " to itest-aux/err.out."
|
|
Packit |
b513ef |
error=1
|
|
Packit |
b513ef |
fi
|
|
Packit |
b513ef |
if [ "$error" = "0" ]; then
|
|
Packit |
b513ef |
result=`itest-aux/simple${execsuffix}`
|
|
Packit |
b513ef |
[ "x$result" = "xOK" ]
|
|
Packit |
b513ef |
else
|
|
Packit |
b513ef |
return $error
|
|
Packit |
b513ef |
fi
|
|
Packit |
b513ef |
}
|
|
Packit |
b513ef |
|
|
Packit |
b513ef |
problems () {
|
|
Packit |
b513ef |
echo "* This test failed. Please check the settings in site-lib-src/$1/META,"
|
|
Packit |
b513ef |
echo " especially the 'linkopts' variable, and try again. You can invoke"
|
|
Packit |
b513ef |
echo " this test directly by: ./itest $1"
|
|
Packit |
b513ef |
}
|
|
Packit |
b513ef |
|
|
Packit |
b513ef |
|
|
Packit |
b513ef |
do_test () {
|
|
Packit |
b513ef |
case "$1" in
|
|
Packit |
b513ef |
dbm|graphics|num|str|unix|bigarray|labltk)
|
|
Packit |
b513ef |
echo "* Checking linker options for $1 library"
|
|
Packit |
b513ef |
rm -f itest-aux/testdb*
|
|
Packit |
b513ef |
if check_linkage $1 -package $1; then
|
|
Packit |
b513ef |
echo "ok"
|
|
Packit |
b513ef |
else
|
|
Packit |
b513ef |
problems $1
|
|
Packit |
b513ef |
fi
|
|
Packit |
b513ef |
;;
|
|
Packit |
b513ef |
threads)
|
|
Packit |
b513ef |
echo "* Checking linker options for threads library"
|
|
Packit |
b513ef |
if check_linkage $1 -package $1 -thread; then
|
|
Packit |
b513ef |
echo "ok"
|
|
Packit |
b513ef |
else
|
|
Packit |
b513ef |
problems $1
|
|
Packit |
b513ef |
fi
|
|
Packit |
b513ef |
;;
|
|
Packit |
b513ef |
|
|
Packit |
b513ef |
camlp4)
|
|
Packit |
b513ef |
echo "* Checking options for camlp4 preprocessor"
|
|
Packit |
b513ef |
if check_linkage $1 -package $1 -syntax camlp4r; then
|
|
Packit |
b513ef |
echo "ok"
|
|
Packit |
b513ef |
else
|
|
Packit |
b513ef |
problems $1
|
|
Packit |
b513ef |
fi
|
|
Packit |
b513ef |
;;
|
|
Packit |
b513ef |
|
|
Packit |
b513ef |
*)
|
|
Packit |
b513ef |
echo "unknown test: $1"
|
|
Packit |
b513ef |
;;
|
|
Packit |
b513ef |
esac
|
|
Packit |
b513ef |
}
|
|
Packit |
b513ef |
|
|
Packit |
b513ef |
|
|
Packit |
b513ef |
OCAMLPATH="./site-lib-src"
|
|
Packit |
b513ef |
export OCAMLPATH
|
|
Packit |
b513ef |
|
|
Packit |
b513ef |
if [ ! -f "$ocamlfind" ]; then
|
|
Packit |
b513ef |
echo "Sorry, you must first compile the library before you can invoke" 1>&2
|
|
Packit |
b513ef |
echo "the integration test." 1>&2
|
|
Packit |
b513ef |
exit 1
|
|
Packit |
b513ef |
fi
|
|
Packit |
b513ef |
|
|
Packit |
b513ef |
if [ "$#" = "0" ]; then
|
|
Packit |
b513ef |
for t in unix str dbm graphics num threads bigarray labltk camlp4; do
|
|
Packit |
b513ef |
if [ -f "site-lib-src/$t/META" ]; then
|
|
Packit |
b513ef |
echo "------------------------------------------------------------------------------"
|
|
Packit |
b513ef |
do_test $t
|
|
Packit |
b513ef |
echo
|
|
Packit |
b513ef |
fi
|
|
Packit |
b513ef |
done
|
|
Packit |
b513ef |
else
|
|
Packit |
b513ef |
do_test $1
|
|
Packit |
b513ef |
fi
|