1dnl Process this file with autoconf to produce a configure script. 2 3AC_INIT([see], 4 [3.1.]esyscmd((svnversion .||echo 0)|tr : _|tr -d \\012), 5 [leonard@users.sourceforge.net]) 6AC_PREREQ(2.52) 7AM_INIT_AUTOMAKE 8AM_CONFIG_HEADER(include/config.h) 9AC_CONFIG_FILES([Makefile 10 include/Makefile 11 include/see/Makefile 12 libsee/Makefile 13 libsee/test/Makefile 14 libsee/libsee-config 15 doc/Makefile 16 shell/Makefile 17 shell/test/Makefile 18 ssp/Makefile 19 ]) 20 21## -- fix brokenness with automake-1.4 22AC_SUBST(PACKAGE,[$PACKAGE_NAME]) 23AC_SUBST(VERSION,[$PACKAGE_VERSION]) 24 25dnl ------------------------------------------------------------ 26dnl programs required 27dnl 28 29AC_PROG_CC 30AM_PROG_CC_C_O 31AC_PROG_SED 32 33AC_LIBLTDL_CONVENIENCE([libltdl]) 34AC_LIBTOOL_DLOPEN 35AC_PROG_LIBTOOL 36dnl AC_LIB_LTDL 37AC_CONFIG_SUBDIRS([libltdl]) 38AC_SUBST([LIBLTDL]) 39AC_SUBST([LTDLINCL]) 40AC_SUBST([LIBSEE_LIBS]) 41AC_SUBST([LIBSEE_REQS]) 42 43AC_ARG_VAR(PERL, [Practical Extraction and Report Language interpreter]) 44AC_PATH_PROG(PERL, perl) 45m4_define(_perl_vers_var,$]) 46AC_CACHE_CHECK([$PERL version], [ac_cv_perl_version], 47 [ac_cv_perl_version=`$PERL -e 'print _perl_vers_var;' || echo error`]) 48test "$ac_cv_perl_version" != error || \ 49 AC_MSG_ERROR([cannot find a working PERL interpreter]) 50 51dnl ------------------------------------------------------------ 52dnl C headers 53dnl 54 55AC_HEADER_STDC 56AC_HEADER_TIME 57 58dnl (alloca.h needs to know about these headers) 59AC_CHECK_HEADERS([errno.h string.h stdlib.h],,,[;]) 60 61dnl (These make finding integer sizes simpler) 62AC_CHECK_HEADERS([stdint.h inttypes.h],,,[;]) 63 64dnl (This is for some windows compat) 65AC_CHECK_HEADERS([windows.h getopt.h],,,[;]) 66 67dnl (And others) 68AC_CHECK_HEADERS([float.h limits.h signal.h],,,[;]) 69 70dnl ------------------------------------------------------------ 71dnl C compiler features 72dnl 73 74AC_C_VOLATILE 75AC_C_CONST 76AC_C_BIGENDIAN 77 78AC_CHECK_SIZEOF(signed int) 79AC_CHECK_SIZEOF(unsigned int) 80AC_CHECK_SIZEOF(signed short) 81AC_CHECK_SIZEOF(unsigned short) 82AC_CHECK_SIZEOF(signed long) 83AC_CHECK_SIZEOF(unsigned long) 84AC_CHECK_SIZEOF(signed long long) 85AC_CHECK_SIZEOF(unsigned long long) 86AC_CHECK_SIZEOF(signed LONGLONG) 87AC_CHECK_SIZEOF(unsigned LONGLONG) 88 89AC_CHECK_SIZEOF(float) 90AC_CHECK_SIZEOF(double) 91 92AC_TYPE_SIZE_T 93AC_TYPE_SIGNAL 94 95AC_DEFUN([SEE_CHECK___FUNCTION__], 96 [AC_CACHE_CHECK([for __FUNCTION__], [ac_cv_have___FUNCTION__], 97 [AC_TRY_RUN([int main() { return __FUNCTION__ ? 0 : 1; }], 98 [ac_cv_have___FUNCTION__=yes], 99 [ac_cv_have___FUNCTION__=no], 100 [ac_cv_have___FUNCTION__=unknown])]) 101 if test $ac_cv_have___FUNCTION__ = yes; then 102 AC_DEFINE([HAVE___FUNCTION__], [1], 103 [Define to 1 if the compiler generates __FUNCTION__]) 104 fi 105 ]) 106SEE_CHECK___FUNCTION__ 107 108dnl ------------------------------------------------------------ 109dnl features 110dnl 111 112dnl 113dnl Helper macro to build sensible --enable-FEATURE options 114dnl Usage is: SEE_ARG_ENABLE([feature],[default],[feature description], 115dnl [auto-actions], [yes-actions],[no-actions]) 116dnl the auto-actions are run when enable_feature==auto. It should detect 117dnl and set dnl $enable_feature=yes if it makes sense to do so. 118dnl 119AC_DEFUN([_SEE_ARG_ENABLE],[ 120 AC_ARG_ENABLE([$1], 121 AC_HELP_STRING([ifelse($2,yes,[--disable-$1],$2,no,[--enable-$1],$2,auto,[--disable-$1])],[$3]ifelse($2,auto,[ (auto)])), 122 [dnl (( # two parens help editor balance 123 case "$enableval" in ifelse([$4],,,auto|)yes|no) :;; *) # 124 AC_MSG_WARN([unexpected value '$enableval' for --enable-$1. Using '$2'.]) 125 $7=$2 126 ;; esac], 127 [$7=$2]) 128 AS_IF(test x"[$]$7" = x"auto",[$4]) 129 AC_MSG_CHECKING([whether to enable $3]) 130 AS_IF(test x"[$]$7" = x"auto",[AC_MSG_ERROR([bad value for $7])]) 131 AC_MSG_RESULT([$]$7) 132 AS_IF([ifelse($2,yes,test x"[$]$7" != x"no",$2,no,test x"[$]$7" = x"yes")], 133 [$5],[$6]) 134]) 135dnl SEE_ARG_ENABLED(FEATURE,DEFAULT,HELPTEXT,AUTO_ACTION,YES_ACTION,NO_ACTION) 136AC_DEFUN([SEE_ARG_ENABLE], 137 [_SEE_ARG_ENABLE([$1],[$2],[$3],[$4],[$5],[$6],[enable_]m4_bpatsubst([$1], -, _))]) 138 139 140SEE_ARG_ENABLE(developer,[no], 141 [pedantic compiler warnings],, 142 [for flag in -Wall -Wmissing-declarations \ 143 -Wmissing-prototypes -Wtraditional -pedantic 144 do 145 AC_MSG_CHECKING([for $flag]) 146 CFLAGS_save="$CFLAGS" 147 CFLAGS="$CFLAGS $flag" 148 AC_COMPILE_IFELSE([/* empty */], 149 [AC_MSG_RESULT(yes)], 150 [AC_MSG_RESULT(no) 151 CFLAGS="$CFLAGS_save"]) 152 done 153 CPPFLAGS="$CPPFLAGS -DGC_DEBUG" 154]) 155 156SEE_ARG_ENABLE(diagnostic,[yes], 157 [internal consistency checks],,, 158 [if test x"$enable_developer" = x"yes"; then 159 AC_MSG_WARN([Developer mode enabled, but diagnostic was disabled!]) 160 fi 161 CPPFLAGS="$CPPFLAGS -DNDEBUG" 162]) 163 164SEE_ARG_ENABLE(full-unicode,[yes], 165 [full Unicode instead of ASCII tables],, 166 [AC_DEFINE(WITH_UNICODE_TABLES, [1], 167 [Define to 1 if you want the Unicode tables for ECMA262 compliance]) 168]) 169 170SEE_ARG_ENABLE(parser-print,[yes], 171 [function printing code],, 172 [AC_DEFINE(WITH_PARSER_PRINT, [1], 173 [Define if you want to be able to print function bodies]) 174]) 175AM_CONDITIONAL(WITH_PARSER_PRINT, test x"$enable_parser_print" = x"yes") 176 177SEE_ARG_ENABLE(parser-visit,[no], 178 [experimental node visiting API],, 179 [AC_DEFINE(WITH_PARSER_VISIT, [1], 180 [Define if you want to include experimental AST visitor code]) 181]) 182 183dnl XXX is this incompatible with parser_print? 184SEE_ARG_ENABLE(bytecode,[yes], 185 [bytecode generator],, 186 [AC_DEFINE(WITH_PARSER_CODEGEN, [1], 187 [Define if you want to use the code generator]) 188]) 189AM_CONDITIONAL(WITH_PARSER_CODEGEN, test x"$enable_bytecode" = x"yes") 190 191SEE_ARG_ENABLE(ast-eval,[no], 192 [in-AST evaluator],, 193 [AC_DEFINE(WITH_PARSER_EVAL, [1], 194 [Define if you want to use the stable AST evaluator]) 195]) 196if test x"$enable_bytecode" = x"no" -a x"$enable_ast_eval" = x"no"; then 197 AC_MSG_ERROR([Must have one of --enable-bytecode or --enable-ast-eval]) 198fi 199 200dnl XXX need to find a better way to get pthreads flags in 201SEE_ARG_ENABLE(ssp-example,[no], 202 [SEE Servlet Pages (SSP) example],, 203 [PTHREADS_CFLAGS=-pthreads 204 PTHREADS_LDFLAGS=-lpthread 205 AC_SUBST(PTHREADS_CFLAGS) 206 AC_SUBST(PTHREADS_LDFLAGS) 207]) 208AM_CONDITIONAL(SSP, test x"$enable_ssp_example" = x"yes") 209 210SEE_ARG_ENABLE(longjmperror,[yes], 211 [catching longjmp corruption within SEE],, 212 [AC_DEFINE(WITH_LONGJMPERROR, [1], 213 [Define if you want SEE to catch longjmp corruption]) 214]) 215 216SEE_ARG_ENABLE(native-dtoa,[auto], 217 [dtoa from libc], 218 [enable_native_dtoa=yes 219 AC_CHECK_FUNCS([strtod dtoa freedtoa],,[enable_native_dtoa=no]) 220]) 221AM_CONDITIONAL(NATIVE_DTOA, test x"$enable_native_dtoa" = x"yes") 222 223 224dnl ------------------------------------------------------------ 225dnl external libraries 226dnl 227 228AC_ARG_WITH(boehm-gc, 229 AC_HELP_STRING([--with-boehm-gc], 230 [use Boehm-Weiser garbage collector, default=yes]), 231 [with_boehmgc=$withval], [with_boehmgc=yes]) 232if test x"$with_boehmgc" != x"no"; then 233 save_LIBSEE_LIBS="$LIBSEE_LIBS" 234 save_LIBS="$LIBS" 235 save_LDFLAGS="$LDFLAGS" 236 save_CPPFLAGS="$CPPFLAGS" 237 case "$with_boehmgc" in 238 yes) 239 LIBSEE_LIBS="$LIBSEE_LIBS -lgc" 240 LIBS="$LIBS -lgc" 241 ;; 242 *) LIBSEE_LIBS="$LIBSEE_LIBS -L${with_boehmgc}/lib -lgc" 243 LDFLAGS="$LDFLAGS -L${with_boehmgc}/lib" 244 LIBS="$LIBS -lgc" 245 CPPFLAGS="$CPPFLAGS -I${with_boehmgc}/include" 246 ;; 247 esac 248 249 # The following minimum for Boehm GC support: 250 # 251 # #if WITH_BOEHM_GC 252 # # include <gc/gc.h> 253 # GC_INIT(); 254 # GC_MALLOC(...); 255 # GC_dump(); 256 # GC_gcollect(); 257 # #endif 258 259 have_boehm_gc=yes 260 AC_CHECK_HEADERS([gc/gc.h],,[have_boehm_gc=no]) 261 AC_TRY_LINK([#include <gc/gc.h>], 262 [GC_INIT(); 263 GC_MALLOC(1); 264 GC_gcollect(); 265 ],, 266 [have_boehm_gc=no]) 267 if test x"$have_boehm_gc" = x"yes"; then 268 AC_DEFINE(WITH_BOEHM_GC, [1], [Define if you have Boehm GC]) 269 AC_CHECK_FUNCS([GC_malloc GC_gcollect GC_dump GC_malloc_atomic GC_free], 270 ,[have_boehm_gc=no]) 271 else 272 LIBSEE_LIBS="$save_LIBSEE_LIBS" 273 CPPFLAGS="$save_CPPFLAGS" 274 fi 275 LDFLAGS="$save_LDFLAGS" 276 LIBS="$save_LIBS" 277else 278 have_boehm_gc=no 279fi 280AC_MSG_CHECKING([if we can use Boehm GC]) 281AM_CONDITIONAL(WITH_BOEHM_GC, test x"$have_boehm_gc" = x"yes") 282AC_MSG_RESULT([$have_boehm_gc]) 283 284AC_ARG_WITH(readline, 285 AC_HELP_STRING([--with-readline], 286 [see-shell interactive niceness, default=no]), 287 [ac_cv_use_readline=$withval], [ac_cv_use_readline=no]) 288if test x"$ac_cv_use_readline" != x"no"; then 289 AC_CHECK_HEADERS([readline/readline.h readline.h],,,[;]) 290 AC_SEARCH_LIBS(tgoto, [termcap termlib curses ncurses]) 291 AC_SEARCH_LIBS(readline, [readline edit]) 292 AC_CHECK_FUNC(readline) 293fi 294 295AC_ARG_WITH(pcre, 296 AC_HELP_STRING([--with-pcre], 297 [use the PCRE regex library, default=no]), 298 [ac_cv_use_pcre=$withval], [ac_cv_use_pcre=no]) 299if test x"$ac_cv_use_pcre" != x"no"; then 300 PKG_CHECK_MODULES([PCRE], [pcre], 301 [have_pcre=yes 302 LIBSEE_REQS="$LIBSEE_REQS,pcre" 303 LIBSEE_LIBS="$LIBSEE_LIBS $PCRE_LIBS" 304 CFLAGS="$CFLAGS $PCRE_CFLAGS"], 305 [have_pcre=yes 306 AC_CHECK_HEADER([pcre.h],,[have_pcre=no]) 307 save_LIBS="$LIBS" 308 LIBS="$LIBSEE_LIBS" 309 AC_SEARCH_LIBS(pcre_compile, [pcre]) 310 AC_CHECK_FUNCS([pcre_compile pcre_exec],, [have_pcre=no])]) 311 LIBSEE_LIBS="$LIBS" 312 LIBS="$save_LIBS" 313 AC_MSG_CHECKING([if we can use PCRE]) 314 if test x"$have_pcre" = x"yes"; then 315 AC_DEFINE(WITH_PCRE, [1], 316 [Define if you want to use the PCRE regex library]) 317 fi 318 AC_MSG_RESULT([$have_pcre]) 319else 320 have_pcre=no 321fi 322AM_CONDITIONAL(WITH_PCRE, test x"$have_pcre" = x"yes") 323 324 325dnl ------------------------------------------------------------ 326dnl std lib functions 327dnl 328 329AC_FUNC_MEMCMP 330test $ac_cv_func_memcmp_working = yes && AC_DEFINE(HAVE_MEMCMP) 331AC_FUNC_ALLOCA 332AC_REPLACE_FUNCS([memmove]) 333 334AC_SEARCH_LIBS(sin, [m]) # the evil that lurks within 335 336dnl -- pick the right nan/finite functions for 64-bit floating point type 337have_isnan=no 338have_finite=no 339have_copysign=no 340AC_CHECK_FUNCS([isnanf finitef isinff isinf _isinf copysignf]) 341AC_CHECK_FUNCS([isnan _isnan],[have_isnan=yes]) 342AC_CHECK_FUNCS([finite _finite isfinite],[have_finite=yes]) 343AC_CHECK_FUNCS([copysign _copysign],[have_copysign=yes]) 344 345dnl -- when using double isnan/finite must be available 346if test $ac_cv_sizeof_float -ne 8; then 347 test $have_isnan = no && missing_funcs="$missing_funcs isnan"; 348 test $have_finite = no && missing_funcs="$missing_funcs finite"; 349 test $have_copysign = no && missing_funcs="$missing_funcs copysign"; 350fi 351 352dnl --- things to add later? 353dnl AC_CHECK_FUNCS([srand srandom vsprintf funopen]) 354dnl AC_CHECK_FUNC(vsnprintf,,AC_LIBOBJ(vsnprintf)) 355 356AC_CHECK_FUNC(rand_r) 357 358dnl -- functions that we *need* (i.e. don't have workarounds for): 359AC_CHECK_FUNCS([acos atan atan2 ceil cos exp floor log pow sin sqrt tan \ 360 snprintf vsnprintf \ 361 abort memcpy memset \ 362 qsort strcmp strerror],, 363 [missing_funcs="$missing_funcs $ac_func"]) 364 365if test -n "$missing_funcs"; then 366 AC_MSG_ERROR([cannot find required functions:$missing_funcs]) 367fi 368 369dnl -- functions that have workarounds written for 370AC_CHECK_FUNCS([strdup getopt \ 371 time gettimeofday GetSystemTimeAsFileTime \ 372 localtime mktime \ 373 isatty \ 374 ]) 375 376dnl ------------------------------------------------------------ 377dnl miscellanea 378dnl 379 380dnl 381dnl NaN and Infinity as inline expressions: another optimisation 382dnl 383 384AC_CACHE_CHECK([for constant NaN], [ac_cv_cc_constant_NaN_div], 385 [AC_TRY_RUN([#include <math.h> 386 #if SIZEOF_FLOAT == 8 387 float nan = 0.0 / 0.0; 388 int main() { exit( isnanf(nan) && !finitef(nan) ? 0:1 ); } 389 #elif SIZEOF_DOUBLE == 8 390 double nan = 0.0 / 0.0; 391 int main() { exit( isnan(nan) && !finite(nan) ? 0:1 ); } 392 #else 393 # error "no 64-bit floating point type" 394 #endif 395 ], 396 [ac_cv_cc_constant_NaN_div=yes], 397 [ac_cv_cc_constant_NaN_div=no], 398 [ac_cv_cc_constant_NaN_div=unknown])]) 399test $ac_cv_cc_constant_NaN_div = yes && AC_DEFINE(HAVE_CONSTANT_NAN_DIV) 400 401AC_CACHE_CHECK([for constant Inf], [ac_cv_cc_constant_Inf_div], 402 [AC_TRY_RUN([#include <math.h> 403 #if SIZEOF_FLOAT == 8 404 float inf = 1.0 / 0.0; 405 int main() { exit( !isnanf(inf) && !finitef(inf) ? 0:1 ); } 406 #elif SIZEOF_DOUBLE == 8 407 double inf = 1.0 / 0.0; 408 int main() { exit( !isnan(inf) && !finite(inf) ? 0:1 ); } 409 #else 410 # error "no 64-bit floating point type" 411 #endif 412 ], 413 [ac_cv_cc_constant_Inf_div=yes], 414 [ac_cv_cc_constant_Inf_div=no], 415 [ac_cv_cc_constant_Inf_div=unknown])]) 416test $ac_cv_cc_constant_Inf_div = yes && AC_DEFINE(HAVE_CONSTANT_INF_DIV) 417 418dnl 419dnl Hexadecimal floating point constants are ANSI, but are not supported 420dnl everywhere it seems. 421dnl 422 423AC_CACHE_CHECK([for hex float constants], [ac_cv_cc_constant_hex_float], 424 [AC_TRY_RUN([#if SIZEOF_FLOAT == 8 425 float 426 #elif SIZEOF_DOUBLE == 8 427 double 428 #else 429 # error "no 64-bit floating point type" 430 #endif 431 number = 0x1p3; 432 int main() { exit( number == 8 ? 0:1 ); } 433 ], 434 [ac_cv_cc_constant_hex_float=yes], 435 [ac_cv_cc_constant_hex_float=no], 436 [ac_cv_cc_constant_hex_float=unknown])]) 437test $ac_cv_cc_constant_hex_float = yes && AC_DEFINE(HAVE_CONSTANT_HEX_FLOAT) 438 439dnl 440dnl GNU-style variadic macros 441dnl 442 443AC_CACHE_CHECK([for variadic macros], [ac_cv_cc_variadic_macros], 444 [AC_TRY_COMPILE([ 445void f(void); 446#define f(a, b...) g(a, 5 , ## b) 447int g(v, w, x, y, z) int v,w,x,y,z; { return v*w*x*y*z; } 448 ], 449 [exit( f(2,3,7,9) == 2*3*5*7*9 ? 0 : 1 );], 450 [ac_cv_cc_variadic_macros=yes], 451 [ac_cv_cc_variadic_macros=no])]) 452test $ac_cv_cc_variadic_macros = yes && AC_DEFINE(HAVE_VARIADIC_MACROS) 453 454dnl 455dnl setjmp/longjmp 456dnl 457 458AC_CHECK_HEADERS([setjmp.h],,,[;]) 459AC_CACHE_CHECK([for working _longjmp()], [ac_cv_cc__longjmp_works], 460 [AC_TRY_RUN([#include <setjmp.h> 461 int main () { 462 jmp_buf b; volatile int c = 0; 463 464 if (_setjmp(b) == 6) c++; 465 if (c) exit(c == 2 ? 0 : c+1); 466 c++; 467 _longjmp(b, 6); 468 exit(1); 469 }], 470 [ac_cv_cc__longjmp_works=yes], 471 [ac_cv_cc__longjmp_works=no], 472 [ac_cv_cc__longjmp_works=unknown])]) 473test $ac_cv_cc__longjmp_works = yes && AC_DEFINE(HAVE__LONGJMP) 474 475AC_CACHE_CHECK([for working longjmp()], [ac_cv_cc_longjmp_works], 476 [AC_TRY_RUN([#include <setjmp.h> 477 int main () { 478 jmp_buf b; volatile int c = 0; 479 480 if (setjmp(b) == 6) c++; 481 if (c) exit(c == 2 ? 0 : c+1); 482 c++; 483 longjmp(b, 6); 484 exit(1); 485 }], 486 [ac_cv_cc_longjmp_works=yes], 487 [ac_cv_cc_longjmp_works=no], 488 [ac_cv_cc_longjmp_works=unknown])]) 489 490if test $ac_cv_cc_longjmp_works != no; then 491 if test $ac_cv_cc_longjmp_works = unknown; then 492 AC_MSG_WARN([assuming that longjmp() will actually work]) 493 fi 494 AC_DEFINE(HAVE_LONGJMP) 495fi 496 497if test $ac_cv_cc__longjmp_works = no -a \ 498 $ac_cv_cc_longjmp_works = no; then 499 AC_MSG_ERROR([cannot find working setjmp()/longjmp()]) 500fi 501 502dnl 503dnl check that vsnprintf works 504dnl 505 506AC_CACHE_CHECK([for working vsnprintf(0,0,,)], [ac_cv_libc_vsnprintf_works], 507 [AC_TRY_RUN([#include <stdio.h> 508 #include <stdarg.h> 509 510 int a(fmt, ap) 511 const char *fmt; 512 va_list ap; 513 { 514 return vsnprintf(0,0,fmt,ap); 515 } 516 int b(char *fmt, ...) 517 { 518 va_list ap; 519 int ret; 520 va_start(ap, fmt); 521 ret = a(fmt, ap); 522 va_end(ap); 523 return ret; 524 } 525 int main() { 526 int ret = b("test %s", "string"); 527 exit( ret == 11 ? 0 : 1); 528 }], 529 [ac_cv_libc_vsnprintf_works=yes], 530 [ac_cv_libc_vsnprintf_works=no], 531 [ac_cv_libc_vsnprintf_works=unknown])]) 532 533dnl ------------------------------------------------------------ 534dnl IEEE doubles/floats 535dnl 536 537AC_CACHE_CHECK([for 64-bit IEEE754 fp], [ac_cv_cc_ieee754], 538 [AC_TRY_RUN([ 539 int main() { 540#if SIZEOF_FLOAT == 8 541 float 542#elif SIZEOF_DOUBLE == 8 543 double 544#else 545# error "no 64-bit floating point type" 546#endif 547 fp = 2.7182818284590452354; 548 unsigned char expected[8] = { 549 0x40, 0x05, 0xbf, 0x0a, 0x8b, 0x14, 0x57, 0x69 550 }, e; 551 int i; 552 553 for (i = 0; i < 8; i++) { 554#ifdef WORDS_BIGENDIAN 555 e = expected[i]; 556#else 557 e = expected[7-i]; 558#endif 559 if (e != ((unsigned char *)&fp)[i]) 560 exit(1); 561 } 562 exit(0); 563 }], 564 [ac_cv_cc_ieee754=yes], 565 [ac_cv_cc_ieee754=no], 566 [ac_cv_cc_ieee754=unknown])]) 567 568if test x"$ac_cv_cc_ieee754" != x"yes"; then 569 AC_MSG_WARN([SEE's ECMAScript compliance relies on native IEEE754 support]) 570fi 571 572AC_CACHE_CHECK([platform class], [ac_cv_see_platform], [ 573case "$build_os" in 574 cygwin*|mingw*|pw32) ac_cv_see_platform=win32;; 575 *) ac_cv_see_platform=posix;; 576esac]) 577AM_CONDITIONAL(PLATFORM_POSIX, test x"$ac_cv_see_platform" = x"posix") 578AM_CONDITIONAL(PLATFORM_WIN32, test x"$ac_cv_see_platform" = x"win32") 579 580dnl ------------------------------------------------------------ 581dnl templates for autoheader 582dnl 583 584AH_TOP([#ifndef _SEE_h_config_ 585#define _SEE_h_config_]) 586AH_BOTTOM([#endif /* _SEE_h_config_ */]) 587 588AH_TEMPLATE([HAVE_CONSTANT_INF_DIV], 589 [Define if your compiler treats the expression 1.0/0.0 as constant]) 590AH_TEMPLATE([HAVE_CONSTANT_NAN_DIV], 591 [Define if your compiler treats the expression 0.0/0.0 as constant]) 592AH_TEMPLATE([HAVE_CONSTANT_HEX_FLOAT], 593 [Define if your compiler handles ANSI hex fp constants like '0x1p3']) 594AH_TEMPLATE([HAVE_VARIADIC_MACROS], 595 [Define if your preprocessor understands GNU-style variadic macros]) 596AH_TEMPLATE([HAVE_LONGJMP], 597 [Define if you have working longjmp() and setjmp() functions]) 598AH_TEMPLATE([HAVE__LONGJMP], 599 [Define if you have working _longjmp() and _setjmp() functions]) 600AH_TEMPLATE([HAVE_MEMCMP], 601 [Define if you have a working memcmp() function]) 602 603dnl ------------------------------------------------------------ 604dnl tests 605dnl 606 607 608dnl ------------------------------------------------------------ 609dnl finalisation 610dnl 611 612LIBSEE_REQS=`echo "$LIBSEE_REQS" | $SED -e 's/^,//'` #remove leading commas 613AC_OUTPUT 614