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