]> www.ginac.de Git - ginac.git/blobdiff - configure.ac
configure: correctly warn about missing flex and/or bison.
[ginac.git] / configure.ac
index b2a8e84e2ec3a97411c5c1985923dc4da6f32b38..ea664ee108d93e23cc5fdfe2321078473372b2aa 100644 (file)
@@ -2,8 +2,8 @@ dnl Process this file with autoconf to produce a configure script.
 
 dnl GiNaC version number
 m4_define([ginac_major_version], [1])
 
 dnl GiNaC version number
 m4_define([ginac_major_version], [1])
-m4_define([ginac_minor_version], [5])
-m4_define([ginac_micro_version], [2])
+m4_define([ginac_minor_version], [6])
+m4_define([ginac_micro_version], [0])
 m4_define([ginac_version], [ginac_major_version.ginac_minor_version.ginac_micro_version])
 m4_define([ginac_release], [ginac_major_version.ginac_minor_version])
 
 m4_define([ginac_version], [ginac_major_version.ginac_minor_version.ginac_micro_version])
 m4_define([ginac_release], [ginac_major_version.ginac_minor_version])
 
@@ -24,11 +24,11 @@ dnl systems, the numbering is consecutive. It only guarantees that it is
 dnl increasing. This doesn't matter, though: there is not incurred cost
 dnl for numbers that are omitted, except for shrinking the available space
 dnl of leftover numbers. Not something we need to worry about yet. ;-)
 dnl increasing. This doesn't matter, though: there is not incurred cost
 dnl for numbers that are omitted, except for shrinking the available space
 dnl of leftover numbers. Not something we need to worry about yet. ;-)
-m4_define([ginac_lt_current], [0])
+m4_define([ginac_lt_current], [2])
+m4_define([ginac_lt_revision], [0])
 m4_define([ginac_lt_age], [0])
 m4_define([ginac_lt_age], [0])
-m4_define([ginac_lt_revision], [2])
 
 
-AC_INIT([GiNaC], ginac_version, [<ginac-list@ginac.de>])
+AC_INIT([GiNaC], ginac_version, [ginac-list@ginac.de], [ginac], [http://www.ginac.de/])
 AC_PREREQ(2.59)
 AC_CONFIG_SRCDIR(ginac/basic.cpp)
 AC_CONFIG_AUX_DIR([config])
 AC_PREREQ(2.59)
 AC_CONFIG_SRCDIR(ginac/basic.cpp)
 AC_CONFIG_AUX_DIR([config])
@@ -61,20 +61,16 @@ AC_DEFINE_UNQUOTED(ARCHIVE_AGE, $ARCHIVE_AGE, [GiNaC archive file version age])
 
 dnl libtool versioning
 LT_VERSION_INFO="ginac_lt_current:ginac_lt_revision:ginac_lt_age"
 
 dnl libtool versioning
 LT_VERSION_INFO="ginac_lt_current:ginac_lt_revision:ginac_lt_age"
-LT_RELEASE="ginac_release"
-
 AC_SUBST(LT_VERSION_INFO)
 AC_SUBST(LT_VERSION_INFO)
-AC_SUBST(LT_RELEASE)
-
 
 dnl Check for the compiler and all the utilities needed for the build.
 AC_PROG_CXX
 AC_PROG_CXXCPP
 AC_PROG_INSTALL
 AM_PROG_LIBTOOL
 
 dnl Check for the compiler and all the utilities needed for the build.
 AC_PROG_CXX
 AC_PROG_CXXCPP
 AC_PROG_INSTALL
 AM_PROG_LIBTOOL
-AM_PROG_LEX
+AC_PROG_LEX
 AC_PROG_YACC
 AC_PROG_YACC
-
+AC_PATH_PROG(YACCEXE, $YACC, "")
 
 dnl Switch to C++ language mode for the following libraries and headers.
 AC_LANG([C++])
 
 dnl Switch to C++ language mode for the following libraries and headers.
 AC_LANG([C++])
@@ -82,10 +78,7 @@ AC_LANG([C++])
 dnl Make sure all the necessary standard headers are installed on the system.
 GINAC_STD_CXX_HEADERS
 
 dnl Make sure all the necessary standard headers are installed on the system.
 GINAC_STD_CXX_HEADERS
 
-dnl We need to have Bruno Haible's CLN installed.
-dnl (pkg-config must have installed pkg.m4 at a visible place, which provides
-dnl this macro. CLN >= 1.1.6 must have installed cln.pc at a visible place,
-dnl which provides the actual dependency information.)
+dnl We need to have CLN installed.
 PKG_CHECK_MODULES(CLN, cln >= 1.2.2)
 AC_LIB_LINKFLAGS_FROM_LIBS([CLN_RPATH], [$CLN_LIBS], [1])
 LIBS="$LIBS $CLN_LIBS $CLN_RPATH"
 PKG_CHECK_MODULES(CLN, cln >= 1.2.2)
 AC_LIB_LINKFLAGS_FROM_LIBS([CLN_RPATH], [$CLN_LIBS], [1])
 LIBS="$LIBS $CLN_LIBS $CLN_RPATH"
@@ -107,6 +100,7 @@ GINAC_READLINE
 
 dnl Check for dl library (needed for GiNaC::compile).
 GINAC_EXCOMPILER
 
 dnl Check for dl library (needed for GiNaC::compile).
 GINAC_EXCOMPILER
+AM_CONDITIONAL(CONFIG_EXCOMPILER, [test "x${CONFIG_EXCOMPILER}" = "xyes"])
 
 dnl Check for utilities needed by the different kinds of documentation.
 dnl Documentation needs only be built when extending it, so never mind if it
 
 dnl Check for utilities needed by the different kinds of documentation.
 dnl Documentation needs only be built when extending it, so never mind if it
@@ -116,15 +110,22 @@ AM_CONDITIONAL(CONFIG_DOXYGEN, [test ! -z "$DOXYGEN"])
 AC_PATH_PROG(LATEX, latex, "")
 AC_PATH_PROG(PDFLATEX, pdflatex, "")
 AC_PATH_PROG(MAKEINDEX, makeindex, "")
 AC_PATH_PROG(LATEX, latex, "")
 AC_PATH_PROG(PDFLATEX, pdflatex, "")
 AC_PATH_PROG(MAKEINDEX, makeindex, "")
+AC_PATH_PROG(MAKEINFO, makeinfo, "")
 AC_PATH_PROG(DVIPS, dvips, "")
 AM_CONDITIONAL(CONFIG_TEX, [test ! \( -z "$LATEX" -o -z $"PDFLATEX" -o -z "$MAKEINDEX" -o -z "$DVIPS" \)])
 AC_PATH_PROG(FIG2DEV, fig2dev, "")
 AM_CONDITIONAL(CONFIG_FIG2DEV, [test ! -z "$FIG2DEV"])
 AC_PATH_PROG(DVIPS, dvips, "")
 AM_CONDITIONAL(CONFIG_TEX, [test ! \( -z "$LATEX" -o -z $"PDFLATEX" -o -z "$MAKEINDEX" -o -z "$DVIPS" \)])
 AC_PATH_PROG(FIG2DEV, fig2dev, "")
 AM_CONDITIONAL(CONFIG_FIG2DEV, [test ! -z "$FIG2DEV"])
-
-dnl generate boilerplate code for the (new) parser.
-dnl Only developers need this tool.
-AC_PATH_PROG(AUTOGEN, autogen, "")
-
+AS_IF([test "x$LEX" = "x:" -a ! -f $srcdir/ginsh/ginsh_lexer.cc],
+      [GINAC_WARNING([ginsh will not compile, because lex/flex is missing])])
+AS_IF([test -z "$YACCEXE" -a ! -f $srcdir/ginsh/ginsh_parser.h],
+      [GINAC_WARNING([ginsh will not compile, because yacc/bison is missing])])
+AS_IF([test -z "$FIG2DEV" -o -z "$MAKEINFO"],
+         [GINAC_WARNING([Documentation may not build, because fig2dev/texinfo is missing.])])
+AS_IF([test -z "$DOXYGEN"],
+         [GINAC_WARNING([Reference manual will not build, because doxygen is missing.])])
+AS_IF([test -z "$LATEX" -o -z "$PDFLATEX" -o -z "$DVIPS"],
+         [GINAC_WARNING([Some documentation formats may not build, because latex/pdflatex/dvips is missing.])])
+          
 dnl Output makefiles etc.
 AC_CONFIG_FILES([
 Makefile
 dnl Output makefiles etc.
 AC_CONFIG_FILES([
 Makefile
@@ -147,5 +148,6 @@ doc/reference/DoxyfilePDF
 doc/reference/Doxyfooter
 ])
 AC_OUTPUT
 doc/reference/Doxyfooter
 ])
 AC_OUTPUT
+
 dnl Display a final warning if there has been a GINAC_ERROR or a GINAC_WARNING
 GINAC_CHECK_ERRORS
 dnl Display a final warning if there has been a GINAC_ERROR or a GINAC_WARNING
 GINAC_CHECK_ERRORS