comparison configure.ac @ 15093:a132d206a36a gui

maint: periodic merge of default to gui
author John W. Eaton <jwe@octave.org>
date Fri, 03 Aug 2012 14:59:40 -0400
parents fabc0e37ead1 c53c28c7c811
children 4f6e058e4161
comparison
equal deleted inserted replaced
15081:d02b229ce693 15093:a132d206a36a
42 AC_SUBST(OCTAVE_COPYRIGHT) 42 AC_SUBST(OCTAVE_COPYRIGHT)
43 43
44 AC_REVISION($Revision: 1.603 $) 44 AC_REVISION($Revision: 1.603 $)
45 AC_PREREQ([2.62]) 45 AC_PREREQ([2.62])
46 AC_CONFIG_SRCDIR([src/octave.cc]) 46 AC_CONFIG_SRCDIR([src/octave.cc])
47 AC_CONFIG_HEADER([config.h]) 47 AC_CONFIG_HEADERS([config.h])
48 AC_CONFIG_AUX_DIR([build-aux]) 48 AC_CONFIG_AUX_DIR([build-aux])
49 AC_CONFIG_MACRO_DIR([m4]) 49 AC_CONFIG_MACRO_DIR([m4])
50 50
51 AM_INIT_AUTOMAKE([1.11 tar-ustar]) 51 AM_INIT_AUTOMAKE([1.11 tar-ustar])
52 52
53 OCTAVE_HOST_TYPE 53 OCTAVE_HOST_TYPE
54 54
55 AC_DEFINE(OCTAVE_SOURCE, 1, [Define if this is Octave.]) 55 AC_DEFINE(OCTAVE_SOURCE, 1, [Define to 1 if this is Octave.])
56 56
57 dnl FIXME -- we should probably only generate this file if it is missing. 57 dnl FIXME: Can this MSVC test be moved down to the section on finding a
58 dnl a C compiler which already has an MSVC exception test?
59 dnl FIXME: We should probably only generate this file if it is missing.
58 ### Produce unistd.h for MSVC target, this simplifies changes in 60 ### Produce unistd.h for MSVC target, this simplifies changes in
59 ### Octave source tree and avoid problems with lex-generated code. 61 ### Octave source tree and avoid problems with lex-generated code.
60 case "$canonical_host_type" in 62 case "$canonical_host_type" in
61 *-*-msdosmsvc) 63 *-*-msdosmsvc)
62 AC_MSG_NOTICE([Generating replacement for <unistd.h> for MSVC]) 64 AC_MSG_NOTICE([Generating replacement for <unistd.h> for MSVC])
70 ;; 72 ;;
71 esac 73 esac
72 74
73 AC_USE_SYSTEM_EXTENSIONS 75 AC_USE_SYSTEM_EXTENSIONS
74 76
75 ### Check for MSVC
76 have_msvc=no
77 case "$canonical_host_type" in
78 *-*-msdosmsvc)
79 have_msvc=yes
80 ;;
81 *-*-mingw*)
82 AC_MSG_CHECKING([for MSVC compiler])
83 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
84 #ifndef _MSC_VER
85 #error "Not MSVC compiler"
86 #endif
87 ])], have_msvc=yes, have_msvc=no)
88 AC_MSG_RESULT([$have_msvc])
89 ;;
90 esac
91
92 ### Path separator. 77 ### Path separator.
78
93 sepchar=: 79 sepchar=:
94 AC_ARG_WITH(sepchar, 80 AC_ARG_WITH(sepchar,
95 [AS_HELP_STRING([--with-sepchar=<char>], 81 [AS_HELP_STRING([--with-sepchar=<char>],
96 [use <char> as the path separation character])]) 82 [use <char> as the path separation character])])
97 case $with_sepchar in 83 case $with_sepchar in
111 esac 97 esac
112 AC_SUBST(sepchar) 98 AC_SUBST(sepchar)
113 AC_DEFINE_UNQUOTED(SEPCHAR, ['$sepchar'], [Define this to be the path separator for your system, as a character constant.]) 99 AC_DEFINE_UNQUOTED(SEPCHAR, ['$sepchar'], [Define this to be the path separator for your system, as a character constant.])
114 AC_DEFINE_UNQUOTED(SEPCHAR_STR, ["$sepchar"], [Define this to the path separator, as a string.]) 100 AC_DEFINE_UNQUOTED(SEPCHAR_STR, ["$sepchar"], [Define this to the path separator, as a string.])
115 101
116 ### some defaults 102 ### Set default file locations
117 103
118 OCTAVE_SET_DEFAULT(man1dir, '$(mandir)/man1') 104 OCTAVE_SET_DEFAULT(man1dir, '$(mandir)/man1')
119 OCTAVE_SET_DEFAULT(man1ext, '.1') 105 OCTAVE_SET_DEFAULT(man1ext, '.1')
120 OCTAVE_SET_DEFAULT(doc_cache_file, '$(octetcdir)/doc-cache') 106 OCTAVE_SET_DEFAULT(doc_cache_file, '$(octetcdir)/doc-cache')
121 OCTAVE_SET_DEFAULT(texi_macros_file, '$(octetcdir)/macros.texi') 107 OCTAVE_SET_DEFAULT(texi_macros_file, '$(octetcdir)/macros.texi')
153 ### Make configure args available for other uses. 139 ### Make configure args available for other uses.
154 140
155 config_opts=$ac_configure_args 141 config_opts=$ac_configure_args
156 AC_SUBST(config_opts) 142 AC_SUBST(config_opts)
157 143
158 ### Make it possible to have Octave's array and matrix classes do bounds 144 ### Enable bounds checking on element references within Octave's array and
159 ### checking on element references. This slows some operations down a 145 ### matrix classes. This slows down some operations a bit, so it is turned off
160 ### bit, so it is turned off by default. 146 ### by default.
161 147
162 BOUNDS_CHECKING=false 148 BOUNDS_CHECKING=false
163 AC_ARG_ENABLE(bounds-check, 149 AC_ARG_ENABLE(bounds-check,
164 [AS_HELP_STRING([--enable-bounds-check], 150 [AS_HELP_STRING([--enable-bounds-check],
165 [bounds checking for indexing in internal array classes (default is no)])], 151 [bounds checking for indexing in internal array classes (default is no)])],
166 [if test "$enableval" = yes; then BOUNDS_CHECKING=true; fi], []) 152 [if test "$enableval" = yes; then BOUNDS_CHECKING=true; fi], [])
167 if $BOUNDS_CHECKING; then 153 if $BOUNDS_CHECKING; then
168 AC_DEFINE(BOUNDS_CHECKING, 1, [Define to use internal bounds checking.]) 154 AC_DEFINE(BOUNDS_CHECKING, 1, [Define to 1 to use internal bounds checking.])
169 fi 155 fi
156
157 ### Use Octave's built-in memory allocator rather than straightforward malloc.
158 ### Disabled by default.
170 159
171 USE_OCTAVE_ALLOCATOR=false 160 USE_OCTAVE_ALLOCATOR=false
172 AC_ARG_ENABLE(octave-allocator, 161 AC_ARG_ENABLE(octave-allocator,
173 [AS_HELP_STRING([--enable-octave-allocator], 162 [AS_HELP_STRING([--enable-octave-allocator],
174 [use the obsolete octave_allocator class for many of Octave's objects (mostly octave_value types). You probably do NOT want to enable this feature. (default is no)])], 163 [use the obsolete octave_allocator class for many of Octave's objects (mostly octave_value types). You probably do NOT want to enable this feature. (default is no)])],
175 [if test "$enableval" = yes; then USE_OCTAVE_ALLOCATOR=true; fi], []) 164 [if test "$enableval" = yes; then USE_OCTAVE_ALLOCATOR=true; fi], [])
176 if $USE_OCTAVE_ALLOCATOR; then 165 if $USE_OCTAVE_ALLOCATOR; then
177 AC_DEFINE(USE_OCTAVE_ALLOCATOR, 1, [Define to use octave_allocator class.]) 166 AC_DEFINE(USE_OCTAVE_ALLOCATOR, 1, [Define to 1 to use octave_allocator class.])
178 fi 167 fi
168
169 ### Use atomic operations for internal reference counting. This is required
170 ### for thread-safe behavior but incurs a significant slowdown, and is thus
171 ### disabled by default.
179 172
180 USE_ATOMIC_REFCOUNT=false 173 USE_ATOMIC_REFCOUNT=false
181 AC_ARG_ENABLE(atomic-refcount, 174 AC_ARG_ENABLE(atomic-refcount,
182 [AS_HELP_STRING([--enable-atomic-refcount], 175 [AS_HELP_STRING([--enable-atomic-refcount],
183 [use atomic operations for internal reference counting. This is required for thread-safe behavior. (default is no)])], 176 [use atomic operations for internal reference counting. This is required for thread-safe behavior. (default is no)])],
184 [if test "$enableval" = yes; then USE_ATOMIC_REFCOUNT=true; fi], []) 177 [if test "$enableval" = yes; then USE_ATOMIC_REFCOUNT=true; fi], [])
185 if $USE_ATOMIC_REFCOUNT; then 178 if $USE_ATOMIC_REFCOUNT; then
186 AC_DEFINE(USE_ATOMIC_REFCOUNT, 1, [Define to use atomic operations for reference counting.]) 179 AC_DEFINE(USE_ATOMIC_REFCOUNT, 1, [Define to 1 to use atomic operations for reference counting.])
187 fi 180 fi
188 181
189 ### Make it possible to disable running Make in the doc directory. 182 ### Disable running Make in the doc directory.
190 ### Useful for building on systems without TeX, for example. 183 ### This is useful, for example, when building Octave on systems without TeX.
184
191 DOCDIR=doc 185 DOCDIR=doc
192 AC_ARG_ENABLE(docs, 186 AC_ARG_ENABLE(docs,
193 [AS_HELP_STRING([--enable-docs], [build documentation (default is yes)])], 187 [AS_HELP_STRING([--enable-docs], [build documentation (default is yes)])],
194 [if test "$enableval" = no; then 188 [if test "$enableval" = no; then
195 DOCDIR= 189 DOCDIR=
213 if test $ac_cv_sizeof_void_p -eq 8; then 207 if test $ac_cv_sizeof_void_p -eq 8; then
214 if test $ac_cv_sizeof_int -eq 8; then 208 if test $ac_cv_sizeof_int -eq 8; then
215 OCTAVE_IDX_TYPE=int 209 OCTAVE_IDX_TYPE=int
216 elif test $ac_cv_sizeof_long -eq 8; then 210 elif test $ac_cv_sizeof_long -eq 8; then
217 OCTAVE_IDX_TYPE=long 211 OCTAVE_IDX_TYPE=long
218 AC_DEFINE(IDX_TYPE_LONG, 1, [Define to 1 if octave index type is long]) 212 AC_DEFINE(IDX_TYPE_LONG, 1, [Define to 1 if octave index type is long.])
219 else 213 else
220 warn_64_bit="no suitable type found for octave_idx_type so disabling 64-bit features" 214 warn_64_bit="no suitable type found for octave_idx_type so disabling 64-bit features"
221 OCTAVE_CONFIGURE_WARNING([warn_64_bit]) 215 OCTAVE_CONFIGURE_WARNING([warn_64_bit])
222 USE_64_BIT_IDX_T=false 216 USE_64_BIT_IDX_T=false
223 fi 217 fi
224 else 218 else
225 warn_64_bit="pointers are not 64-bits wide so disabling 64-bit features" 219 warn_64_bit="pointers are not 64-bits wide; disabling 64-bit features"
226 OCTAVE_CONFIGURE_WARNING([warn_64_bit]) 220 OCTAVE_CONFIGURE_WARNING([warn_64_bit])
227 USE_64_BIT_IDX_T=false 221 USE_64_BIT_IDX_T=false
228 fi 222 fi
229 fi 223 fi
230 AC_SUBST(OCTAVE_IDX_TYPE) 224 AC_SUBST(OCTAVE_IDX_TYPE)
231 AC_DEFINE_UNQUOTED(OCTAVE_IDX_TYPE, $OCTAVE_IDX_TYPE, 225 AC_DEFINE_UNQUOTED(OCTAVE_IDX_TYPE, $OCTAVE_IDX_TYPE,
232 [Define to the type of octave_idx_type (64 or 32 bit signed integer)]) 226 [Define to the type of octave_idx_type (64 or 32 bit signed integer).])
233 if $USE_64_BIT_IDX_T; then 227 if $USE_64_BIT_IDX_T; then
234 AC_DEFINE(USE_64_BIT_IDX_T, 1, [Define if using 64-bit integers for array dimensions and indexing]) 228 AC_DEFINE(USE_64_BIT_IDX_T, 1, [Define to 1 if using 64-bit integers for array dimensions and indexing.])
235 fi 229 fi
236 AC_SUBST(USE_64_BIT_IDX_T) 230 AC_SUBST(USE_64_BIT_IDX_T)
237 231
238 ### It seems that there are some broken inline assembly functions in 232 ### It seems that there are some broken inline assembly functions in
239 ### the GNU libc. Since I'm not sure how to test whether we are using 233 ### the GNU libc. Since I'm not sure how to test whether we are using
240 ### GNU libc, just disable them for all platforms. 234 ### GNU libc, just disable them for all platforms.
241 235
242 AC_MSG_NOTICE([defining __NO_MATH_INLINES avoids buggy GNU libc exp function]) 236 AC_MSG_NOTICE([defining __NO_MATH_INLINES avoids buggy GNU libc exp function])
243 AC_DEFINE(__NO_MATH_INLINES, 1, [Define if your version of GNU libc has buggy inline assembly code for math functions like exp.]) 237 AC_DEFINE(__NO_MATH_INLINES, 1, [Define to 1 if your version of GNU libc has buggy inline assembly code for math functions like exp.])
244 238
245 ### See which C++ compiler to use (we expect to find g++). 239 ### Determine which C++ compiler to use (we expect to find g++).
246 240
247 AC_PROG_CXX 241 AC_PROG_CXX
248 AC_PROG_CXXCPP 242 AC_PROG_CXXCPP
249 243
250 ### Do special things for g++. 244 ### Check version number when using g++.
251 245
252 gxx_version=`$CXX -v 2>&1 | grep "^.*g.. version" | \ 246 gxx_version=`$CXX -v 2>&1 | grep "^.*g.. version" | \
253 sed -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//' -e 's/ .*//'` 247 sed -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//' -e 's/ .*//'`
254 248
255 case "$gxx_version" in 249 case "$gxx_version" in
267 261
268 OCTAVE_CXX_NEW_FRIEND_TEMPLATE_DECL 262 OCTAVE_CXX_NEW_FRIEND_TEMPLATE_DECL
269 OCTAVE_CXX_ISO_COMPLIANT_LIBRARY 263 OCTAVE_CXX_ISO_COMPLIANT_LIBRARY
270 OCTAVE_CXX_BROKEN_REINTERPRET_CAST 264 OCTAVE_CXX_BROKEN_REINTERPRET_CAST
271 265
272 ### See which C compiler to use (we expect to find gcc). 266 ### Determine which C compiler to use (we expect to find gcc).
273 267
274 AC_PROG_CC 268 AC_PROG_CC
275 AC_PROG_CPP 269 AC_PROG_CPP
276 AC_PROG_GCC_TRADITIONAL 270 AC_PROG_GCC_TRADITIONAL
277 271
278 ### gnulib 272 ## Check for MSVC
273 have_msvc=no
274 case "$canonical_host_type" in
275 *-*-msdosmsvc)
276 have_msvc=yes
277 ;;
278 *-*-mingw*)
279 AC_MSG_CHECKING([for MSVC compiler])
280 AC_PREPROC_IFELSE([AC_LANG_SOURCE([
281 #ifndef _MSC_VER
282 #error "Not MSVC compiler"
283 #endif
284 ])], have_msvc=yes, have_msvc=no)
285 AC_MSG_RESULT([$have_msvc])
286 ;;
287 esac
288
289 ### gnulib initialization
279 290
280 gl_EARLY 291 gl_EARLY
281 gl_INIT 292 gl_INIT
282 293
283 ### Do special things for gcc. 294 ### Check version number when using gcc.
284 295
285 gcc_version=`$CC -v 2>&1 | grep "^.*gcc version" | \ 296 gcc_version=`$CC -v 2>&1 | grep "^.*gcc version" | \
286 sed -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//'` 297 sed -e 's/^.*g.. version *//' -e 's/cygnus-//' -e 's/egcs-//'`
287 case "$gcc_version" in 298 case "$gcc_version" in
288 [12].*) 299 [12].*)
295 if test -n "$gcc_version"; then 306 if test -n "$gcc_version"; then
296 CC_VERSION="$gcc_version" 307 CC_VERSION="$gcc_version"
297 fi 308 fi
298 AC_SUBST(CC_VERSION) 309 AC_SUBST(CC_VERSION)
299 310
300 ### The flag to create dependency varies depending on the compier. 311 ### Determine the compiler flag necessary to create dependencies
301 312
302 # Assume GCC. 313 ## Assume GCC.
303 INCLUDE_DEPS=true 314 INCLUDE_DEPS=true
304 DEPEND_FLAGS="-M" 315 DEPEND_FLAGS="-M"
305 DEPEND_EXTRA_SED_PATTERN="" 316 DEPEND_EXTRA_SED_PATTERN=""
306 if test "$GCC" = yes; then 317 if test "$GCC" = yes; then
307 true 318 true
325 fi 336 fi
326 AC_SUBST(INCLUDE_DEPS) 337 AC_SUBST(INCLUDE_DEPS)
327 AC_SUBST(DEPEND_FLAGS) 338 AC_SUBST(DEPEND_FLAGS)
328 AC_SUBST(DEPEND_EXTRA_SED_PATTERN) 339 AC_SUBST(DEPEND_EXTRA_SED_PATTERN)
329 340
341 ### Check for pthread library
342
330 AX_PTHREAD 343 AX_PTHREAD
331 ### Include pthread libs and flags here in case other tests need them. 344 ## Include pthread libs and flags here in case other tests need them.
332 ### They seem to be required for the OpenGL tests on Debian systems. 345 ## They seem to be required for the OpenGL tests on Debian systems.
333 LIBS="$PTHREAD_LIBS $LIBS" 346 LIBS="$PTHREAD_LIBS $LIBS"
334 CFLAGS="$CFLAGS $PTHREAD_CFLAGS" 347 CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
335
336 AC_PATH_X
337 if test "$have_x" = "yes"; then
338 AC_DEFINE(HAVE_X_WINDOWS, 1, [Define if you have X11])
339
340 if test "$x_includes" != "NONE"; then
341 X11_INCFLAGS="$x_includes"
342 fi
343 AC_SUBST(X11_INCFLAGS)
344
345 if test -z $x_libraries; then
346 AC_CHECK_LIB(X11, XrmInitialize, [X11_LIBS=-lX11], [X11_LIBS=])
347 elif test $x_libraries != "NONE"; then
348 AC_CHECK_LIB(X11, XrmInitialize,
349 [X11_LIBS="-L$x_libraries -lX11"], [X11_LIBS=], "-L$x_libraries")
350 fi
351 AC_SUBST(X11_LIBS)
352 fi
353
354 ### On MacOSX system the Carbon framework is used to determine ScreenSize
355 OCTAVE_HAVE_FRAMEWORK(Carbon, [#include <Carbon/Carbon.h>], [CGMainDisplayID ()],
356 [have_framework_carbon="yes"], [have_framework_carbon="no"])
357 if test $have_framework_carbon = "yes"; then
358 AC_DEFINE(HAVE_FRAMEWORK_CARBON, 1, [Define if framework CARBON is available.])
359 CARBON_LIBS="-Wl,-framework -Wl,Carbon"
360 AC_MSG_NOTICE([adding -Wl,-framework -Wl,Carbon to CARBON_LIBS])
361 AC_SUBST(CARBON_LIBS)
362 fi
363 348
364 ### When compiling math for x87, problems may arise in some code comparing 349 ### When compiling math for x87, problems may arise in some code comparing
365 ### floating-point intermediate results. 350 ### floating-point intermediate results.
366 ### Generally, it helps to store the result in a local volatile variable, 351 ### Generally, it helps to store the result in a local volatile variable,
367 ### but it also degrades performance. 352 ### but it also degrades performance.
374 [if test "$enableval" = yes; then ac_float_truncate=volatile; 359 [if test "$enableval" = yes; then ac_float_truncate=volatile;
375 else ac_float_truncate=; fi], 360 else ac_float_truncate=; fi],
376 ac_float_truncate=) 361 ac_float_truncate=)
377 362
378 AC_DEFINE_UNQUOTED(FLOAT_TRUNCATE, $ac_float_truncate, 363 AC_DEFINE_UNQUOTED(FLOAT_TRUNCATE, $ac_float_truncate,
379 [Define to volatile if you need truncating intermediate FP results]) 364 [Define to volatile if you need to truncate intermediate FP results.])
380 365
381 ### On Intel systems with gcc, we may need to compile with -mieee-fp 366 ### Determine extra CFLAGS that may be necessary for Octave.
382 ### and -ffloat-store to get full support for IEEE floating point. 367
383 ### 368 ## On Intel systems with gcc, we may need to compile with -mieee-fp
384 ### On Alpha/OSF systems, we need -mieee. 369 ## and -ffloat-store to get full support for IEEE floating point.
370 ##
371 ## On Alpha/OSF systems, we need -mieee.
385 372
386 ieee_fp_flag= 373 ieee_fp_flag=
387 case "$canonical_host_type" in 374 case "$canonical_host_type" in
388 ## Keep this pattern first, so that it is preferred over the 375 ## Keep this pattern first, so that it is preferred over the
389 ## following pattern for x86. 376 ## following pattern for x86.
392 OCTAVE_CC_FLAG(-mieee-fp, [ 379 OCTAVE_CC_FLAG(-mieee-fp, [
393 ieee_fp_flag=-mieee-fp 380 ieee_fp_flag=-mieee-fp
394 XTRA_CFLAGS="$XTRA_CFLAGS -mieee-fp" 381 XTRA_CFLAGS="$XTRA_CFLAGS -mieee-fp"
395 AC_MSG_NOTICE([adding -mieee-fp to XTRA_CFLAGS])]) 382 AC_MSG_NOTICE([adding -mieee-fp to XTRA_CFLAGS])])
396 383
397 ### OCTAVE_CC_FLAG(-ffloat-store, [ 384 ## OCTAVE_CC_FLAG(-ffloat-store, [
398 ### float_store_flag=-ffloat-store 385 ## float_store_flag=-ffloat-store
399 ### XTRA_CFLAGS="$XTRA_CFLAGS -ffloat-store" 386 ## XTRA_CFLAGS="$XTRA_CFLAGS -ffloat-store"
400 ### AC_MSG_RESULT([adding -ffloat-store to XTRA_CFLAGS])]) 387 ## AC_MSG_RESULT([adding -ffloat-store to XTRA_CFLAGS])])
401 fi 388 fi
402 if test "$GXX" = yes; then 389 if test "$GXX" = yes; then
403 OCTAVE_CXX_FLAG(-mieee-fp, [ 390 OCTAVE_CXX_FLAG(-mieee-fp, [
404 ieee_fp_flag=-mieee-fp 391 ieee_fp_flag=-mieee-fp
405 XTRA_CXXFLAGS="$XTRA_CXXFLAGS -mieee-fp" 392 XTRA_CXXFLAGS="$XTRA_CXXFLAGS -mieee-fp"
406 AC_MSG_NOTICE([adding -mieee-fp to XTRA_CXXFLAGS])]) 393 AC_MSG_NOTICE([adding -mieee-fp to XTRA_CXXFLAGS])])
407 394
408 ### OCTAVE_CXX_FLAG(-ffloat-store, [ 395 ## OCTAVE_CXX_FLAG(-ffloat-store, [
409 ### float_store_flag=-ffloat-store 396 ## float_store_flag=-ffloat-store
410 ### XTRA_CXXFLAGS="$XTRA_CXXFLAGS -ffloat-store" 397 ## XTRA_CXXFLAGS="$XTRA_CXXFLAGS -ffloat-store"
411 ### AC_MSG_RESULT([adding -ffloat-store to XTRA_CXXFLAGS])]) 398 ## AC_MSG_RESULT([adding -ffloat-store to XTRA_CXXFLAGS])])
412 fi 399 fi
413 ;; 400 ;;
414 alpha*-*-*) 401 alpha*-*-*)
415 if test "$GCC" = yes; then 402 if test "$GCC" = yes; then
416 OCTAVE_CC_FLAG(-mieee, [ 403 OCTAVE_CC_FLAG(-mieee, [
442 OCTAVE_CXX_FLAG(-mminimal-toc, [ 429 OCTAVE_CXX_FLAG(-mminimal-toc, [
443 XTRA_CXXFLAGS="$XTRA_CXXFLAGS -mminimal-toc"]) 430 XTRA_CXXFLAGS="$XTRA_CXXFLAGS -mminimal-toc"])
444 ;; 431 ;;
445 esac 432 esac
446 433
447 ## Test whether the compiler supports OpenMP. Experimental so disable by 434 AC_SUBST(XTRA_CFLAGS)
448 ## default. Enable it with the flag --enable-openmp 435 AC_SUBST(XTRA_CXXFLAGS)
436
437 ### Test whether the compiler supports OpenMP. This is experimental so disable
438 ### it by default. Enable it with the flag --enable-openmp.
439
449 USE_OPENMP=false 440 USE_OPENMP=false
450 AC_ARG_ENABLE(openmp, 441 AC_ARG_ENABLE(openmp,
451 [AS_HELP_STRING([--enable-openmp], 442 [AS_HELP_STRING([--enable-openmp],
452 [(EXPERIMENTAL) use OpenMP SMP multi-threading])], 443 [(EXPERIMENTAL) use OpenMP SMP multi-threading])],
453 [if test "$enableval" = yes; then USE_OPENMP=true; fi], []) 444 [if test "$enableval" = yes; then USE_OPENMP=true; fi], [])
455 case "$canonical_host_type" in 446 case "$canonical_host_type" in
456 *-*-mingw* | *-*-cygwin* | *-*-gnu*) 447 *-*-mingw* | *-*-cygwin* | *-*-gnu*)
457 OCTAVE_CHECK_OPENMP(-fopenmp) 448 OCTAVE_CHECK_OPENMP(-fopenmp)
458 ;; 449 ;;
459 *-*-msdosmsvc) 450 *-*-msdosmsvc)
460 ## FIXME is this the right flag for MSVC? 451 ## FIXME: is this the right flag for MSVC?
461 OCTAVE_CHECK_OPENMP(-openmp) 452 OCTAVE_CHECK_OPENMP(-openmp)
462 ;; 453 ;;
463 ## Add other compilers supporting OpenMP here 454 ## Add other compilers supporting OpenMP here
464 esac 455 esac
465 fi 456 fi
466 457
467 AC_SUBST(XTRA_CFLAGS) 458 dnl FIXME: This is OS-specific tests. Can this be moved further down in
468 AC_SUBST(XTRA_CXXFLAGS) 459 dnl configure.ac to reside with other similar tests?
469
470 ## Avoid #define of min/max from windows.h header
471 if test "$have_msvc" = "yes"; then
472 AC_DEFINE(NOMINMAX, 1, [Define if you want to avoid min/max macro definition in Windows headers])
473 fi
474
475 ### Use -static if compiling on Alpha OSF/1 1.3 systems. 460 ### Use -static if compiling on Alpha OSF/1 1.3 systems.
476 461
477 case "$canonical_host_type" in 462 case "$canonical_host_type" in
478 alpha*-dec-osf1.3) 463 alpha*-dec-osf1.3)
479 LD_STATIC_FLAG=-static 464 LD_STATIC_FLAG=-static
500 BUILD_CC='$(CC)' 485 BUILD_CC='$(CC)'
501 BUILD_CFLAGS='$(CFLAGS)' 486 BUILD_CFLAGS='$(CFLAGS)'
502 BUILD_CXX='$(CXX)' 487 BUILD_CXX='$(CXX)'
503 BUILD_CXXFLAGS='$(CXXFLAGS)' 488 BUILD_CXXFLAGS='$(CXXFLAGS)'
504 BUILD_LDFLAGS='$(LDFLAGS)' 489 BUILD_LDFLAGS='$(LDFLAGS)'
505 case "$canonical_host_type" in 490 ## 2012/07/31: Commented out special build requirements
506 sparc-sun-solaris2*) 491 ## for Sun compiler now that gendoc.cc is no longer part of build.
507 if test "$GCC" != yes; then 492 ##################################################################
508 ## The Sun C++ compiler never seems to complete compiling 493 #case "$canonical_host_type" in
509 ## gendoc.cc unless we reduce the optimization level... 494 # sparc-sun-solaris2*)
510 BUILD_CXXFLAGS="-g -O1" 495 # if test "$GCC" != yes; then
511 fi 496 # ## The Sun C++ compiler never seems to complete compiling
512 ;; 497 # ## gendoc.cc unless we reduce the optimization level...
513 esac 498 # ## BUILD_CXXFLAGS="-g -O1"
499 # fi
500 # ;;
501 #esac
514 BUILD_EXEEXT='$(EXEEXT)' 502 BUILD_EXEEXT='$(EXEEXT)'
515 fi 503 fi
516 504
517 AC_ARG_VAR(BUILD_CC, [build system C compiler (used if cross compiling)]) 505 AC_ARG_VAR(BUILD_CC, [build system C compiler (used if cross compiling)])
518 AC_ARG_VAR(BUILD_CFLAGS, [build system C compiler flags (used if cross compiling)]) 506 AC_ARG_VAR(BUILD_CFLAGS, [build system C compiler flags (used if cross compiling)])
533 ;; 521 ;;
534 *) 522 *)
535 AC_CHECK_LIB(m, sin) 523 AC_CHECK_LIB(m, sin)
536 ;; 524 ;;
537 esac 525 esac
526
527 ### Determine the Fortran compiler and how to invoke it
538 528
539 ## Default FFLAGS is -O. 529 ## Default FFLAGS is -O.
540 if test "x$FFLAGS" = x; then 530 if test "x$FFLAGS" = x; then
541 FFLAGS="-O" 531 FFLAGS="-O"
542 fi 532 fi
588 AC_SUBST(F77_TOLOWER) 578 AC_SUBST(F77_TOLOWER)
589 AC_SUBST(F77_APPEND_UNDERSCORE) 579 AC_SUBST(F77_APPEND_UNDERSCORE)
590 AC_SUBST(F77_APPEND_EXTRA_UNDERSCORE) 580 AC_SUBST(F77_APPEND_EXTRA_UNDERSCORE)
591 581
592 if test -z "$F77"; then 582 if test -z "$F77"; then
593 AC_MSG_ERROR([in order to build octave, you must have a compatible Fortran compiler or wrapper script for f2c that functions as a Fortran compiler installed and in your path. See the file INSTALL for more information.]) 583 AC_MSG_ERROR([in order to build Octave, you must have a compatible Fortran compiler or wrapper script for f2c that functions as a Fortran compiler installed and in your path. See the file INSTALL for more information.])
594 fi 584 fi
595 585
596 OCTAVE_CHECK_FORTRAN_HAVE_ISNAN 586 OCTAVE_CHECK_FORTRAN_HAVE_ISNAN
597 F77_ISNAN_MACRO= 587 F77_ISNAN_MACRO=
598 if test "x$octave_cv_fortran_have_isnan" = xno; then 588 if test "x$octave_cv_fortran_have_isnan" = xno; then
599 AC_MSG_NOTICE([substituting ISNAN(X) with X.NE.X in fortran sources]) 589 AC_MSG_NOTICE([substituting ISNAN(X) with X.NE.X in Fortran sources])
600 F77_ISNAN_MACRO="s|ISNAN(\(@<:@^)@:>@*\))|(\1.NE.\1)|" 590 F77_ISNAN_MACRO="s|ISNAN(\(@<:@^)@:>@*\))|(\1.NE.\1)|"
601 fi 591 fi
602 AC_SUBST(F77_ISNAN_MACRO) 592 AC_SUBST(F77_ISNAN_MACRO)
603 593
604 OCTAVE_CHECK_FORTRAN_INTEGER_SIZE 594 OCTAVE_CHECK_FORTRAN_INTEGER_SIZE
629 esac 619 esac
630 if test -z "$octave_cv_fortran_integer_size"; then 620 if test -z "$octave_cv_fortran_integer_size"; then
631 OCTAVE_CHECK_FORTRAN_INTEGER_SIZE 621 OCTAVE_CHECK_FORTRAN_INTEGER_SIZE
632 fi 622 fi
633 if test "x$octave_cv_fortran_integer_size" = xno; then 623 if test "x$octave_cv_fortran_integer_size" = xno; then
634 AC_MSG_ERROR([in order to build octave with 64-bit indexing support your Fortran compiler must have an option for setting the default integer size to 8 bytes. See the file INSTALL for more information.]) 624 AC_MSG_ERROR([in order to build Octave with 64-bit indexing support your Fortran compiler must have an option for setting the default integer size to 8 bytes. See the file INSTALL for more information.])
635 fi 625 fi
636 else 626 else
637 AC_MSG_ERROR([your Fortran compiler must have an option to make integers the same size as octave_idx_type ($OCTAVE_IDX_TYPE). See the file INSTALL for more information.]) 627 AC_MSG_ERROR([your Fortran compiler must have an option to make integers the same size as octave_idx_type ($OCTAVE_IDX_TYPE). See the file INSTALL for more information.])
638 fi 628 fi
639 fi 629 fi
646 AC_MSG_RESULT([setting F77_FLOAT_STORE_FLAG to -ffloat-store]) 636 AC_MSG_RESULT([setting F77_FLOAT_STORE_FLAG to -ffloat-store])
647 F77_FLOAT_STORE_FLAG=-ffloat-store 637 F77_FLOAT_STORE_FLAG=-ffloat-store
648 AC_SUBST(F77_FLOAT_STORE_FLAG) 638 AC_SUBST(F77_FLOAT_STORE_FLAG)
649 ]) 639 ])
650 640
641 ### Check that C compiler and libraries support IEEE754 data format.
651 OCTAVE_IEEE754_DATA_FORMAT 642 OCTAVE_IEEE754_DATA_FORMAT
652 643
644 ### Check C++ library for various capabilities.
653 OCTAVE_CXX_BITWISE_OP_TEMPLATES 645 OCTAVE_CXX_BITWISE_OP_TEMPLATES
654 OCTAVE_CXX_COMPLEX_SETTERS 646 OCTAVE_CXX_COMPLEX_SETTERS
655 OCTAVE_CXX_COMPLEX_REFERENCE_ACCESSORS 647 OCTAVE_CXX_COMPLEX_REFERENCE_ACCESSORS
656 648
657 OCTAVE_CARBON_CGDISPLAYBITSPERPIXEL 649 ### Check for the Qhull library
658
659 ### Check for the QHull library
660 650
661 OCTAVE_CHECK_LIBRARY(qhull, QHull, 651 OCTAVE_CHECK_LIBRARY(qhull, QHull,
662 [Qhull library not found -- this will result in loss of functionality of some geometry functions.], 652 [Qhull library not found -- this will result in loss of functionality of some geometry functions.],
663 [libqhull/libqhull.h qhull/libqhull.h libqhull.h qhull/qhull.h qhull.h], [qh_qhull], [], [], 653 [libqhull/libqhull.h qhull/libqhull.h libqhull.h qhull/qhull.h qhull.h], [qh_qhull], [], [],
664 [warn_qhull= 654 [warn_qhull=
665 OCTAVE_CHECK_QHULL_VERSION 655 OCTAVE_CHECK_QHULL_VERSION
666 OCTAVE_CHECK_QHULL_OK([TEXINFO_QHULL="@set HAVE_QHULL" 656 OCTAVE_CHECK_QHULL_OK([TEXINFO_QHULL="@set HAVE_QHULL"
667 AC_DEFINE(HAVE_QHULL, 1, [Define if QHull is available.])], [ 657 AC_DEFINE(HAVE_QHULL, 1, [Define to 1 if Qhull is available.])], [
668 warn_qhull="Qhull library found, but seems not to work properly -- this will result in loss of functionality of some geometry functions. Please try recompiling the library with -fno-strict-aliasing."])]) 658 warn_qhull="Qhull library found, but does not seem to work properly -- this will result in loss of functionality of some geometry functions. Please try recompiling the library with -fno-strict-aliasing."])])
669 659
670 ### Check for pcre regex library. 660 ### Check for PCRE regex library.
671 661
672 REGEX_LIBS= 662 REGEX_LIBS=
673 663
674 pcre_fail_msg="to build Octave, you must have the PCRE library and header files installed" 664 pcre_fail_msg="to build Octave, you must have the PCRE library and header files installed"
675 665
713 703
714 OCTAVE_CHECK_LIBRARY(z, ZLIB, 704 OCTAVE_CHECK_LIBRARY(z, ZLIB,
715 [ZLIB library not found. Octave will not be able to save or load compressed data files or HDF5 files.], 705 [ZLIB library not found. Octave will not be able to save or load compressed data files or HDF5 files.],
716 [zlib.h], [gzclearerr]) 706 [zlib.h], [gzclearerr])
717 707
718 ### Check for the llvm library 708 ### Check for the LLVM library
719 dnl 709 dnl
720 dnl 710 dnl LLVM is odd and has its own pkg-config like script. We should probably
721 dnl llvm is odd and has its own pkg-config like script. We should probably check 711 dnl check for existence and ???.
722 dnl for existance and
723 dnl 712 dnl
724 save_CPPFLAGS="$CPPFLAGS" 713 save_CPPFLAGS="$CPPFLAGS"
725 save_CXXFLAGS="$CXXFLAGS" 714 save_CXXFLAGS="$CXXFLAGS"
726 save_LIBS="$LIBS" 715 save_LIBS="$LIBS"
727 save_LDFLAGS="$LDFLAGS" 716 save_LDFLAGS="$LDFLAGS"
728 717
729 warn_llvm="LLVM library fails tests. JIT compilation will be disabled." 718 warn_llvm="LLVM library fails tests. JIT compilation will be disabled."
730 719
731 AC_ARG_VAR(LLVM_CONFIG, [path to llvm-config utility]) 720 AC_ARG_VAR(LLVM_CONFIG, [path to llvm-config utility])
732 721
733 AC_ARG_ENABLE([jit-debug], 722 AC_ARG_ENABLE([jit-debug],
734 AS_HELP_STRING([--enable-jit-debug], [Enable debug printing of jit IRs])) 723 AS_HELP_STRING([--enable-jit-debug], [Enable debug printing of JIT IRs]))
735 724
736 AS_IF([test "x$enable_jit_debug" = "xyes"], [ 725 AS_IF([test "x$enable_jit_debug" = "xyes"], [
737 AC_DEFINE(OCTAVE_JIT_DEBUG, 1, [Define for jit debug printing]) 726 AC_DEFINE(OCTAVE_JIT_DEBUG, 1, [Define to 1 for JIT debug printing.])
738 ]) 727 ])
739 728
740 LLVM_CXXFLAGS= 729 LLVM_CXXFLAGS=
741 LLVM_CPPFLAGS= 730 LLVM_CPPFLAGS=
742 LLVM_LDFLAGS= 731 LLVM_LDFLAGS=
743 LLVM_LIBS= 732 LLVM_LIBS=
744 733
745 if test "x$ac_cv_env_LLVM_CONFIG_set" = "xset"; then 734 if test "x$ac_cv_env_LLVM_CONFIG_set" = "xset"; then
746 # We use -isystem if avaiable because we do not want to see warnings in llvm 735 ## We use -isystem if available because we do not want to see warnings in LLVM
747 LLVM_INCLUDE_FLAG=-I 736 LLVM_INCLUDE_FLAG=-I
748 OCTAVE_CC_FLAG(-isystem ., [ 737 OCTAVE_CC_FLAG(-isystem ., [
749 LLVM_INCLUDE_FLAG=-isystem 738 LLVM_INCLUDE_FLAG=-isystem
750 AC_MSG_NOTICE([using -isystem for llvm headers])]) 739 AC_MSG_NOTICE([using -isystem for llvm headers])])
751 740
754 dnl Use -isystem so we don't get warnings from llvm headers 743 dnl Use -isystem so we don't get warnings from llvm headers
755 LLVM_CPPFLAGS="$LLVM_INCLUDE_FLAG `$LLVM_CONFIG --includedir`" 744 LLVM_CPPFLAGS="$LLVM_INCLUDE_FLAG `$LLVM_CONFIG --includedir`"
756 LLVM_CXXFLAGS= 745 LLVM_CXXFLAGS=
757 746
758 dnl 747 dnl
759 dnl We define some extra flags that llvm requires in order to include headers. 748 dnl We define some extra flags that LLVM requires in order to include headers.
760 dnl Idealy we should get these from llvm-config, but llvm-config isn't very 749 dnl Ideally we should get these from llvm-config, but llvm-config isn't very
761 dnl helpful. 750 dnl helpful.
762 dnl 751 dnl
763 CPPFLAGS="-D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS $LLVM_CPPFLAGS $CPPFLAGS" 752 CPPFLAGS="-D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS $LLVM_CPPFLAGS $CPPFLAGS"
764 CXXFLAGS="$LLVM_CXXFLAGS $CXXFLAGS" 753 CXXFLAGS="$LLVM_CXXFLAGS $CXXFLAGS"
765 LIBS="$LLVM_LIBS $LIBS" 754 LIBS="$LLVM_LIBS $LIBS"
780 ]) 769 ])
781 ]) 770 ])
782 AC_LANG_POP(C++) 771 AC_LANG_POP(C++)
783 772
784 else 773 else
785 warn_llvm="LLVM_CONFIG not set. JIT compilation will be disabled." 774 warn_llvm="LLVM_CONFIG not set. JIT compilation will be disabled."
786 fi 775 fi
787 776
788 if test -z "$warn_llvm"; then 777 if test -z "$warn_llvm"; then
789 AC_DEFINE(HAVE_LLVM, 1, [Define if LLVM is available]) 778 AC_DEFINE(HAVE_LLVM, 1, [Define to 1 if LLVM is available.])
790 else 779 else
791 LLVM_CXXFLAGS= 780 LLVM_CXXFLAGS=
792 LLVM_CPPFLAGS= 781 LLVM_CPPFLAGS=
793 LLVM_LDFLAGS= 782 LLVM_LDFLAGS=
794 LLVM_LIBS= 783 LLVM_LIBS=
815 [HDF5 library not found. Octave will not be able to save or load HDF5 data files.], 804 [HDF5 library not found. Octave will not be able to save or load HDF5 data files.],
816 [hdf5.h], [H5Gget_num_objs], [], [], 805 [hdf5.h], [H5Gget_num_objs], [], [],
817 [warn_hdf5= 806 [warn_hdf5=
818 OCTAVE_HDF5_HAS_ENFORCED_16_API 807 OCTAVE_HDF5_HAS_ENFORCED_16_API
819 TEXINFO_HDF5="@set HAVE_HDF5" 808 TEXINFO_HDF5="@set HAVE_HDF5"
820 AC_DEFINE(HAVE_HDF5, 1, [Define if HDF5 is available and newer than version 1.6.]) 809 AC_DEFINE(HAVE_HDF5, 1, [Define to 1 if HDF5 is available and newer than version 1.6.])
821 if test "$have_msvc" = "yes"; then 810 if test "$have_msvc" = "yes"; then
822 OCTAVE_HDF5_DLL 811 OCTAVE_HDF5_DLL
823 fi 812 fi
824 ]) 813 ])
825 CPPFLAGS="$save_CPPFLAGS" 814 CPPFLAGS="$save_CPPFLAGS"
826 LIBS="$save_LIBS" 815 LIBS="$save_LIBS"
827
828
829 # Subdirectory of libcruft to build if fftw is not found:
830
831 FFT_DIR="fftpack"
832 AC_SUBST(FFT_DIR)
833 816
834 dnl @synopsis BNV_HAVE_QT [--with-Qt-dir=DIR] [--with-Qt-lib-dir=DIR] [--with-Qt-lib=LIB] 817 dnl @synopsis BNV_HAVE_QT [--with-Qt-dir=DIR] [--with-Qt-lib-dir=DIR] [--with-Qt-lib=LIB]
835 dnl @synopsis BNV_HAVE_QT [--with-Qt-include-dir=DIR] [--with-Qt-bin-dir=DIR] [--with-Qt-lib-dir=DIR] [--with-Qt-lib=LIB] 818 dnl @synopsis BNV_HAVE_QT [--with-Qt-include-dir=DIR] [--with-Qt-bin-dir=DIR] [--with-Qt-lib-dir=DIR] [--with-Qt-lib=LIB]
836 dnl 819 dnl
837 dnl @summary Search for Trolltech's Qt GUI framework. 820 dnl @summary Search for Trolltech's Qt GUI framework.
1343 CXXFLAGS="$bnv_save_CXXFLAGS" 1326 CXXFLAGS="$bnv_save_CXXFLAGS"
1344 fi dnl $with_Qt_lib_dir was not given 1327 fi dnl $with_Qt_lib_dir was not given
1345 fi dnl Done setting up for non-traditional Trolltech installation 1328 fi dnl Done setting up for non-traditional Trolltech installation
1346 ]) 1329 ])
1347 1330
1348 # Checks for FFTW header and library. 1331 ### Check for FFTW library. Default to Fortran FFTPACK if it is not available.
1349 1332
1333 ## Check for FFTW header and library.
1350 OCTAVE_CHECK_LIBRARY(fftw3, FFTW3, 1334 OCTAVE_CHECK_LIBRARY(fftw3, FFTW3,
1351 [FFTW3 library not found. The slower FFTPACK library will be used instead.], 1335 [FFTW3 library not found. The slower FFTPACK library will be used instead.],
1352 [fftw3.h], [fftw_plan_dft_1d]) 1336 [fftw3.h], [fftw_plan_dft_1d])
1353 1337
1354 OCTAVE_CHECK_LIBRARY(fftw3f, FFTW3F, 1338 OCTAVE_CHECK_LIBRARY(fftw3f, FFTW3F,
1356 [fftw3.h], [fftwf_plan_dft_1d]) 1340 [fftw3.h], [fftwf_plan_dft_1d])
1357 1341
1358 AM_CONDITIONAL([AMCOND_HAVE_FFTW], 1342 AM_CONDITIONAL([AMCOND_HAVE_FFTW],
1359 [test -n "$FFTW3_LIBS" && test -n "$FFTW3F_LIBS"]) 1343 [test -n "$FFTW3_LIBS" && test -n "$FFTW3F_LIBS"])
1360 1344
1361 # Checks for GLPK header and library. 1345 ## Subdirectory of libcruft to build if FFTW is not found:
1346 FFT_DIR="fftpack"
1347 AC_SUBST(FFT_DIR)
1348
1349 ### Check for GLPK library and header.
1362 1350
1363 save_CPPFLAGS="$CPPFLAGS" 1351 save_CPPFLAGS="$CPPFLAGS"
1364 CPPFLAGS="$Z_CPPFLAGS $CPPFLAGS" 1352 CPPFLAGS="$Z_CPPFLAGS $CPPFLAGS"
1365 save_LIBS="$LIBS" 1353 save_LIBS="$LIBS"
1366 LIBS="$Z_LDFLAGS $Z_LIBS $LIBS" 1354 LIBS="$Z_LDFLAGS $Z_LIBS $LIBS"
1368 [GLPK library not found. The glpk function for solving linear programs will be disabled.], 1356 [GLPK library not found. The glpk function for solving linear programs will be disabled.],
1369 [glpk/glpk.h glpk.h], [_glp_lpx_simplex]) 1357 [glpk/glpk.h glpk.h], [_glp_lpx_simplex])
1370 LIBS="$save_LIBS" 1358 LIBS="$save_LIBS"
1371 CPPFLAGS="$save_CPPFLAGS" 1359 CPPFLAGS="$save_CPPFLAGS"
1372 1360
1373 # Checks for CURL header and library. 1361 ### Checks for cURL header and library.
1374 1362
1375 save_CPPFLAGS="$CPPFLAGS" 1363 save_CPPFLAGS="$CPPFLAGS"
1376 CPPFLAGS="$Z_CPPFLAGS $CPPFLAGS" 1364 CPPFLAGS="$Z_CPPFLAGS $CPPFLAGS"
1377 save_LIBS="$LIBS" 1365 save_LIBS="$LIBS"
1378 LIBS="$Z_LDFLAGS $Z_LIBS $LIBS" 1366 LIBS="$Z_LDFLAGS $Z_LIBS $LIBS"
1380 [cURL library not found. The ftp objects, urlread and urlwrite functions will be disabled.], 1368 [cURL library not found. The ftp objects, urlread and urlwrite functions will be disabled.],
1381 [curl/curl.h], [curl_easy_escape]) 1369 [curl/curl.h], [curl_easy_escape])
1382 LIBS="$save_LIBS" 1370 LIBS="$save_LIBS"
1383 CPPFLAGS="$save_CPPFLAGS" 1371 CPPFLAGS="$save_CPPFLAGS"
1384 1372
1385 ### Graphics/ImageMagick++ 1373 ### Check for either of Graphics/ImageMagick++ libraries
1386 1374
1387 AC_ARG_WITH([magick], 1375 AC_ARG_WITH([magick],
1388 [AS_HELP_STRING([--with-magick=LIB], 1376 [AS_HELP_STRING([--with-magick=LIB],
1389 [select library to use for image I/O (options: GraphicsMagick(default) or ImageMagick)])], [ 1377 [select library to use for image I/O (options: GraphicsMagick(default) or ImageMagick)])], [
1390 magick="$withval"], [ 1378 magick="$withval"], [
1412 CPPFLAGS="$MAGICK_CPPFLAGS $CPPFLAGS" 1400 CPPFLAGS="$MAGICK_CPPFLAGS $CPPFLAGS"
1413 LIBS="$MAGICK_LDFLAGS $MAGICK_LIBS $LIBS" 1401 LIBS="$MAGICK_LDFLAGS $MAGICK_LIBS $LIBS"
1414 AC_LANG_PUSH(C++) 1402 AC_LANG_PUSH(C++)
1415 AC_CHECK_HEADER([Magick++.h], [ 1403 AC_CHECK_HEADER([Magick++.h], [
1416 AC_MSG_CHECKING([for Magick::ColorRGB in Magick++.h]) 1404 AC_MSG_CHECKING([for Magick::ColorRGB in Magick++.h])
1417 AC_TRY_LINK([#include <Magick++.h>], [Magick::ColorRGB c;], [ 1405 AC_PREPROC_IFELSE(
1418 AC_MSG_RESULT(yes) 1406 [AC_LANG_SOURCE(
1419 warn_magick= 1407 [[#include <Magick++.h>]],
1420 ], [ 1408 [[Magick::ColorRGB c;]])
1421 AC_MSG_RESULT(no) 1409 ], [
1422 ]) 1410 AC_MSG_RESULT(yes)
1411 warn_magick=
1412 ], [
1413 AC_MSG_RESULT(no)
1414 ]
1415 )
1423 ]) 1416 ])
1424 AC_LANG_POP(C++) 1417 AC_LANG_POP(C++)
1425 CPPFLAGS="$save_CPPFLAGS" 1418 CPPFLAGS="$save_CPPFLAGS"
1426 LIBS="$save_LIBS" 1419 LIBS="$save_LIBS"
1427 ]) 1420 ])
1428 1421
1429 if test -z "$warn_magick"; then 1422 if test -z "$warn_magick"; then
1430 AC_DEFINE(HAVE_MAGICK, 1, [Define if Graphics/ImageMagick++ is available.]) 1423 AC_DEFINE(HAVE_MAGICK, 1, [Define to 1 if Graphics/ImageMagick++ is available.])
1431 else 1424 else
1432 MAGICK_CPPFLAGS= 1425 MAGICK_CPPFLAGS=
1433 MAGICK_LDFLAGS= 1426 MAGICK_LDFLAGS=
1434 MAGICK_LIBS= 1427 MAGICK_LIBS=
1435 fi 1428 fi
1436 AC_SUBST(MAGICK_CPPFLAGS) 1429 AC_SUBST(MAGICK_CPPFLAGS)
1437 AC_SUBST(MAGICK_LDFLAGS) 1430 AC_SUBST(MAGICK_LDFLAGS)
1438 AC_SUBST(MAGICK_LIBS) 1431 AC_SUBST(MAGICK_LIBS)
1439 1432
1440 # --------------------------------------------------------------------- 1433 ### Check for X11 libraries
1441 1434
1442 ## libraries needed for native graphics renderer 1435 AC_PATH_X
1436 if test "$have_x" = "yes"; then
1437 AC_DEFINE(HAVE_X_WINDOWS, 1, [Define to 1 if you have X11.])
1438
1439 if test "$x_includes" != "NONE"; then
1440 X11_INCFLAGS="$x_includes"
1441 fi
1442 AC_SUBST(X11_INCFLAGS)
1443
1444 if test -z $x_libraries; then
1445 AC_CHECK_LIB(X11, XrmInitialize, [X11_LIBS=-lX11], [X11_LIBS=])
1446 elif test $x_libraries != "NONE"; then
1447 AC_CHECK_LIB(X11, XrmInitialize,
1448 [X11_LIBS="-L$x_libraries -lX11"], [X11_LIBS=], "-L$x_libraries")
1449 fi
1450 AC_SUBST(X11_LIBS)
1451 fi
1452
1453 ### Check for the Carbon framework on MacOSX systems
1454 OCTAVE_HAVE_FRAMEWORK(Carbon, [#include <Carbon/Carbon.h>], [CGMainDisplayID ()],
1455 [have_framework_carbon="yes"], [have_framework_carbon="no"])
1456 if test $have_framework_carbon = "yes"; then
1457 AC_DEFINE(HAVE_FRAMEWORK_CARBON, 1, [Define to 1 if framework CARBON is available.])
1458 CARBON_LIBS="-Wl,-framework -Wl,Carbon"
1459 AC_MSG_NOTICE([adding -Wl,-framework -Wl,Carbon to CARBON_LIBS])
1460 AC_SUBST(CARBON_LIBS)
1461 fi
1462
1463 ### Check for list of libraries needed for native graphics renderer.
1443 1464
1444 warn_freetype="" 1465 warn_freetype=""
1445 native_graphics=true 1466 native_graphics=true
1446 1467
1447 check_opengl=false 1468 check_opengl=false
1454 else 1475 else
1455 check_opengl=true 1476 check_opengl=true
1456 fi], 1477 fi],
1457 [check_opengl=true]) 1478 [check_opengl=true])
1458 1479
1480 ## Check for OpenGL library
1459 if $check_opengl; then 1481 if $check_opengl; then
1460 OCTAVE_OPENGL 1482 OCTAVE_OPENGL
1461 fi 1483 fi
1462 1484
1463 GRAPHICS_LIBS= 1485 GRAPHICS_LIBS=
1464 GRAPHICS_CFLAGS= 1486 GRAPHICS_CFLAGS=
1465 1487
1466 if test -z "$OPENGL_LIBS"; then 1488 if test -z "$OPENGL_LIBS"; then
1467 if $check_opengl; then 1489 if $check_opengl; then
1468 warn_fltk_opengl="OpenGL libs (GL and GLU) not found. Native graphics will be disabled." 1490 warn_fltk_opengl="OpenGL libs (GL and GLU) not found. Native graphics will be disabled."
1469 OCTAVE_CONFIGURE_WARNING([warn_fltk_opengl]) 1491 OCTAVE_CONFIGURE_WARNING([warn_fltk_opengl])
1470 native_graphics=false 1492 native_graphics=false
1471 fi 1493 fi
1472 fi 1494 fi
1473 1495
1474 if test -n "$OPENGL_LIBS"; then 1496 if test -n "$OPENGL_LIBS"; then
1475 AC_DEFINE(HAVE_OPENGL, 1, [Define if OpenGL is available]) 1497 AC_DEFINE(HAVE_OPENGL, 1, [Define to 1 if OpenGL is available.])
1476 1498
1477 ## freetype 2 1499 ## Check for FreeType 2 library
1478 1500
1479 AC_CHECK_FT2([9.0.3], [AC_DEFINE(HAVE_FREETYPE, 1, [Define to 1 if you have Freetype library.]) 1501 AC_CHECK_FT2([9.0.3], [AC_DEFINE(HAVE_FREETYPE, 1, [Define to 1 if you have FreeType library.])
1480 XTRA_CXXFLAGS="$XTRA_CXXFLAGS $FT2_CFLAGS"], 1502 XTRA_CXXFLAGS="$XTRA_CXXFLAGS $FT2_CFLAGS"],
1481 [warn_freetype="FreeType library not found. Native graphics will be disabled."]) 1503 [warn_freetype="FreeType library not found. Native graphics will be disabled."])
1482 1504
1483 if test -n "$warn_freetype"; then 1505 if test -n "$warn_freetype"; then
1484 OCTAVE_CONFIGURE_WARNING([warn_freetype]) 1506 OCTAVE_CONFIGURE_WARNING([warn_freetype])
1485 native_graphics=false 1507 native_graphics=false
1486 fi 1508 fi
1487 1509
1488 ## fontconfig library 1510 ## Check for fontconfig library
1489 1511
1490 warn_fontconfig="" 1512 warn_fontconfig=""
1491 if test -z "$warn_freetype"; then 1513 if test -z "$warn_freetype"; then
1492 PKG_CHECK_MODULES(FONTCONFIG, [fontconfig], [ 1514 PKG_CHECK_MODULES(FONTCONFIG, [fontconfig], [
1493 have_fontconfig=yes 1515 have_fontconfig=yes
1494 OPENGL_LIBS="$FONTCONFIG_LIBS $OPENGL_LIBS" 1516 OPENGL_LIBS="$FONTCONFIG_LIBS $OPENGL_LIBS"
1495 XTRA_CXXFLAGS="$XTRA_CXXFLAGS $FONTCONFIG_CFLAGS" 1517 XTRA_CXXFLAGS="$XTRA_CXXFLAGS $FONTCONFIG_CFLAGS"
1496 AC_DEFINE(HAVE_FONTCONFIG, 1, [Define to 1 if fontconfig is present])], [ 1518 AC_DEFINE(HAVE_FONTCONFIG, 1, [Define to 1 if fontconfig is present.])], [
1497 have_fontconfig=no 1519 have_fontconfig=no
1498 warn_fontconfig="Fontconfig library not found. Native graphics will be disabled."]) 1520 warn_fontconfig="Fontconfig library not found. Native graphics will be disabled."])
1499 fi 1521 fi
1500 1522
1501 if test -n "$warn_fontconfig"; then 1523 if test -n "$warn_fontconfig"; then
1502 OCTAVE_CONFIGURE_WARNING([warn_fontconfig]) 1524 OCTAVE_CONFIGURE_WARNING([warn_fontconfig])
1503 native_graphics=false 1525 native_graphics=false
1504 fi 1526 fi
1505 1527
1506 ## fltk (www.fltk.org) 1528 ## Check for FLTK (www.fltk.org) library
1507 1529
1508 AC_ARG_WITH([fltk-prefix], [ 1530 AC_ARG_WITH([fltk-prefix], [
1509 AS_HELP_STRING([--with-fltk-prefix=PFX], 1531 AS_HELP_STRING([--with-fltk-prefix=PFX],
1510 [Prefix where FLTK is installed (optional)])], [ 1532 [Prefix where FLTK is installed (optional)])], [
1511 fltk_prefix="$withval"], [ 1533 fltk_prefix="$withval"], [
1557 [AC_LANG_PROGRAM([[#include <FL/gl.h>]], [[int nothing = 0;]])], 1579 [AC_LANG_PROGRAM([[#include <FL/gl.h>]], [[int nothing = 0;]])],
1558 [ 1580 [
1559 AC_MSG_RESULT([no]) 1581 AC_MSG_RESULT([no])
1560 warn_fltk_opengl="FLTK does not have OpenGL support. Native graphics will be disabled." 1582 warn_fltk_opengl="FLTK does not have OpenGL support. Native graphics will be disabled."
1561 ],[ 1583 ],[
1562 AC_DEFINE(HAVE_FLTK, 1, [Define if FLTK is available]) 1584 AC_DEFINE(HAVE_FLTK, 1, [Define to 1 if FLTK is available.])
1563 AC_MSG_RESULT([yes]) 1585 AC_MSG_RESULT([yes])
1564 ]) 1586 ])
1565 1587
1566 if test -z "$warn_fltk_opengl"; then 1588 if test -z "$warn_fltk_opengl"; then
1567 GRAPHICS_CFLAGS="$FLTK_CFLAGS" 1589 GRAPHICS_CFLAGS="$FLTK_CFLAGS"
1575 fi 1597 fi
1576 1598
1577 AC_SUBST(GRAPHICS_CFLAGS) 1599 AC_SUBST(GRAPHICS_CFLAGS)
1578 AC_SUBST(GRAPHICS_LIBS) 1600 AC_SUBST(GRAPHICS_LIBS)
1579 1601
1580 # ---------------------------------------------------------------------- 1602 ### Start determination of shared vs. static libraries
1581 1603
1582 OCTAVE_PROG_AR 1604 OCTAVE_PROG_AR
1583 1605
1584 ifdef([LT_INIT], [], [ 1606 ifdef([LT_INIT], [], [
1585 errprint([error: you must have libtool 2.2.2 or a more recent version 1607 errprint([error: you must have libtool 2.2.2 or a more recent version
1606 FLIBS="$FLIBS -lkernel32" 1628 FLIBS="$FLIBS -lkernel32"
1607 XTRA_CRUFT_SH_LDFLAGS="-Wl,-def:cruft.def" 1629 XTRA_CRUFT_SH_LDFLAGS="-Wl,-def:cruft.def"
1608 fi 1630 fi
1609 AC_SUBST(XTRA_CRUFT_SH_LDFLAGS) 1631 AC_SUBST(XTRA_CRUFT_SH_LDFLAGS)
1610 1632
1611 ### Checks for BLAS and LAPACK libraries: 1633 ### Check for BLAS and LAPACK libraries:
1612 1634
1613 ## Need to adjust FFLAGS to include correct integer size. 1635 ## Need to adjust FFLAGS to include correct integer size.
1614 save_FFLAGS="$FFLAGS" 1636 save_FFLAGS="$FFLAGS"
1615 FFLAGS="$FFLAGS $F77_INTEGER_8_FLAG" 1637 FFLAGS="$FFLAGS $F77_INTEGER_8_FLAG"
1616 1638
1670 if test "x$ax_blas_f77_func_ok" = "xno"; then 1692 if test "x$ax_blas_f77_func_ok" = "xno"; then
1671 BLAS_LIBS="$octave_blaswrap_save_BLAS_LIBS" 1693 BLAS_LIBS="$octave_blaswrap_save_BLAS_LIBS"
1672 else 1694 else
1673 ## wrapper in libcruft, remove from BLAS_LIBS 1695 ## wrapper in libcruft, remove from BLAS_LIBS
1674 BLAS_LIBS="`echo $BLAS_LIBS | sed -e 's/blaswrap.[[^ ]]* //g'`" 1696 BLAS_LIBS="`echo $BLAS_LIBS | sed -e 's/blaswrap.[[^ ]]* //g'`"
1675 AC_DEFINE(USE_BLASWRAP, [1], [Define this if BLAS functions need to be wrapped (potentially needed for 64-bit OSX only).]) 1697 AC_DEFINE(USE_BLASWRAP, 1, [Define to 1 if BLAS functions need to be wrapped (potentially needed for 64-bit OSX only).])
1676 fi 1698 fi
1677 ;; 1699 ;;
1678 esac 1700 esac
1679 fi 1701 fi
1680 1702
1681 if test "x$ax_blas_f77_func_ok" = "xno"; then 1703 if test "x$ax_blas_f77_func_ok" = "xno"; then
1682 if $USE_64_BIT_IDX_T && test "$ax_blas_integer_size_ok" = "no" ; then 1704 if $USE_64_BIT_IDX_T && test "$ax_blas_integer_size_ok" = "no" ; then
1683 ## Attempt to be more informative. 1705 ## Attempt to be more informative.
1684 AC_MSG_ERROR([BLAS doesn't seem to support 64-bit integers. This is incompatible with --enable-64.]) 1706 AC_MSG_ERROR([BLAS doesn't seem to support 64-bit integers. This is incompatible with --enable-64.])
1685 else 1707 else
1686 AC_MSG_ERROR([A BLAS library was detected but found incompatible with your Fortran 77 compiler settings.]) 1708 AC_MSG_ERROR([A BLAS library was detected but found incompatible with your Fortran 77 compiler settings.])
1687 fi 1709 fi
1688 fi 1710 fi
1689 1711
1690 if test x$ax_blas_ok = xno || test x$ax_lapack_ok = xno; then 1712 if test x$ax_blas_ok = xno || test x$ax_lapack_ok = xno; then
1691 AC_MSG_ERROR([You are required to have BLAS and LAPACK libraries]) 1713 AC_MSG_ERROR([BLAS and LAPACK libraries are required])
1692 fi 1714 fi
1693 1715
1694 ### Check for the qrupdate library 1716 ### Check for the qrupdate library
1717
1695 ## No need to adjust FFLAGS because only link is attempted. 1718 ## No need to adjust FFLAGS because only link is attempted.
1696 ## Must supply proper LIBS, however. 1719 ## Must supply proper LIBS, however.
1697
1698 save_LIBS="$LIBS" 1720 save_LIBS="$LIBS"
1699 LIBS="$LAPACK_LIBS $BLAS_LIBS $FLIBS $LIBS" 1721 LIBS="$LAPACK_LIBS $BLAS_LIBS $FLIBS $LIBS"
1700 OCTAVE_CHECK_LIBRARY(qrupdate, qrupdate, 1722 OCTAVE_CHECK_LIBRARY(qrupdate, qrupdate,
1701 [qrupdate not found. The QR & Cholesky updating functions will be slow.], 1723 [qrupdate not found. The QR & Cholesky updating functions will be slow.],
1702 [], 1724 [],
1710 octave_qrupdate_luu=no 1732 octave_qrupdate_luu=no
1711 AC_LINK_IFELSE([AC_LANG_CALL([], [slup1up])], 1733 AC_LINK_IFELSE([AC_LANG_CALL([], [slup1up])],
1712 [octave_qrupdate_luu=yes]) 1734 [octave_qrupdate_luu=yes])
1713 AC_MSG_RESULT([$octave_qrupdate_luu]) 1735 AC_MSG_RESULT([$octave_qrupdate_luu])
1714 if test "$octave_qrupdate_luu" = yes; then 1736 if test "$octave_qrupdate_luu" = yes; then
1715 AC_DEFINE(HAVE_QRUPDATE_LUU, [1], [Define if qrupdate supports LU updates]) 1737 AC_DEFINE(HAVE_QRUPDATE_LUU, 1, [Define to 1 if qrupdate supports LU updates.])
1716 fi 1738 fi
1717 AC_LANG_POP([Fortran 77]) 1739 AC_LANG_POP([Fortran 77])
1718 fi 1740 fi
1719 LIBS="$save_LIBS" 1741 LIBS="$save_LIBS"
1720 1742
1721 # Check for AMD library 1743 ### Check for AMD library
1722 1744
1723 OCTAVE_CHECK_LIBRARY(amd, AMD, 1745 OCTAVE_CHECK_LIBRARY(amd, AMD,
1724 [AMD library not found. This will result in some lack of functionality for sparse matrices.], 1746 [AMD library not found. This will result in some lack of functionality for sparse matrices.],
1725 [suitesparse/amd.h ufsparse/amd.h amd/amd.h amd.h], 1747 [suitesparse/amd.h ufsparse/amd.h amd/amd.h amd.h],
1726 [amd_postorder], 1748 [amd_postorder],
1727 [], [don't use AMD library, disable some sparse matrix functionality]) 1749 [], [don't use AMD library, disable some sparse matrix functionality])
1728 1750
1729 # Check for CAMD library 1751 ### Check for CAMD library
1730 1752
1731 OCTAVE_CHECK_LIBRARY(camd, CAMD, 1753 OCTAVE_CHECK_LIBRARY(camd, CAMD,
1732 [CAMD library not found. This will result in some lack of functionality for sparse matrices.], 1754 [CAMD library not found. This will result in some lack of functionality for sparse matrices.],
1733 [suitesparse/camd.h ufsparse/camd.h amd/camd.h camd.h], 1755 [suitesparse/camd.h ufsparse/camd.h amd/camd.h camd.h],
1734 [camd_postorder], 1756 [camd_postorder],
1735 [], [don't use CAMD library, disable some sparse matrix functionality]) 1757 [], [don't use CAMD library, disable some sparse matrix functionality])
1736 1758
1737 # Check for COLAMD library 1759 ### Check for COLAMD library
1738 1760
1739 OCTAVE_CHECK_LIBRARY(colamd, COLAMD, 1761 OCTAVE_CHECK_LIBRARY(colamd, COLAMD,
1740 [COLAMD library not found. This will result in some lack of functionality for sparse matrices.], 1762 [COLAMD library not found. This will result in some lack of functionality for sparse matrices.],
1741 [suitesparse/colamd.h ufsparse/colamd.h amd/colamd.h colamd.h], 1763 [suitesparse/colamd.h ufsparse/colamd.h amd/colamd.h colamd.h],
1742 [colamd], 1764 [colamd],
1743 [], [don't use COLAMD library, disable some sparse matrix functionality]) 1765 [], [don't use COLAMD library, disable some sparse matrix functionality])
1744 1766
1745 # Check for CCOLAMD library 1767 ### Check for CCOLAMD library
1746 1768
1747 OCTAVE_CHECK_LIBRARY(ccolamd, CCOLAMD, 1769 OCTAVE_CHECK_LIBRARY(ccolamd, CCOLAMD,
1748 [CCOLAMD library not found. This will result in some lack of functionality for sparse matrices.], 1770 [CCOLAMD library not found. This will result in some lack of functionality for sparse matrices.],
1749 [suitesparse/ccolamd.h ufsparse/ccolamd.h amd/ccolamd.h ccolamd.h], 1771 [suitesparse/ccolamd.h ufsparse/ccolamd.h amd/ccolamd.h ccolamd.h],
1750 [ccolamd], 1772 [ccolamd],
1751 [], [don't use CCOLAMD library, disable some sparse matrix functionality]) 1773 [], [don't use CCOLAMD library, disable some sparse matrix functionality])
1752 1774
1753 # Check for CHOLMOD library. If your cholmod library requires cblas, 1775 ### Check for CHOLMOD library. If your cholmod library requires cblas,
1754 # then you will need to configure with --with-cholmod="-lcholmod -lcblas". 1776 ### then you will need to configure with --with-cholmod="-lcholmod -lcblas".
1755 1777
1756 save_LIBS="$LIBS" 1778 save_LIBS="$LIBS"
1757 LIBS="$COLAMD_LDFLAGS $COLAMD_LIBS $AMD_LDFLAGS $AMD_LIBS $LAPACK_LIBS $BLAS_LIBS $FLIBS $LIBS" 1779 LIBS="$COLAMD_LDFLAGS $COLAMD_LIBS $AMD_LDFLAGS $AMD_LIBS $LAPACK_LIBS $BLAS_LIBS $FLIBS $LIBS"
1758 OCTAVE_CHECK_LIBRARY(cholmod, CHOLMOD, 1780 OCTAVE_CHECK_LIBRARY(cholmod, CHOLMOD,
1759 [CHOLMOD library not found. This will result in some lack of functionality for sparse matrices.], 1781 [CHOLMOD library not found. This will result in some lack of functionality for sparse matrices.],
1760 [suitesparse/cholmod.h ufsparse/cholmod.h cholmod/cholmod.h cholmod.h], 1782 [suitesparse/cholmod.h ufsparse/cholmod.h cholmod/cholmod.h cholmod.h],
1761 [cholmod_start], 1783 [cholmod_start],
1762 [], [don't use CHOLMOD library, disable some sparse matrix functionality]) 1784 [], [don't use CHOLMOD library, disable some sparse matrix functionality])
1763 LIBS="$save_LIBS" 1785 LIBS="$save_LIBS"
1764 1786
1765 # Check for CXSparse library 1787 ### Check for CXSparse library
1766 1788
1767 OCTAVE_CHECK_LIBRARY(cxsparse, CXSparse, 1789 OCTAVE_CHECK_LIBRARY(cxsparse, CXSparse,
1768 [CXSparse library not found. This will result in some lack of functionality for sparse matrices.], 1790 [CXSparse library not found. This will result in some lack of functionality for sparse matrices.],
1769 [suitesparse/cs.h ufsparse/cs.h amd/cs.h cs.h], 1791 [suitesparse/cs.h ufsparse/cs.h amd/cs.h cs.h],
1770 [cs_di_sqr], 1792 [cs_di_sqr],
1771 [C++], [don't use CXSparse library, disable some sparse matrix functionality]) 1793 [C++], [don't use CXSparse library, disable some sparse matrix functionality])
1772 1794
1773 # Check for UMFPACK library. 1795 ### Check for UMFPACK library.
1774 1796
1775 save_LIBS="$LIBS" 1797 save_LIBS="$LIBS"
1776 save_CPPFLAGS="$CPPFLAGS" 1798 save_CPPFLAGS="$CPPFLAGS"
1777 LIBS="$AMD_LDFLAGS $AMD_LIBS $BLAS_LIBS $FLIBS $LIBS" 1799 LIBS="$AMD_LDFLAGS $AMD_LIBS $BLAS_LIBS $FLIBS $LIBS"
1778 CPPFLAGS="$AMD_CPPFLAGS $CPPFLAGS" 1800 CPPFLAGS="$AMD_CPPFLAGS $CPPFLAGS"
1805 LIBS="$UMFPACK_LIBS $AMD_LIBS $BLAS_LIBS $FLIBS $LIBS" 1827 LIBS="$UMFPACK_LIBS $AMD_LIBS $BLAS_LIBS $FLIBS $LIBS"
1806 OCTAVE_UMFPACK_SEPERATE_SPLIT 1828 OCTAVE_UMFPACK_SEPERATE_SPLIT
1807 LIBS="$save_LIBS" 1829 LIBS="$save_LIBS"
1808 fi 1830 fi
1809 1831
1832 ### Check for ARPACK library.
1833
1810 save_LIBS="$LIBS" 1834 save_LIBS="$LIBS"
1811 LIBS="$LAPACK_LIBS $BLAS_LIBS $FLIBS $LIBS" 1835 LIBS="$LAPACK_LIBS $BLAS_LIBS $FLIBS $LIBS"
1812 OCTAVE_CHECK_LIBRARY(arpack, ARPACK, 1836 OCTAVE_CHECK_LIBRARY(arpack, ARPACK,
1813 [ARPACK not found. The eigs function will be disabled.], 1837 [ARPACK not found. The eigs function will be disabled.],
1814 [], 1838 [],
1815 [dseupd], 1839 [dseupd],
1816 [Fortran 77], [don't use the ARPACK library, disable eigs function], 1840 [Fortran 77], [don't use the ARPACK library, disable eigs function],
1817 [warn_arpack= 1841 [warn_arpack=
1818 OCTAVE_CHECK_ARPACK_OK([ 1842 OCTAVE_CHECK_ARPACK_OK([
1819 AC_DEFINE(HAVE_ARPACK, 1, [Define if ARPACK is available.])], [ 1843 AC_DEFINE(HAVE_ARPACK, 1, [Define to 1 if ARPACK is available.])], [
1820 warn_arpack="ARPACK library found, but seems not to work properly -- disabling eigs function"])]) 1844 warn_arpack="ARPACK library found, but does not seem to work properly -- disabling eigs function"])])
1821 LIBS="$save_LIBS" 1845 LIBS="$save_LIBS"
1846
1847 ### Check for readline library.
1848
1849 OCTAVE_ENABLE_READLINE
1822 1850
1823 ### Enable dynamic linking. --enable-shared implies this, so 1851 ### Enable dynamic linking. --enable-shared implies this, so
1824 ### --enable-dl is only need if you are only building static libraries 1852 ### --enable-dl is only need if you are only building static libraries
1825 ### and want to try dynamic linking too (works on some systems, for 1853 ### and want to try dynamic linking too (works on some systems, for
1826 ### example, OS X and Windows). 1854 ### example, OS X and Windows).
2221 AC_CHECK_HEADERS([unordered_map], [], [ 2249 AC_CHECK_HEADERS([unordered_map], [], [
2222 AC_CHECK_HEADERS([tr1/unordered_map])]) 2250 AC_CHECK_HEADERS([tr1/unordered_map])])
2223 AC_MSG_CHECKING([whether unordered_map requires tr1 namespace]) 2251 AC_MSG_CHECKING([whether unordered_map requires tr1 namespace])
2224 unordered_map_requires_tr1_namespace=no 2252 unordered_map_requires_tr1_namespace=no
2225 if test "$ac_cv_header_unordered_map" = "yes"; then 2253 if test "$ac_cv_header_unordered_map" = "yes"; then
2226 ### Have <unordered_map>, but still have to check whether 2254 ## Have <unordered_map>, but still have to check whether
2227 ### tr1 namespace is required (like MSVC, for instance). 2255 ## tr1 namespace is required (like MSVC, for instance).
2228 AC_COMPILE_IFELSE([ 2256 AC_COMPILE_IFELSE([
2229 AC_LANG_PROGRAM([ 2257 AC_LANG_PROGRAM([
2230 #include <unordered_map> 2258 #include <unordered_map>
2231 ], [ 2259 ], [
2232 std::unordered_map<int,int> m; 2260 std::unordered_map<int,int> m;
2233 ])], [], [unordered_map_requires_tr1_namespace=yes]) 2261 ])], [], [unordered_map_requires_tr1_namespace=yes])
2234 elif test "$ac_cv_header_tr1_unordered_map" = "yes"; then 2262 elif test "$ac_cv_header_tr1_unordered_map" = "yes"; then
2235 unordered_map_requires_tr1_namespace=yes 2263 unordered_map_requires_tr1_namespace=yes
2236 fi 2264 fi
2237 if test "$unordered_map_requires_tr1_namespace" = "yes"; then 2265 if test "$unordered_map_requires_tr1_namespace" = "yes"; then
2238 AC_DEFINE(USE_UNORDERED_MAP_WITH_TR1, 1, [Defines whether unordered_map requires the use of tr1 namespace.]) 2266 AC_DEFINE(USE_UNORDERED_MAP_WITH_TR1, 1, [Define to 1 if unordered_map requires the use of tr1 namespace.])
2239 fi 2267 fi
2240 AC_MSG_RESULT([$unordered_map_requires_tr1_namespace]) 2268 AC_MSG_RESULT([$unordered_map_requires_tr1_namespace])
2241 AC_LANG_POP(C++) 2269 AC_LANG_POP(C++)
2242 2270
2243 have_termios_h=no 2271 have_termios_h=no
2251 || test "$have_termio_h" = yes \ 2279 || test "$have_termio_h" = yes \
2252 || test "$have_sgtty_h" = yes; then 2280 || test "$have_sgtty_h" = yes; then
2253 true 2281 true
2254 else 2282 else
2255 AC_MSG_WARN([I couldn't find termios.h, termio.h, or sgtty.h!]) 2283 AC_MSG_WARN([I couldn't find termios.h, termio.h, or sgtty.h!])
2284 fi
2285
2286 ### For MSVC compilers, avoid #define of min/max from windows.h header
2287 if test "$have_msvc" = "yes"; then
2288 AC_DEFINE(NOMINMAX, 1, [Define to 1 if you want to avoid min/max macro definition in Windows headers.])
2256 fi 2289 fi
2257 2290
2258 ### Checks for functions and variables. 2291 ### Checks for functions and variables.
2259 2292
2260 AC_CHECK_FUNCS(basename canonicalize_file_name \ 2293 AC_CHECK_FUNCS(basename canonicalize_file_name \
2302 AC_LANG_PROGRAM([[int mkstemps (char *pattern, int suffix_len);]], 2335 AC_LANG_PROGRAM([[int mkstemps (char *pattern, int suffix_len);]],
2303 [[mkstemps ("XXXXXX", 0);]] 2336 [[mkstemps ("XXXXXX", 0);]]
2304 )], 2337 )],
2305 [AC_MSG_RESULT(yes) 2338 [AC_MSG_RESULT(yes)
2306 HAVE_MKSTEMPS=yes 2339 HAVE_MKSTEMPS=yes
2307 AC_DEFINE(HAVE_MKSTEMPS, 1, [Define if mkstemps is available in libiberty.]) 2340 AC_DEFINE(HAVE_MKSTEMPS, 1, [Define to 1 if mkstemps is available in libiberty.])
2308 ], 2341 ],
2309 [AC_MSG_RESULT(no) 2342 [AC_MSG_RESULT(no)
2310 HAVE_MKSTEMPS=no 2343 HAVE_MKSTEMPS=no
2311 LIBS="$save_LIBS" 2344 LIBS="$save_LIBS"
2312 ]) 2345 ])
2322 #include <windows.h> 2355 #include <windows.h>
2323 #if _WIN32_WINNT < 0x0403 2356 #if _WIN32_WINNT < 0x0403
2324 #error "Wrong version" 2357 #error "Wrong version"
2325 #endif]], [])], 2358 #endif]], [])],
2326 AC_MSG_RESULT([none]), [ 2359 AC_MSG_RESULT([none]), [
2327 AC_DEFINE(_WIN32_WINNT, 0x0403, [Define to 0x0403 to access InitializeCriticalSectionAndSpinCount]) 2360 AC_DEFINE(_WIN32_WINNT, 0x0403, [Define to 0x0403 to access InitializeCriticalSectionAndSpinCount.])
2328 AC_MSG_RESULT([0x0403])]) 2361 AC_MSG_RESULT([0x0403])])
2329 AC_MSG_CHECKING([whether _USE_MATH_DEFINES needs to be defined]) 2362 AC_MSG_CHECKING([whether _USE_MATH_DEFINES needs to be defined])
2330 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]], 2363 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]],
2331 [[int x = M_LN2;]])], 2364 [[int x = M_LN2;]])],
2332 AC_MSG_RESULT([no]), [ 2365 AC_MSG_RESULT([no]), [
2333 AC_DEFINE(_USE_MATH_DEFINES, 1, [Define if your system needs it to define math constants like M_LN2]) 2366 AC_DEFINE(_USE_MATH_DEFINES, 1, [Define to 1 if your system needs to define math constants like M_LN2.])
2334 AC_MSG_RESULT([yes])]) 2367 AC_MSG_RESULT([yes])])
2335 ;; 2368 ;;
2336 esac 2369 esac
2370
2371 ## Check for CGDisplayBitsPerPixel function on Mac OSX systems with Carbon
2372 OCTAVE_CARBON_CGDISPLAYBITSPERPIXEL
2337 2373
2338 ### Dynamic linking is now enabled only if we are building shared 2374 ### Dynamic linking is now enabled only if we are building shared
2339 ### libs and some API for dynamic linking is detected. 2375 ### libs and some API for dynamic linking is detected.
2340 2376
2341 ## FIXME -- a lot of the following duplicates the functionality of 2377 ## FIXME: A lot of the following duplicates the functionality of
2342 ## code generated by the dlopen option for LT_INIT. 2378 ## code generated by the dlopen option for LT_INIT.
2343 2379
2344 LD_CXX='$(CXX)' 2380 LD_CXX='$(CXX)'
2345 RDYNAMIC_FLAG= 2381 RDYNAMIC_FLAG=
2346 DL_API_MSG="" 2382 DL_API_MSG=""
2353 2389
2354 case "$lt_cv_dlopen" in 2390 case "$lt_cv_dlopen" in
2355 dlopen) 2391 dlopen)
2356 dlopen_api=true 2392 dlopen_api=true
2357 DL_API_MSG="(dlopen)" 2393 DL_API_MSG="(dlopen)"
2358 AC_DEFINE(HAVE_DLOPEN_API, 1, [Define if your system has dlopen, dlsym, dlerror, and dlclose for dynamic linking]) 2394 AC_DEFINE(HAVE_DLOPEN_API, 1, [Define to 1 if your system has dlopen, dlsym, dlerror, and dlclose for dynamic linking.])
2359 OCTAVE_CXX_FLAG(-rdynamic, [RDYNAMIC_FLAG=-rdynamic]) 2395 OCTAVE_CXX_FLAG(-rdynamic, [RDYNAMIC_FLAG=-rdynamic])
2360 ;; 2396 ;;
2361 shl_load) 2397 shl_load)
2362 shl_load_api=true 2398 shl_load_api=true
2363 DL_API_MSG="(shl_load)" 2399 DL_API_MSG="(shl_load)"
2364 AC_DEFINE(HAVE_SHL_LOAD_API, 1, [Define if your system has shl_load and shl_findsym for dynamic linking]) 2400 AC_DEFINE(HAVE_SHL_LOAD_API, 1, [Define to 1 if your system has shl_load and shl_findsym for dynamic linking.])
2365 ;; 2401 ;;
2366 LoadLibrary) 2402 LoadLibrary)
2367 loadlibrary_api=true 2403 loadlibrary_api=true
2368 DL_API_MSG="(LoadLibrary)" 2404 DL_API_MSG="(LoadLibrary)"
2369 AC_DEFINE(HAVE_LOADLIBRARY_API, 1, [Define if your system has LoadLibrary for dynamic linking]) 2405 AC_DEFINE(HAVE_LOADLIBRARY_API, 1, [Define to 1 if your system has LoadLibrary for dynamic linking.])
2370 ;; 2406 ;;
2371 dyld) 2407 dyld)
2372 dyld_api=true 2408 dyld_api=true
2373 DL_API_MSG="(dyld)" 2409 DL_API_MSG="(dyld)"
2374 AC_DEFINE(HAVE_DYLD_API, 1, [Define if your system has dyld for dynamic linking]) 2410 AC_DEFINE(HAVE_DYLD_API, 1, [Define to 1 if your system has dyld for dynamic linking.])
2375 ;; 2411 ;;
2376 esac 2412 esac
2377 2413
2378 DL_LIBS="$lt_cv_dlopen_libs" 2414 DL_LIBS="$lt_cv_dlopen_libs"
2379 AC_SUBST(DL_LIBS) 2415 AC_SUBST(DL_LIBS)
2385 ENABLE_DYNAMIC_LINKING=false 2421 ENABLE_DYNAMIC_LINKING=false
2386 fi 2422 fi
2387 fi 2423 fi
2388 2424
2389 if $ENABLE_DYNAMIC_LINKING; then 2425 if $ENABLE_DYNAMIC_LINKING; then
2390 AC_DEFINE(ENABLE_DYNAMIC_LINKING, 1, [Define if using dynamic linking]) 2426 AC_DEFINE(ENABLE_DYNAMIC_LINKING, 1, [Define to 1 if using dynamic linking.])
2391 fi 2427 fi
2392 2428
2393 AM_CONDITIONAL([AMCOND_ENABLE_DYNAMIC_LINKING], 2429 AM_CONDITIONAL([AMCOND_ENABLE_DYNAMIC_LINKING],
2394 [test x$ENABLE_DYNAMIC_LINKING = xtrue]) 2430 [test x$ENABLE_DYNAMIC_LINKING = xtrue])
2395 2431
2466 r -ltermlib!" 2502 r -ltermlib!"
2467 AC_MSG_WARN([$warn_termlibs]) 2503 AC_MSG_WARN([$warn_termlibs])
2468 fi 2504 fi
2469 AC_SUBST(TERM_LIBS) 2505 AC_SUBST(TERM_LIBS)
2470 2506
2471 OCTAVE_ENABLE_READLINE 2507 ### Return type of matherr()
2472
2473 AC_MSG_CHECKING([for struct exception in math.h]) 2508 AC_MSG_CHECKING([for struct exception in math.h])
2474 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]], 2509 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]],
2475 [[struct exception *x; x->type; x->name;]])], 2510 [[struct exception *x; x->type; x->name;]])],
2476 [AC_MSG_RESULT(yes) 2511 [AC_MSG_RESULT(yes)
2477 AC_DEFINE(EXCEPTION_IN_MATH, 1, 2512 AC_DEFINE(EXCEPTION_IN_MATH, 1,
2478 [Define if your math.h declares struct exception for matherr().])], 2513 [Define to 1 if your math.h declares struct exception for matherr().])],
2479 [AC_MSG_RESULT(no)]) 2514 [AC_MSG_RESULT(no)])
2480 2515
2481 ### Signal stuff. 2516 ### Signal stuff.
2482 2517
2483 AC_CHECK_DECLS([sys_siglist], [], [], 2518 AC_CHECK_DECLS([sys_siglist], [], [],
2486 #if HAVE_UNISTD_H 2521 #if HAVE_UNISTD_H
2487 # include <unistd.h> 2522 # include <unistd.h>
2488 #endif 2523 #endif
2489 ]) 2524 ])
2490 2525
2491 ### A system dependent kluge or two. 2526 ### A system dependent kludge or two.
2492 2527
2493 AC_CHECK_FUNCS(getrusage) 2528 AC_CHECK_FUNCS(getrusage)
2494 case "$canonical_host_type" in 2529 case "$canonical_host_type" in
2495 *-*-cygwin*) 2530 *-*-cygwin*)
2496 AC_DEFINE(RUSAGE_TIMES_ONLY, 1, [Define if your struct rusage only has time information.]) 2531 AC_DEFINE(RUSAGE_TIMES_ONLY, 1, [Define to 1 if your struct rusage only has time information.])
2497 ;; 2532 ;;
2498 esac 2533 esac
2499 2534
2500 ### Checks for other programs used for building, testing, installing, 2535 ### Checks for other programs used in building, testing, installing, and
2501 ### and running Octave. 2536 ### running Octave.
2502 2537
2503 AC_PROG_AWK 2538 AC_PROG_AWK
2504 OCTAVE_PROG_FIND 2539 OCTAVE_PROG_FIND
2505 OCTAVE_PROG_SED 2540 OCTAVE_PROG_SED
2506 OCTAVE_PROG_PERL 2541 OCTAVE_PROG_PERL
2666 #define OCTAVE_HAVE_POSIX_FILESYSTEM 1 2701 #define OCTAVE_HAVE_POSIX_FILESYSTEM 1
2667 #else 2702 #else
2668 #define OCTAVE_HAVE_POSIX_FILESYSTEM 1 2703 #define OCTAVE_HAVE_POSIX_FILESYSTEM 1
2669 #endif 2704 #endif
2670 2705
2671 /* Define if we expect to have <windows.h>, Sleep, etc. */ 2706 /* Define to 1 if we expect to have <windows.h>, Sleep, etc. */
2672 #if defined (__WIN32__) && ! defined (__CYGWIN__) 2707 #if defined (__WIN32__) && ! defined (__CYGWIN__)
2673 #define OCTAVE_USE_WINDOWS_API 1 2708 #define OCTAVE_USE_WINDOWS_API 1
2674 #endif 2709 #endif
2675 2710
2676 #if defined (__APPLE__) && defined (__MACH__) 2711 #if defined (__APPLE__) && defined (__MACH__)
2696 #define SIZEOF_OCTAVE_IDX_TYPE SIZEOF_INT 2731 #define SIZEOF_OCTAVE_IDX_TYPE SIZEOF_INT
2697 #endif 2732 #endif
2698 2733
2699 /* To be able to use long doubles for 64-bit mixed arithmetics, we need 2734 /* To be able to use long doubles for 64-bit mixed arithmetics, we need
2700 them at least 80 bits wide and we need roundl declared in math.h. 2735 them at least 80 bits wide and we need roundl declared in math.h.
2701 FIXME -- maybe substitute this by a more precise check in the future. */ 2736 FIXME: Maybe substitute this by a more precise check in the future? */
2702 #if (SIZEOF_LONG_DOUBLE >= 10) && defined (HAVE_ROUNDL) 2737 #if (SIZEOF_LONG_DOUBLE >= 10) && defined (HAVE_ROUNDL)
2703 #define OCTAVE_INT_USE_LONG_DOUBLE 2738 #define OCTAVE_INT_USE_LONG_DOUBLE
2704 #endif 2739 #endif
2705 2740
2706 #define OCTAVE_EMPTY_CPP_ARG 2741 #define OCTAVE_EMPTY_CPP_ARG
2707 2742
2708 /* Octave is currently unable to use FFTW unless both float 2743 /* Octave is currently unable to use FFTW unless both float
2709 and double versions are both available. */ 2744 and double versions are available. */
2710 #if defined (HAVE_FFTW3) && defined (HAVE_FFTW3F) 2745 #if defined (HAVE_FFTW3) && defined (HAVE_FFTW3F)
2711 #define HAVE_FFTW 2746 #define HAVE_FFTW
2712 #endif 2747 #endif
2713 2748
2714 /* Backward compatibility. */ 2749 /* Backward compatibility. */
2759 2794
2760 typedef OCTAVE_IDX_TYPE octave_idx_type; 2795 typedef OCTAVE_IDX_TYPE octave_idx_type;
2761 2796
2762 #include <stdint.h> 2797 #include <stdint.h>
2763 2798
2764 /* Tag indicating octave config.h has been included */ 2799 /* Tag indicating Octave config.h has been included */
2765 #define OCTAVE_CONFIG_INCLUDED 1 2800 #define OCTAVE_CONFIG_INCLUDED 1
2766 ]) 2801 ])
2767 2802
2768 ### Do the substitutions in all the Makefiles. 2803 ### Do the substitutions in all the Makefiles.
2769 2804
2844 GLPK CPPFLAGS: $GLPK_CPPFLAGS 2879 GLPK CPPFLAGS: $GLPK_CPPFLAGS
2845 GLPK LDFLAGS: $GLPK_LDFLAGS 2880 GLPK LDFLAGS: $GLPK_LDFLAGS
2846 GLPK libraries: $GLPK_LIBS 2881 GLPK libraries: $GLPK_LIBS
2847 graphics CFLAGS: $GRAPHICS_CFLAGS 2882 graphics CFLAGS: $GRAPHICS_CFLAGS
2848 graphics libraries: $GRAPHICS_LIBS 2883 graphics libraries: $GRAPHICS_LIBS
2849 Magick++ CPPFLAGS: $MAGICK_CPPFLAGS
2850 Magick++ LDFLAGS: $MAGICK_LDFLAGS
2851 Magick++ libraries: $MAGICK_LIBS
2852 LLVM CPPFLAGS: $LLVM_CPPFLAGS
2853 LLVM LDFLAGS: $LLVM_LDFLAGS
2854 LLVM libraries: $LLVM_LIBS
2855 HDF5 CPPFLAGS: $HDF5_CPPFLAGS 2884 HDF5 CPPFLAGS: $HDF5_CPPFLAGS
2856 HDF5 LDFLAGS: $HDF5_LDFLAGS 2885 HDF5 LDFLAGS: $HDF5_LDFLAGS
2857 HDF5 libraries: $HDF5_LIBS 2886 HDF5 libraries: $HDF5_LIBS
2858 LAPACK libraries: $LAPACK_LIBS 2887 LAPACK libraries: $LAPACK_LIBS
2888 LLVM CPPFLAGS: $LLVM_CPPFLAGS
2889 LLVM LDFLAGS: $LLVM_LDFLAGS
2890 LLVM libraries: $LLVM_LIBS
2891 Magick++ CPPFLAGS: $MAGICK_CPPFLAGS
2892 Magick++ LDFLAGS: $MAGICK_LDFLAGS
2893 Magick++ libraries: $MAGICK_LIBS
2859 OPENGL libraries: $OPENGL_LIBS 2894 OPENGL libraries: $OPENGL_LIBS
2860 PTHREAD flags: $PTHREAD_CFLAGS 2895 PTHREAD flags: $PTHREAD_CFLAGS
2861 PTHREAD libraries: $PTHREAD_LIBS 2896 PTHREAD libraries: $PTHREAD_LIBS
2862 QHULL CPPFLAGS: $QHULL_CPPFLAGS 2897 QHULL CPPFLAGS: $QHULL_CPPFLAGS
2863 QHULL LDFLAGS: $QHULL_LDFLAGS 2898 QHULL LDFLAGS: $QHULL_LDFLAGS
2920 AC_MSG_WARN([]) 2955 AC_MSG_WARN([])
2921 AC_MSG_WARN([You used the EXPERIMENTAL --enable-openmp option.]) 2956 AC_MSG_WARN([You used the EXPERIMENTAL --enable-openmp option.])
2922 AC_MSG_WARN([Are you sure that is what you want to do?]) 2957 AC_MSG_WARN([Are you sure that is what you want to do?])
2923 AC_MSG_WARN([]) 2958 AC_MSG_WARN([])
2924 AC_MSG_WARN([This option enables experimental SMP multithreding]) 2959 AC_MSG_WARN([This option enables experimental SMP multithreding])
2925 AC_MSG_WARN([code that has had very little testing. There is no]) 2960 AC_MSG_WARN([code that has had very little testing. There is no])
2926 AC_MSG_WARN([certainity that the results returned by Octave with]) 2961 AC_MSG_WARN([certainity that the results returned by Octave with])
2927 AC_MSG_WARN([this option enabled will be correct.]) 2962 AC_MSG_WARN([this option enabled will be correct.])
2928 AC_MSG_WARN([]) 2963 AC_MSG_WARN([])
2929 warn_msg_printed=true 2964 warn_msg_printed=true
2930 fi 2965 fi
2967 fi 3002 fi
2968 3003
2969 if $USE_ATOMIC_REFCOUNT; then 3004 if $USE_ATOMIC_REFCOUNT; then
2970 AC_MSG_WARN([]) 3005 AC_MSG_WARN([])
2971 AC_MSG_WARN([Using atomic reference counting.]) 3006 AC_MSG_WARN([Using atomic reference counting.])
2972 AC_MSG_WARN([This feature allows to access octave data safely from]) 3007 AC_MSG_WARN([This feature allows access to Octave data safely from])
2973 AC_MSG_WARN([another thread, for instance from a GUI. However this]) 3008 AC_MSG_WARN([another thread, for instance from a GUI. However this])
2974 AC_MSG_WARN([results in a small performance penalty in the octave]) 3009 AC_MSG_WARN([results in a small performance penalty in the Octave])
2975 AC_MSG_WARN([interpreter.]) 3010 AC_MSG_WARN([interpreter.])
2976 AC_MSG_WARN([]) 3011 AC_MSG_WARN([])
2977 if $USE_OCTAVE_ALLOCATOR; then 3012 if $USE_OCTAVE_ALLOCATOR; then
2978 AC_MSG_WARN([Thread-safe behavior is not guaranteed unless you also]) 3013 AC_MSG_WARN([Thread-safe behavior is not guaranteed unless you also])
2979 AC_MSG_WARN([disable the use of the octave_allocator class.]) 3014 AC_MSG_WARN([disable the use of the octave_allocator class.])