114 lines
2.4 KiB
Bash
Executable File
114 lines
2.4 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 "O=o" >> Makefile.cnf
|
|
echo "A=a" >> 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
|
|
cat Makefile.cnf >> Makefile
|
|
|
|
echo "Resulting configuration file (Makefile.cnf):"
|
|
echo
|
|
cat Makefile.cnf
|