-dnl Check if the CLN library suits our needs, i.e. if it is new enough, by
-dnl trying to run into a little bug which was present till version 1.0.1 and
-dnl then removed.
-AC_DEFUN(GINAC_CHECK_LIBCLN_SANITY,
- [AC_PROVIDE([$0])
- AC_MSG_CHECKING([whether libcln behaves sane])
- AC_CACHE_VAL(ginac_cv_lib_cln_integrity,
- [
- case "${ac_cv_header_CLN_cln_h}" in
- "yes")
- AC_TRY_RUN([#include <CLN/cln.h>
-int main() {
-cl_RA q(3); q = q/2; cl_RA p(3); p = p/2;
-if (q+p != 3) return 1; else return 0;
-}],
- ginac_cv_lib_cln_integrity="sane",
- ginac_cv_lib_cln_integrity="insane",
- ginac_cv_lib_cln_integrity="guessing sane")
- ;;
- *)
- AC_TRY_RUN([#include <cln.h>
-int main() {
-cl_RA q(3); q = q/2; cl_RA p(3); p = p/2;
-if (q+p != 3) return 1; else return 0;
-}],
- ginac_cv_lib_cln_integrity="sane",
- ginac_cv_lib_cln_integrity="insane",
- ginac_cv_lib_cln_integrity="guessing sane")
- ;;
- esac
- ])
- case "${ginac_cv_lib_cln_integrity}" in
-dnl exit status was 0:
- "sane")
- AC_MSG_RESULT([yes])
- ;;
-dnl exit status was not 0:
- "insane")
- AC_MSG_RESULT([no])
- AC_MSG_WARN([maybe version of libcln is older than 1.0.2?])
- ;;
-dnl test-program was not run because we are cross-compiling:
- "guessing sane")
- AC_MSG_RESULT([hopefully])
- ;;
-dnl should never ever get here:
- *)
- AC_MSG_WARN([you found a bug in the configure script!])
- ;;
- esac
+dnl Usage: GINAC_ERROR(message)
+dnl This macro displays the warning "message" and sets the flag ginac_error
+dnl to yes.
+AC_DEFUN([GINAC_ERROR],[
+ginac_error_txt="$ginac_error_txt
+** $1
+"
+ginac_error=yes])
+
+dnl Usage: GINAC_WARNING(message)
+dnl This macro displays the warning "message" and sets the flag ginac_warning
+dnl to yes.
+AC_DEFUN([GINAC_WARNING],[
+ginac_warning_txt="$ginac_warning_txt
+== $1
+"
+ginac_warning=yes])
+
+dnl Usage: GINAC_CHECK_ERRORS
+dnl (must be put at end of configure.in, because it exits on error)
+dnl This macro displays a warning message if GINAC_ERROR or GINAC_WARNING
+dnl has occured previously.
+AC_DEFUN([GINAC_CHECK_ERRORS],[
+if test "x${ginac_error}" = "xyes"; then
+ 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)"
+ echo "$ginac_error_txt"
+ if test "x${ginac_warning_txt}" != "x"; then
+ echo "${ginac_warning_txt}"
+ fi
+ if test "x$cache_file" != "x/dev/null"; then
+ echo "deleting cache ${cache_file}"
+ rm -f $cache_file
+ fi
+ exit 1
+else
+ if test "x${ginac_warning}" = "xyes"; then
+ 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)"
+ echo "$ginac_warning_txt"
+ fi
+ echo "Configuration of GiNaC $VERSION done. Now type \"make\"."
+fi])
+
+AC_DEFUN([GINAC_HAVE_RUSAGE],
+[AC_CACHE_CHECK([whether struct rusage is declared in <sys/resource.h>],
+ac_cv_have_rusage,
+ [AC_TRY_COMPILE([#include <sys/times.h>
+ #include <sys/resource.h>],
+ [struct rusage resUsage;
+ getrusage(RUSAGE_SELF, &resUsage);
+ return 0;],
+ [ac_cv_have_rusage=yes],
+ [ac_cv_have_rusage=no])
+])
+CONFIG_RUSAGE="no"
+if test "$ac_cv_have_rusage" = yes; then
+ CONFIG_RUSAGE="yes"
+ AC_DEFINE(HAVE_RUSAGE,,[define if struct rusage declared in <sys/resource.h>])
+fi
+AC_SUBST(CONFIG_RUSAGE)