1dnl 2dnl aclocal.m4, read by configure 3dnl by pts@fazekas.hu at Thu Nov 1 23:07:16 CET 2001 4dnl advanced integer checks Sat Apr 6 12:32:02 CEST 2002 5dnl 6dnl Imp: is shell `elif' compatible 7dnl Imp: less autoconf warnings 8dnl Dat: m4 SUXX, no normal error message for missing ')' 9dnl Dat: FILE *f=fopen("conftestval", "w"); is autoconf trad 10 11dnl autoconf-2.13 generates bad code for AC_C_CONST in g++-3.2 12dnl autoconf-2.54 is good (verified at Wed Dec 11 15:28:28 CET 2002) 13AC_PREREQ([2.14]) 14 15dnl stupid autoconf-2.54 does #include <stdlib.h> 16m4_define([_AC_PROG_CXX_EXIT_DECLARATION],[:]) 17 18AC_DEFUN([AC_PTS_CHECK_INTEGRALS],[ 19dnl Checks for integral sizes. 20AC_REQUIRE([AC_HEADER_STDC]) 21AC_PTS_C_CHAR_UNSIGNED 22dnl ^^^ eliminates autoconf warning `warning: AC_TRY_RUN called without default to allow cross compiling' 23 24dnl by pts@fazekas.hu at Sat Apr 6 12:43:48 CEST 2002 25dnl Run some tests in a single burst. 26if test x"$ac_cv_sizeof_char" = x; then 27AC_MSG_CHECKING(size of char) 28AC_CACHE_VAL(ac_cv_sizeof_char, 29[ac_cv_sizeof_char_p=-1;ac_cv_sizeof_short=-1;ac_cv_sizeof_int=-1 30ac_cv_sizeof_long=-1 31AC_TRY_RUN([ 32#undef const 33#undef volatile 34#undef inline 35#include <stdio.h> 36int main(){FILE *f=fopen("conftestval", "w"); 37 if (!f) return 1; 38 fprintf(f, "ac_cv_sizeof_char=%d\n", sizeof(char)); 39 fprintf(f, "ac_cv_sizeof_char_p=%d\n", sizeof(char*)); 40 fprintf(f, "ac_cv_sizeof_short=%d\n", sizeof(short)); 41 fprintf(f, "ac_cv_sizeof_int=%d\n", sizeof(int)); 42 fprintf(f, "ac_cv_sizeof_long=%d\n", sizeof(long)); 43 return 0; /* exit(0); -- return is more portable */ 44}], eval "`cat conftestval`", , ac_cv_sizeof_char=-1)]) 45AC_MSG_RESULT($ac_cv_sizeof_char) 46AC_DEFINE_UNQUOTED(SIZEOF_CHAR, $ac_cv_sizeof_char) 47AC_DEFINE_UNQUOTED(SIZEOF_CHAR_P, $ac_cv_sizeof_char_p) 48AC_DEFINE_UNQUOTED(SIZEOF_SHORT, $ac_cv_sizeof_short) 49AC_DEFINE_UNQUOTED(SIZEOF_INT, $ac_cv_sizeof_int) 50AC_DEFINE_UNQUOTED(SIZEOF_LONG, $ac_cv_sizeof_long) 51fi 52dnl AC_PTS_CHECK_SIZEOF(char, -1) 53 54if test $ac_cv_sizeof_char = -1; then 55 AC_MSG_ERROR(cross compiling not supported by .._PTS_CHECK_INTEGRALS) 56fi 57AC_PTS_CHECK_SIZEOF(short, -1) 58AC_PTS_CHECK_SIZEOF(int, -1) 59AC_PTS_CHECK_SIZEOF(long, -1) 60AC_PTS_CHECK_SIZEOF(long long, -1) 61if test $ac_cv_sizeof_long_long = 8 62then ac_cv_sizeof___int64=0; ac_cv_sizeof_very_long=0; fi 63AC_PTS_CHECK_SIZEOF(very long, -1) 64if test $ac_cv_sizeof_very_long = 8; then ac_cv_sizeof___int64=0; fi 65AC_PTS_CHECK_SIZEOF(__int64, -1) 66dnl ^^^ very long type doesn't exit in any C standard. 67 68dnl Imp: make these cached 69# echo $ac_cv_sizeof_long_long 70if test $ac_cv_sizeof_char != 1; then 71 AC_MSG_ERROR(sizeof(char)!=1) 72fi 73if test $ac_cv_sizeof_short = 2; then 74 ac_cv_pts_int16_t=short 75elif test $ac_cv_sizeof_int = 2; then 76 ac_cv_pts_int16_t=int 77else 78 AC_MSG_ERROR(cannot find inttype: sizeof(inttype)==2) 79fi 80AC_DEFINE_UNQUOTED(PTS_INT16_T, $ac_cv_pts_int16_t) 81if test $ac_cv_sizeof_int = 4; then 82 ac_cv_pts_int32_t=int 83elif test $ac_cv_sizeof_long = 4; then 84 ac_cv_pts_int32_t=long 85elif test $ac_cv_sizeof_long -lt 4; then 86 AC_MSG_ERROR(sizeof(long)<4) 87else 88 AC_MSG_ERROR(cannot find inttype: sizeof(inttype)==4) 89fi 90AC_DEFINE_UNQUOTED(PTS_INT32_T, $ac_cv_pts_int32_t) 91if test $ac_cv_sizeof_long = 8; then 92 ac_cv_pts_int64_t=long 93elif test $ac_cv_sizeof_long_long = 8; then 94 ac_cv_pts_int64_t="long long" 95elif test $ac_cv_sizeof_very_long = 8; then 96 ac_cv_pts_int64_t="very long" 97elif test $ac_cv_sizeof___int64 = 8; then 98 ac_cv_pts_int64_t="__int64" 99else 100 dnl AC_DEFINE(PTS_INT64_T, 0) -- skip AC_DEFINE(); #undef is OK in aclocal.h 101 dnl Imp: put a real #undef into config.h (configure comments it out :-< ) 102 ac_cv_pts_int64_t=0 103 AC_MSG_WARN(cannot find inttype: sizeof(inttype)==8) 104fi 105AC_DEFINE_UNQUOTED(PTS_INT64_T, $ac_cv_pts_int64_t) 106if test $ac_cv_sizeof_long = 16; then 107 ac_cv_pts_int128_t=long 108elif test $ac_cv_sizeof_long_long = 16; then 109 ac_cv_pts_int128_t="long long" 110elif test $ac_cv_sizeof_very_long = 16; then 111 ac_cv_pts_int128_t="very long" 112else 113 dnl AC_DEFINE(PTS_INT128_T, 0) -- skip AC_DEFINE(); #undef is OK in aclocal.h 114 dnl Imp: put a real #undef into config.h (configure comments it out :-< ) 115 ac_cv_pts_int128_t=0 116 AC_MSG_WARN(cannot find inttype: sizeof(inttype)==16) 117fi 118AC_DEFINE_UNQUOTED(PTS_INT128_T, $ac_cv_pts_int128_t) 119]) 120 121dnl ripped from autoconf-2.13 (ruined by autoconf-2.50) 122dnl by pts@fazekas.hu at Wed Dec 11 12:33:53 CET 2002 123dnl AC_PTS_CHECK_SIZEOF(TYPE [, CROSS-SIZE]) 124AC_DEFUN(AC_PTS_CHECK_SIZEOF, 125[changequote(<<, >>)dnl 126dnl The name to #define. 127define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl 128dnl The cache variable name. 129define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl 130changequote([, ])dnl 131AC_MSG_CHECKING(size of $1) 132AC_CACHE_VAL(AC_CV_NAME, 133[AC_TRY_RUN([#include <stdio.h> 134#include <sys/types.h> 135int main() { 136 FILE *f=fopen("conftestval", "w"); 137 if (!f) return 1; 138 fprintf(f, "%d\n", sizeof($1)); 139 return 0; 140}], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$2], , , AC_CV_NAME=$2))])dnl 141AC_MSG_RESULT($AC_CV_NAME) 142AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME) 143undefine([AC_TYPE_NAME])dnl 144undefine([AC_CV_NAME])dnl 145]) 146 147 148 149AC_DEFUN([AC_PTS_CHECK_POINTERS],[ 150AC_REQUIRE([AC_PTS_CHECK_INTEGRALS]) 151AC_PTS_CHECK_SIZEOF(char *, -1) 152AC_PTS_CHECK_SIZEOF(void *, -1) 153dnl no need for checking for -1, AC_PTS_CHECK_INTEGRALS already did it 154AC_MSG_CHECKING(for an integral type to hold a ptr) 155AC_CACHE_VAL(ac_cv_pts_intp_t, [ 156if test $ac_cv_sizeof_char_p != $ac_cv_sizeof_void_p; then 157 AC_MSG_ERROR($ac_cv_sizeof_char_p==sizeof(char*)!=sizeof(void*)) 158fi 159if test $ac_cv_sizeof_char_p -le 2; then 160 ac_cv_pts_intp_t=$ac_cv_pts_int16_t 161elif test $ac_cv_sizeof_char_p -le 4; then 162 ac_cv_pts_intp_t=$ac_cv_pts_int32_t 163elif test $ac_cv_sizeof_char_p -le 8; then 164 ac_cv_pts_intp_t=$ac_cv_pts_int64_t 165elif test $ac_cv_sizeof_char_p -le 16; then 166 ac_cv_pts_intp_t=$ac_cv_pts_int128_t 167else 168 # :; fi; if true; then 169 AC_MSG_RESULT(not found!) 170 AC_MSG_ERROR(no integral type for sizeof(char*)==$ac_cv_sizeof_char_p) 171fi 172])dnl AC_CACHE_VAL 173AC_DEFINE_UNQUOTED(PTS_INTP_T, $ac_cv_pts_intp_t) 174AC_MSG_RESULT($ac_cv_pts_intp_t) 175AC_MSG_CHECKING(for ptr <-> integral conversion) 176AC_CACHE_VAL(ac_cv_pts_intp_ok, [ 177 AC_TRY_RUN([ 178/* #include "confdefs.h" -- automatic */ 179int main 180#ifdef __STDC__ 181(int argc, char **argv) 182#else 183(argc, argv) int argc; char **argv; 184#endif 185/* #ifndef __cplusplus; #define const; #endif -- automatic config.h */ 186 {char const*p="The quick brown fox."+5; 187 PTS_INTP_T i; 188 while (*p!='r') p++; /* prevent compiler optimisations */ 189 i=(PTS_INTP_T)p; 190 while (*p!='w') p++; /* prevent compiler optimisations */ 191 return p!=(char*)(i+2); } 192 ], ac_cv_pts_intp_ok=yes, ac_cv_pts_intp_ok=no, 193 [AC_MSG_ERROR(cross compiling not supported by .._PTS_CHECK_POINTERS)] 194)])dnl AC_CACHE_VAL 195if test x"$ac_cv_pts_intp_ok" = xyes; then 196 AC_DEFINE(PTS_INTP_OK) 197fi 198AC_MSG_RESULT($ac_cv_pts_intp_ok) 199]) 200 201dnl Ballast code elmiminated at Sat Apr 6 11:47:08 CEST 2002 202dnl [AC_MSG_RESULT(not found); AC_MSG_ERROR(This is fatal.)], 203dnl [AC_MSG_ERROR(cross compiling not supported by .._PTS_CHECK_INTEGRAL_TYPE)] 204dnl) 205dnlAC_MSG_RESULT($ac_cv_integral_type_$1) 206dnl]) 207 208AC_DEFUN([AC_PTS_CHECK_INTEGRAL_TYPEX],[ 209dnl @param $1: name of type 210dnl @param $2: substitution type 211dnl @param $3: stored name for the variable 212dnl errs out if specified type doesn't exist 213dnl please invoke AC_CHECK_HEADERS(unistd.h) 1st 214dnl Imp: make it work even if specified type doesn't exist 215dnl AC_TYPE_SIZE_T 216AC_REQUIRE([AC_HEADER_STDC]) 217AC_MSG_CHECKING(for integral type $3) 218AC_CACHE_VAL(ac_cv_integral_type_$3, [ 219AC_TRY_RUN([ 220#include <stdio.h> 221/* #include "confdefs.h" -- automatic */ 222#include <sys/types.h> 223#if STDC_HEADERS 224#include <stdlib.h> 225#include <stddef.h> 226#endif 227#include <stdio.h> 228#if HAVE_UNISTD_H 229#include <unistd.h> 230#endif 231#if HAVE_SYS_SOCKET_H 232#include <sys/socket.h> 233#endif 234#define MY_TYPE $1 235int main 236#ifdef __STDC__ 237(int argc, char **argv) 238#else 239(argc, argv) int argc; char **argv; 240#endif 241{ 242 FILE *f=fopen("conftestval", "w"); 243 if (!f) return 1; 244 fprintf(f, 0<(MY_TYPE)-1 ? "unsigned " : "signed "); 245 if (sizeof(MY_TYPE)==1) fprintf(f, "char"); 246 else if (sizeof(MY_TYPE)==sizeof(char)) fprintf(f, "char"); 247 else if (sizeof(MY_TYPE)==sizeof(short)) fprintf(f, "short"); 248 else if (sizeof(MY_TYPE)==sizeof(int)) fprintf(f, "int"); 249 else if (sizeof(MY_TYPE)==sizeof(long)) fprintf(f, "long"); 250 else if (sizeof(MY_TYPE)==sizeof(PTS_INT16_T)) fprintf(f, "PTS_INT16_T"); 251 else if (sizeof(MY_TYPE)==sizeof(PTS_INT32_T)) fprintf(f, "PTS_INT32_T"); 252 else if (sizeof(MY_TYPE)==sizeof(PTS_INT64_T)) fprintf(f, "PTS_INT64_T"); 253 else if (sizeof(MY_TYPE)==sizeof(PTS_INT128_T)) fprintf(f, "PTS_INT128_T"); 254 else return 3; /* fprintf(f, "???"); */ 255 if (ferror(f)) return 2; /* printf("\n"); */ 256 return 0; 257}], 258 [ac_cv_integral_type_$3="`cat conftestval`"; 259 ], 260 dnl vvv Imp: make this a macro 261 [if test x"$2" = x; then AC_MSG_RESULT(not found); AC_MSG_ERROR(This is fatal.); fi 262 ac_cv_integral_type_$3="$2" 263 echo -n "substituting " 264 dnl ^^^ Imp: echo -n... 265 dnl AC_MSG_RESULT(substituting $2) # doesn't work because of AC_CACHE_VAL 266 ], 267 [AC_MSG_ERROR(cross compiling not supported by .._PTS_CHECK_INTEGRAL_TYPEX)] 268) 269])dnl AC_CACHE_VAL 270AC_DEFINE_UNQUOTED(PTS_$3, $ac_cv_integral_type_$3) 271AC_MSG_RESULT($ac_cv_integral_type_$3) 272]) 273 274AC_DEFUN([AC_PTS_CHECK_INTEGRAL_TYPE],[ 275 AC_PTS_CHECK_INTEGRAL_TYPEX($1,$2,$1) 276]) 277 278AC_DEFUN([AC_PTS_TYPE_GETGROUPS], [ 279 AC_REQUIRE([AC_TYPE_GETGROUPS]) 280 dnl echo ,$ac_cv_type_getgroups, 281 AC_PTS_CHECK_INTEGRAL_TYPEX($ac_cv_type_getgroups, [], getgroups_t) 282]) 283 284 285dnl ripped from ruby-1.6.2 286AC_DEFUN([AC_PTS_HAVE_PROTOTYPES], [ 287 AC_CACHE_CHECK(whether cc supports prototypes, ac_cv_pts_have_prototypes, [ 288 AC_TRY_COMPILE( 289 [int foo(int x) { return 0; }], [return foo(10);], 290 ac_cv_pts_have_prototypes=yes, 291 ac_cv_pts_have_prototypes=no 292 ) 293 ]) 294 if test x"$ac_cv_pts_have_prototypes" = xyes; then 295 AC_DEFINE(HAVE_PROTOTYPES) 296 fi 297]) 298 299dnl by pts@fazekas.hu at Wed Dec 11 12:09:14 CET 2002 300AC_DEFUN([AC_PTS_HAVE_STATIC_CONST], [ 301 AC_CACHE_CHECK(whether c++ supports static const, ac_cv_pts_have_static_const, [ 302 AC_TRY_COMPILE( 303 [#undef const 304class A { public: static const int i=1; };], [return A::i==0;], 305 ac_cv_pts_have_static_const=yes, 306 ac_cv_pts_have_static_const=no 307 ) 308 ]) 309 if test x"$ac_cv_pts_have_static_const" = xyes; then 310 AC_DEFINE(HAVE_STATIC_CONST) 311 fi 312]) 313class A { static const int i=1; }; 314 315 316 317dnl by pts@fazekas.hu at Fri Nov 2 13:15:27 CET 2001 318AC_DEFUN([AC_PTS_HAVE_STDC], [ 319dnl Check for working standard C (also called as ANSI C) 320dnl implies check for AC_PTS_HAVE_PROTOTYPES, AC_HEADER_STDC 321 AC_REQUIRE([AC_HEADER_STDC]) 322 AC_REQUIRE([AC_PTS_HAVE_PROTOTYPES]) 323 AC_CACHE_CHECK(whether cc compiles standard C, ac_cv_pts_have_stdc, [ 324 AC_EGREP_CPP(nope, [ 325#if defined(__STDC__) && __STDC__ 326 /* note: the starting spaces are deliberate in the next line */ 327 #if 0 328 nope 329 #endif 330#else 331#if defined(__cplusplus) && __cplusplus 332 #if 0 333 nope 334 #endif 335#else 336 nope 337#endif 338#endif 339 ], ac_cv_pts_have_stdc=no, [ 340 if test x"$ac_cv_pts_have_prototypes" = xyes; then 341 ac_cv_pts_have_stdc=yes 342 else 343 ac_cv_pts_have_stdc=no 344 fi 345 ]) 346 ]) 347 if test x"$ac_cv_pts_have_stdc" = xyes; then 348 AC_DEFINE(HAVE_PTS_STDC) 349 fi 350]) 351 352dnl by pts@fazekas.hu at Fri Nov 2 13:46:39 CET 2001 353AC_DEFUN([AC_PTS_C_VOLATILE], [ 354 AC_CACHE_CHECK(for C keyword volatile, ac_cv_pts_have_volatile, [ 355 AC_TRY_COMPILE( 356 [volatile int i;], [i=5; i++; return i-6;], 357 ac_cv_pts_have_volatile=yes, 358 ac_cv_pts_have_volatile=no 359 ) 360 ]) 361 if test x"$ac_cv_pts_have_volatile" = xno; then 362 AC_DEFINE(volatile, ) 363 fi 364]) 365 366AC_DEFUN([AC_PTS_CHECK_HEADER], [ 367dnl @param $1 file to be #included 368dnl @param $2 function to be tested 369dnl @param $3 cache name, such as `strcpy_in_string' 370dnl @param $4 test code (main() function) 371dnl better than AC_CHECK_HEADERS because it undefines const and volatile 372dnl before including 373 AC_CACHE_CHECK(for working $2 in $1, ac_cv_pts_$3, [ 374 AC_TRY_RUN([ 375/* #include "confdefs.h" -- automatic */ 376#undef const 377#undef volatile 378#undef inline 379#include <$1> 380#include "confdefs.h" 381int main 382#ifdef __STDC__ 383(int argc, char **argv) 384#else 385(argc, argv) int argc; char **argv; 386#endif 387{ 388 $4 389 return 1; 390}], 391 ac_cv_pts_$3=yes, 392 ac_cv_pts_$3=no, 393 [AC_MSG_ERROR(cross compiling not supported by .._PTS_CHECK_HEADER)] 394 ) 395 ]) 396 if test x"$ac_cv_pts_$3" = xyes; then 397 AC_DEFINE_UNQUOTED(HAVE_$3) 398 fi 399]) 400 401dnl by pts@fazekas.hu at Fri Nov 2 15:05:19 CET 2001 402AC_DEFUN([AC_PTS_CHECK_STRING], [ 403dnl defines ac_cv_pts_have_string 404dnl defines ac_cv_pts_have_memcmpy_builtin 405dnl defines ac_cv_pts_string_header 406 AC_PTS_CHECK_HEADER(string.h, strcpy, strcpy_in_string, [char s[42]="X"; strcpy(s, "Hello, World!"); return *s!='H';] ) 407 ac_cv_pts_have_string=no 408 if test x"$ac_cv_pts_strcpy_in_string" = xyes; then 409 ac_cv_pts_have_string=yes 410 ac_cv_pts_string_header=string 411 else 412 AC_PTS_CHECK_HEADER(strings.h, strcpy, strcpy_in_strings, [char s[42]="X"; strcpy(s, "Hello, World!"); return *s!='H';] ) 413 if test x"$ac_cv_pts_strcpy_in_strings" = xyes; then 414 ac_cv_pts_have_string=yes 415 ac_cv_pts_string_header=strings 416 fi 417 fi 418 if test x"$ac_cv_pts_have_string" = xyes; then 419 AC_DEFINE(HAVE_STRING) 420 fi 421 CC_bak="$CC" 422 CC="${CC:-cc} -Werror" 423 AC_PTS_CHECK_HEADER($ac_cv_pts_string_header.h, memcpy, memcpy_in_stringxs, [char s[42]="X"; memcpy(s, "Hello, World!", 2); return *s!='H'; ]) 424 CC="$CC_bak" 425 426 AC_CACHE_CHECK(whether memcmp and memcpy are built-in, ac_cv_pts_have_memcmpy_builtin, [ 427 ac_cv_pts_have_memcmpy_builtin=no 428 if test x"$ac_cv_pts_have_string" = xyes; then 429 dnl They are built-in for gcc 2.7.2.3 -traditional 430 if test x"$ac_cv_pts_memcpy_in_stringxs" = xno; then 431 AC_TRY_RUN([ 432int main 433#ifdef __STDC__ 434(int argc, char **argv) 435#else 436(argc, argv) int argc; char **argv; 437#endif 438{ 439 char s[42]="X"; memcpy(s, "Hello, World!", 2); return memcmp(s, "H", 1)!=0; 440}], 441 [ac_cv_pts_have_memcmpy_builtin=yes], 442 [AC_MSG_ERROR(missing memcmp and memcpy)], 443 [AC_MSG_ERROR(cross compiling not supported by .._PTS_CHECK_STRING)] 444 ) 445 fi 446 fi 447 ]) 448 if test x"$ac_cv_pts_have_memcmpy_builtin" = xyes; then 449 AC_DEFINE(HAVE_MEMCMPY_BUILTIN) 450 fi 451]) 452 453dnl by pts@fazekas.hu at Tue Sep 3 19:27:50 CEST 2002 454dnl g++-3.2: cc1plus: warning: ignoring command line option '-Wnested-externs' 455dnl Usage: AC_PTS_CHECK_IGNORING(nebfcmd,-Wnested-externs -Wbad-function-cast -Wmissing-declarations) 456AC_DEFUN([AC_PTS_CHECK_IGNORING], [ 457 XTRA="$2" 458 CC_bak="$CC" CC="${CC:-cc} -Werror $2" 459 CXX_bak="$CXX" CXX="${CXX:-c++} -Werror $2" 460 AC_CACHE_CHECK([for ignored $2],ac_cv_pts_ignoring_$1, [ 461 AC_TRY_COMPILE([],[], 462 ac_cv_pts_ignoring_$1=no,ac_cv_pts_ignoring_$1=yes)]) 463 CC="$CC_bak" 464 CXX="$CXX_bak" 465]) 466 467dnl by pts@fazekas.hu at Fri Nov 2 15:05:27 CET 2001 468AC_DEFUN([AC_PTS_CHECK_MALLOC], [ 469dnl never fails 470 AC_PTS_CHECK_HEADER(stdlib.h, malloc, malloc_in_stdlib, [char *p=(char*)malloc(42); if (p!=0) free((void*)p); return p==0;]) 471 if test x"$ac_cv_pts_malloc_in_stdlib" != xyes; then 472 AC_PTS_CHECK_HEADER(malloc.h, malloc, malloc_in_malloc, [char *p=malloc(42); if (p!=0) free(p); return p==0;]) 473 fi 474]) 475 476 477dnl by pts@fazekas.hu at Fri Nov 2 16:51:13 CET 2001 478AC_DEFUN([AC_PTS_HAVE_SWITCH_ENUM_BUG], [ 479 AC_CACHE_CHECK(for switch(enum) bug, ac_cv_pts_have_switch_enum_bug, [ 480 AC_TRY_RUN([ 481enum what { foo, bar }; 482int main 483#ifdef __STDC__ 484(int argc, char **argv) 485#else 486(argc, argv) int argc; char **argv; 487#endif 488{ 489 switch ((enum what)1) { 490 case foo: return 1; 491 case bar: return 0; 492 } 493 return 1; 494}], 495 [ac_cv_pts_have_switch_enum_bug=no], 496 [ac_cv_pts_have_switch_enum_bug=yes], 497 [AC_MSG_ERROR(cross compiling not supported by .._PTS_HAVE_SWITCH_ENUM_BUG)] 498 ) 499 ]) 500 if test x"$ac_cv_pts_have_switch_enum_bug" = xyes; then 501 AC_DEFINE(HAVE_SWITCH_ENUM_BUG) 502 fi 503]) 504 505dnl by pts@fazekas.hu at Mon Mar 4 09:17:43 CET 2002 506AC_DEFUN([AC_PTS_HAVE_ASCII_SYSTEM], [ 507 AC_CACHE_CHECK(for ASCII system, ac_cv_pts_have_ascii_system, [ 508 AC_EGREP_CPP(ascii_yes,[ 509#if 'a'!=97 || '!'!=33 510#error You need an ASCII system to compile this. 511#else 512ascii_yes 513#endif 514], 515 ac_cv_pts_have_ascii_system=yes, ac_cv_pts_have_ascii_system=no 516 ) 517 ]) 518 if test x"$ac_cv_pts_have_ascii_system" = xyes; then 519 AC_DEFINE(HAVE_ASCII_SYSTEM) 520 fi 521]) 522 523AC_DEFUN([AC_PTS_ENSURE_ASCII_SYSTEM], [ 524 AC_PTS_HAVE_ASCII_SYSTEM 525 if test x"$ac_cv_pts_have_ascii_system" != xyes; then 526 AC_MSG_ERROR(you need an ASCII system) 527 fi 528]) 529 530dnl by pts@fazekas.hu at Fri Nov 2 16:51:13 CET 2001 531AC_DEFUN([AC_PTS_CFG_P_TMPDIR], [ 532 AC_CACHE_CHECK(for tmpdir, ac_cv_pts_cfg_p_tmpdir, [ 533 AC_TRY_RUN([ 534#define __USE_SVID 1 535#define __USE_GNU 1 536#include <stdio.h> 537 538int main 539#ifdef __STDC__ 540(int argc, char **argv) 541#else 542(argc, argv) int argc; char **argv; 543#endif 544{ 545 FILE *f=fopen("conftestval","w"); 546 if (!f) return 1; 547 fputs(P_tmpdir,f); 548 return 0; 549}], 550 [ac_cv_pts_cfg_p_tmpdir=\""`cat conftestval`"\"], 551 [ac_cv_pts_cfg_p_tmpdir=0], 552 [AC_MSG_ERROR(cross compiling not supported by .._PTS_CFG_P_TMPDIR)] 553 ) 554 ]) 555 AC_DEFINE_UNQUOTED(PTS_CFG_P_TMPDIR, $ac_cv_pts_cfg_p_tmpdir) 556]) 557 558dnl by pts@fazekas.hu at Thu Dec 12 20:20:41 CET 2002 559AC_DEFUN([AC_PTS_HAVE_SYSTEMF], [ 560 echo no-original >conftestval 561 AC_CACHE_CHECK(for working system(3), ac_cv_pts_systemf, [ 562 AC_TRY_RUN([ 563#include <stdio.h> 564#include <stdlib.h> /* system() */ 565 566int main 567#ifdef __STDC__ 568(int argc, char **argv) 569#else 570(argc, argv) int argc; char **argv; 571#endif 572{ 573 (void)argc; 574 (void)argv; 575 if (0!=system("echo t >conftestval && echo \"let it\" be e >conftestval")) { 576 FILE *f=fopen("conftestval","w"); 577 if (f) { 578 fprintf(f,"runtime-error\n"); 579 fclose(f); 580 } 581 } 582 return 0; 583} 584], [ac_cv_pts_systemf="`cat conftestval`"; ac_cv_pts_systemf="${ac_cv_pts_systemf:-invalid}"], 585 [ac_cv_pts_systemf=compile-error], 586 [AC_MSG_ERROR(cross compiling not supported by .._PTS_HAVE_VSNPRINTF)] 587 ) 588 # echo "($ac_cv_pts_systemf)" 589 # if test x"$ac_cv_pts_systemf" = x'"let it" be e '; then 590 if test x"$ac_cv_pts_systemf" = x't && echo "let it" be e '; then 591 # Win32 COMMAND.COM 592 ac_cv_pts_systemf=win32 593 elif test x"$ac_cv_pts_systemf" = x"let it be e"; then 594 # UNIX /bin/sh 595 ac_cv_pts_systemf=unix 596 fi 597 ]) 598 if test x"$ac_cv_pts_systemf" = xwin32; then 599 ac_cv_pts_have_systemf=yes 600 AC_DEFINE(HAVE_PTS_SYSTEMF) 601 AC_DEFINE(HAVE_PTS_SYSTEMF_WIN32) 602 elif test x"$ac_cv_pts_systemf" = xunix; then 603 ac_cv_pts_have_systemf=yes 604 AC_DEFINE(HAVE_PTS_SYSTEMF) 605 AC_DEFINE(HAVE_PTS_SYSTEMF_UNIX) 606 elif test x"$ac_cv_pts_systemf" = x"invalid"; then 607 ac_cv_pts_have_systemf=no 608 elif test x"$ac_cv_pts_systemf" = x"compile-error"; then 609 ac_cv_pts_have_systemf=no 610 elif test x"$ac_cv_pts_systemf" = x"runtime-error"; then 611 ac_cv_pts_have_systemf=no 612 elif test x"$ac_cv_pts_systemf" = x"no-original"; then 613 ac_cv_pts_have_systemf=no 614 else 615 ac_cv_pts_have_systemf=yes 616 # ac_cv_pts_systemf=other 617 AC_DEFINE(HAVE_PTS_SYSTEMF) 618 AC_DEFINE(HAVE_PTS_SYSTEMF_OTHER) 619 fi 620]) 621 622dnl by pts@fazekas.hu at Fri Mar 22 16:40:22 CET 2002 623AC_DEFUN([AC_PTS_HAVE_POPEN_B], [ 624 AC_CACHE_CHECK(for binary popen_b, ac_cv_pts_have_popen_b, [ 625 AC_TRY_RUN([ 626#define _XOPEN_SOURCE 1 /* popen() on Digital UNIX */ 627#define _POSIX_SOURCE 1 /* popen() */ 628#define _POSIX_C_SOURCE 2 /* popen() */ 629#include <stdio.h> 630 631int main 632#ifdef __STDC__ 633(int argc, char **argv) 634#else 635(argc, argv) int argc; char **argv; 636#endif 637{ FILE *p=popen("echo Ko rt5","rb"); 638 int i; 639 (void)argc; (void)argv; 640 if (p==0) return 1; 641 if (getc(p)!='K' || getc(p)!='o' || getc(p)!=' ') return 2; 642 if (getc(p)!='r' || getc(p)!='t') return 3; 643 if (getc(p)!='f'-'a'+'0') return 4; 644 if (getc(p)!='\n') return 5; 645 if (getc(p)!=-1) return 6; 646 if (0!=pclose(p)) return 7; 647 648 p=popen("cat >conftestval","wb"); 649 if (p==0) return 31; 650 for (i=0;i<666;i++) putc(i,p); 651 if (ferror(p)) return 32; 652 if (0!=pclose(p)) return 33; 653 p=fopen("conftestval","rb"); 654 if (p==0) return 34; 655 for (i=0;i<666;i++) if (getc(p)!=(i&255)) return 35; 656 if (fclose(p)!=0) return 36; 657 658 return 0; 659} 660], [ac_cv_pts_have_popen_b=yes], 661 [ac_cv_pts_have_popen_b=no], 662 [AC_MSG_ERROR(cross compiling not supported by .._PTS_HAVE_POPEN_B)] 663 ) 664 ]) 665dnl AC_DEFINE_UNQUOTED(HAVE_PTS_POPEN_B, $ac_cv_pts_have_popen_b) 666 if test x"$ac_cv_pts_have_popen_b" = xyes; then 667 AC_DEFINE(HAVE_PTS_POPEN_B) 668 fi 669]) 670 671dnl by pts@fazekas.hu at Fri Mar 22 16:40:22 CET 2002 672AC_DEFUN([AC_PTS_HAVE_POPEN_], [ 673 AC_CACHE_CHECK(for binary popen_, ac_cv_pts_have_popen_, [ 674 AC_TRY_RUN([ 675#define _XOPEN_SOURCE 1 /* popen() on Digital UNIX */ 676#define _POSIX_SOURCE 1 /* popen() */ 677#define _POSIX_C_SOURCE 2 /* popen() */ 678#include <stdio.h> 679 680int main 681#ifdef __STDC__ 682(int argc, char **argv) 683#else 684(argc, argv) int argc; char **argv; 685#endif 686{ FILE *p=popen("echo Ko rt5","r"); 687 int i; 688 (void)argc; (void)argv; 689 if (p==0) return 1; 690 if (getc(p)!='K' || getc(p)!='o' || getc(p)!=' ') return 2; 691 if (getc(p)!='r' || getc(p)!='t') return 3; 692 if (getc(p)!='f'-'a'+'0') return 4; 693 if (getc(p)!='\n') return 5; 694 if (getc(p)!=-1) return 6; 695 if (0!=pclose(p)) return 7; 696 697 p=popen("cat >conftestval","w"); 698 if (p==0) return 31; 699 for (i=0;i<666;i++) putc(i,p); 700 if (ferror(p)) return 32; 701 if (0!=pclose(p)) return 33; 702 p=fopen("conftestval","rb"); 703 if (p==0) return 34; 704 for (i=0;i<666;i++) if (getc(p)!=(i&255)) return 35; 705 if (fclose(p)!=0) return 36; 706 707 return 0; 708} 709], [ac_cv_pts_have_popen_=yes], 710 [ac_cv_pts_have_popen_=no], 711 [AC_MSG_ERROR(cross compiling not supported by .._PTS_HAVE_POPEN_)] 712 ) 713 ]) 714dnl AC_DEFINE_UNQUOTED(HAVE_PTS_POPEN_, $ac_cv_pts_have_popen_) 715 if test x"$ac_cv_pts_have_popen_" = xyes; then 716 AC_DEFINE(HAVE_PTS_POPEN_) 717 fi 718]) 719 720dnl by pts@fazekas.hu at Fri Mar 22 19:36:26 CET 2002 721dnl huge BUGFIX at Tue Jun 11 13:38:30 CEST 2002 722dnl on kempelen: ac_cv_pts_vsnprintf=bad 723AC_DEFUN([AC_PTS_HAVE_VSNPRINTF], [ 724 AC_CACHE_CHECK(for working vsnprintf, ac_cv_pts_vsnprintf, [ 725 AC_TRY_RUN([ 726#if 0 /* autoconf-2.54 */ 727 extern "C" void std::exit (int) throw (); using std::exit; 728 extern "C" void std::exit (int); using std::exit; 729 extern "C" void exit (int) throw (); 730 extern "C" void exit (int); 731 void exit (int); 732#endif 733#ifdef __cplusplus 734extern "C" void exit(int); 735#endif 736#define _BSD_SOURCE 1 /* vsnprintf */ 737#define _POSIX_SOURCE 1 738#define _POSIX_C_SOURCE 2 739#include <stdio.h> 740#include <stdarg.h> 741#include <string.h> 742 743static int myprintf(int max, char *dstr, char *fmt, ...) { 744 int i; 745 va_list ap; 746 #if defined(__STDC__) 747 va_start(ap, fmt); 748 #else 749 va_start(ap); 750 #endif 751 i=vsnprintf(dstr, max, fmt, ap); 752 va_end(ap); 753 return i; 754} 755 756int c99t[]={13,9,10,10,10}, oldt[]={-1,9,-1,0,-1}, sun99t[]={13,9,10,-1,10}; 757/* wincrtt[]={-1,9,10,-1,-1}, but it modifies the string in a completely 758 * bogus way (passes 1 test of 5) 759 */ 760 761int main 762#ifdef __STDC__ 763(int argc, char **argv) 764#else 765(argc, argv) int argc; char **argv; 766#endif 767{ char buf[40]; 768 int i; 769 int g[5], gg; 770 int *t=oldt; 771 FILE *f=fopen("conftestval","w"); 772 (void)argc; 773 (void)argv; 774 775 if (f) { 776 for (i=0;i<(int)sizeof(buf)-1;i++) buf[i]='X'; buf[i]='\0'; 777 i=myprintf(10, buf, "%s-%ld", "Alma", -1234567L); 778 if (i==c99t[0]) t=c99t; /* oldt[0]!=c99t[0] */ 779 g[0]=(i==t[0] && 0==memcmp(buf, "Alma--123\0X", 11)); 780 /* printf("(%s) %d %d\n", buf, i, g[0]); */ 781 782 for (i=0;i<(int)sizeof(buf)-1;i++) buf[i]='Y'; buf[i]='\0'; 783 i=myprintf(10, buf, "%s-%ld", "Alma", -123L); 784 g[1]=(i==t[1] && 0==memcmp(buf, "Alma--123\0Y", 11)); 785 /* printf("(%s) %d %d\n", buf, i, g[1]); */ 786 787 for (i=0;i<(int)sizeof(buf)-1;i++) buf[i]='Z'; buf[i]='\0'; 788 i=myprintf(10, buf, "%s-%ld", "Alma", -1234L); 789 g[2]=(i==t[2] && 0==memcmp(buf, "Alma--123\0Z", 11)); 790 /* printf("(%s) %d %d\n", buf, i, g[2]); */ 791 792 buf[0]='#'; 793 i=myprintf(0, buf, "%s-%ld", "Alma", -1234L); 794 if (t==c99t && i==sun99t[3]) t=sun99t; 795 g[3]=(i==t[3] && buf[0]=='#'); 796 /* printf("(%s) %d %d\n", buf, i, g[3]); */ 797 798 buf[0]=buf[1]='$'; 799 i=myprintf(1, buf, "%s-%ld", "Alma", -1234L); 800 g[4]=(i==t[4] && buf[0]=='\0' && buf[1]=='$'); 801 /* printf("(%s) %d %d\n", buf, i, g[4]); */ 802 803 gg=g[0] && g[1] && g[2] && g[3] && g[4]; 804 fputs(!gg ? "bad\n" : t==oldt ? "old\n" : t==sun99t ? "sun99\n" : "c99\n", f); 805 fclose(f); 806 } 807 return 0; 808} 809], [ac_cv_pts_vsnprintf="`cat conftestval`"; ac_cv_pts_vsnprintf="${ac_cv_pts_vsnprintf:-invalid}"], 810 [ac_cv_pts_vsnprintf=no], 811 [AC_MSG_ERROR(cross compiling not supported by .._PTS_HAVE_VSNPRINTF)] 812 ) 813 ]) 814 if test x"$ac_cv_pts_vsnprintf" = xold; then 815 ac_cv_pts_have_vsnprintf=yes 816 AC_DEFINE(HAVE_PTS_VSNPRINTF) 817 AC_DEFINE(HAVE_PTS_VSNPRINTF_OLD) 818 elif test x"$ac_cv_pts_have_vsnprintf" = xc99; then 819 ac_cv_pts_have_vsnprintf=yes 820 AC_DEFINE(HAVE_PTS_VSNPRINTF) 821 AC_DEFINE(HAVE_PTS_VSNPRINTF_C99) 822 else 823 ac_cv_pts_have_vsnprintf=no 824 ac_cv_pts_vsnprintf=no 825 fi 826]) 827 828dnl by pts@fazekas.hu at Sun Mar 31 17:26:01 CEST 2002 829AC_DEFUN([AC_PTS_HAVE_ERRNO_DECL], [ 830 AC_CACHE_CHECK([for errno in errno.h],ac_cv_pts_errno_decl, [ 831 AC_TRY_COMPILE([#include <errno.h>],[int i = errno], 832 ac_cv_pts_errno_decl=yes,ac_cv_pts_have_errno_decl=no)]) 833 if test x"$ac_cv_pts_errno_decl" = x"yes"; then 834 AC_DEFINE(HAVE_ERRNO_DECL, 1, [ ]) 835 fi 836]) 837 838dnl by pts@fazekas.hu at Sun Mar 31 22:19:16 CEST 2002 839dnl modeled after Autoconf internal AC_EGREP_CPP 840dnl AC_PTS_SED_EGREP_CPP(SED-PATTERN, EGREP-PATTERN, PROGRAM, [ACTION-IF-FOUND [, 841dnl ACTION-IF-NOT-FOUND]]) 842AC_DEFUN(AC_PTS_SED_EGREP_CPP, 843[AC_REQUIRE_CPP()dnl 844cat > conftest.$ac_ext <<EOF 845[#]line __oline__ "configure" 846#include "confdefs.h" 847[$3] 848EOF 849dnl eval is necessary to expand ac_cpp. 850dnl Ultrix and Pyramid sh refuse to redirect output of eval, so use subshell. 851if (eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC | 852dnl Prevent m4 from eating regexp character classes: 853changequote(, )dnl 854 sed -n '$1' | egrep '$2' >/dev/null 2>&1; then 855changequote([, ])dnl 856 ifelse([$4], , :, [rm -rf conftest* 857 $4]) 858ifelse([$5], , , [else 859 rm -rf conftest* 860 $5 861])dnl 862fi 863rm -f conftest* 864]) 865 866dnl by pts@fazekas.hu at Sun Mar 31 22:23:48 CEST 2002 867dnl Digital UNIX OSF/1 has it in _some_ cases. 868AC_DEFUN([AC_PTS_HAVE_GETSOCKNAME_SIZE_T], [ 869 AC_CACHE_CHECK(whether getsockname accepts size_t, ac_cv_pts_have_getsockname_size_t, [ 870 AC_PTS_SED_EGREP_CPP([/getsockname/,/)/p], [size_t], 871 [#include <sys/socket.h>], 872 [ac_cv_pts_have_getsockname_size_t=yes], 873 [ac_cv_pts_have_getsockname_size_t=no] 874 ) 875 ]) 876 if test x"$ac_cv_pts_have_getsockname_size_t" = xyes; then 877 AC_DEFINE(HAVE_PTS_GETSOCKNAME_SIZE_T) 878 fi 879]) 880 881dnl by pts@fazekas.hu at Sun Mar 31 22:23:48 CEST 2002 882dnl Digital UNIX OSF/1 has it. 883AC_DEFUN([AC_PTS_HAVE_GETSOCKNAME_SOCKLEN_T], [ 884 AC_CACHE_CHECK(whether getsockname accepts socklen_t, ac_cv_pts_have_getsockname_socklen_t, [ 885 AC_PTS_SED_EGREP_CPP([/getsockname/,/)/p], [socklen_t], 886 [#include <sys/socket.h>], 887 [ac_cv_pts_have_getsockname_socklen_t=yes], 888 [ac_cv_pts_have_getsockname_socklen_t=no] 889 ) 890 ]) 891 if test x"$ac_cv_pts_have_getsockname_socklen_t" = xyes; then 892 AC_DEFINE(HAVE_PTS_GETSOCKNAME_SOCKLEN_T) 893 fi 894]) 895 896dnl by pts@fazekas.hu at Sun Mar 31 23:50:05 CEST 2002 897dnl Digital UNIX OSF/1 has it. 898AC_DEFUN([AC_PTS_ENABLE_DEBUG], [ 899 AC_MSG_CHECKING([for --enable-debug]) 900 AC_SUBST(ENABLE_DEBUG) 901 AC_ARG_ENABLE(debug, 902 [ --enable-debug[=val] val: no, assert(default), yes, checker], 903 [], []) 904 ENABLE_DEBUG="$enable_debug" 905 if test x"$enable_debug" = xno; then 906 AC_MSG_RESULT(no) 907 elif test x"$enable_debug" = x || test x"$enable_debug" = xassert; then 908 AC_MSG_RESULT(assert) 909 ENABLE_DEBUG=assert 910 elif test x"$enable_debug" = xyes; then 911 AC_MSG_RESULT(yes) 912 elif test x"$enable_debug" = xchecker; then 913 AC_MSG_RESULT(checker) 914 else 915 AC_MSG_RESULT("?? $enable_debug") 916 AC_MSG_ERROR(Invalid --enable--debug option specified.) 917 fi 918]) 919 920dnl by pts@fazekas.hu at Thu Apr 4 13:25:20 CEST 2002 921dnl Keeps conftest* 922AC_DEFUN(AC_PTS_TRY_COMPILE_NORM, 923[cat > conftest.$ac_ext <<EOF 924dnl vvv Dat: breaks newer autoconfs :-( 925dnl ifelse(AC_LANG, [FORTRAN77], 926ifelse(not_AC_LANG, [FORTRAN77], 927[ program main 928[$2] 929 end], 930[dnl This sometimes fails to find confdefs.h, for some reason. 931dnl [#]line __oline__ "[$]0" 932[#]line __oline__ "configure" 933#include "confdefs.h" 934[$1] 935int main() { 936[$2] 937; return 0; } 938])EOF 939if AC_TRY_EVAL(ac_compile); then 940 ifelse([$3], , :, [ 941 $3]) 942else 943 echo "configure: failed program was:" >&AC_FD_CC 944 cat conftest.$ac_ext >&AC_FD_CC 945ifelse([$4], , , [ 946 $4 947])dnl 948fi 949rm -f conftest*]) 950 951dnl by pts@fazekas.hu at Thu Apr 4 13:00:08 CEST 2002 952dnl Checks whether `gcc' can link C++ programs (and thus libstdc++ is 953dnl avoided). 954AC_DEFUN([AC_PTS_GCC_LINKS_CXX], [ 955 AC_REQUIRE([AC_LANG_CPLUSPLUS]) 956 AC_REQUIRE([AC_PROG_CXX]) 957 AC_CACHE_CHECK(whether gcc can link C++ code, ac_cv_pts_gcc_links_cxx, [ 958 CXX_saved="$CXX" 959 LIBS_saved="$LIBS" 960 CXX_new="$CXX" 961 ac_ext_saved="$ac_ext" 962 AC_PTS_TRY_COMPILE_NORM([ 963 #include <stdio.h> 964 struct B { virtual int f()=0; int x() { return f(); } }; 965 struct C1: public B { virtual int f() {return 1;}}; 966 struct C2: public B { virtual int f() {return 2;}}; 967 C1 global; /* global.x() will cause segfault in i386-uclibc-gcc */ 968 ],[ 969 /* vvv (B*) cast added for gcc-3.1 */ 970 B *p=(ferror(stderr))?(B*)new C1():(B*)new C2(); /* Imp: argc... */ 971 /* if (p==0) throw long(42); */ /* doesn't work with -fno-rtti */ 972 int ok2=p->x()==2; 973 delete p; 974 return !(ok2 && global.x()==1); 975 ],[ 976 case x"$CC" in 977 xgcc-*) CXX="$CC" ;; # gcc-3.2 978 x*-gcc-*) CXX="$CC" ;; # 979 x*-gcc) CXX="$CC" ;; # i386-uclibc-gcc 980 *) CXX=gcc ;; 981 esac 982 CXX_new="$CXX" 983 ac_ext="$ac_objext" 984 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} && ./conftest${ac_exeext} 985 then ac_cv_pts_gcc_links_cxx=yes 986 else 987 LIBS="$LIBS_saved c_lgcc.cpp" 988 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} && ./conftest${ac_exeext} 989 then ac_cv_pts_gcc_links_cxx=yes-with-help 990 else 991 LIBS="$LIBS_saved c_lgcc3.cpp" 992 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} && ./conftest${ac_exeext} 993 then ac_cv_pts_gcc_links_cxx=yes-with-help3 994 else ac_cv_pts_gcc_links_cxx=no; CXX_new="$CXX_saved"; fi 995 fi 996 fi 997 ],[ac_cv_pts_gcc_links_cxx=compilation-failed]) 998 CXX="$CXX_saved" 999 LIBS="$LIBS_saved" 1000 ac_ext="$ac_ext_saved" 1001 ]) 1002 AC_SUBST(LDXX) 1003 case x"$ac_cv_pts_gcc_links_cxx" in 1004 xyes-with-help) LDXX="$CXX_new"; AC_DEFINE(HAVE_PTS_C_LGCC_CPP_REQUIRED) ;; 1005 xyes-with-help3) LDXX="$CXX_new"; AC_DEFINE(HAVE_PTS_C_LGCC3_CPP_REQUIRED) ;; 1006 xyes) LDXX="$CXX_new" ;; 1007 xno) LDXX="$CXX_new" ;; 1008 *) AC_MSG_ERROR([Compilation failed, aborting.]) ;; 1009 esac 1010]) 1011 1012dnl by pts@fazekas.hu at Sat Apr 6 10:56:48 CEST 2002 1013dnl based on AC_PROG_CXX_G from acspecific.m4 of autoconf 1014dnl Appends the specified flags to CXXFLAGS, so it will affect subsequent AC_* 1015dnl tests. 1016dnl Example: AC_PTS_PROG_CXXFLAGS(nrne, -fno-rtti -fno-exceptions) 1017AC_DEFUN(AC_PTS_PROG_CXXFLAGS, 1018[AC_REQUIRE([AC_PROG_CXX]) 1019AC_CACHE_CHECK(whether ${CXX-g++} accepts $2, ac_cv_prog_cxx_$1, 1020[echo 'void f(void);void f(void){}' > conftest.cc 1021if test -z "`${CXX-g++} $2 -c conftest.cc 2>&1`" 1022then ac_cv_prog_cxx_$1=yes; 1023else ac_cv_prog_cxx_$1=no; fi 1024rm -f conftest* 1025]) 1026if test $ac_cv_prog_cxx_$1 = yes; then CXXFLAGS="$CXXFLAGS $2"; fi 1027]) 1028 1029dnl by pts@fazekas.hu at Sat Apr 6 10:56:48 CEST 2002 1030dnl based on AC_PROG_CXX_G from acspecific.m4 of autoconf 1031dnl Appends the specified flags to CXXFLAGSB, so it won't affect subsequent 1032dnl AC_* tests. 1033dnl Example: AC_PTS_PROG_CXXFLAGSB(apwaw, -ansi -pedantic -Wall -W) 1034AC_DEFUN(AC_PTS_PROG_CXXFLAGSB, 1035[AC_REQUIRE([AC_PROG_CXX]) 1036AC_SUBST(CXXFLAGSB) 1037AC_CACHE_CHECK(whether ${CXX-g++} accepts $2, ac_cv_prog_cxx_$1, 1038[echo 'void f(void);void f(void){}' > conftest.cc 1039if test -z "`${CXX-g++} $2 -c conftest.cc 2>&1`" 1040then ac_cv_prog_cxx_$1=yes; 1041else ac_cv_prog_cxx_$1=no; fi 1042rm -f conftest* 1043]) 1044if test $ac_cv_prog_cxx_$1 = yes; then CXXFLAGSB="$CXXFLAGSB $2"; fi 1045]) 1046 1047dnl by pts@fazekas.hu at Sat Apr 6 10:56:48 CEST 2002 1048dnl based on AC_PROG_CXX_G from acspecific.m4 of autoconf 1049dnl Appends the specified flags to CFLAGS, so it will affect subsequent AC_* 1050dnl tests. 1051dnl Example: AC_PTS_PROG_CFLAGS(nrne, -fno-rtti -fno-exceptions) 1052AC_DEFUN(AC_PTS_PROG_CFLAGS, 1053[AC_REQUIRE([AC_PROG_CC]) 1054AC_CACHE_CHECK(whether ${CC-gcc} accepts $2, ac_cv_prog_cc_$1, 1055[echo 'void f(void);void f(void){}' > conftest.c 1056if test -z "`${CC-gcc} $2 -c conftest.c 2>&1`" 1057then ac_cv_prog_cc_$1=yes; 1058else ac_cv_prog_cc_$1=no; fi 1059rm -f conftest* 1060]) 1061if test $ac_cv_prog_cc_$1 = yes; then CFLAGS="$CFLAGS $2"; fi 1062]) 1063 1064dnl by pts@fazekas.hu at Sat Apr 6 10:56:48 CEST 2002 1065dnl based on AC_PROG_CXX_G from acspecific.m4 of autoconf 1066dnl Appends the specified flags to CFLAGSB, so it won't affect subsequent 1067dnl AC_* tests. 1068dnl Example: AC_PTS_PROG_CFLAGSB(apwaw, -ansi -pedantic -Wall -W) 1069AC_DEFUN(AC_PTS_PROG_CFLAGSB, 1070[AC_REQUIRE([AC_PROG_CC]) 1071AC_SUBST(CFLAGSB) 1072AC_CACHE_CHECK(whether ${CC-gcc} accepts $2, ac_cv_prog_cc_$1, 1073[echo 'void f(void);void f(void){}' > conftest.c 1074if test -z "`${CC-gcc} $2 -c conftest.c 2>&1`" 1075then ac_cv_prog_cc_$1=yes; 1076else ac_cv_prog_cc_$1=no; fi 1077rm -f conftest* 1078]) 1079if test $ac_cv_prog_cc_$1 = yes; then CFLAGSB="$CFLAGSB $2"; fi 1080]) 1081 1082dnl by pts@fazekas.hu at Sat Apr 6 11:49:59 CEST 2002 1083dnl Similar to AC_C_CHAR_UNSIGNED, but without the 1084dnl `warning: AC_TRY_RUN called without default to allow cross compiling'. 1085AC_DEFUN(AC_PTS_C_CHAR_UNSIGNED, 1086[AC_CACHE_CHECK(whether char is unsigned, ac_cv_c_char_unsigned, 1087[if test "$GCC" = yes; then 1088 # GCC predefines this symbol on systems where it applies. 1089AC_EGREP_CPP(yes, 1090[#ifdef __CHAR_UNSIGNED__ 1091 yes 1092#endif 1093], ac_cv_c_char_unsigned=yes, ac_cv_c_char_unsigned=no) 1094else 1095AC_TRY_RUN( 1096[/* volatile prevents gcc2 from optimizing the test away on sparcs. */ 1097#if !defined(__STDC__) || __STDC__ != 1 1098#define volatile 1099#endif 1100int main() { 1101 volatile char c = 255; return(c < 0); 1102}], ac_cv_c_char_unsigned=yes, ac_cv_c_char_unsigned=no, 1103 [AC_MSG_ERROR(cross compiling not supported by .._PTS_C_CHAR_UNSIGNED)]) 1104fi]) 1105if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then 1106 AC_DEFINE(__CHAR_UNSIGNED__) 1107fi 1108]) 1109 1110dnl by pts@fazekas.hu at Sun Apr 14 22:08:04 CEST 2002 1111 1112dnl Ripped from autoconf's acgeneral.m4. Tests with `test -x'. 1113dnl AC_PTS_PATH_XPROG(VARIABLE, PROG-TO-CHECK-FOR [, VALUE-IF-NOT-FOUND [, PATH]]) 1114AC_DEFUN(AC_PTS_PATH_XPROG, 1115[# Extract the first word of "$2", so it can be a program name with args. 1116set dummy $2; ac_word=[$]2 1117AC_MSG_CHECKING([for $ac_word]) 1118AC_CACHE_VAL(ac_cv_path_$1, 1119[case "[$]$1" in 1120 /*) 1121 ac_cv_path_$1="[$]$1" # Let the user override the test with a path. 1122 ;; 1123 ?:/*) 1124 ac_cv_path_$1="[$]$1" # Let the user override the test with a dos path. 1125 ;; 1126 *) 1127 IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" 1128dnl $ac_dummy forces splitting on constant user-supplied paths. 1129dnl POSIX.2 word splitting is done only on the output of word expansions, 1130dnl not every word. This closes a longstanding sh security hole. 1131 ac_dummy="ifelse([$4], , $PATH, [$4])" 1132 for ac_dir in $ac_dummy; do 1133 test -z "$ac_dir" && ac_dir=. 1134 if test -x $ac_dir/$ac_word; then 1135 ac_cv_path_$1="$ac_dir/$ac_word" 1136 break 1137 fi 1138 done 1139 IFS="$ac_save_ifs" 1140dnl If no 3rd arg is given, leave the cache variable unset, 1141dnl so AC_PATH_PROGS will keep looking. 1142ifelse([$3], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$3" 1143])dnl 1144 ;; 1145esac])dnl 1146$1="$ac_cv_path_$1" 1147if test -n "[$]$1"; then 1148 AC_MSG_RESULT([$]$1) 1149else 1150 AC_MSG_RESULT(no) 1151fi 1152AC_SUBST($1)dnl 1153]) 1154 1155dnl by pts@fazekas.hu at Sun Apr 14 21:50:13 CEST 2002 1156 1157dnl Usage: AC_PTS_WARN_PROG(zip, [zip might become useful for /Compression/ZIP]) 1158AC_DEFUN(AC_PTS_WARN_PROG, 1159[AC_PTS_PATH_XPROG(pts_$1, $1) 1160if test x"$ac_cv_path_pts_$1" = x; then 1161 AC_MSG_WARN($1 would provide increased functionality to this program:) 1162 AC_MSG_WARN($2) 1163fi 1164]) 1165dnl Usage: AC_PTS_ERR_PROG(make, [make is required for compiling this program]) 1166AC_DEFUN(AC_PTS_ERR_PROG, 1167[AC_PTS_PATH_XPROG(pts_$1, $1) 1168if test x"$ac_cv_path_pts_$1" = x; then 1169 AC_MSG_WARN($1 is required:) 1170 AC_MSG_ERROR($2) 1171fi 1172]) 1173 1174dnl by pts@fazekas.hu at Sat Jun 1 15:00:44 CEST 2002 1175dnl ac_n=... autoconf2.13 -> autoconf2.50 1176dnl Usage: AC_PTS_RUN_OK(CMDLINE, ACTION-OF-EXITCODE-0, ACTION-IF-ERROR) 1177AC_DEFUN(AC_PTS_RUN_OK, 1178[ac_n="${ac_n:-$ECHO_N}" 1179echo $ac_n "running $1""... $ac_c" 1>&AC_FD_MSG 1180echo "configure:__oline__: running $1" >&AC_FD_CC 1181if >&AC_FD_CC 2>&AC_FD_CC $1; then : 1182 AC_MSG_RESULT(ok) 1183 $2 1184else 1185 AC_MSG_RESULT(error) 1186 $3 1187fi 1188]) 1189 1190dnl by pts@fazekas.hu at Sat Jun 1 15:13:36 CEST 2002 1191AC_DEFUN(AC_PTS_OK, [echo "configure:__oline__: all OK" >&AC_FD_CC 1192]) 1193 1194dnl __EOF__ 1195