| 1 |
cbauer |
1.1 |
dnl Process this file with autoconf to produce a configure script.
|
| 2 |
|
|
|
| 3 |
|
|
dnl GiNaC library version information.
|
| 4 |
|
|
dnl
|
| 5 |
|
|
dnl Making releases:
|
| 6 |
vollinga |
1.21.2.2 |
dnl ginac_micro_version += 1;
|
| 7 |
|
|
dnl ginac_interface_age += 1;
|
| 8 |
|
|
dnl ginac_binary_age += 1;
|
| 9 |
|
|
dnl if any functions have been added, set ginac_interface_age to 0.
|
| 10 |
cbauer |
1.1 |
dnl if backwards compatibility has been broken,
|
| 11 |
vollinga |
1.21.2.2 |
dnl set ginac_binary_age and ginac_interface_age to 0.
|
| 12 |
|
|
|
| 13 |
|
|
m4_define([ginac_major_version], [1])
|
| 14 |
|
|
m4_define([ginac_minor_version], [3])
|
| 15 |
vollinga |
1.21.2.9 |
m4_define([ginac_micro_version], [5])
|
| 16 |
vollinga |
1.21.2.2 |
m4_define([ginac_version], [ginac_major_version.ginac_minor_version.ginac_micro_version])
|
| 17 |
|
|
m4_define([ginac_release], [ginac_major_version.ginac_minor_version])
|
| 18 |
vollinga |
1.21.2.9 |
m4_define([ginac_interface_age], [2])
|
| 19 |
|
|
m4_define([ginac_binary_age], [3])
|
| 20 |
cbauer |
1.1 |
|
| 21 |
cbauer |
1.21.2.4 |
AC_INIT([GiNaC], ginac_version, [<ginac-list@ginac.de>])
|
| 22 |
vollinga |
1.21.2.3 |
AC_PREREQ(2.59)
|
| 23 |
vollinga |
1.21.2.2 |
AC_CONFIG_SRCDIR(ginac/basic.cpp)
|
| 24 |
|
|
AC_CONFIG_HEADERS(config.h)
|
| 25 |
|
|
dnl This defines PACKAGE and VERSION.
|
| 26 |
|
|
AM_INIT_AUTOMAKE([gnu 1.7 dist-bzip2])
|
| 27 |
|
|
|
| 28 |
|
|
dnl Process GiNaC version information
|
| 29 |
|
|
GINACLIB_MAJOR_VERSION=ginac_major_version
|
| 30 |
|
|
GINACLIB_MINOR_VERSION=ginac_minor_version
|
| 31 |
|
|
GINACLIB_MICRO_VERSION=ginac_micro_version
|
| 32 |
|
|
GINACLIB_VERSION=ginac_version
|
| 33 |
cbauer |
1.1 |
AC_SUBST(GINACLIB_MAJOR_VERSION)
|
| 34 |
|
|
AC_SUBST(GINACLIB_MINOR_VERSION)
|
| 35 |
|
|
AC_SUBST(GINACLIB_MICRO_VERSION)
|
| 36 |
|
|
AC_SUBST(GINACLIB_VERSION)
|
| 37 |
|
|
|
| 38 |
|
|
dnl GiNaC archive file version information.
|
| 39 |
|
|
dnl
|
| 40 |
|
|
dnl If properties have been added, ARCHIVE_VERSION += 1, ARCHIVE_AGE += 1.
|
| 41 |
|
|
dnl If backwards compatibility has been broken, set ARCHIVE_AGE to 0.
|
| 42 |
|
|
dnl
|
| 43 |
|
|
dnl The version number in newly created archives will be ARCHIVE_VERSION.
|
| 44 |
|
|
dnl Archives version (ARCHIVE_VERSION-ARCHIVE_AGE) thru ARCHIVE_VERSION can
|
| 45 |
|
|
dnl be read by this version of the GiNaC library.
|
| 46 |
|
|
|
| 47 |
cbauer |
1.18 |
ARCHIVE_VERSION=2
|
| 48 |
|
|
ARCHIVE_AGE=2
|
| 49 |
cbauer |
1.1 |
|
| 50 |
|
|
AC_SUBST(ARCHIVE_VERSION)
|
| 51 |
|
|
AC_SUBST(ARCHIVE_AGE)
|
| 52 |
|
|
AC_DEFINE_UNQUOTED(ARCHIVE_VERSION, $ARCHIVE_VERSION, [Current GiNaC archive file version number])
|
| 53 |
|
|
AC_DEFINE_UNQUOTED(ARCHIVE_AGE, $ARCHIVE_AGE, [GiNaC archive file version age])
|
| 54 |
|
|
|
| 55 |
|
|
dnl libtool versioning
|
| 56 |
vollinga |
1.21.2.2 |
m4_define([lt_revision], [ginac_interface_age])
|
| 57 |
|
|
m4_define([lt_current], [m4_eval(ginac_micro_version - ginac_interface_age)])
|
| 58 |
|
|
m4_define([lt_age], [m4_eval(ginac_binary_age - ginac_interface_age)])
|
| 59 |
|
|
LT_VERSION_INFO="lt_current:lt_revision:lt_age"
|
| 60 |
|
|
LT_RELEASE="ginac_release"
|
| 61 |
cbauer |
1.1 |
|
| 62 |
vollinga |
1.21.2.2 |
AC_SUBST(LT_VERSION_INFO)
|
| 63 |
cbauer |
1.1 |
AC_SUBST(LT_RELEASE)
|
| 64 |
|
|
|
| 65 |
|
|
|
| 66 |
|
|
dnl Check for the compiler and all the utilities needed for the build.
|
| 67 |
|
|
AC_PROG_CXX
|
| 68 |
|
|
AC_PROG_CXXCPP
|
| 69 |
|
|
AC_PROG_INSTALL
|
| 70 |
|
|
AM_PROG_LIBTOOL
|
| 71 |
|
|
AM_PROG_LEX
|
| 72 |
|
|
AC_PROG_YACC
|
| 73 |
|
|
|
| 74 |
|
|
dnl Check for data types which are needed by the hash function
|
| 75 |
|
|
dnl (golden_ratio_hash).
|
| 76 |
|
|
AC_CHECK_SIZEOF(long, 4)
|
| 77 |
|
|
AC_CHECK_SIZEOF(long long, 8)
|
| 78 |
|
|
AC_CHECK_SIZEOF(long double, 12)
|
| 79 |
|
|
|
| 80 |
|
|
dnl Switch to C++ language mode for the following libraries and headers.
|
| 81 |
|
|
AC_LANG([C++])
|
| 82 |
|
|
|
| 83 |
|
|
dnl Check for stuff needed for building the GiNaC interactive shell (ginsh).
|
| 84 |
|
|
AC_CHECK_HEADERS(unistd.h)
|
| 85 |
chrisd |
1.21.2.7 |
GINAC_HAVE_RUSAGE
|
| 86 |
cbauer |
1.1 |
AC_CHECK_HEADERS(readline/readline.h readline/history.h)
|
| 87 |
|
|
if test "x${ac_cv_header_readline_readline_h}" != "xyes" -o "x${ac_cv_header_readline_history_h}" != "xyes"; then
|
| 88 |
|
|
GINAC_WARNING([I could not find the headers for libreadline (needed for building ginsh).])
|
| 89 |
|
|
fi
|
| 90 |
|
|
GINAC_TERMCAP
|
| 91 |
|
|
save_LIBS=$LIBS
|
| 92 |
|
|
LIBS="$LIBTERMCAP $LIBS"
|
| 93 |
|
|
AC_CHECK_LIB(readline, readline)
|
| 94 |
|
|
if test "x${ac_cv_lib_readline_readline}" = "xyes"; then
|
| 95 |
|
|
GINAC_LIB_READLINE_VERSION
|
| 96 |
|
|
else
|
| 97 |
|
|
GINAC_WARNING([I could not find libreadline (needed by ginsh).])
|
| 98 |
|
|
fi
|
| 99 |
|
|
GINSH_LIBS=$LIBS
|
| 100 |
|
|
LIBS=$save_LIBS
|
| 101 |
|
|
AC_SUBST(GINSH_LIBS)
|
| 102 |
|
|
|
| 103 |
|
|
dnl Make sure all the necessary standard headers are installed on the system.
|
| 104 |
|
|
AC_CHECK_HEADER(iosfwd, , GINAC_ERROR([The standard <iosfwd> header file could not be found.]))
|
| 105 |
|
|
AC_CHECK_HEADER(iostream, , GINAC_ERROR([The standard <iostream> header file could not be found.]))
|
| 106 |
|
|
AC_CHECK_HEADER(vector, , GINAC_ERROR([The standard <vector> header file could not be found.]))
|
| 107 |
|
|
AC_CHECK_HEADER(list, , GINAC_ERROR([The standard <list> header file could not be found.]))
|
| 108 |
|
|
AC_CHECK_HEADER(map, , GINAC_ERROR([The standard <map> header file could not be found.]))
|
| 109 |
|
|
AC_CHECK_HEADER(string, , GINAC_ERROR([The standard <string> header file could not be found.]))
|
| 110 |
|
|
AC_CHECK_HEADER(sstream, , GINAC_ERROR([The standard <sstream> header file could not be found.]))
|
| 111 |
|
|
AC_CHECK_HEADER(typeinfo, , GINAC_ERROR([The standard <typeinfo> header file could not be found.]))
|
| 112 |
|
|
AC_CHECK_HEADER(stdexcept, , GINAC_ERROR([The standard <stdexcept> header file could not be found.]))
|
| 113 |
|
|
AC_CHECK_HEADER(algorithm, , GINAC_ERROR([The standard <algorithm> header file could not be found.]))
|
| 114 |
cbauer |
1.17 |
AC_CHECK_HEADER(limits, , GINAC_ERROR([The standard <limits> header file could not be found.]))
|
| 115 |
chrisd |
1.21.2.7 |
if test "x$CONFIG_RUSAGE" = "xno"; then
|
| 116 |
|
|
AC_CHECK_HEADER(ctime, , GINAC_ERROR([The standard <ctime> header file could not be found.]))
|
| 117 |
|
|
fi
|
| 118 |
cbauer |
1.1 |
|
| 119 |
|
|
dnl We need to have Bruno Haible's CLN installed.
|
| 120 |
|
|
dnl (CLN versions >= 1.1.0 must have installed cln.m4 at a visible place,
|
| 121 |
|
|
dnl which provides this macro):
|
| 122 |
|
|
AC_PATH_CLN(1.1.0, [
|
| 123 |
|
|
LIBS="$LIBS $CLN_LIBS"
|
| 124 |
|
|
CPPFLAGS="$CPPFLAGS $CLN_CPPFLAGS"
|
| 125 |
|
|
], GINAC_ERROR([No suitable installed version of CLN could be found.]))
|
| 126 |
|
|
|
| 127 |
|
|
dnl Expand the cppflags and libraries needed by apps using GiNaC
|
| 128 |
|
|
GINACLIB_CPPFLAGS=$CPPFLAGS
|
| 129 |
|
|
GINACLIB_LIBS=$LIBS
|
| 130 |
|
|
AC_SUBST(GINACLIB_CPPFLAGS)
|
| 131 |
|
|
AC_SUBST(GINACLIB_LIBS)
|
| 132 |
|
|
|
| 133 |
|
|
dnl Check for utilities needed by the different kinds of documentation.
|
| 134 |
kreckel |
1.2 |
dnl Documentation needs only be built when extending it, so never mind if it
|
| 135 |
cbauer |
1.1 |
dnl cannot find those helpers:
|
| 136 |
|
|
AC_PATH_PROG(DOXYGEN, doxygen, "")
|
| 137 |
vollinga |
1.21.2.8 |
AM_CONDITIONAL(CONFIG_DOXYGEN, [test ! -z "$DOXYGEN"])
|
| 138 |
cbauer |
1.1 |
AC_PATH_PROG(LATEX, latex, "")
|
| 139 |
cbauer |
1.21 |
AC_PATH_PROG(PDFLATEX, pdflatex, "")
|
| 140 |
cbauer |
1.1 |
AC_PATH_PROG(MAKEINDEX, makeindex, "")
|
| 141 |
|
|
AC_PATH_PROG(DVIPS, dvips, "")
|
| 142 |
vollinga |
1.21.2.8 |
AM_CONDITIONAL(CONFIG_TEX, [test ! \( -z "$LATEX" -o -z $"PDFLATEX" -o -z "$MAKEINDEX" -o -z "$DVIPS" \)])
|
| 143 |
cbauer |
1.1 |
AC_PATH_PROG(FIG2DEV, fig2dev, "")
|
| 144 |
vollinga |
1.21.2.8 |
AM_CONDITIONAL(CONFIG_FIG2DEV, [test ! -z "$FIG2DEV"])
|
| 145 |
cbauer |
1.1 |
|
| 146 |
|
|
dnl Output makefiles etc.
|
| 147 |
|
|
AC_CONFIG_FILES([
|
| 148 |
|
|
Makefile
|
| 149 |
|
|
GiNaC.spec
|
| 150 |
|
|
ginac-config
|
| 151 |
|
|
ginac-config.1
|
| 152 |
cbauer |
1.19 |
ginac.pc
|
| 153 |
cbauer |
1.1 |
ginac/Makefile
|
| 154 |
|
|
ginac/version.h
|
| 155 |
|
|
check/Makefile
|
| 156 |
|
|
ginsh/Makefile
|
| 157 |
|
|
ginsh/ginsh.1
|
| 158 |
|
|
tools/Makefile
|
| 159 |
|
|
tools/viewgar.1
|
| 160 |
|
|
doc/Makefile
|
| 161 |
|
|
doc/tutorial/Makefile
|
| 162 |
|
|
doc/reference/Makefile
|
| 163 |
cbauer |
1.21 |
doc/reference/DoxyfileHTML
|
| 164 |
|
|
doc/reference/DoxyfileTEX
|
| 165 |
|
|
doc/reference/DoxyfilePDF
|
| 166 |
|
|
doc/reference/Doxyfooter
|
| 167 |
cbauer |
1.1 |
])
|
| 168 |
|
|
AC_CONFIG_COMMANDS([default],[[chmod +x ginac-config]],[[]])
|
| 169 |
|
|
AC_OUTPUT
|
| 170 |
|
|
dnl Display a final warning if there has been a GINAC_ERROR or a GINAC_WARNING
|
| 171 |
|
|
GINAC_CHECK_ERRORS
|