dnl future trouble.
dnl ===========================================================================
+dnl GINAC_HEADER_GETVAL(NAME,FILE)
+dnl ----------------------------
+dnl Expand at autoconf time to the value of a "#define NAME" from the given
+dnl FILE. The regexps here aren't very rugged, but are enough for us.
+dnl /dev/null as a parameter prevents a hang if $2 is accidentally omitted.
+dnl (shamelessly ripped from GMP, and changed prefix to GINAC_).
+
+define(GINAC_HEADER_GETVAL,
+[patsubst(patsubst(
+esyscmd([grep "^#define $1 " $2 /dev/null 2>/dev/null]),
+[^.*$1[ ]+],[]),
+[[
+ ]*$],[])])
+define(GINAC_GET_VERSION,
+[GINAC_HEADER_GETVAL(GINACLIB_$1_VERSION,[ginac/version.h])])
+define(GINAC_GET_LTVERSION,
+[GINAC_HEADER_GETVAL(GINAC_LT_$1,[ginac/version.h])])
+
dnl Usage: GINAC_STD_CXX_HEADERS
dnl Check for standard C++ headers, bail out if something is missing.
AC_DEFUN([GINAC_STD_CXX_HEADERS], [
ginac_cv_std_cxx_headers="no"
AC_LANG_PUSH([C++])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+ #include <algorithm>
+ #include <cstddef>
+ #include <cstdio>
+ #include <cstdlib>
+ #include <cstring>
+ #include <cstdint>
+ #include <ctime>
+ #include <fstream>
+ #include <functional>
+ #include <iomanip>
+ #include <ios>
#include <iosfwd>
#include <iostream>
- #include <vector>
+ #include <iterator>
+ #include <limits>
#include <list>
#include <map>
+ #include <memory>
+ #include <numeric>
+ #include <ostream>
#include <set>
- #include <string>
#include <sstream>
- #include <typeinfo>
+ #include <stack>
#include <stdexcept>
- #include <algorithm>
- #include <limits>
- #include <ctime>
+ #include <string>
+ #include <typeinfo>
+ #include <utility>
+ #include <vector>
]])], [ginac_cv_std_cxx_headers="yes"])
AC_LANG_POP([C++])])
if test "${ginac_cv_std_cxx_headers}" != "yes"; then
- AC_MSG_ERROR([Standard ISO C++ 98 headers are missing])
+ AC_MSG_ERROR([Standard ISO C++ headers are missing])
fi
])
GINSH_LIBS=""
AC_CHECK_HEADERS(readline/readline.h readline/history.h)
if test "x${ac_cv_header_readline_readline_h}" != "xyes" -o "x${ac_cv_header_readline_history_h}" != "xyes"; then
- GINAC_WARNING([readline headers could not be found.])
+ GINAC_WARNING([ginsh will not compile, because readline headers could not be found.])
else
AC_CACHE_CHECK([for version of libreadline], [ginac_cv_rl_supported], [
ginac_cv_rl_supported="no"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- #include <stdio.h>
+ #include <cstdio>
#include <readline/readline.h>
#if !defined(RL_VERSION_MAJOR) || !defined(RL_VERSION_MINOR)
#error "Ancient/unsupported version of readline"
#endif]])],
[ginac_cv_rl_supported="yes"])])
if test "x${ginac_cv_rl_supported}" != "xyes"; then
- GINAC_WARNING([Unsupported version of readline (<= 4.2 or non-GNU).])
+ GINAC_WARNING([ginsh will not compile, because of an unsupported version of readline (<= 4.2 or non-GNU).])
else
save_LIBS="$LIBS"
LIBS="$LIBTERMCAP $LIBS"
AC_CHECK_LIB(readline, readline)
if test "x${ac_cv_lib_readline_readline}" != "xyes"; then
- GINAC_WARNING([libreadline could not be found.])
+ GINAC_WARNING([ginsh will not compile, because libreadline could not be found.])
fi
GINSH_LIBS="$LIBS"
LIBS="$save_LIBS"
dnl has occured previously.
AC_DEFUN([GINAC_CHECK_ERRORS],[
if test "x${ginac_error}" = "xyes"; then
+ echo
echo "**** The following problems have been detected by configure."
echo "**** Please check the messages below before running \"make\"."
echo "**** (see the section 'Common Problems' in the INSTALL file)"
exit 1
else
if test "x${ginac_warning}" = "xyes"; then
+ echo
echo "=== The following minor problems have been detected by configure."
echo "=== Please check the messages below before running \"make\"."
echo "=== (see the section 'Common Problems' in the INSTALL file)"