source: git/m4/ntl-check.m4 @ 08a955

spielwiese
Last change on this file since 08a955 was 1f5a04, checked in by Oleksandr Motsak <motsak@…>, 12 years ago
FIX: make ntl-check respect CXX/C-FLAGS
  • Property mode set to 100644
File size: 3.2 KB
Line 
1# Check for NTL
2# Bradford Hovinen, 2001-06-13
3# Modified by Pascal Giorgi, 2003-12-03
4# Inspired by gnome-bonobo-check.m4 by Miguel de Icaza, 99-04-12
5# Stolen from Chris Lahey       99-2-5
6# stolen from Manish Singh again
7# stolen back from Frank Belew
8# stolen from Manish Singh
9# Shamelessly stolen from Owen Taylor
10
11dnl LB_CHECK_NTL ([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
12dnl
13dnl Test for Victor Shoup's NTL (Number Theory Library) and define
14dnl NTL_CFLAGS and NTL_LIBS
15
16AC_DEFUN([LB_CHECK_NTL],
17[
18DEFAULT_CHECKING_PATH="/usr /usr/local /sw /opt/local"
19
20AC_ARG_WITH(ntl,
21[  --with-ntl=<path>|yes|no  Use NTL library. If argument is no, you do not have
22                            the library installed on your machine (set as
23                            default). If argument is yes or <empty> that means
24                            the library is reachable with the standard search
25                            path (/usr or /usr/local). Otherwise you give the
26                            <path> to the directory which contain the library.
27             ],
28             [if test "$withval" = yes ; then
29                        NTL_HOME_PATH="${DEFAULT_CHECKING_PATH}"
30              elif test "$withval" != no ; then
31                        NTL_HOME_PATH="$withval"
32             fi],
33             [NTL_HOME_PATH="${DEFAULT_CHECKING_PATH}"])
34
35min_ntl_version=ifelse([$1], ,1.0,$1)
36
37
38dnl Check for existence
39BACKUP_CXXFLAGS=${CXXFLAGS}
40BACKUP_CFLAGS=${CFLAGS}
41BACKUP_LIBS=${LIBS}
42
43AC_LANG_PUSH(C++)
44
45if test -n "$NTL_HOME_PATH"; then
46AC_MSG_CHECKING(for NTL >= $min_ntl_version)
47fi
48
49for NTL_HOME in ${NTL_HOME_PATH}
50 do     
51if test -r "$NTL_HOME/include/NTL/ZZ.h"; then
52
53        if test "x$NTL_HOME" != "x/usr"; then
54                NTL_CFLAGS="-I${NTL_HOME}/include"
55                NTL_LIBS="-L${NTL_HOME}/lib -lntl"
56        else
57                NTL_CFLAGS=
58                NTL_LIBS="-lntl"               
59        fi     
60###     CFLAGS="${BACKUP_CFLAGS} ${NTL_CFLAGS} ${GMP_CFLAGS}"
61        CXXFLAGS="${BACKUP_CFLAGS} ${BACKUP_CXXFLAGS} ${NTL_CFLAGS} ${GMP_CFLAGS}"
62        LIBS="${BACKUP_LIBS} ${NTL_LIBS} ${GMP_LIBS}"
63
64        AC_TRY_LINK(
65        [#include <NTL/ZZ.h>],
66        [NTL::ZZ a;],
67        [
68        AC_TRY_RUN(
69        [#include <NTL/version.h>
70        int main () { if (NTL_MAJOR_VERSION < 5) return -1; else return 0; }   
71        ],[
72        ntl_found="yes"
73        break
74        ],[     
75        ntl_problem="$problem $NTL_HOME"       
76        unset NTL_CFLAGS
77        unset NTL_LIBS 
78        ],[
79        ntl_found="yes"
80        ntl_cross="yes"
81        break
82        ])     
83        ],
84        [
85        ntl_found="no"
86        ntl_checked="$checked $NTL_HOME"
87        unset NTL_CFLAGS
88        unset NTL_LIBS 
89        ])
90else
91        ntl_found="no"
92fi
93done
94
95if test "x$ntl_found" = "xyes" ; then           
96        AC_SUBST(NTL_CFLAGS)
97        AC_SUBST(NTL_LIBS)
98        AC_DEFINE(HAVE_NTL,1,[Define if NTL is installed])
99        HAVE_NTL=yes
100        if test "x$ntl_cross" != "xyes"; then
101                AC_MSG_RESULT(found)
102        else
103                AC_MSG_RESULT(unknown)
104                echo "WARNING: You appear to be cross compiling, so there is no way to determine"
105                echo "whether your NTL version is new enough. I am assuming it is."
106        fi
107        ifelse([$2], , :, [$2])
108elif test -n "$ntl_problem"; then
109        AC_MSG_RESULT(problem)
110        echo "Sorry, your NTL version is too old. Disabling."
111        ifelse([$3], , :, [$3])
112elif test   "x$ntl_found" = "xno";  then
113        AC_MSG_RESULT(not found)
114        ifelse([$3], , :, [$3])
115fi     
116
117AC_LANG_POP
118
119AM_CONDITIONAL(SING_HAVE_NTL, test "x$HAVE_NTL" = "xyes")
120
121# TODO: The following seems to set CXXFLAGS even if it was not defined previously!!!!
122CXXFLAGS=${BACKUP_CXXFLAGS}
123LIBS=${BACKUP_LIBS}
124#unset LD_LIBRARY_PATH
125
126])
127
Note: See TracBrowser for help on using the repository browser.