#! /bin/sh # Env: # GSSAPI_CFLAGS # GSSAPI_LIBS if [ -f config.sh ]; then # configure wrote the env into this file: . ./config.sh export GSSAPI_CFLAGS GSSAPI_LIBS fi stdlib=`ocamlc -where` rm -f config.h ulimit -c 0 # no coredumps compiler="ocamlc -custom" if ocamlopt; then compiler=ocamlopt; fi log=`pwd`/"config.log" rm -f $log touch $log out="config.h" rm -f $out touch $out mkdir -p testdir ###################################################################### # Programs linked with ocamlc have more libraries linked in by default. # Because of this, we use ocamlopt if available. call_ocamlc () { echo '$' $compiler -ccopt "$GSSAPI_CFLAGS" -cclib "$GSSAPI_LIBS" "$@" >>$log ( cd testdir; $compiler -ccopt "$GSSAPI_CFLAGS" -cclib "$GSSAPI_LIBS" "$@" ) >>$log 2>&1 return $? } init_header() { echo "Checking presence of $1" echo "# HEADER $1" >> $log cat <<EOF >testdir/test.c #include <gssapi.h> #include <$1> EOF call_ocamlc -c test.c } check_enum () { macro="$1" enum="$2" echo "Checking enum $enum" echo "# ENUM $enum" >> $log cat <<EOF >testdir/test.c #include <gssapi.h> $add_include int main (int argc, char *argv[], char *envp[]) { int n; n = $enum; return 0; } EOF if call_ocamlc -c test.c; then echo "#define $macro" >>$out else echo "#undef $macro" >>$out fi } check_fun() { macro="$1" fun="$2" echo "Checking function $fun" echo "# FUN $fun" >> $log cat <<EOF >testdir/main.ml let () = () EOF cat <<EOF >testdir/test.c #include <gssapi.h> $add_include int main (int argc, char *argv[], char *envp[]) { (void) & $fun; return 0; } EOF if call_ocamlc -o test test.c main.ml; then echo "#define $macro" >>$out else echo "#undef $macro" >>$out fi } check_type() { macro="$1" ty="$2" echo "Checking type $ty" echo "# TYPE $ty" >> $log cat <<EOF >testdir/test.c #include <gssapi.h> $add_include int main (int argc, char *argv[], char *envp[]) { $ty x; return 0; } EOF if call_ocamlc -c test.c; then echo "#define $macro" >>$out else echo "#undef $macro" >>$out fi } ###################################################################### echo "Generating stubs" rm -f config_checks.sh echo "$ ocaml -I ../../tools gssapi.descr" >>$log ocaml -I ../../tools gssapi.descr || exit 1 . ./config_checks.sh touch done_reconfigure