3 [Kim Nguyễn <kn@lri.fr>],
8 AC_ARG_WITH([ocamlfind],
9 AS_HELP_STRING([--with-ocamlfind=PATH], [location of the ocamlfind binary]),
10 [OCAMLFIND="$withval"])
11 AC_MSG_CHECKING([for ocamlfind ($OCAMLFIND)])
12 $OCAMLFIND list >/dev/null 2>&1
14 AC_MSG_RESULT([found])
15 OCAMLC="$OCAMLFIND ocamlc"
16 OCAMLOPT="$OCAMLFIND ocamlopt"
17 OCAMLDEP="$OCAMLFIND ocamldep"
19 AC_MSG_RESULT([not found])
20 AC_MSG_ERROR([Cannot find ocamlfind.])
26 AC_MSG_CHECKING([for $OCAMLC])
27 $OCAMLC >/dev/null 2>&1
31 AC_MSG_RESULT([failed])
32 AC_MSG_ERROR(Cannot find ocamlc.)
37 AC_MSG_CHECKING([for $OCAMLOPT])
38 $OCAMLOPT >/dev/null 2>&1
42 AC_MSG_RESULT([failed])
43 AC_MSG_ERROR(Cannot find ocamlopt.)
48 AC_MSG_CHECKING([for $OCAMLDEP])
49 $OCAMLDEP >/dev/null 2>&1
53 AC_MSG_RESULT([failed])
54 AC_MSG_ERROR(Cannot find ocamldep.)
59 OCAMLVERSION=$($OCAMLC -version)
60 AC_MSG_CHECKING([ocaml version])
61 AC_MSG_RESULT([$OCAMLVERSION])
63 case "$OCAMLVERSION" in
65 *) AC_MSG_ERROR([OCaml $OCAMLVERSION is too old])
69 AC_SUBST(OCAMLVERSION)
73 AC_ARG_WITH([ocamlyacc],
74 AS_HELP_STRING([--with-ocamlyacc=PATH], [location of the ocamlyacc binary]),
75 [OCAMLYACC="$withval"])
76 AC_MSG_CHECKING([for ocamlyacc ($OCAMLYACC)])
77 OCAMLYACC_VERSION=$($OCAMLYACC -version 2>/dev/null || echo foo)
78 case "$OCAMLYACC_VERSION" in
83 AC_MSG_RESULT([failed])
84 AC_MSG_ERROR([Cannot find ocamlyacc])
87 AC_MSG_RESULT([failed])
88 AC_MSG_ERROR([Bad ocamlyacc version])
95 AC_ARG_WITH([ocamllex],
96 AS_HELP_STRING([--with-ocamllex=PATH], [location of the ocamllex binary]),
97 [OCAMLLEX="$withval"])
98 AC_MSG_CHECKING([for ocamllex ($OCAMLLEX)])
99 OCAMLLEX_VERSION=$($OCAMLLEX -version 2>/dev/null || echo foo)
100 case "$OCAMLLEX_VERSION" in
105 AC_MSG_RESULT([failed])
106 AC_MSG_ERROR([Cannot find ocamllex])
109 AC_MSG_RESULT([failed])
110 AC_MSG_ERROR([Bad ocamllex version])
118 AC_ARG_WITH([camlp4],
119 AS_HELP_STRING([--with-camlp4=PATH], [location of the camlp4 binary]),
121 AC_MSG_CHECKING([for camlp4 ($CAMLP4)])
122 CAMLP4_VERSION=$($CAMLP4 -version 2>/dev/null || echo foo)
123 case "$CAMLP4_VERSION" in
128 AC_MSG_RESULT([failed])
129 AC_MSG_ERROR([Cannot find camlp4])
132 AC_MSG_RESULT([failed])
133 AC_MSG_ERROR([Bad camlp4 version])
139 AC_MSG_CHECKING([platform])
140 OCAML_PLATFORM=$(echo 'print_endline Sys.os_type;;' | ocaml -noprompt | grep '^@<:@A-Z@:>@')
141 AC_MSG_RESULT([$OCAML_PLATFORM])
142 if test "$OCAML_PLATFORM" = "Win32"; then
147 AC_SUBST(OCAML_PLATFORM)
151 AC_MSG_CHECKING([for ulex])
152 ulex_path=`$OCAMLFIND query ulex 2>/dev/null`
153 if test "$ulex_path" ; then
154 AC_MSG_RESULT([found])
156 AC_MSG_RESULT([not found])
157 AC_MSG_ERROR([Cannot find ulex.])
160 AC_MSG_CHECKING([for expat])
161 expat_path=`$OCAMLFIND query expat 2>/dev/null`
162 if test "$expat_path" ; then
163 AC_MSG_RESULT([found])
165 AC_MSG_RESULT([not found])
166 AC_MSG_ERROR([Cannot find expat.])
171 OCAMLFLAGS=$OCAMLFLAGS
172 CAMLP4FLAGS=$CAMLP4FLAGS
173 OCAMLCFLAGS=$OCAMLCFLAGS
174 OCAMLOPTFLAGS=$OCAMLOPTFLAGS
176 AC_ARG_ENABLE([debug],
177 [ --enable-debug build in debug mode],
181 if test "x$DEBUG" = "xyes"; then
182 OCAMLFLAGS="$OCAMLFLAGS -g"
183 CAMLP4FLAGS="$CAMLP4FLAGS -DDEBUG"
187 AC_ARG_ENABLE([profile],
188 [ --enable-profile compile in profiling code],
189 [PROFILE=$enableval],
192 if test "x$PROFILE" = "xyes"; then
193 OCAMLOPTFLAGS="$OCAMLOPTFLAGS -p"
194 OCAMLC="$OCAMLFIND ocamlcp"
198 AC_ARG_ENABLE([trace],
199 [ --enable-trace add tracing code],
203 if test "x$TRACE" = "xyes"; then
204 CAMLP4FLAGS="$CAMLP4FLAGS -DHTMLTRACE"
209 AC_ARG_ENABLE([inline],
210 [ --enable-inline set OCaml inlining level (default=100)],
215 AC_ARG_ENABLE([unsafe],
216 [ --enable-unsafe use unsafe array and string accesses],
220 if test "x$UNSAFE" = "xyes"; then
221 CAMLP4FLAGS="$CAMLP4FLAGS -unsafe"
228 AC_SUBST([REMAKE], [./remake$EXE])
229 if test ! -x "$REMAKE" -o "$REMAKE" -ot remake.cpp; then
230 AC_MSG_NOTICE([creating $REMAKE])
231 REMAKE_LOG=build_remake.log
234 $CXX -Wall -O2 -o remake.exe remake.cpp -lws2_32 > "$REMAKE_LOG" 2>&1
235 if test $? != 0; then
236 cat "$REMAKE_LOG"; rm -f "$REMAKE_LOG";
237 AC_MSG_FAILURE([failed]);
241 $CXX -Wall -O2 -o remake remake.cpp > "$REMAKE_LOG" 2>&1
242 if test $? != 0; then
243 cat "$REMAKE_LOG"; rm -f "$REMAKE_LOG";
244 AC_MSG_FAILURE([failed]);
250 AC_MSG_NOTICE([$REMAKE exists, not rebuilding])
256 AC_SUBST(OCAMLCFLAGS)
257 AC_SUBST(OCAMLOPTFLAGS)
258 AC_SUBST(CAMLP4FLAGS)
259 AC_CONFIG_FILES(Remakefile)
260 AC_CONFIG_FILES(Makefile)