1 | AC_INIT([singular], [4.1.1], [singular@mathematik.uni-kl.de]) |
---|
2 | AC_DEFINE([VERSION_DATE],["Feb 2018"],[release date]) |
---|
3 | |
---|
4 | _AC_SRCDIRS(["$ac_dir"]) |
---|
5 | |
---|
6 | AC_CONFIG_MACRO_DIR([m4]) |
---|
7 | AC_CONFIG_AUX_DIR([build-aux]) |
---|
8 | |
---|
9 | AC_CONFIG_SRCDIR([Singular/tesths.cc]) |
---|
10 | |
---|
11 | AC_CONFIG_HEADER([_config.h]) |
---|
12 | # Add pre'prefixed config |
---|
13 | AX_PREFIX_CONFIG_H([singularconfig.h],[],[_config.h]) |
---|
14 | |
---|
15 | dnl Apparently, this is required for using an AC_CHECK_HEADER within AS_IF(...), at least on Cygwin. |
---|
16 | AC_USE_SYSTEM_EXTENSIONS |
---|
17 | |
---|
18 | AM_MAINTAINER_MODE([enable]) |
---|
19 | AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) # -Wno-extra-portability -Werror silent-rules |
---|
20 | |
---|
21 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) |
---|
22 | |
---|
23 | dnl Check if build env is sane |
---|
24 | AM_SANITY_CHECK |
---|
25 | |
---|
26 | |
---|
27 | SING_RESET_FLAGS() |
---|
28 | SING_CHECK_SET_ARGS() |
---|
29 | |
---|
30 | #! |
---|
31 | # AC_PROG_CC |
---|
32 | # AC_PROG_CXX |
---|
33 | AC_PROG_CPP |
---|
34 | AC_PROG_CXXCPP |
---|
35 | AM_PROG_CC_C_O |
---|
36 | AM_PROG_AR |
---|
37 | ### AM_PROG_LEX |
---|
38 | AC_PROG_LN_S |
---|
39 | AC_PROG_INSTALL |
---|
40 | |
---|
41 | AC_HEADER_STDC |
---|
42 | AC_CHECK_HEADERS(unistd.h iostream.h sys/time.h sys/times.h asm/sigcontext.h) |
---|
43 | |
---|
44 | AC_CHECK_FUNCS(readlink getcwd getwd setenv putenv qsort_r) |
---|
45 | |
---|
46 | AC_CHECK_PROGS([DOXYGEN], [doxygen]) |
---|
47 | if test -z "$DOXYGEN"; |
---|
48 | then AC_MSG_WARN([Doxygen not found - continuing without Doxygen support]) |
---|
49 | fi |
---|
50 | AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"]) |
---|
51 | |
---|
52 | LT_INIT([win32-dll]) |
---|
53 | |
---|
54 | link_all_deplibs=yes |
---|
55 | link_all_deplibs_CXX=yes |
---|
56 | |
---|
57 | # Checks for libraries. |
---|
58 | |
---|
59 | # This test for -lpthread etc has to come before AX_PTHREAD, |
---|
60 | # because libtool tends to ignore -pthread in linking shared C++-libs |
---|
61 | # see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460 |
---|
62 | # (happens with ubuntu 14.04) |
---|
63 | AC_SEARCH_LIBS(sem_wait,[rt pthreads pthread],[],[ |
---|
64 | AC_MSG_ERROR([sem_wait not found in rt,pthreads,pthread]) |
---|
65 | ]) |
---|
66 | |
---|
67 | AX_PTHREAD([], [ |
---|
68 | AC_MSG_ERROR([Pthread library not found. Please set PTHREAD_CFLAGS and PTHREAD_LIBS correctly for your setup]) |
---|
69 | ]) |
---|
70 | |
---|
71 | AC_MSG_CHECKING([Found Pthread, PTHREAD_CC:]) |
---|
72 | AC_MSG_RESULT(${PTHREAD_CC:-unset}) |
---|
73 | AC_MSG_CHECKING([ PTHREAD_CFLAGS:]) |
---|
74 | AC_MSG_RESULT(${PTHREAD_CFLAGS:-unset}) |
---|
75 | AC_MSG_CHECKING([ PTHREAD_LIBS:]) |
---|
76 | AC_MSG_RESULT(${PTHREAD_LIBS:-unset}) |
---|
77 | |
---|
78 | # Set the correct PTHREAD flags and, if needed, change the compiler to one that is pthread-enabled. |
---|
79 | CC="$PTHREAD_CC" |
---|
80 | CFLAGS="$CFLAGS $PTHREAD_CFLAGS" |
---|
81 | LDFLAGS="$LDFLAGS $PTHREAD_LDFLAGS" |
---|
82 | |
---|
83 | AC_SUBST(PTHREAD_CFLAGS) |
---|
84 | AC_SUBST(PTHREAD_LDFLAGS) |
---|
85 | AC_SUBST(PTHREAD_LIBS) |
---|
86 | AC_SUBST(CC) |
---|
87 | |
---|
88 | |
---|
89 | AC_CHECK_LIB(rt,clock_gettime) |
---|
90 | |
---|
91 | LB_CHECK_GMP(4.0,,AC_MSG_ERROR([Unable to find GMP on your machine: please use --with-gmp=PATH_TO_DIR_CONTAINING_LIB_AND_INCLUDE (see also ./configure --help if you do not understand what we are talking about)])) |
---|
92 | LB_CHECK_NTL(5.0,,AC_MSG_WARN([Unable to find NTL (which is strongly recommended) on your machine: please use --with-ntl=PATH_TO_DIR_CONTAINING_LIB_AND_INCLUDE (see also ./configure --help if you do not understand what we are talking about)])) |
---|
93 | LB_CHECK_FLINT(2.3,,AC_MSG_WARN([Unable to find FLINT (which is strongly recommended) on your machine: please use --with-flint=PATH_TO_DIR_CONTAINING_LIB_AND_INCLUDE (see also ./configure --help if you do not understand what we are talking about)])) |
---|
94 | |
---|
95 | AC_CHECK_LIB(mpfr,mpfr_add) |
---|
96 | |
---|
97 | AC_CONFIG_GOOGLE_PERFTOOLS() |
---|
98 | |
---|
99 | AX_PYTHON_DEFAULT() |
---|
100 | AX_PYTHON_WITH_VERSION([2.4]) |
---|
101 | |
---|
102 | LB_CHECK_MATHICGB |
---|
103 | |
---|
104 | AC_FUNC_ERROR_AT_LINE |
---|
105 | AC_FUNC_MALLOC |
---|
106 | |
---|
107 | # check for cpu properties |
---|
108 | AC_CHECK_SIZEOF(long,4) |
---|
109 | SING_CHECK_CPU |
---|
110 | |
---|
111 | SING_WIN_FLAGS |
---|
112 | |
---|
113 | PKG_REQUIRE="$PKG_REQUIRE" |
---|
114 | AC_SUBST(PKG_REQUIRE) |
---|
115 | |
---|
116 | SING_USE_OMALLOC() |
---|
117 | SING_USE_RESOURCES() |
---|
118 | SING_USE_FACTORY() |
---|
119 | |
---|
120 | SING_CHECK_P_PROCS |
---|
121 | SING_CHECK_READLINE |
---|
122 | SING_CHECK_DBM |
---|
123 | |
---|
124 | SING_CHECK_GFANLIB |
---|
125 | SING_CHECK_POLYMAKE |
---|
126 | |
---|
127 | SING_CHECK_PLURAL |
---|
128 | |
---|
129 | SING_CHECK_PYTHON_MODULE |
---|
130 | |
---|
131 | SING_BUILTIN_MODULES |
---|
132 | |
---|
133 | AC_ARG_ENABLE(countedref, AS_HELP_STRING([--enable-countedref], [Enable autoloading of reference counted types]), |
---|
134 | [if test "x$enableval" = "xyes"; then |
---|
135 | ENABLE_COUNTEDREF_AUTOLOAD=yes |
---|
136 | fi], ENABLE_COUNTEDREF_AUTOLOAD=no) |
---|
137 | |
---|
138 | if test x"${ENABLE_COUNTEDREF_AUTOLOAD}" == xyes; then |
---|
139 | AC_DEFINE([SI_COUNTEDREF_AUTOLOAD],1,[Enable autoloading of reference counted types]) |
---|
140 | AC_SUBST(SI_COUNTEDREF_AUTOLOAD) |
---|
141 | fi |
---|
142 | |
---|
143 | dnl AC_CONFIG_FILES conditionalization requires using AM_COND_IF, however |
---|
144 | dnl AM_COND_IF is new to Automake 1.11. To use it on new Automake without |
---|
145 | dnl requiring same, a fallback implementation for older Autoconf is provided. |
---|
146 | dnl Note that disabling of AC_CONFIG_FILES requires Automake 1.11, this code |
---|
147 | dnl is correct only in terms of m4sh generated script. |
---|
148 | m4_ifndef([AM_COND_IF], [AC_DEFUN([AM_COND_IF], [ |
---|
149 | if test -z "$$1_TRUE"; then : |
---|
150 | m4_n([$2])[]dnl |
---|
151 | m4_ifval([$3], |
---|
152 | [else |
---|
153 | $3 |
---|
154 | ])dnl |
---|
155 | fi[]dnl |
---|
156 | ])]) |
---|
157 | |
---|
158 | AX_LIB_SOCKET_NSL |
---|
159 | |
---|
160 | AC_DEFINE_UNQUOTED([CC],"$CC",[CC]) |
---|
161 | AC_DEFINE_UNQUOTED([CXX],"$CXX",[CXX]) |
---|
162 | AC_DEFINE_UNQUOTED([CFLAGS],"$CFLAGS",[CFLAGS]) |
---|
163 | AC_DEFINE_UNQUOTED([CXXFLAGS],"$CXXFLAGS",[CXXFLAGS]) |
---|
164 | AC_DEFINE_UNQUOTED([PTHREAD_CFLAGS],"$PTHREAD_CFLAGS",[PTHREAD_CFLAGS]) |
---|
165 | AC_DEFINE_UNQUOTED([PTHREAD_LIBS],"$PTHREAD_LIBS",[PTHREAD_LIBS]) |
---|
166 | AC_DEFINE_UNQUOTED([DEFS],"$DEFS",[DEFS]) |
---|
167 | AC_DEFINE_UNQUOTED([CPPFLAGS],"$CPPFLAGS",[CPPFLAGS]) |
---|
168 | AC_DEFINE_UNQUOTED([LDFLAGS],"$LDFLAGS",[LDFLAGS]) |
---|
169 | AC_DEFINE_UNQUOTED([LIBS],"$LIBS",[LIBS]) |
---|
170 | AC_DEFINE_UNQUOTED([AC_CONFIGURE_ARGS],"$ac_configure_args",[ac_configure_args]) |
---|
171 | # AC_DEFINE_UNQUOTED([AC_CT_CC], "$ac_ct_CC",[ac_ct_CC]) |
---|
172 | |
---|
173 | AC_DEFINE_UNQUOTED([NTL_CPPFLAGS],"$NTL_CPPFLAGS",[NTL_CPPFLAGS]) |
---|
174 | AC_DEFINE_UNQUOTED([NTL_LIBS],"$NTL_LIBS",[NTL_LIBS]) |
---|
175 | |
---|
176 | AC_DEFINE_UNQUOTED([GMP_CPPFLAGS],"$GMP_CPPFLAGS",[GMP_CPPFLAGS]) |
---|
177 | AC_DEFINE_UNQUOTED([GMP_LIBS],"$GMP_LIBS",[GMP_LIBS]) |
---|
178 | |
---|
179 | AC_DEFINE_UNQUOTED([FLINT_CFLAGS],"$FLINT_CFLAGS",[FLINT_CFLAGS]) |
---|
180 | AC_DEFINE_UNQUOTED([FLINT_LIBS],"$FLINT_LIBS",[FLINT_LIBS]) |
---|
181 | |
---|
182 | ##### SEE http://www.gnu.org/prep/standards/html_node/Directory-Variables.html |
---|
183 | |
---|
184 | AX_RECURSIVE_EVAL([[$]prefix], [config_prefix]) |
---|
185 | AX_NORMALIZE_PATH([config_prefix],['/']) |
---|
186 | AC_DEFINE_UNQUOTED([PREFIX],"$config_prefix",[prefix]) |
---|
187 | |
---|
188 | AX_RECURSIVE_EVAL([[$]exec_prefix], [config_exec_prefix]) |
---|
189 | AX_NORMALIZE_PATH([config_exec_prefix],['/']) |
---|
190 | AC_DEFINE_UNQUOTED([EXEC_PREFIX],"$config_exec_prefix",[exec_prefix]) |
---|
191 | |
---|
192 | AX_RECURSIVE_EVAL([[$]libexecdir], [config_libexecdir]) |
---|
193 | AX_NORMALIZE_PATH([config_libexecdir],['/']) |
---|
194 | AC_DEFINE_UNQUOTED([LIBEXEC_DIR],"$config_libexecdir",[libexecdir]) |
---|
195 | |
---|
196 | AX_RECURSIVE_EVAL([[$]libdir], [config_libdir]) |
---|
197 | AX_NORMALIZE_PATH([config_libdir],['/']) |
---|
198 | AC_DEFINE_UNQUOTED([LIB_DIR],"$config_libdir",[libdir]) |
---|
199 | |
---|
200 | AX_RECURSIVE_EVAL([[$]bindir], [config_bindir]) |
---|
201 | AX_NORMALIZE_PATH([config_bindir],['/']) |
---|
202 | AC_DEFINE_UNQUOTED([BIN_DIR],"$config_bindir",[bindir]) |
---|
203 | |
---|
204 | AX_RECURSIVE_EVAL([[$]datadir], [config_datadir]) |
---|
205 | AX_NORMALIZE_PATH([config_datadir],['/']) |
---|
206 | AC_DEFINE_UNQUOTED([DATA_DIR],"$config_datadir",[datadir]) |
---|
207 | AC_SUBST(DATA_DIR, "$config_datadir") |
---|
208 | |
---|
209 | SING_SHOW_FLAGS([Compiler/linker flags: ]) |
---|
210 | |
---|
211 | |
---|
212 | ## AM_COND_IF([HAVE_DOXYGEN], [AC_CONFIG_FILES([dox/Doxyfile])]) |
---|
213 | |
---|
214 | AC_CONFIG_FILES([dox/Makefile]) |
---|
215 | |
---|
216 | AC_CONFIG_SUBDIRS([resources]) |
---|
217 | AC_CONFIG_SUBDIRS([omalloc]) |
---|
218 | |
---|
219 | if test "x$ENABLE_FACTORY" = xyes; then |
---|
220 | AC_CONFIG_SUBDIRS([factory]) |
---|
221 | fi |
---|
222 | |
---|
223 | AC_CONFIG_SUBDIRS([libpolys]) |
---|
224 | |
---|
225 | AC_CONFIG_FILES([Makefile]) |
---|
226 | AC_CONFIG_FILES([kernel/Makefile]) |
---|
227 | AC_CONFIG_FILES([kernel/numeric/Makefile]) |
---|
228 | AC_CONFIG_FILES([kernel/fglm/Makefile]) |
---|
229 | AC_CONFIG_FILES([kernel/groebner_walk/Makefile]) |
---|
230 | AC_CONFIG_FILES([kernel/combinatorics/Makefile]) |
---|
231 | AC_CONFIG_FILES([kernel/spectrum/Makefile]) |
---|
232 | AC_CONFIG_FILES([kernel/linear_algebra/Makefile]) |
---|
233 | AC_CONFIG_FILES([kernel/maps/Makefile]) |
---|
234 | AC_CONFIG_FILES([kernel/GBEngine/Makefile]) |
---|
235 | AC_CONFIG_FILES([kernel/oswrapper/Makefile]) |
---|
236 | |
---|
237 | AC_CONFIG_SUBDIRS([gfanlib]) |
---|
238 | |
---|
239 | AC_CONFIG_FILES([Singular/dyn_modules/Makefile]) |
---|
240 | AC_CONFIG_FILES([Singular/dyn_modules/bigintm/Makefile]) |
---|
241 | AC_CONFIG_FILES([Singular/dyn_modules/Order/Makefile]) |
---|
242 | AC_CONFIG_FILES([Singular/dyn_modules/syzextra/Makefile]) |
---|
243 | AC_CONFIG_FILES([Singular/dyn_modules/gfanlib/Makefile]) |
---|
244 | AC_CONFIG_FILES([Singular/dyn_modules/polymake/Makefile]) |
---|
245 | AC_CONFIG_FILES([Singular/dyn_modules/python/Makefile]) |
---|
246 | AC_CONFIG_FILES([Singular/dyn_modules/customstd/Makefile]) |
---|
247 | AC_CONFIG_FILES([Singular/dyn_modules/pyobject/Makefile]) |
---|
248 | AC_CONFIG_FILES([Singular/dyn_modules/singmathic/Makefile]) |
---|
249 | AC_CONFIG_FILES([Singular/dyn_modules/staticdemo/Makefile]) |
---|
250 | AC_CONFIG_FILES([Singular/dyn_modules/subsets/Makefile]) |
---|
251 | AC_CONFIG_FILES([Singular/dyn_modules/freealgebra/Makefile]) |
---|
252 | AC_CONFIG_FILES([Singular/dyn_modules/gitfan/Makefile]) |
---|
253 | AC_CONFIG_FILES([Singular/dyn_modules/interval/Makefile]) |
---|
254 | AC_CONFIG_FILES([Singular/dyn_modules/cohomo/Makefile]) |
---|
255 | |
---|
256 | AC_CONFIG_FILES([Singular/Makefile]) |
---|
257 | |
---|
258 | AC_CONFIG_FILES([IntegerProgramming/Makefile]) |
---|
259 | |
---|
260 | AC_CONFIG_FILES([libsingular-config Singular.pc]) |
---|
261 | |
---|
262 | AC_CONFIG_FILES([emacs/Makefile]) |
---|
263 | |
---|
264 | AC_CONFIG_FILES([redhat/Makefile]) |
---|
265 | AC_CONFIG_FILES([redhat/singular.spec]) |
---|
266 | AC_CONFIG_FILES([desktop/Makefile desktop/Singular.desktop desktop/Singular-manual.desktop]) |
---|
267 | |
---|
268 | AC_OUTPUT |
---|