GINACLIB_MAJOR_VERSION=0
GINACLIB_MINOR_VERSION=9
-GINACLIB_MICRO_VERSION=0
-GINACLIB_INTERFACE_AGE=0
-GINACLIB_BINARY_AGE=0
+GINACLIB_MICRO_VERSION=4
+GINACLIB_INTERFACE_AGE=1
+GINACLIB_BINARY_AGE=1
GINACLIB_VERSION=$GINACLIB_MAJOR_VERSION.$GINACLIB_MINOR_VERSION.$GINACLIB_MICRO_VERSION
AC_SUBST(GINACLIB_MAJOR_VERSION)
dnl Archives version (ARCHIVE_VERSION-ARCHIVE_AGE) thru ARCHIVE_VERSION can
dnl be read by this version of the GiNaC library.
-ARCHIVE_VERSION=0
-ARCHIVE_AGE=0
+ARCHIVE_VERSION=1
+ARCHIVE_AGE=1
AC_SUBST(ARCHIVE_VERSION)
AC_SUBST(ARCHIVE_AGE)
dnl If one of them cannot be found the system is probably not ANSI-conform
dnl enough so trying the .h-style headers is a waste of time.
AC_CHECK_HEADERS(iostream vector map string list typeinfo iterator stdexcept algorithm, ,
- AC_MSG_ERROR(need to have ANSI compliant headers))
+ AC_MSG_ERROR([need to have ANSI compliant headers]))
+dnl We need the sstream header. But since g++-2.95.n, n<3 does not provide
+dnl it, we must fall back to strstream, which, however, suffers from fixed
+dnl buffer sizes. So the fallback may produce a crippled library. NB: this
+dnl fallback will disappear in future versions.
AC_CHECK_HEADERS(sstream strstream)
+if test "x${ac_cv_header_sstream}" = "xno"; then
+ if test "x${ac_cv_header_strstream}" = "xno"; then
+ AC_MSG_ERROR([I could not find the <sstream> or <strstream> header.])
+ else
+ GINAC_WARNING([I could not find <sstream>. <strstream> may cause trouble.])
+ fi
+fi
dnl We need to have Bruno Haible's CLN installed.
dnl (CLN versions >= 1.1.0 must have installed cln.m4 at a visible place,
AC_SUBST(TUTORIAL_TARGETS)
AC_SUBST(REFERENCE_TARGETS)
-dnl Configure GiNaC-cint
-AC_ARG_WITH(cint, [ --with-cint=CINTSYSDIR build GiNaC-cint C++ interpreter [default=no]], , with_cint=no)
-dnl The variable GINACCINTDIR controls whether the subdirectory cint is entered
-dnl from the top-level Makefile or not.
-GINACCINTDIR=
-if test "x$with_cint" != "xno"; then
- dnl Maybe CINTSYSDIR was passed as an argument. In this case it should
- dnl override any CINTSYSDIR variable already set.
- if test "x$with_cint" != "xyes"; then
- CINTSYSDIR=$with_cint
- export CINTSYSDIR
- fi
- dnl Now have to handle two possbile cases, one with CINTSYSDIR set and one
- dnl without. In the first one we search for cint and makecint in CINTSYSDIR
- dnl and PATH, in the second there is only the PATH to search in.
- if test "x$CINTSYSDIR" != "x"; then
- AC_PATH_PROG(CINT, cint, , $CINTSYSDIR:$PATH)
- AC_PATH_PROG(MAKECINT, makecint, , $CINTSYSDIR:$PATH)
- if [[ "$CINT" -a "$MAKECINT" ]]; then
- AC_MSG_RESULT([creating cint/Makefile])
- (cd cint && \
- $MAKECINT -mk Makefile.makecint -o ginaccint.bin -m \
- -D OBSCURE_CINT_HACK "$CPPFLAGS" -cc "$CXXFLAGS" \
- -I .. -I $CINTSYSDIR -m -H ../ginac/ginac.h \
- -C++ ginaccint.bin.cpp \
- -l -L../ginac/.libs -lginac -lcln \
- -cint -M0x110; \
- cd ..)
- GINACCINTDIR="cint"
- AC_SUBST(CINTSYSDIR)
- else
- GINAC_WARNING([I could not find cint and makecint (needed for building GiNaC-cint).])
- fi
- else
- AC_PATH_PROG(CINT, cint)
- AC_PATH_PROG(MAKECINT, makecint)
- if [[ "$CINT" -a "$MAKECINT" ]]; then
- AC_MSG_RESULT([creating cint/Makefile])
- (cd cint && \
- $MAKECINT -mk Makefile.makecint -o ginaccint.bin -m \
- -D OBSCURE_CINT_HACK "$CPPFLAGS" -cc "$CXXFLAGS" \
- -I .. -m -H ../ginac/ginac.h \
- -C++ ginaccint.bin.cpp \
- -l -L../ginac/.libs -lginac -lcln \
- -cint -M0x110; \
- cd ..)
- GINACCINTDIR="cint"
- else
- GINAC_WARNING([I could not find cint and makecint (needed for building GiNaC-cint).])
- fi
- fi
-fi
-AC_SUBST(GINACCINTDIR)
-
dnl Output makefiles etc.
AC_OUTPUT([
Makefile
doc/Makefile
doc/tutorial/Makefile
doc/reference/Makefile
-cint/Makefile
-cint/launch.h
], [chmod +x ginac-config])
dnl Display a final warning if there has been a GINAC_ERROR or a GINAC_WARNING
GINAC_CHECK_ERRORS