2 dnl Copyright 2001-2009 Adrian Thurston <thurston@complang.org>
5 dnl This file is part of Ragel.
7 dnl Ragel is free software; you can redistribute it and/or modify
8 dnl it under the terms of the GNU General Public License as published by
9 dnl the Free Software Foundation; either version 2 of the License, or
10 dnl (at your option) any later version.
12 dnl Ragel is distributed in the hope that it will be useful,
13 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
14 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 dnl GNU General Public License for more details.
17 dnl You should have received a copy of the GNU General Public License
18 dnl along with Ragel; if not, write to the Free Software
19 dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24 AM_INIT_AUTOMAKE([foreign])
26 AC_CONFIG_HEADER(ragel/config.h)
28 dnl Choose defaults for the build_parsers and build_manual vars. If the dist
29 dnl file is present in the root then default to no, otherwise go for it.
30 AC_CHECK_FILES( $srcdir/DIST,
32 [ build_parsers=yes; build_manual=yes; ] )
35 dnl Enable arg to explicitly control the building of the manual
38 [ --enable-manual do we want to build the manual?],
40 if test "x$enableval" = "xyes"; then
49 dnl Set to true if the build system should generate parsers from ragel and kelbt
50 dnl sources. Set to false if generated files are included and not to be built
52 AM_CONDITIONAL(BUILD_PARSERS, [test "x$build_parsers" = "xyes"])
54 dnl Set to true if the manual should be built.
55 AM_CONDITIONAL(BUILD_MANUAL, [test "x$build_manual" = "xyes"])
57 dnl Checks for programs.
63 dnl Set test on c++ compiler.
66 dnl Check for definition of MAKE.
69 # Checks to carry out if we are building parsers.
70 if test "x$build_parsers" = "xyes"; then
72 AC_CHECK_PROG(RAGEL, ragel, ragel)
73 if test -z "$RAGEL"; then
75 echo "error: ragel is required to build the parsers"
80 AC_CHECK_PROG(KELBT, kelbt, kelbt)
81 if test -z "$KELBT"; then
83 echo "error: kelbt is required to build the parsers"
90 # Checks to carry out if we are building the manual.
91 if test "x$build_manual" = "xyes"; then
93 AC_CHECK_PROG(FIG2DEV, fig2dev, fig2dev)
94 if test -z "$FIG2DEV"; then
96 echo "error: fig2dev is required to build the manual (maybe use --disable-manual)"
101 AC_CHECK_PROG(PDFLATEX, pdflatex, pdflatex)
102 if test -z "$PDFLATEX"; then
104 echo "error: pdflatex is required to build the manual (maybe use --disable-manual)"
111 dnl Check for the D compiler
112 AC_CHECK_PROG(GDC, gdc, gdc)
114 dnl Check for the Objective-C compiler
115 AC_MSG_CHECKING([for the Objective-C compiler])
116 cat > conftest.m <<EOF
117 int main() { return 0; }
120 if gcc -x objective-c conftest.m -o conftest.bin 2>/dev/null; then
121 GOBJC="gcc -x objective-c"
128 dnl Check for the Java compiler.
129 AC_CHECK_PROG(JAVAC, javac, javac)
132 AC_CHECK_PROG(TXL, txl, txl)
135 AC_CHECK_PROG(RUBY, ruby, ruby)
137 dnl Check for the C# compiler.
138 AC_CHECK_PROG(GMCS, gmcs, gmcs)
140 dnl Check for the Go compiler.
141 AC_CHECK_PROG(GOBIN, go, go build)
143 dnl write output files
146 Makefile ragel/Makefile aapl/Makefile
147 doc/Makefile doc/ragel.1
149 test/Makefile test/runtests
152 [chmod +x test/runtests]
155 echo "configuration of ragel complete"