Use portable types in the C/C++ code generator
[ragel-jkt.git] / configure.in
blob4ef153d5c8e430ccba3f1fec0747b1e7a742aee9
1 dnl 
2 dnl   Copyright 2001-2009 Adrian Thurston <thurston@complang.org>
3 dnl
5 dnl   This file is part of Ragel.
6 dnl  
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.
11 dnl   
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.
16 dnl   
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 
20   
21 AC_INIT(ragel, 6.8)
22 PUBDATE="Feb 2013"
24 AM_INIT_AUTOMAKE([foreign])
25 AC_SUBST(PUBDATE)
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, 
31         [ . $srcdir/DIST; ], 
32         [ build_parsers=yes; build_manual=yes; ] )
34 dnl
35 dnl Enable arg to explicitly control the building of the manual
36 dnl
37 AC_ARG_ENABLE(manual,
38         [  --enable-manual         do we want to build the manual?],
39         [
40                 if test "x$enableval" = "xyes"; then
41                         build_manual=yes;
42                 else
43                         build_manual=no;
44                 fi
45         ],
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
51 dnl (production).
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.
58 AC_PROG_CC
59 AC_PROG_CXX
60 AC_CHECK_TOOL(AR, ar)
61 AC_PROG_RANLIB
63 dnl Set test on c++ compiler.
64 AC_LANG_CPLUSPLUS
66 dnl Check for definition of MAKE.
67 AC_PROG_MAKE_SET
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
74         echo
75         echo "error: ragel is required to build the parsers"
76         echo
77         exit 1
80 AC_CHECK_PROG(KELBT, kelbt, kelbt)
81 if test -z "$KELBT"; then
82         echo
83         echo "error: kelbt is required to build the parsers"
84         echo
85         exit 1
88 fi 
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
95         echo
96         echo "error: fig2dev is required to build the manual (maybe use --disable-manual)"
97         echo
98         exit 1
101 AC_CHECK_PROG(PDFLATEX, pdflatex, pdflatex)
102 if test -z "$PDFLATEX"; then
103         echo
104         echo "error: pdflatex is required to build the manual (maybe use --disable-manual)"
105         echo
106         exit 1
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; }
119 GOBJC=""
120 if gcc -x objective-c conftest.m -o conftest.bin 2>/dev/null; then
121         GOBJC="gcc -x objective-c"
122         AC_MSG_RESULT([yes])
123 else
124         AC_MSG_RESULT([no])
126 AC_SUBST(GOBJC)
128 dnl Check for the Java compiler.
129 AC_CHECK_PROG(JAVAC, javac, javac)
131 dnl Check for TXL.
132 AC_CHECK_PROG(TXL, txl, txl)
134 dnl Check for Ruby.
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
144 AC_OUTPUT(
145         [
146                 Makefile ragel/Makefile aapl/Makefile 
147                 doc/Makefile doc/ragel.1
148                 contrib/Makefile
149                 test/Makefile test/runtests
150                 examples/Makefile
151         ],
152         [chmod +x test/runtests]
155 echo "configuration of ragel complete"