ocaml/camlp4/config/configure_batch

113 lines
2.3 KiB
Bash
Executable File

#! /bin/sh
# $Id$
prefix=/usr/local
bindir=''
libdir=''
mandir=''
ocaml_top=../ocaml_stuff
# Parse command-line arguments
while : ; do
case "$1" in
"") break;;
-prefix|--prefix)
prefix=$2; shift;;
-bindir|--bindir)
bindir=$2; shift;;
-libdir|--libdir)
libdir=$2; shift;;
-mandir|--mandir)
mandir=$2; shift;;
-ocaml-top)
ocaml_top=$2; shift;;
*) echo "Unknown option \"$1\"." 1>&2; exit 2;;
esac
shift
done
# Sanity checks
case "$prefix" in
/*) ;;
*) echo "The -prefix directory must be absolute." 1>&2; exit 2;;
esac
case "$bindir" in
/*) ;;
"") ;;
*) echo "The -bindir directory must be absolute." 1>&2; exit 2;;
esac
case "$libdir" in
/*) ;;
"") ;;
*) echo "The -libdir directory must be absolute." 1>&2; exit 2;;
esac
case "$mandir" in
/*) ;;
"") ;;
*) echo "The -mandir directory must be absolute." 1>&2; exit 2;;
esac
# Generate the files
rm -f Makefile.cnf
touch Makefile.cnf
# Check Ocaml
for i in utils parsing otherlibs/dynlink; do
if test ! -d "$ocaml_top/$i"; then
echo "Bad value $ocaml_top for option -ocaml-top"
echo "There is no directory $ocaml_top/$i"
echo "Configuration script failed"
exit 1
fi
done
echo "EXE=$EXE" >> Makefile.cnf
echo "OPT=" >> Makefile.cnf
echo "OTOP=$ocaml_top" >> Makefile.cnf
if test "$ocaml_top" = "../ocaml_stuff"; then
if ocamlc -v >/dev/null 2>&1; then
:
else
echo "You need the command ocamlc accessible in the path!"
echo "Configuration script failed!"
exit 1
fi
OLIBDIR=`ocamlc -where`
echo "OLIBDIR=$OLIBDIR" >> Makefile.cnf
else
echo "OLIBDIR=\$(OTOP)/boot" >> Makefile.cnf
fi
# Where to install
echo "PREFIX=$prefix" >> Makefile.cnf
case "$bindir" in
"") echo 'BINDIR=$(PREFIX)/bin' >> Makefile.cnf
bindir="$prefix/bin";;
*) echo "BINDIR=$bindir" >> Makefile.cnf;;
esac
case "$libdir" in
"") echo 'LIBDIR=$(PREFIX)/lib/camlp4' >> Makefile.cnf
libdir="$prefix/lib/camlp4";;
*) echo "LIBDIR=$libdir" >> Makefile.cnf;;
esac
case "$mandir" in
"") echo 'MANDIR=$(PREFIX)/man/man1' >> Makefile.cnf
mandir="$prefix/man/man1";;
*) echo "MANDIR=$mandir" >> Makefile.cnf;;
esac
rm -f Makefile
cat Makefile.tpl > Makefile
echo >> Makefile
cat Makefile.cnf >> Makefile
echo "Resulting configuration file (Makefile.cnf):"
echo
cat Makefile.cnf