source: git/Singular/configure.in @ 246d15

spielwiese
Last change on this file since 246d15 was 76b37c, checked in by Alexander Dreyer <alexander.dreyer@…>, 13 years ago
Merge commit 'origin/master' into pyobject From: Alexander Dreyer <alexander.dreyer@itwm.fraunhofer.de> git-svn-id: file:///usr/local/Singular/svn/trunk@13837 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 36.3 KB
Line 
1dnl Process this file with autoconf to produce a configure script.
2AC_INIT(tesths.cc)
3AC_CONFIG_HEADER(mod2.h)
4AC_CONFIG_HEADER(../kernel/mod2.h)
5
6dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
7dnl check for python (see AC_PYTHON_DEVEL in newer autoconf versions)
8dnl
9AC_DEFUN([AC_PYTHON_DEVEL_SINGULAR],[
10        #
11        # Allow the use of a (user set) custom python version
12        #
13        PYTHON_VERSION="$1"
14        PYTHON="$2"
15
16        #
17        # Check for a version of Python >= 2.1.0
18        #
19        AC_MSG_CHECKING([for a version of Python >= '2.1.0'])
20        ac_supports_python_ver=`$PYTHON -c "import sys, string; \
21                        ver = string.split(sys.version)[[0]]; \
22                        print ver >= '2.1.0'"`
23        if test "$ac_supports_python_ver" != "True"; then
24                if test -z "$PYTHON_NOVERSIONCHECK"; then
25                        AC_MSG_RESULT([no])
26                        AC_MSG_ERROR([
27This version of the AC@&t@_PYTHON_DEVEL macro
28doesn't work properly with versions of Python before
292.1.0. You may need to re-run configure, setting the
30variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG,
31PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
32Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
33to something else than an empty string.
34])
35                else
36                        AC_MSG_RESULT([skip at user request])
37                fi
38        else
39                AC_MSG_RESULT([yes])
40        fi
41
42        #
43        # if the macro parameter ``version'' is set, honour it
44        #
45        if test -n "$1"; then
46                AC_MSG_CHECKING([for a version of Python $1])
47                ac_supports_python_ver=`$PYTHON -c "import sys, string; \
48                        ver = string.split(sys.version)[[0]]; print ver $1"`
49                if test "$ac_supports_python_ver" = "True"; then
50                   AC_MSG_RESULT([yes])
51                else
52                        AC_MSG_RESULT([no])
53                        AC_MSG_ERROR([this package requires Python $1.
54If you have it installed, but it isn't the default Python
55interpreter in your system path, please pass the PYTHON_VERSION
56variable to configure. See ``configure --help'' for reference.
57])
58                        PYTHON_VERSION=""
59                fi
60        fi
61
62        #
63        # Check if you have distutils, else fail
64        #
65        AC_MSG_CHECKING([for the distutils Python package])
66        ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
67        if test -z "$ac_distutils_result"; then
68                AC_MSG_RESULT([yes])
69        else
70                AC_MSG_RESULT([no])
71                AC_MSG_ERROR([cannot import Python module "distutils".
72Please check your Python installation. The error was:
73$ac_distutils_result])
74                PYTHON_VERSION=""
75        fi
76
77        #
78        # Check for Python include path
79        #
80        AC_MSG_CHECKING([for Python include path])
81        if test -z "$PYTHON_CPPFLAGS"; then
82                python_path=`$PYTHON -c "import distutils.sysconfig; \
83                                print distutils.sysconfig.get_python_inc();"`
84                if test -n "${python_path}"; then
85                        python_path="-I$python_path"
86                fi
87                PYTHON_CPPFLAGS=$python_path
88        fi
89        AC_MSG_RESULT([$PYTHON_CPPFLAGS])
90        AC_SUBST([PYTHON_CPPFLAGS])
91
92        #
93        # Check for Python library path
94        #
95        AC_MSG_CHECKING([for Python library path])
96        if test -z "$PYTHON_LDFLAGS"; then
97                # (makes two attempts to ensure we've got a version number
98                # from the interpreter)
99                py_version=`$PYTHON -c "from distutils.sysconfig import *; \
100                        from string import join; \
101                        print join(get_config_vars('VERSION'))"`
102                if test "$py_version" == "[None]"; then
103                        if test -n "$PYTHON_VERSION"; then
104                                py_version=$PYTHON_VERSION
105                        else
106                                py_version=`$PYTHON -c "import sys; \
107                                        print sys.version[[:3]]"`
108                        fi
109                fi
110
111                PYTHON_LDFLAGS=`$PYTHON -c "from distutils.sysconfig import *; \
112                        from string import join; \
113                        from os import path; \
114                        print '-L' + get_python_lib(0,1), \
115                        '-L' + path.dirname(get_python_lib(0,1)), \
116                        '-lpython';"`$py_version
117        fi
118        AC_MSG_RESULT([$PYTHON_LDFLAGS])
119        AC_SUBST([PYTHON_LDFLAGS])
120
121        #
122        # Check for site packages
123        #
124        AC_MSG_CHECKING([for Python site-packages path])
125        if test -z "$PYTHON_SITE_PKG"; then
126                PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
127print distutils.sysconfig.get_python_lib(0,0);"`
128        fi
129        AC_MSG_RESULT([$PYTHON_SITE_PKG])
130        AC_SUBST([PYTHON_SITE_PKG])
131
132        #
133        # libraries which must be linked in when embedding
134        #
135        AC_MSG_CHECKING(python extra libraries)
136        if test -z "$PYTHON_EXTRA_LIBS"; then
137           PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
138conf = distutils.sysconfig.get_config_var; \
139print conf('LOCALMODLIBS'), conf('LIBS')"`
140        fi
141        AC_MSG_RESULT([$PYTHON_EXTRA_LIBS])
142        AC_SUBST(PYTHON_EXTRA_LIBS)
143
144        #
145        # linking flags needed when embedding
146        #
147        AC_MSG_CHECKING(python extra linking flags)
148        if test -z "$PYTHON_EXTRA_LDFLAGS"; then
149                PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
150                        conf = distutils.sysconfig.get_config_var; \
151                        print conf('LINKFORSHARED')"`
152        fi
153        AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
154        AC_SUBST(PYTHON_EXTRA_LDFLAGS)
155
156        #
157        # final check to see if everything compiles alright
158        #
159        AC_MSG_CHECKING([consistency of all components of python development environment])
160#       AC_LANG_PUSH([C])
161        # save current global flags
162        ac_save_LIBS_for_python="${LIBS}"
163        LIBS="$ac_save_LIBS $PYTHON_LDFLAGS"
164        ac_save_CPPFLAGS_for_python="${CPPFLAGS}"
165        CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
166        AC_TRY_LINK([
167                #include <Python.h>
168        ],[
169                Py_Initialize();
170        ],[pythonexists=yes],[pythonexists=no])
171
172        AC_MSG_RESULT([$pythonexists])
173
174        if test ! "$pythonexists" = "yes"; then
175           AC_MSG_ERROR([
176  Could not link test program to Python. Maybe the main Python library has been
177  installed in some non-standard library path. If so, pass it to configure,
178  via the LDFLAGS environment variable.
179  Example: ./configure LDFLAGS="-L/usr/non-standard-path/python/lib"
180  ============================================================================
181   ERROR!
182   You probably have to install the development version of the Python package
183   for your distribution.  The exact name of this package varies among them.
184  ============================================================================
185           ])
186          PYTHON_VERSION=""
187        else
188          AC_DEFINE(HAVE_PYTHON)
189          HAVE_PYTHON_VALUE=1
190          AC_SUBST(HAVE_PYTHON_VALUE)
191        fi
192
193#       AC_LANG_POP
194        # turn back to default flags
195        CPPFLAGS="$ac_save_CPPFLAGS_for_python"
196        LIBS="$ac_save_LIBS_for_python"
197
198        #
199        # all done!
200        #
201])
202
203
204dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
205dnl check whethe python-based module can be build statically
206dnl
207AC_DEFUN([AC_PYTHON_TEST_STATIC],[
208        ac_save_LIBS_for_python="${LIBS}"
209        ac_save_CPPFLAGS_for_python="${CPPFLAGS}"
210
211        AC_MSG_CHECKING([${try_python_shared_static_flags} for linking \
212python statically])
213        all_cppflags="${ac_save_CPPFLAGS} ${PYTHON_CPPFLAGS}"
214
215        CPPFLAGS="-static ${all_cppflags}"
216        LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LIBS -lc -lm $PYTHON_EXTRA_LDFLAGS"
217
218        AC_TRY_LINK([
219              #include <Python.h>
220        ],[
221              Py_Initialize();
222        ],[pythonstaticexists=yes],[pythonstaticexists=no])
223
224        AC_MSG_RESULT([$pythonstaticexists])
225
226        if test "$pythonstaticexists" == yes ; then
227          AC_DEFINE(HAVE_STATIC_PYTHON)
228          PYTHON_STATIC_LIBS="$PYTHON_LDFLAGS $PYTHON_EXTRA_LIBS"
229          AC_SUBST(PYTHON_STATIC_LIBS)
230   
231          try_flags="-Xlinker -static -nodefaultlibs"
232          CPPFLAGS="-shared -fPIC ${try_flags} ${all_cppflags}"
233          AC_MSG_CHECKING([$try_flags for linking python module statically])
234          AC_TRY_LINK([
235                #include <Python.h>
236          ],[
237                Py_Initialize();
238          ],[pythonsharedstaticexists=yes],[pythonsharedstaticexists=no])
239          AC_MSG_RESULT([$pythonsharedstaticexists])
240 
241          if test "$pythonsharedstaticexists" = yes; then
242            PYTHON_MODULE_FLAGS="${try_flags}"
243          fi
244        fi
245
246        AC_SUBST(PYTHON_MODULE_FLAGS)
247        CPPFLAGS="$ac_save_CPPFLAGS_for_python"
248        LIBS="$ac_save_LIBS_for_python"
249])
250
251
252dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
253dnl determine singuname
254dnl
255
256AC_MSG_CHECKING(CPU for singular)
257ac_cv_singcpuname=`uname -m`
258AC_MSG_RESULT($ac_cv_singcpuname)
259
260AC_MSG_CHECKING(uname for singular)
261AC_CACHE_VAL(ac_cv_singuname,
262ac_cv_singuname="unknown"
263if test -r "singuname.sh"; then
264  if (/bin/sh singuname.sh >/dev/null 2>&1) then
265    ac_cv_singuname=`/bin/sh singuname.sh`
266  fi
267fi
268if test "$ac_cv_singuname" = unknown && test -r "../singuname.sh"; then
269  if (/bin/sh ../singuname.sh >/dev/null 2>&1) then
270    ac_cv_singuname=`/bin/sh ../singuname.sh`
271  fi
272fi
273)
274AC_MSG_RESULT($ac_cv_singuname)
275if test "$ac_cv_singuname" = unknown; then
276  AC_MSG_WARN(Unknown architecture: Check singuname.sh)
277  ac_cv_singuname="unknown"
278fi
279AC_DEFINE_UNQUOTED(S_UNAME, "$ac_cv_singuname")
280SINGUNAME=$ac_cv_singuname
281AC_SUBST(SINGUNAME)
282
283if test "$ac_cv_singuname" = ix86-Win; then
284  EXEC_EXT=".exe"
285  AC_DEFINE(SI_CPU_I386)
286  AC_SUBST(SI_CPU_I386)
287  AC_MSG_RESULT(SI_CPU_I386)
288fi
289AC_SUBST(EXEC_EXT)
290if test "$ac_cv_singuname" = x86_64-Linux; then
291  AC_DEFINE(SI_CPU_X86_64)
292  AC_SUBST(SI_CPU_X86_64)
293  AC_MSG_RESULT(SI_CPU_X86_64)
294fi
295if test "$ac_cv_singuname" = ix86-Linux; then
296  AC_DEFINE(SI_CPU_I386)
297  AC_SUBST(SI_CPU_I386)
298  AC_MSG_RESULT(SI_CPU_I386)
299fi
300if test "$ac_cv_singuname" = IA64-Linux; then
301  AC_DEFINE(SI_CPU_IA64)
302  AC_SUBST(SI_CPU_IA64)
303  AC_MSG_RESULT(SI_CPU_IA64)
304fi
305if test "$ac_cv_singuname" = ppc-Linux; then
306  AC_DEFINE(SI_CPU_PPC)
307  AC_SUBST(SI_CPU_PPC)
308  AC_MSG_RESULT(SI_CPU_PPC)
309fi
310if test "$ac_cv_singuname" = ppcMac-darwin; then
311  AC_DEFINE(SI_CPU_PPC)
312  AC_SUBST(SI_CPU_PPC)
313  AC_MSG_RESULT(SI_CPU_PPC)
314fi
315# test again with CPU names
316if test "$ac_cv_singcpuname" = i386; then
317  AC_DEFINE(SI_CPU_I386)
318  AC_SUBST(SI_CPU_I386)
319  AC_MSG_RESULT(SI_CPU_I386)
320fi
321if test "$ac_cv_singcpuname" = i686; then
322  AC_DEFINE(SI_CPU_I386)
323  AC_SUBST(SI_CPU_I386)
324  AC_MSG_RESULT(SI_CPU_I386)
325fi
326if test "$ac_cv_singcpuname" = x86_64; then
327  AC_DEFINE(SI_CPU_X86_64)
328  AC_SUBST(SI_CPU_X86_64)
329  AC_MSG_RESULT(SI_CPU_X86_64)
330fi
331if test "$ac_cv_singcpuname" = ia64; then
332  AC_DEFINE(SI_CPU_IA64)
333  AC_SUBST(SI_CPU_IA64)
334  AC_MSG_RESULT(SI_CPU_IA64)
335fi
336if test "$ac_cv_singcpuname" = sparc; then
337  AC_DEFINE(SI_CPU_SPARC)
338  AC_SUBST(SI_CPU_SPARC)
339  AC_MSG_RESULT(SI_CPU_SPARC)
340fi
341if test "$ac_cv_singcpuname" = ppc; then
342  AC_DEFINE(SI_CPU_PPC)
343  AC_SUBST(SI_CPU_PPC)
344  AC_MSG_RESULT(SI_CPU_PPC)
345fi
346
347SING_UNAME=`echo $SINGUNAME | tr '-' '_' `
348AC_SUBST(SING_UNAME)
349
350# stupid Win programs do not like dots in their pathnames
351VERSION_SEP="-"
352
353dnl llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
354dnl version stuff -- should be set in ../configure.in
355dnl
356dnl here are some defaults
357
358SINGULAR_MAJOR_VERSION=${SINGULAR_MAJOR_VERSION:-3}
359SINGULAR_MINOR_VERSION=${SINGULAR_MINOR_VERSION:-1}
360SINGULAR_SUB_VERSION=${SINGULAR_SUB_VERSION:-2}
361SINGULAR_VERSION="${SINGULAR_VERSION:-$SINGULAR_MAJOR_VERSION${VERSION_SEP}$SINGULAR_MINOR_VERSION${VERSION_SEP}$SINGULAR_SUB_VERSION}"
362VERSION_DATE=${VERSION_DATE:-"Oct 2010"}
363
364dnl pass them on into the Makefiles
365AC_SUBST(SINGULAR_VERSION)
366AC_SUBST(VERSION_DATE)
367AC_SUBST(SINGULAR_MAJOR_VERSION)
368AC_SUBST(SINGULAR_MINOR_VERSION)
369AC_SUBST(SINGULAR_SUB_VERSION)
370AC_DEFINE_UNQUOTED(SINGULAR_MAJOR_VERSION, ${SINGULAR_MAJOR_VERSION})
371AC_DEFINE_UNQUOTED(SINGULAR_MINOR_VERSION, ${SINGULAR_MINOR_VERSION})
372AC_DEFINE_UNQUOTED(SINGULAR_SUB_VERSION, ${SINGULAR_SUB_VERSION})
373AC_DEFINE_UNQUOTED(S_VERSION1, "${SINGULAR_MAJOR_VERSION}${VERSION_SEP}${SINGULAR_MINOR_VERSION}${VERSION_SEP}${SINGULAR_SUB_VERSION}")
374AC_DEFINE_UNQUOTED(S_VERSION2, "${VERSION_DATE}")
375AC_DEFINE_UNQUOTED(SINGULAR_SUB_VERSION, ${SINGULAR_SUB_VERSION})
376
377
378dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
379dnl compiler stuff
380dnl is needed to check for libs and headers, later on
381dnl
382dnl we do not want to have "-g -O" for CFLAGS
383if test "${CXXFLAGS+set}" != set; then
384  ac_cxxflags_set=no
385  CXXFLAGS="-O"
386fi
387if test "${CFLAGS+set}" != set; then
388  CFLAGS="-O"
389  ac_cflags_set=no
390fi
391
392# check whether CXX was set by user as env variable
393if test "${CXX+set}" != set; then
394  ac_cxx_set=no
395else
396  ac_cxx_set=yes
397fi
398AC_PROG_CC
399AC_PROG_CPP
400AC_PROG_CXX
401AC_PROG_INSTALL
402AC_AIX
403
404# test for gcc-version: gcc2: prefer CC=gcc, CXX=gcc (if not with boost)
405#                       gcc3:        CC=gcc  CXX=g++
406#                       other:       CC=cc   CXX=c++
407AC_MSG_CHECKING(gcc version)
408AC_CACHE_VAL(ac_cv_c_cpp,
409ac_cv_c_cp="unknown"
410if test -r "gccversion.sh"; then
411  ac_cv_c_cpp=`/bin/sh gccversion.sh`
412fi
413)
414AC_MSG_RESULT($ac_cv_c_cpp)
415
416# we prefer using gcc for compiling C++ files, provided the user did
417# not overwrite it explicitely
418if test "${GXX}" = yes && test "${ac_cxx_set}" = no; then
419  if test "${ac_cv_c_cpp}" = gcc2; then
420    CXX=g++
421  elif test "${ac_cv_c_cpp}" = gcc3; then
422    CXX=g++
423  fi
424  temp_flags="${CXXFLAGS}"
425  AC_LANG_SAVE
426  AC_LANG_CPLUSPLUS
427  # check whether gcc accepts --no-rtti
428  AC_MSG_CHECKING(whether gcc accepts --no-rtti)
429  CXXFLAGS="${CXXFLAGS} --no-rtti"
430  AC_CACHE_VAL(ac_cv_cxx_have_rtti,
431    AC_TRY_COMPILE(,,ac_cv_cxx_have_rtti=yes,ac_cv_cxx_have_rtti=no)
432  )
433  AC_MSG_RESULT(${ac_cv_cxx_have_rtti})
434  if test "${ac_cv_cxx_have_rtti}" != yes; then
435    CXXFLAGS="$temp_flags"
436  else
437    CXXFLAGS="${temp_flags} --no-rtti"
438    temp_flags="${CXXFLAGS}"
439  fi
440
441# check whether gcc accepts --no-exceptions
442  AC_MSG_CHECKING(whether gcc accepts --no-exceptions)
443  CXXFLAGS="${CXXFLAGS} --no-exceptions"
444  AC_CACHE_VAL(ac_cv_cxx_have_exceptions,
445    AC_TRY_LINK(,,ac_cv_cxx_have_exceptions=yes,ac_cv_cxx_have_exceptions=no)
446  )
447  AC_MSG_RESULT(${ac_cv_cxx_have_exceptions})
448  if test "${ac_cv_cxx_have_exceptions}" != yes; then
449    CXXFLAGS="$temp_flags"
450  else
451    CXXFLAGS="${temp_flags} --no-exceptions"
452    temp_flags="${CXXFLAGS}"
453  fi
454
455  AC_LANG_RESTORE
456  CXXFLAGS="$temp_flags"
457  #here is broking something
458  #uncommented breaks CXXFLAGS variable set
459  #only pipes would remain then in CXXFLAGS
460fi
461
462# check whether the compiler accepts -pipe
463if test x$ac_cv_c_cpp = xgcc2 -o  x$ac_cv_c_cpp = xgcc3
464then
465  AC_MSG_CHECKING(whether compiler accepts -pipe)
466  temp_cflags="${CFLAGS}"
467  CFLAGS="${CFLAGS} -pipe"
468  AC_CACHE_VAL(ac_cv_cxx_have_pipe,
469  AC_TRY_COMPILE(,,ac_cv_cxx_have_pipe=yes,ac_cv_cxx_have_pipe=no))
470  AC_MSG_RESULT(${ac_cv_cxx_have_pipe})
471  CFLAGS=${temp_cflags}
472else
473  ac_cv_cxx_have_pipe="no"
474fi
475
476if test "${ac_cv_cxx_have_pipe}" != yes; then
477  PIPE=
478else
479  PIPE="-pipe"
480fi
481AC_SUBST(PIPE)
482
483# Customize CFLAGS
484AC_MSG_CHECKING(whether _AIX is defined)
485AC_CACHE_VAL(ac_cv_is_aix,
486AC_EGREP_CPP(yes,
487[#ifdef _AIX
488    yes
489#endif
490], ac_cv_is_aix=yes, ac_cv_is_aix=no, 1))
491if test "$ac_cv_is_aix" = yes; then
492  AC_MSG_RESULT(yes)
493else
494  AC_MSG_RESULT(no)
495fi
496
497# we know best when compiling with gcc
498if test "${GXX}" = yes; then
499  if test "$ac_cxxflags_set" = no; then
500    CXXFLAGS="-O3 -w -fomit-frame-pointer"
501  fi
502  temp_flags="${CXXFLAGS}"
503  if test "${ac_cv_cxx_have_rtti}" = yes; then
504    CXXFLAGS="${temp_flags} --no-rtti"
505  fi
506  temp_flags="${CXXFLAGS}"
507  CXXTEMPLFLAGS="-fno-implicit-templates"
508  if test "${ac_cv_cxx_have_exceptions}" = yes; then
509    CXXTEMPLFLAGS="${CXXTEMPLFLAGS} --no-exceptions"
510  fi
511  if test "$ac_cv_is_aix" = yes; then
512    CXXNOOPTFLAGS="-w"
513  else
514    CXXNOOPTFLAGS=$CXXFLAGS
515  fi
516  STATIC_LDFLAGS="-static"
517else
518  CXXTEMPFLAGS=""
519  CXXNOOPTFLAGS=$CXXFLAGS
520  STATIC_LDFLAGS=""
521fi
522AC_SUBST(CXXTEMPLFLAGS)
523AC_SUBST(CXXNOOPTFLAGS)
524AC_SUBST(STATIC_LDFLAGS)
525
526if test "${GCC}" = yes && test "$ac_cflags_set" = no ; then
527  CFLAGS="-O3 -w -fomit-frame-pointer"
528fi
529
530AC_PROG_MAKE_SET
531
532dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
533dnl path stuff
534dnl
535AC_PREFIX_DEFAULT(`pwd`/..)
536
537dnl set exec_prefix, bindir, libdir, includedir to some sensible values
538dnl if they are not yet already set
539
540# expand prefix
541test "x$prefix" = xNONE && prefix=$ac_default_prefix
542if test "${with_rootdir+set}" != set; then
543  AC_DEFINE_UNQUOTED(S_ROOT_DIR, "${prefix}")
544else
545  AC_DEFINE_UNQUOTED(S_ROOT_DIR, "${with_rootdir}")
546fi
547
548# expand exec_prefixad
549if test "x$exec_prefix" = xNONE; then
550 exec_prefix=${prefix}/${ac_cv_singuname}
551fi
552
553# expand bindir
554test "x$bindir" = 'x${exec_prefix}/bin' && bindir="${exec_prefix}"
555SINGULAR=${SINGULAR:-$bindir/Singular-$SINGULAR_MAJOR_VERSION${VERSION_SEP}$SINGULAR_MINOR_VERSION${VERSION_SEP}$SINGULAR_SUB_VERSION}
556AC_SUBST(SINGULAR)
557AC_DEFINE_UNQUOTED(S_BIN_DIR, "${bindir}")
558
559# expand libdir
560test "x$libdir" = 'x${exec_prefix}/lib'&& libdir="${exec_prefix}/lib"
561
562# expand includedir
563test "x$includedir" = 'x${prefix}/include' && includedir="${exec_prefix}/include"
564
565# add to -I to CPPFLAGS and and -L to LDFLAGS, just to be sure
566if test "$ac_cv_c_cpp" = gcc3 ; then
567  LDFLAGS="-L${libdir} ${LDFLAGS}"
568  CPPFLAGS="-I${includedir} ${CPPFLAGS}"
569else
570  LDFLAGS="-L${libdir} ${LDFLAGS} -L/usr/local/lib"
571  CPPFLAGS="-I${includedir} ${CPPFLAGS} -I/usr/local/include"
572fi
573
574# this is a work-around to include the right term.h
575if test "$ac_cv_singuname" = SunOS-5; then
576CPPFLAGS="-I/usr/xpg4/include ${CPPFLAGS}"
577fi
578
579
580dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
581dnl Checks for programs.
582dnl
583
584# lex
585if test "${with_lex+set}" != set; then
586  AC_MSG_CHECKING(for flex)
587  changequote(<<,>>)dnl
588  cmd="egrep [2-9]\.[5-9]"
589  changequote([,])dnl
590  AC_CACHE_VAL(ac_cv_prog_flex,
591  if (flex --version >/dev/null 2>&1)
592    then
593    if (flex --version | $cmd >/dev/null 2>&1 )
594    then
595        ac_cv_prog_flex=flex
596    fi
597  fi
598  )
599  dnl changequote([,])dnl
600  if test "${ac_cv_prog_flex+set}" = set; then
601    AC_MSG_RESULT(flex)
602    LEX=flex
603    AC_SUBST(LEX)
604  else
605    AC_MSG_WARN(can not find flex with version 2.4.5-2.5.4)
606  fi
607elif test "${with_lex}" = no; then
608  AC_MSG_WARN(building without lex -- make might fail)
609else
610  unset LEX
611  unset ac_cv_prog_LEX
612  AC_CHECK_PROGS(LEX, ${with_lex})
613  if test "x${LEX}" = x; then
614    AC_MSG_WARN(building without lex -- make might fail)
615  fi
616fi
617
618# bison
619AC_CHECK_PROGS(BISON, bison)
620if test "${BISON+set}" != set; then
621  AC_MSG_WARN(did not find bison -- make might fail)
622fi
623
624# ln -s
625AC_PROG_LN_S
626
627AC_CHECK_PROGS(PERL, perl5 perl)
628
629# python
630dnl Default values here!
631python_exe_name="no"
632PYTHON_PLUGIN="module"
633PYTHON_LINKAGE="static"
634
635if test "${with_python+set}" == set; then
636  case "${with_python}" in
637    yes|static*|dynamic*|shared*|module*|embed*)
638      python_exe_name="python"
639    ;;
640    *)
641    python_exe_name="${with_python%%,*}"
642    ;;
643  esac
644
645  case ",${with_python}," in
646    *,dynamic,*|*,shared,*)
647      PYTHON_LINKAGE="dynamic"
648    ;;
649    *,static,*)
650      PYTHON_LINKAGE="static"
651    ;;
652  esac
653
654  case ",${with_python}," in
655    *,embed,*|*,embedded,*)
656      PYTHON_PLUGIN="embed"
657    ;;
658    *,static,*)
659      PYTHON_PLUGIN="module"
660    ;;
661  esac
662fi
663
664PYTHON_EXE=`basename "${python_exe_name}"`
665PYTHON_PATH=`dirname "${python_exe_name}"`
666
667if test "${PYTHON_EXE}" = no; then
668  AC_MSG_WARN(building without python support)
669else
670  AC_PATH_PROG([PYTHON],[$PYTHON_EXE],, "$PYTHON_PATH:$PATH")
671  if test -z "$PYTHON"; then
672    AC_MSG_WARN([Cannot find $PYTHON_EXE in your system path - skipping python support])
673  else
674    AC_PYTHON_DEVEL_SINGULAR(>= '2.4', "${PYTHON}")
675    AC_PYTHON_TEST_STATIC()
676
677    if test "${PYTHON_PLUGIN}" = embed; then
678      AC_DEFINE(EMBED_PYTHON)
679      EMBED_PYTHON_VALUE=1
680
681      PYTHON_EMBED_LIBS="$PYTHON_LDFLAGS $PYTHON_EXTRA_LIBS"
682      AC_SUBST(PYTHON_EMBED_LIBS)
683    fi
684
685  fi
686fi
687AC_SUBST(EMBED_PYTHON_VALUE)
688
689
690dnl llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
691dnl check for general libraries, header files, typedefs, etc
692dnl
693# lib checks
694# under cygwin, we should not explicitly link with -lm, except for
695# it really is the last thing to link with
696if test "$ac_cv_singuname" != ix86-Win; then
697AC_CHECK_LIB(m, atof)
698fi
699AC_CHECK_LIB(nsl)
700AC_CHECK_LIB(socket)
701SAVE_LIBS=${LIBS}
702LIBS=
703
704dnl I'm not sure what they are for
705AC_CHECK_LIB(bsd, setenv)
706dnl i386-SunOS needs nsl and socket
707AC_CHECK_LIB(socket, listen)
708AC_CHECK_LIB(nsl, gethostbyname)
709dnl AC_CHECK_LIB(ucb, index)
710MP_LIBS=${LIBS}
711# check for dl lib
712case "$ac_cv_singuname" in
713        HPUX*)
714          AC_CHECK_LIB(dld, shl_load)
715          if test "$ac_cv_lib_dld_shl_load" = yes; then
716                LD_DYN_FLAGS="-ldld -Xlinker -E"
717                SFLAGS="-fpic -fPIC -DPIC"
718                SLDFLAGS="-fPIC -DPIC -shared"
719                if test "${LD+set}" != set; then
720                  LD=gcc
721                fi
722                ac_lib_dl=yes
723          fi
724        ;;
725        *Linux*)
726          AC_CHECK_LIB(dl, dlopen)
727          if test "$ac_cv_lib_dl_dlopen" = yes; then
728                LD_DYN_FLAGS="-ldl -rdynamic"
729                SFLAGS="-fpic -DPIC"
730                SLDFLAGS=-shared
731                if test "${LD+set}" != set; then
732                  LD=ld
733                fi
734                ac_lib_dl=yes
735          fi
736        ;;
737        IRIX-6)
738          LD_DYN_FLAGS="-lc"
739          SFLAGS="-fPIC -DPIC"
740          SLDFLAGS="-w -no_unresolved -_SYSTYPE_SVR4 -n32 -shared"
741          if test "${LD+set}" != set; then
742            LD=ld
743          fi
744          ac_lib_dl=yes
745        ;;
746        SunOS-5)
747          AC_CHECK_LIB(dl, dlopen)
748          if test "$ac_cv_lib_dl_dlopen" = yes; then
749                LD_DYN_FLAGS="-ldl"
750                SFLAGS="-fpic -DPIC"
751                SLDFLAGS=-shared
752                if test "${LD+set}" != set; then
753                  LD=$CC
754                fi
755                ac_lib_dl=yes
756          fi
757        ;;
758        #use export MACOSX_DEPLOYMENT_TARGET=10.3
759        ppcMac-darwin)
760          AC_CHECK_LIB(dl, dlopen)
761          if test "$ac_cv_lib_dl_dlopen" = yes; then
762                LD_DYN_FLAGS="-ldl -dynamic"
763                SFLAGS="-fpic -DPIC"
764                SLDFLAGS="-dynamic -twolevel_namespace -weak_reference_mismatches weak -undefined dynamic_lookup"
765                if test "${LD+set}" != set; then
766                  LD=libtool
767                fi
768                ac_lib_dl=yes
769          fi
770        ;;
771        ix86Mac-darwin)
772          AC_CHECK_LIB(dl, dlopen)
773          if test "$ac_cv_lib_dl_dlopen" = yes; then
774                LD_DYN_FLAGS="-ldl -dynamic"
775                SFLAGS="-fpic -DPIC"
776                SLDFLAGS="-dynamic -twolevel_namespace -weak_reference_mismatches weak -undefined dynamic_lookup"
777                if test "${LD+set}" != set; then
778                  LD=libtool
779                fi
780                ac_lib_dl=yes
781          fi
782        ;;
783        ix86-freebsd)
784          AC_CHECK_LIB(c, dlopen)
785          if test "$ac_cv_lib_c_dlopen" = yes; then
786                LD_DYN_FLAGS="-Xlinker -E"
787                SFLAGS="-fpic -DPIC"
788                SLDFLAGS=-shared
789                if test "${LD+set}" != set; then
790                  LD=ld
791                fi
792                ac_lib_dl=yes
793          fi
794        ;;
795esac
796AC_SUBST(LD_DYN_FLAGS)
797AC_SUBST(SFLAGS)
798AC_SUBST(SLDFLAGS)
799AC_SUBST(LD)
800LIBS="${SAVE_LIBS} ${MP_LIBS}"
801
802
803# heder file checks
804AC_HEADER_STDC
805AC_CHECK_HEADERS(limits.h unistd.h,,
806  AC_MSG_ERROR(Can not compile without limits.h unistd.h))
807
808AC_CHECK_HEADERS(sys/file.h sys/ioctl.h sys/time.h sys/times.h sys/types.h \
809 sys/stat.h fcntl.h sys/param.h pwd.h asm/sigcontext.h pwd.h termcap.h \
810 termios.h term.h readline/readline.h)
811
812# typedefs, structures
813AC_C_CONST
814AC_C_INLINE
815AC_TYPE_SIZE_T
816AC_STRUCT_TM
817AC_HEADER_TIME
818
819# library functions.
820AC_FUNC_ALLOCA
821AC_PROG_GCC_TRADITIONAL
822AC_FUNC_MMAP
823AC_TYPE_SIGNAL
824AC_FUNC_VPRINTF
825AC_SEARCH_LIBS(setenv, bsd)
826AC_CHECK_FUNCS(gettimeofday atexit bcopy getcwd getwd vsnprintf readlink \
827 sleep usleep getpwnam popen setenv siginterrupt sysconf)
828
829
830dnl llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
831dnl Find out more about particularity of the system
832dnl
833
834# arithmetic shifts
835#AC_MSG_CHECKING(whether your machine has correct arithmetic shifts)
836#AC_CACHE_VAL(ac_cv_shift, AC_TRY_RUN(
837#  [ int main() { if (-2 >> 1 == -1) return(0); else return(1); } ],
838#   ac_cv_shift=yes,
839#   ac_cv_shift=no,
840#   if test "$ac_c_cross_dos" = yes; then
841#     ac_cv_shift=yes;
842#   else
843#     AC_MSG_RESULT(no)
844#     AC_MSG_ERROR(cross compilation without default value)
845#   fi))
846#
847#if test "$ac_cv_shift" = yes; then
848#  AC_MSG_RESULT(yes)
849#else
850#  AC_MSG_RESULT(no)
851#  AC_MSG_ERROR(need  -2 >> 1 == -1)
852#fi
853
854
855# check for a peculiar constructor initialization
856AC_MSG_CHECKING(whether explicit C++ constructor calls are allowed)
857AC_LANG_SAVE
858AC_LANG_CPLUSPLUS
859AC_CACHE_VAL(ac_cv_explicit_const,AC_TRY_COMPILE(,
860  class testclass
861  {
862  public:
863    int value;
864    testclass() : value(0) {}
865    testclass( int i ) : value(i) {}
866    ~testclass() { value = 0; }
867  };
868
869  testclass ptr;
870  ptr.testclass(1);
871, ac_cv_explicit_const=yes, ac_cv_explicit_const=no))
872AC_LANG_RESTORE
873AC_MSG_RESULT($ac_cv_explicit_const)
874if test "$ac_cv_explicit_const" = yes; then
875  AC_DEFINE(HAVE_EXPLICIT_CONSTR)
876fi
877
878# sprintf returns number of printed chars
879AC_MSG_CHECKING(whether vsprintf returns number of printed chars)
880AC_CACHE_VAL(ac_cv_returns_n_of_chars, AC_TRY_RUN(
881 [#include <stdio.h>
882 main() { char *str=(char*)malloc(20); if (((int) sprintf(str,"123456789")) == 9) exit(0); else exit(1); }],
883   ac_cv_returns_n_of_chars=yes,
884   ac_cv_returns_n_of_chars=no,
885   ac_cv_returns_n_of_chars=no))
886if test "$ac_cv_returns_n_of_chars" = yes; then
887  AC_MSG_RESULT(yes)
888else
889  AC_MSG_RESULT(no)
890  AC_DEFINE(BSD_SPRINTF)
891fi
892
893# determine ALIGN_8
894AC_CHECK_SIZEOF(char,1)
895AC_CHECK_SIZEOF(short,2)
896AC_CHECK_SIZEOF(int,4)
897AC_CHECK_SIZEOF(long,4)
898AC_CHECK_SIZEOF(void*,4)
899AC_CHECK_SIZEOF(double, 8)
900AC_C_BIGENDIAN
901if test "$ac_cv_sizeof_int" != 4; then
902  AC_MSG_ERROR(need int to be four bytes long)
903fi
904if test "$ac_cv_sizeof_long" != "$ac_cv_sizeof_voidp"; then
905  AC_MSG_ERROR(need equal sizes for long and void*)
906fi
907if test "$ac_cv_sizeof_double" != 8; then
908  AC_MSG_ERROR(need double to b 8 bytes long)
909fi
910if test "$ac_cv_sizeof_voidp" != 4 && test "$ac_cv_sizeof_voidp" != 8; then
911  AC_MSG_ERROR(need void* to be 4 or 8 bytes long)
912fi
913if test "$ac_cv_sizeof_voidp" != 4; then
914  DEFS="-UOM_NDEBUG"
915  AC_SUBST(DEFS)
916fi
917
918dnl lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
919dnl help for configure
920dnl
921AC_ARG_WITH(
922  rootdir,
923  [  --with-rootdir=DIR      use DIR ass compiled-in root directory
924                             (default is PREFIX)])
925AC_ARG_WITH(
926  lex,
927  [  --with-lex=[LEX,no]     uses LEX as lex program, default is flex])
928AC_ARG_WITH(
929  readline,
930  [  --with-readline=[dynamic,static,no]
931                        do use dynamic/static/no readline for fancy display])
932AC_ARG_WITH(
933  python,
934  [  --with-python[=PYTHON[,embed|module[,static|dynamic]]]
935                        uses PYTHON as python executable, default is python;
936                        optionally set plug-in and linkage type])
937AC_ARG_WITH(
938  Boost,
939  [  --without-Boost         do not use Boost ])
940AC_ARG_WITH(
941  stdvec,
942  [  --with-stdvec           use std::vector ])
943AC_ARG_WITH(
944  MP,
945  [  --without-MP            do not use MP (no MP links)])
946AC_ARG_WITH(
947  dbm,
948  [  --without-dbm           do not use dbm (no DBM links)])
949AC_ARG_WITH(
950  factory,
951  [  --without-factory       do not use factory (no poly factorization)])
952AC_ARG_WITH(
953  libfac,
954  [  --without-libfac        do not use libfac (no primary decompositions)])
955AC_ARG_WITH(
956  dl,
957  [  --without-dl            do not use dynamic linking, modules, and kernel])
958AC_ARG_WITH(
959  dynamic-modules,
960  [  --with-dynamic-modules  do compile with dynamic modules support])
961AC_ARG_WITH(
962  dynamic-kernel,
963  [  --without-dynamic-kernel
964                          do not compile with dynamic kernel parts])
965AC_ARG_WITH(apint,
966  [  --with-apint=PACKAGE    use PACKAGE for arbitary integer arithmetic])
967AC_ARG_WITH(svd,
968  [  --with-svd              use libsvd])
969AC_ARG_WITH(
970  Plural,
971  [  --without-Plural        do compile without Plural support])
972AC_ARG_WITH(
973  NTL,
974  [  --with-NTL              build for use with NTL.],
975  ,
976  with_NTL=yes)
977AC_ARG_WITH(
978  RatGB,
979  [  --with-ratGB            do compile with ratGB support (experimental)])
980
981dnl llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
982dnl check for packages we need
983dnl for gmp, MP, factory and libfac, we built them in, even if the libs
984dnl and headers were not found under the condition that the respective
985dnl  --enable argument was given
986dnl
987
988
989AC_MSG_CHECKING(whether to use dynamic linking)
990if test "$with_dl" != no && test "$ac_lib_dl" = yes; then
991  AC_DEFINE(HAVE_DL)
992  ac_have_dl=yes
993  AC_MSG_RESULT(yes)
994else
995  AC_MSG_RESULT(no)
996fi
997
998AC_CHECK_LIB(ncurses,tgetent,,\
999 AC_CHECK_LIB(curses,tgetent,,\
1000  AC_CHECK_LIB(termcap,tgetent)))
1001
1002# readline
1003if test "$with_readline" = dynamic && test "$ac_have_dl" != yes; then
1004  AC_MSG_WARN(can not build dynamic readline without dynamic linking)
1005  with_readline=static
1006fi
1007
1008
1009if test "$with_readline" != dynamic && test "$with_readline" != no; then
1010AC_LANG_SAVE
1011AC_LANG_CPLUSPLUS
1012   AC_CHECK_LIB(readline, rl_abort)
1013   AC_CHECK_HEADERS(readline/readline.h readline/history.h)
1014   if test "$ac_cv_lib_readline_rl_abort" = yes && \
1015      test "$ac_cv_header_readline_readline_h" = yes; then
1016     AC_MSG_CHECKING(whether readline.h is ok)
1017     AC_CACHE_VAL(ac_cv_header_readline_readline_h_ok,
1018     AC_TRY_LINK(
1019#include<unistd.h>
1020#include<stdio.h>
1021#include<readline/readline.h>
1022#ifdef HAVE_READLINE_HISTORY_H
1023#include<readline/history.h>
1024#endif
1025,
1026,
1027ac_cv_header_readline_readline_h_ok="yes",
1028ac_cv_header_readline_readline_h_ok="no",
1029))
1030    AC_MSG_RESULT($ac_cv_header_readline_readline_h_ok)
1031    if test "$ac_cv_header_readline_readline_h_ok" != yes; then
1032#not ok -- try once more with explicitly declaring everything
1033      AC_MSG_CHECKING(whether or not we nevertheless can use readline)
1034      AC_CACHE_VAL(ac_cv_have_readline,
1035      AC_TRY_LINK(
1036#include <stdio.h>
1037extern "C"
1038{
1039extern char * rl_readline_name;
1040extern char *rl_line_buffer;
1041char *filename_completion_function();
1042typedef char **CPPFunction ();
1043extern char ** completion_matches ();
1044extern CPPFunction * rl_attempted_completion_function;
1045extern FILE * rl_outstream;
1046char * readline ();
1047void add_history ();
1048int write_history ();
1049int read_history();
1050}
1051#ifndef NULL
1052#define NULL 0
1053#endif
1054,
1055rl_readline_name=NULL;
1056*rl_line_buffer=1;
1057completion_matches(NULL, filename_completion_function);
1058rl_attempted_completion_function = (CPPFunction *) NULL;
1059rl_outstream=NULL;
1060readline(NULL);
1061add_history(NULL);
1062read_history(NULL);
1063write_history(NULL);
1064,
1065ac_cv_have_readline="yes"
1066,
1067ac_cv_have_readline="no"
1068))
1069      AC_MSG_RESULT($ac_cv_have_readline)
1070    else
1071      AC_DEFINE(READLINE_READLINE_H_OK)
1072      ac_cv_have_readline="yes"
1073    fi
1074  fi
1075  if test "$ac_cv_have_readline" = yes; then
1076    AC_DEFINE(HAVE_READLINE)
1077  fi
1078AC_LANG_RESTORE
1079fi
1080
1081AC_MSG_CHECKING(which readline to use)
1082if test "$ac_cv_with_readline" = dynamic; then
1083  AC_MSG_RESULT(dynamic)
1084  AC_DEFINE(HAVE_DYN_RL)
1085elif test "$ac_cv_have_readline" = yes; then
1086  AC_MSG_RESULT(static)
1087elif test "$ac_cv_singuname" = PowerMacintosh-darwin; then
1088  AC_MSG_ERROR(building without readline impossible on PowerMacintosh-darwin)
1089else
1090  AC_MSG_RESULT(none)
1091  AC_MSG_WARN(building without readline: disabling fancy display)
1092fi
1093
1094NEED_LIBS=$LIBS
1095
1096# gmp, MP, MPT, factory, libfac
1097AC_CHECK_LIB(gmp, main)
1098SAVE_LIBS=$LIBS
1099AC_CHECK_LIB(MP, IMP_PutGmpInt,,,$MP_LIBS)
1100AC_CHECK_LIB(MPT, MPT_GetTree,,,$MP_LIBS)
1101LIBS=$SAVE_LIBS
1102AC_CHECK_LIB(singcf, atof)
1103AC_CHECK_LIB(singfac, atof)
1104AC_CHECK_LIB(omalloc, omTestAddr)
1105AC_CHECK_LIB(omalloc_ndebug, main)
1106AC_CHECK_LIB(ntl,main)
1107
1108AC_CHECK_HEADERS(gmp.h MP.h  MPT.h factory.h factor.h omalloc.h \
1109 omalloc.c)
1110
1111AC_MSG_CHECKING(whether to use Boost)
1112if test "$with_Boost" != no; then
1113  AC_MSG_RESULT(yes)
1114  AC_LANG_SAVE
1115  AC_LANG_CPLUSPLUS
1116  AC_CHECK_HEADERS(boost/dynamic_bitset.hpp)
1117  AC_LANG_RESTORE
1118else
1119  AC_MSG_RESULT(no)
1120  AC_MSG_CHECKING(whether to use std::vector)
1121  if test "$with_stdvec" != yes; then
1122    AC_MSG_RESULT(no)
1123  else
1124    AC_MSG_RESULT(yes)
1125    AC_DEFINE(USE_STDVECBOOL)
1126    USE_STDVECBOOL=1
1127  fi
1128fi
1129AC_SUBST(USE_STDVECBOOL)
1130
1131if test "$ac_cv_lib_gmp_main" = yes && \
1132 test "$ac_cv_header_gmp_h" = yes; then
1133    ac_gmp_ok=yes
1134fi
1135
1136if test "$ac_cv_lib_MP_IMP_PutGmpInt" = yes && \
1137 test "$ac_cv_lib_MPT_MPT_GetTree" && \
1138 test "$ac_cv_header_MP_h" = yes && \
1139 test "$ac_cv_header_MPT_h" = yes; then
1140  ac_MP_ok=yes
1141fi
1142
1143if test "$ac_cv_lib_singcf_atof" = yes && \
1144 test "$ac_cv_header_factory_h" = yes; then
1145  ac_factory_ok=yes
1146fi
1147
1148if test "$ac_cv_lib_singfac_atof" = yes && \
1149 test "$ac_cv_header_factor_h" = yes; then
1150  ac_libfac_ok=yes
1151fi
1152
1153if test "$ac_cv_lib_omalloc_omTestAddr" = yes && \
1154   test "$ac_cv_lib_omalloc_ndebug_main" = yes && \
1155   test "$ac_cv_header_omalloc_c" = yes && \
1156   test "$ac_cv_header_omalloc_h" = yes; then
1157  ac_cv_omalloc_ok=yes
1158fi
1159
1160if test "$ac_cv_lib_ntl_main" = yes; then
1161  ac_cv_ntl_ok=yes
1162fi
1163
1164SAVE_LIBS=$LIBS
1165AC_CHECK_LIB(c_nonshared,__stack_chk_fail_local,GLIBC_DYN_FIX="-lc_nonshared",GLIBC_DYN_FIX="")
1166LIBS=$SAVE_LIBS
1167AC_SUBST(GLIBC_DYN_FIX)
1168
1169
1170# evaluate results
1171dnl llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
1172dnl make sure that omalloc is there
1173dnl
1174if test "$ac_cv_omalloc_ok" != yes && test "$enable_omalloc" != yes; then
1175  AC_MSG_ERROR(can not build without omalloc)
1176fi
1177
1178AC_MSG_CHECKING(which apint package to use)
1179if test "${with_apint}" != gmp; then
1180  if test "$ac_gmp_ok" = yes || test "$enable_gmp" = yes; then
1181    AC_MSG_RESULT(gmp)
1182    will_have_gmp=yes
1183    NEED_LIBS="-lgmp ${NEED_LIBS}"
1184  else
1185    AC_MSG_RESULT(none)
1186    AC_MSG_ERROR(can not build without gmp)
1187  fi
1188else
1189  if test "$ac_gmp_ok" = yes || test "$enable_gmp" = yes; then
1190    AC_MSG_RESULT(gmp)
1191    will_have_gmp=yes
1192    NEED_LIBS="-lgmp ${NEED_LIBS}"
1193  else
1194    AC_MSG_RESULT(none)
1195    AC_MSG_ERROR(can not build with gmp)
1196  fi
1197fi
1198
1199AC_MSG_CHECKING(gfanlib)
1200if test "$enable_gfanlib" = yes; then
1201  AC_MSG_RESULT(yes)
1202  NEED_LIBS="${NEED_LIBS} -lgfan -lcddgmp"
1203else
1204  AC_MSG_RESULT(can not build with gfan lib)
1205fi
1206
1207AC_MSG_CHECKING(whether to use libsvd)
1208if test "$with_svd" = yes; then
1209  AC_MSG_RESULT(yes)
1210  AC_DEFINE(HAVE_SVD)
1211  NEED_LIBS="-lsvd -lmpfr ${NEED_LIBS}"
1212else
1213  AC_MSG_RESULT(no)
1214fi
1215AC_SUBST(HAVE_SVD)
1216
1217#
1218AC_MSG_CHECKING(whether to have MP)
1219if test "${with_MP}" != yes && test "${with_MP}" != no; then
1220  if (test "${will_have_gmp}" = yes) && \
1221     (test "$ac_MP_ok" =  yes || test "$enable_MP" = yes); then
1222    AC_MSG_RESULT(yes)
1223    AC_DEFINE(HAVE_MPSR)
1224    HAVE_MPSR=1
1225    MP_LIBS="-lMPT -lMP ${MP_LIBS}"
1226  else
1227    AC_MSG_RESULT(no)
1228  fi
1229elif  test "${with_MP}" = yes; then
1230  if (test "${will_have_gmp}" = yes) && \
1231     (test "$ac_MP_ok" =  yes || test "$enable_MP" = yes); then
1232    AC_MSG_RESULT(yes)
1233    AC_DEFINE(HAVE_MPSR)
1234    HAVE_MPSR=1
1235    MP_LIBS="-lMPT -lMP ${MP_LIBS}"
1236  else
1237    AC_MSG_RESULT(no)
1238    AC_MSG_ERROR(can not build with MP)
1239  fi
1240else
1241  AC_MSG_RESULT(no)
1242fi
1243AC_SUBST(HAVE_MPSR)
1244AC_SUBST(MP_LIBS)
1245
1246AC_MSG_CHECKING(whether to have NTL)
1247if test "${with_NTL}" = yes ; then
1248  AC_MSG_RESULT(yes)
1249  NEED_LIBS="-lntl ${NEED_LIBS}"
1250else
1251  AC_MSG_RESULT(no)
1252fi
1253
1254AC_MSG_CHECKING(whether to have factory)
1255if test "${with_factory}" != yes && test "${with_factory}" != no; then
1256  if test "$ac_factory_ok" =  yes || test "$enable_factory" = yes; then
1257    AC_MSG_RESULT(yes)
1258    AC_DEFINE(HAVE_FACTORY)
1259    will_have_factory=yes
1260    NEED_LIBS="-lsingcf ${NEED_LIBS}"
1261  else
1262    AC_MSG_RESULT(no)
1263  fi
1264elif  test "${with_factory}" = yes; then
1265  if test "$ac_factory_ok" =  yes || test "$enable_factory" = yes; then
1266    AC_MSG_RESULT(yes)
1267    AC_DEFINE(HAVE_FACTORY)
1268    will_have_factory=yes
1269    NEED_LIBS="-lsingcf ${NEED_LIBS}"
1270  else
1271    AC_MSG_RESULT(no)
1272    AC_MSG_ERROR(can not build with factory)
1273  fi
1274else
1275  AC_MSG_RESULT(no)
1276fi
1277
1278AC_MSG_CHECKING(whether to have libfac)
1279if test "${with_libfac}" != yes && test "${with_libfac}" != no; then
1280  if (test "${will_have_factory}" = yes) && \
1281     (test "$ac_libfac_ok" =  yes || test "$enable_libfac" = yes); then
1282    AC_MSG_RESULT(yes)
1283    NEED_LIBS="-lsingfac ${NEED_LIBS}"
1284  else
1285    AC_MSG_RESULT(no)
1286    AC_MSG_ERROR(can not build without libfac)
1287  fi
1288elif  test "${with_libfac}" = yes; then
1289  if (test "${will_have_factory}" = yes) && \
1290     (test "$ac_libfac_ok" =  yes || test "$enable_libfac" = yes); then
1291    AC_MSG_RESULT(yes)
1292    NEED_LIBS="-lsingfac ${NEED_LIBS}"
1293  else
1294    AC_MSG_RESULT(no)
1295    AC_MSG_ERROR(can not build with libfac)
1296  fi
1297else
1298  AC_MSG_RESULT(no)
1299fi
1300
1301NEED_LIBSG="${NEED_LIBS}"
1302if test "$ac_cv_sizeof_voidp" != 4; then
1303  NEED_LIBS="${NEED_LIBS} -lomalloc"
1304else
1305  NEED_LIBS="${NEED_LIBS} -lomalloc_ndebug"
1306fi
1307
1308
1309AC_SUBST(NEED_LIBS)
1310AC_SUBST(NEED_LIBSG)
1311
1312AC_MSG_CHECKING(whether to have dbm links)
1313if test "$with_dbm" != no; then
1314  AC_DEFINE(HAVE_DBM)
1315  AC_MSG_RESULT(yes)
1316else
1317  AC_MSG_RESULT(no)
1318fi
1319
1320AC_MSG_CHECKING(whether to have dynamic modules)
1321if test "$with_dynamic_modules" = no || test "$ac_have_dl" != yes; then
1322  AC_MSG_RESULT(no)
1323else
1324  AC_DEFINE(HAVE_DYNAMIC_LOADING)
1325  AC_MSG_RESULT(yes)
1326fi
1327
1328AC_MSG_CHECKING(whether to have dynamic kernel)
1329if test "$with_dynamic_kernel" != no && test "$ac_lib_dl" = yes; then
1330  DL_KERNEL=1
1331  AC_SUBST(DL_KERNEL)
1332  AC_MSG_RESULT(yes)
1333else
1334  AC_MSG_RESULT(no)
1335fi
1336
1337AC_MSG_CHECKING(whether to have Plural)
1338if test "$with_Plural" != no && test "$enable_Plural" != no; then
1339  AC_DEFINE(HAVE_PLURAL)
1340  AC_MSG_RESULT(yes)
1341  PLURAL=1
1342  AC_SUBST(PLURAL)
1343else
1344  AC_MSG_RESULT(no)
1345fi
1346
1347AC_MSG_CHECKING(whether to have ratGB)
1348if test "$with_ratGB" != yes && test "$enable_ratGB" != yes; then
1349  AC_MSG_RESULT(no)
1350else
1351  AC_DEFINE(HAVE_RATGRING)
1352  AC_MSG_RESULT(yes)
1353fi
1354
1355
1356OUTPUT_MAKEFILES="Makefile ../kernel/Makefile"
1357
1358if test "$ac_cv_singuname" = "ix86-Win"; then
1359  OUTPUT_MAKEFILES="${OUTPUT_MAKEFILES} Singular.rc"
1360fi
1361
1362AC_OUTPUT(${OUTPUT_MAKEFILES}, \
1363 cp mod2.h ../kernel/mod2.h; \
1364 if test "$CONFIG_HEADERS"; then echo timestamp > stamp-h; fi)
Note: See TracBrowser for help on using the repository browser.