diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-03-24 04:52:08 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-03-24 04:52:08 +0000 |
commit | d13d67a31c451ebd78ce708a4ef85803d429f158 (patch) | |
tree | 12228e3c829c72d40ca2e6da8cb7797fcda11e91 /configure.ac | |
parent | eafd7a3974e8605fd02794269db6114a3446e016 (diff) | |
download | ragel-tarball-master.tar.gz |
ragel-6.10HEADragel-6.10master
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..b86da8c --- /dev/null +++ b/configure.ac @@ -0,0 +1,155 @@ +dnl +dnl Copyright 2001-2009 Adrian Thurston <thurston@complang.org> +dnl + +dnl This file is part of Ragel. +dnl +dnl Ragel is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 2 of the License, or +dnl (at your option) any later version. +dnl +dnl Ragel is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with Ragel; if not, write to the Free Software +dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +AC_INIT(ragel, 6.10) +PUBDATE="March 2017" + +AM_INIT_AUTOMAKE([foreign]) +AC_SUBST(PUBDATE) +AC_CONFIG_HEADER(ragel/config.h) + +dnl Choose defaults for the build_parsers and build_manual vars. If the dist +dnl file is present in the root then default to no, otherwise go for it. + +AS_IF([test -r $srcdir/DIST], [. $srcdir/DIST], [build_parsers=yes; + build_manual=yes]) + +dnl +dnl Enable arg to explicitly control the building of the manual +dnl +AC_ARG_ENABLE(manual, + [ --enable-manual do we want to build the manual?], + [ + if test "x$enableval" = "xyes"; then + build_manual=yes; + else + build_manual=no; + fi + ], +) + + +dnl Set to true if the build system should generate parsers from ragel and kelbt +dnl sources. Set to false if generated files are included and not to be built +dnl (production). +AM_CONDITIONAL(BUILD_PARSERS, [test "x$build_parsers" = "xyes"]) + +dnl Set to true if the manual should be built. +AM_CONDITIONAL(BUILD_MANUAL, [test "x$build_manual" = "xyes"]) + +dnl Checks for programs. +AC_PROG_CC +AC_PROG_CXX +AC_CHECK_TOOL(AR, ar) +AC_PROG_RANLIB + +dnl Set test on c++ compiler. +AC_LANG_CPLUSPLUS + +dnl Check for definition of MAKE. +AC_PROG_MAKE_SET + +# Checks to carry out if we are building parsers. +if test "x$build_parsers" = "xyes"; then + +AC_CHECK_PROG(RAGEL, ragel, ragel) +if test -z "$RAGEL"; then + echo + echo "error: ragel is required to build the parsers" + echo + exit 1 +fi + +AC_CHECK_PROG(KELBT, kelbt, kelbt) +if test -z "$KELBT"; then + echo + echo "error: kelbt is required to build the parsers" + echo + exit 1 +fi + +fi + +# Checks to carry out if we are building the manual. +if test "x$build_manual" = "xyes"; then + +AC_CHECK_PROG(FIG2DEV, fig2dev, fig2dev) +if test -z "$FIG2DEV"; then + echo + echo "error: fig2dev is required to build the manual (maybe use --disable-manual)" + echo + exit 1 +fi + +AC_CHECK_PROG(PDFLATEX, pdflatex, pdflatex) +if test -z "$PDFLATEX"; then + echo + echo "error: pdflatex is required to build the manual (maybe use --disable-manual)" + echo + exit 1 +fi + +fi + +dnl Check for the D compiler +AC_CHECK_PROG(GDC, gdc, gdc) + +dnl Check for the Objective-C compiler +AC_MSG_CHECKING([for the Objective-C compiler]) +cat > conftest.m <<EOF +int main() { return 0; } +EOF +GOBJC="" +if gcc -x objective-c conftest.m -o conftest.bin 2>/dev/null; then + GOBJC="gcc -x objective-c" + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi +AC_SUBST(GOBJC) + +dnl Check for the Java compiler. +AC_CHECK_PROG(JAVAC, javac, javac) + +dnl Check for TXL. +AC_CHECK_PROG(TXL, txl, txl) + +dnl Check for Ruby. +AC_CHECK_PROG(RUBY, ruby, ruby) + +dnl Check for the C# compiler. +AC_CHECK_PROG(GMCS, gmcs, gmcs) + +dnl Check for the Go compiler. +AC_CHECK_PROG(GOBIN, go, go build) + +dnl write output files +AC_OUTPUT( + [ + Makefile ragel/Makefile aapl/Makefile + doc/Makefile doc/ragel.1 + contrib/Makefile + test/Makefile test/runtests + examples/Makefile + ], + [chmod +x test/runtests] +) + +echo "configuration of ragel complete" |