configure.ac 3.9 KB
Newer Older
POGODALLA Sylvain's avatar
POGODALLA Sylvain committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
AC_INIT([ACG DTK],[0.1],[sylvain.pogodalla@loria.fr])

#AC_COPYRIGHT([Cecill])

OCAML_REQUIRED=3.07

# First look for bytecode compilers (ocamlc.opt or ocamlc) in the path
# Fail if not present
AC_CHECK_PROGS(OCAMLC,ocamlc.opt ocamlc,no)
if test "$OCAMLC" = no ; then
        AC_MSG_ERROR(Cannot find ocamlc.)
fi

# Then look at native code compilers (ocamlopt.opt or ocamlopt) in the path
# Fail if not present
# we first look for ocaml in the path; if not present, we fail
AC_CHECK_PROGS(OCAMLCOPT,ocamlopt.opt ocamlopt,no)
if test "$OCAMLCOPT" = no ; then
        AC_MSG_ERROR(Cannot find ocamlc.opt.)
fi

# Look for the interpreter
AC_CHECK_PROG(OCAML,ocaml,ocaml,no)
if test "$OCAML" = no ; then
        AC_MSG_ERROR(Cannot find ocaml.)
fi

# Look for camlp4o
AC_CHECK_PROG(OCAMLP4,camlp4o,camlp4o,no)
if test "$OCAMLP4" = no ; then
        AC_MSG_ERROR(Cannot find camlp4o.)
fi

# Look for documentation generators (ocamldoc.opt or ocamldoc)
AC_CHECK_PROGS(OCAMLDOC,ocamldoc.opt ocamldoc,no)
if test "$OCAMLDOC" = no ; then
        AC_MSG_ERROR(Cannot find ocamldoc.)
fi

# Look for dependency generator (ocamldep.opt or ocamldep)
AC_CHECK_PROGS(OCAMLDEP,ocamldep.opt ocamldep,no)
if test "$OCAMLDEP" = no ; then
        AC_MSG_ERROR(Cannot find ocamldep.)
fi

46
# Look for camllex
POGODALLA Sylvain's avatar
POGODALLA Sylvain committed
47 48 49 50 51
AC_CHECK_PROGS(OCAMLLEX,ocamllex.opt ocamllex,no)
if test "$OCAMLLEX" = no ; then
	AC_MSG_ERROR(Cannot find ocamllex)
fi

52
#Look for dypgen
53
DYPGEN_NEEDED=20080702
POGODALLA Sylvain's avatar
POGODALLA Sylvain committed
54
AC_CHECK_PROGS(DYPGEN,dypgen.opt dypgen,no)
55 56
if test "$DYPGEN" = no ; then
	AC_MSG_ERROR(Cannot find dypgen)
57 58 59 60 61 62 63 64
else
	DYPGEN_VERSION=`$DYPGEN --version | grep version | sed 's/^.* \(.*\)$/\1/'`
	AC_MSG_CHECKING([for $DYPGEN version])
	if test $DYPGEN_VERSION -ge $DYPGEN_NEEDED ; then
	   AC_MSG_RESULT($DYPGEN ($DYPGEN_VERSION) is ok)
	else
	   AC_MSG_ERROR($DYPGEN version $DYPGEN_VERSION found ; version $DYPGEN_NEEDED or greater is needed)
	fi
POGODALLA Sylvain's avatar
POGODALLA Sylvain committed
65 66
fi

67 68


POGODALLA Sylvain's avatar
POGODALLA Sylvain committed
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
# What is the OCAML version  ?
# we extract Ocaml version number
OCAML_VERSION=`$OCAMLC -version`
AC_MSG_CHECKING([for $OCAMLC version])
AC_MSG_RESULT([$OCAMLC version is $OCAML_VERSION])

# Check whether the caml version checker is provided
ML_CHECK_FILE=config/ml_check.ml
AC_CHECK_FILE($ML_CHECK_FILE,,AC_MSG_ERROR(Cannot check versions))

# check that this version is at least the one we need
if ($OCAML $ML_CHECK_FILE -ref $OCAML_REQUIRED $OCAML_VERSION > /dev/null) ; then
        AC_MSG_RESULT($OCAMLC version $OCAMLVERSION is ok)
else
        AC_MSG_ERROR($OCAMLC version $OCAMLVERSION found ; version $OCAML_NEEDED or greater is needed)
fi

# check if the dtypes option is present
if ($OCAML $ML_CHECK_FILE -ref 3.07 $OCAML_VERSION> /dev/null) ; then
	AC_MSG_RESULT(Compilation will be done with the -dtypes option)
        TYPES=-dtypes
else
	AC_MSG_RESULT(Compilation will NOT be done with the -dtypes option)
	TYPES=
fi


# check if the -w yz option is present
# and set the _loc variable of campl4 to loc
if ($OCAML $ML_CHECK_FILE -ref 3.09 $OCAML_VERSION > /dev/null) ; then
        OCAML09WARNINGS="-w yz"
	OCAMLP4_LOC="-loc loc"
	AC_MSG_RESULT($OCAMLP4 calls will be done with the $OCAMLP4_LOC option)
else
	OCAML09WARNINGS=
fi
AC_MSG_RESULT(Compilation will be done with the $OCAML09WARNINGS option)

107 108 109 110 111 112 113 114
if ($OCAML $ML_CHECK_FILE -ref 3.10 $OCAML_VERSION > /dev/null) ; then
	CAMLP4_LIB="camlp4lib.cma"
else
	CAMLP4_LIB="camlp4.cma"
fi
AC_MSG_RESULT($OCAMLP4 calls will be done with the $CAMLP4_LIB library)


POGODALLA Sylvain's avatar
POGODALLA Sylvain committed
115 116 117 118 119 120 121


############################
# substitutions to perform
AC_SUBST(OCAMLC)
AC_SUBST(OCAMLCOPT)
AC_SUBST(OCAMLP4)
122
AC_SUBST(CAMLP4_LIB)
POGODALLA Sylvain's avatar
POGODALLA Sylvain committed
123 124 125 126
AC_SUBST(OCAMLDOC)
AC_SUBST(OCAMLDEP)

AC_SUBST(OCAMLLEX)
127 128
#AC_SUBST(OCAMLYACC)
AC_SUBST(DYPGEN)
POGODALLA Sylvain's avatar
POGODALLA Sylvain committed
129 130 131 132 133 134 135

AC_SUBST(TYPES)
AC_SUBST(OCAML09WARNINGS)
AC_SUBST(OCAMLP4_LOC)

AC_SUBST(SET_MAKE)

136
AC_CONFIG_FILES([./Makefile config/Makefile src/Makefile.master src/Makefile.common src/Makefile src/utils/Makefile src/logic/Makefile src/grammars/Makefile src/lambda/Makefile src/acg-data/Makefile src/scripting/Makefile])
POGODALLA Sylvain's avatar
POGODALLA Sylvain committed
137 138 139 140 141

AC_PROG_MAKE_SET

AC_OUTPUT