A number of build system improvements: source the DIST file, which contains
[external/ragel.git] / configure.in
index 9ce9dd9..c5c40bf 100644 (file)
@@ -18,26 +18,35 @@ 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.4)
-AM_INIT_AUTOMAKE
+AC_INIT(ragel, 6.5)
+PUBDATE="May 2009"
 
+AM_INIT_AUTOMAKE
+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.
+AC_CHECK_FILES( $srcdir/DIST, 
+       [ . $srcdir/DIST; ], 
+       [ build_parsers=yes; build_manual=yes; ] )
+
 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).
-build_parsers=yes;
 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
-#AC_DEFINE_UNQUOTED(CC,$CC)
-#AC_DEFINE_UNQUOTED(CXX,$CXX)
-#AC_DEFINE_UNQUOTED(AR,$AR)
-#AC_DEFINE_UNQUOTED(RANLIB,$RANLIB)
+
+# Default flags.
+CXXFLAGS="-g"
 
 dnl Set test on c++ compiler.
 AC_LANG_CPLUSPLUS
@@ -45,9 +54,9 @@ AC_LANG_CPLUSPLUS
 dnl Check for definition of MAKE.
 AC_PROG_MAKE_SET
 
-if test "x$enable_parsers" = "xyes"; then
+# Checks to carry out if we are building parsers.
+if test "x$build_parsers" = "xyes"; then
 
-dnl Check for Ragel
 AC_CHECK_PROG(RAGEL, ragel, ragel)
 if test -z "$RAGEL"; then
        echo
@@ -56,7 +65,6 @@ if test -z "$RAGEL"; then
        exit 1
 fi
 
-dnl Check for Kelbt
 AC_CHECK_PROG(KELBT, kelbt, kelbt)
 if test -z "$KELBT"; then
        echo
@@ -65,13 +73,31 @@ if test -z "$KELBT"; then
        exit 1
 fi
 
-fi # BUILD_PARSERS
+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"
+       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"
+       echo
+       exit 1
+fi
+
+fi
 
 dnl Check for the D compiler
 AC_CHECK_PROG(GDC, gdc, gdc)
-#if test -n "$GDC"; then
-#      AC_DEFINE_UNQUOTED(GDC,$GDC)
-#fi
 
 dnl Check for the Objective-C compiler
 AC_MSG_CHECKING([for the Objective-C compiler])
@@ -82,7 +108,6 @@ GOBJC=""
 if gcc -x objective-c conftest.m -o conftest.bin 2>/dev/null; then
        GOBJC="gcc -x objective-c"
        AC_MSG_RESULT([yes])
-#      AC_DEFINE_UNQUOTED(GOBJC,$GOBJC)
 else
        AC_MSG_RESULT([no])
 fi
@@ -90,29 +115,26 @@ AC_SUBST(GOBJC)
 
 dnl Check for the Java compiler.
 AC_CHECK_PROG(JAVAC, javac, javac)
-#if test -n "$JAVAC"; then
-#      AC_DEFINE_UNQUOTED(JAVAC,$JAVAC)
-#fi
 
 dnl Check for TXL.
 AC_CHECK_PROG(TXL, txl, txl)
-#if test -n "$TXL"; then
-#      AC_DEFINE_UNQUOTED(TXL,$TXL)
-#fi
 
 dnl Check for Ruby.
 AC_CHECK_PROG(RUBY, ruby, ruby)
-#if test -n "$RUBY"; then
-#      AC_DEFINE_UNQUOTED(RUBY,$RUBY)
-#fi
 
 dnl Check for the C# compiler.
 AC_CHECK_PROG(GMCS, gmcs, gmcs)
-#if test -n "$GMCS"; then
-#      AC_DEFINE_UNQUOTED(GMCS,$GMCS)
-#fi
 
 dnl write output files
-AC_OUTPUT(Makefile ragel/Makefile aapl/Makefile doc/Makefile test/Makefile)
+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"