diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 1999-02-03 00:18:53 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 1999-02-03 00:18:53 +0000 |
commit | 724119a979f8f28c9e2acf92b95ef0c476768e65 (patch) | |
tree | 34e63bc02d5b8764ce311c0c0a61cbb9e360dccc | |
parent | 4090d17fee7f6028e6e969d1a32d84fed67803e4 (diff) | |
download | postgresql-724119a979f8f28c9e2acf92b95ef0c476768e65.tar.gz postgresql-724119a979f8f28c9e2acf92b95ef0c476768e65.zip |
Modify int8 to not depend on sscanf(), and fix configure's test
for int8 support. configure now checks only snprintf() for int8 support,
not sprintf and sscanf as it used to. The reason for doing this is that
if we are supplying our own snprintf code (which does handle long long int),
we now only need working long long support in the compiler not in the
platform's C library. I have verified that int8 now passes regression test
on HPUX 9, and I think it should work on SunOS 4.1.* and other older
platforms if gcc is used.
-rw-r--r-- | src/backend/utils/adt/int8.c | 24 | ||||
-rwxr-xr-x | src/configure | 485 | ||||
-rw-r--r-- | src/configure.in | 157 |
3 files changed, 344 insertions, 322 deletions
diff --git a/src/backend/utils/adt/int8.c b/src/backend/utils/adt/int8.c index 4ffdcbf225b..f97b352bf2c 100644 --- a/src/backend/utils/adt/int8.c +++ b/src/backend/utils/adt/int8.c @@ -37,17 +37,31 @@ int64 * int8in(char *str) { int64 *result = palloc(sizeof(int64)); + char *ptr = str; + int64 tmp = 0; + int sign = 1; if (!PointerIsValid(str)) elog(ERROR, "Bad (null) int8 external representation", NULL); - if (sscanf(str, INT64_FORMAT, result) != 1) + /* Do our own scan, rather than relying on sscanf which might be + * broken for long long. NOTE: this will not detect int64 overflow... + * but sscanf doesn't either... + */ + while (*ptr && isspace(*ptr)) /* skip leading spaces */ + ptr++; + if (*ptr == '-') /* handle sign */ + sign = -1, ptr++; + else if (*ptr == '+') + ptr++; + if (! isdigit(*ptr)) /* require at least one digit */ + elog(ERROR, "Bad int8 external representation '%s'", str); + while (*ptr && isdigit(*ptr)) /* process digits */ + tmp = tmp * 10 + (*ptr++ - '0'); + if (*ptr) /* trailing junk? */ elog(ERROR, "Bad int8 external representation '%s'", str); -#if FALSE - elog(ERROR, "64-bit integers are not supported", NULL); - result = NULL; -#endif + *result = (sign < 0) ? -tmp : tmp; return result; } /* int8in() */ diff --git a/src/configure b/src/configure index c9f05810ec6..c5fbcfd2a28 100755 --- a/src/configure +++ b/src/configure @@ -3983,122 +3983,8 @@ rm -fr conftest* fi -echo $ac_n "checking whether 'long int' is 64 bits""... $ac_c" 1>&6 -echo "configure:3988: checking whether 'long int' is 64 bits" >&5 -if test "$cross_compiling" = yes; then - echo "$ac_t""assuming not on target machine" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 3993 "configure" -#include "confdefs.h" -#include <stdio.h> -typedef long int int64; -#define INT64_FORMAT "%ld" - -int64 a = 20000001; -int64 b = 40000005; - -int does_int64_work() -{ - int64 c,d,e; - char buf[100]; - - if (sizeof(int64) != 8) - return 0; /* doesn't look like the right size */ - - /* we do perfunctory checks on multiply, divide, sprintf, sscanf */ - c = a * b; - sprintf(buf, INT64_FORMAT, c); - if (strcmp(buf, "800000140000005") != 0) - return 0; /* either multiply or sprintf is busted */ - if (sscanf(buf, INT64_FORMAT, &d) != 1) - return 0; - if (d != c) - return 0; - e = d / b; - if (e != a) - return 0; - return 1; -} -main() { - exit(! does_int64_work()); -} -EOF -if { (eval echo configure:4028: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null -then - cat >> confdefs.h <<\EOF -#define HAVE_LONG_INT_64 1 -EOF - echo "$ac_t""yes" 1>&6 -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - echo "$ac_t""no" 1>&6 -fi -rm -fr conftest* -fi - - -echo $ac_n "checking whether 'long long int' is 64 bits""... $ac_c" 1>&6 -echo "configure:4045: checking whether 'long long int' is 64 bits" >&5 -if test "$cross_compiling" = yes; then - echo "$ac_t""assuming not on target machine" 1>&6 -else - cat > conftest.$ac_ext <<EOF -#line 4050 "configure" -#include "confdefs.h" -#include <stdio.h> -typedef long long int int64; -#define INT64_FORMAT "%lld" - -int64 a = 20000001; -int64 b = 40000005; - -int does_int64_work() -{ - int64 c,d,e; - char buf[100]; - - if (sizeof(int64) != 8) - return 0; /* doesn't look like the right size */ - - /* we do perfunctory checks on multiply, divide, sprintf, sscanf */ - c = a * b; - sprintf(buf, INT64_FORMAT, c); - if (strcmp(buf, "800000140000005") != 0) - return 0; /* either multiply or sprintf is busted */ - if (sscanf(buf, INT64_FORMAT, &d) != 1) - return 0; - if (d != c) - return 0; - e = d / b; - if (e != a) - return 0; - return 1; -} -main() { - exit(! does_int64_work()); -} -EOF -if { (eval echo configure:4085: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null -then - cat >> confdefs.h <<\EOF -#define HAVE_LONG_LONG_INT_64 1 -EOF - echo "$ac_t""yes" 1>&6 -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - echo "$ac_t""no" 1>&6 -fi -rm -fr conftest* -fi - - echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6 -echo "configure:4102: checking for 8-bit clean memcmp" >&5 +echo "configure:3988: checking for 8-bit clean memcmp" >&5 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4106,7 +3992,7 @@ else ac_cv_func_memcmp_clean=no else cat > conftest.$ac_ext <<EOF -#line 4110 "configure" +#line 3996 "configure" #include "confdefs.h" main() @@ -4116,7 +4002,7 @@ main() } EOF -if { (eval echo configure:4120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4006: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_memcmp_clean=yes else @@ -4134,12 +4020,12 @@ echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6 test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o" echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:4138: checking return type of signal handlers" >&5 +echo "configure:4024: checking return type of signal handlers" >&5 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4143 "configure" +#line 4029 "configure" #include "confdefs.h" #include <sys/types.h> #include <signal.h> @@ -4156,7 +4042,7 @@ int main() { int i; ; return 0; } EOF -if { (eval echo configure:4160: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4046: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -4175,12 +4061,12 @@ EOF echo $ac_n "checking for vprintf""... $ac_c" 1>&6 -echo "configure:4179: checking for vprintf" >&5 +echo "configure:4065: checking for vprintf" >&5 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4184 "configure" +#line 4070 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char vprintf(); below. */ @@ -4203,7 +4089,7 @@ vprintf(); ; return 0; } EOF -if { (eval echo configure:4207: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4093: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_vprintf=yes" else @@ -4227,12 +4113,12 @@ fi if test "$ac_cv_func_vprintf" != yes; then echo $ac_n "checking for _doprnt""... $ac_c" 1>&6 -echo "configure:4231: checking for _doprnt" >&5 +echo "configure:4117: checking for _doprnt" >&5 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4236 "configure" +#line 4122 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char _doprnt(); below. */ @@ -4255,7 +4141,7 @@ _doprnt(); ; return 0; } EOF -if { (eval echo configure:4259: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func__doprnt=yes" else @@ -4282,12 +4168,12 @@ fi for ac_func in tzset memmove sigsetjmp kill sysconf fpclass do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4286: checking for $ac_func" >&5 +echo "configure:4172: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4291 "configure" +#line 4177 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -4310,7 +4196,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:4314: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4200: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4337,12 +4223,12 @@ done for ac_func in fp_class fp_class_d class do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4341: checking for $ac_func" >&5 +echo "configure:4227: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4346 "configure" +#line 4232 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -4365,7 +4251,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:4369: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4255: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4392,12 +4278,12 @@ done for ac_func in sigprocmask waitpid setsid fcvt do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4396: checking for $ac_func" >&5 +echo "configure:4282: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4401 "configure" +#line 4287 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -4420,7 +4306,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:4424: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4310: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4445,12 +4331,12 @@ fi done echo $ac_n "checking for snprintf""... $ac_c" 1>&6 -echo "configure:4449: checking for snprintf" >&5 +echo "configure:4335: checking for snprintf" >&5 if eval "test \"`echo '$''{'ac_cv_func_snprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4454 "configure" +#line 4340 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char snprintf(); below. */ @@ -4473,7 +4359,7 @@ snprintf(); ; return 0; } EOF -if { (eval echo configure:4477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4363: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_snprintf=yes" else @@ -4497,12 +4383,12 @@ SNPRINTF='snprintf.o' fi echo $ac_n "checking for vsnprintf""... $ac_c" 1>&6 -echo "configure:4501: checking for vsnprintf" >&5 +echo "configure:4387: checking for vsnprintf" >&5 if eval "test \"`echo '$''{'ac_cv_func_vsnprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4506 "configure" +#line 4392 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char vsnprintf(); below. */ @@ -4525,7 +4411,7 @@ vsnprintf(); ; return 0; } EOF -if { (eval echo configure:4529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_vsnprintf=yes" else @@ -4550,12 +4436,12 @@ fi echo $ac_n "checking for isinf""... $ac_c" 1>&6 -echo "configure:4554: checking for isinf" >&5 +echo "configure:4440: checking for isinf" >&5 if eval "test \"`echo '$''{'ac_cv_func_isinf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4559 "configure" +#line 4445 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char isinf(); below. */ @@ -4578,7 +4464,7 @@ isinf(); ; return 0; } EOF -if { (eval echo configure:4582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4468: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_isinf=yes" else @@ -4603,12 +4489,12 @@ fi echo $ac_n "checking for getrusage""... $ac_c" 1>&6 -echo "configure:4607: checking for getrusage" >&5 +echo "configure:4493: checking for getrusage" >&5 if eval "test \"`echo '$''{'ac_cv_func_getrusage'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4612 "configure" +#line 4498 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char getrusage(); below. */ @@ -4631,7 +4517,7 @@ getrusage(); ; return 0; } EOF -if { (eval echo configure:4635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4521: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_getrusage=yes" else @@ -4656,12 +4542,12 @@ fi echo $ac_n "checking for srandom""... $ac_c" 1>&6 -echo "configure:4660: checking for srandom" >&5 +echo "configure:4546: checking for srandom" >&5 if eval "test \"`echo '$''{'ac_cv_func_srandom'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4665 "configure" +#line 4551 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char srandom(); below. */ @@ -4684,7 +4570,7 @@ srandom(); ; return 0; } EOF -if { (eval echo configure:4688: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_srandom=yes" else @@ -4709,12 +4595,12 @@ fi echo $ac_n "checking for gethostname""... $ac_c" 1>&6 -echo "configure:4713: checking for gethostname" >&5 +echo "configure:4599: checking for gethostname" >&5 if eval "test \"`echo '$''{'ac_cv_func_gethostname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4718 "configure" +#line 4604 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char gethostname(); below. */ @@ -4737,7 +4623,7 @@ gethostname(); ; return 0; } EOF -if { (eval echo configure:4741: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4627: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_gethostname=yes" else @@ -4762,12 +4648,12 @@ fi echo $ac_n "checking for random""... $ac_c" 1>&6 -echo "configure:4766: checking for random" >&5 +echo "configure:4652: checking for random" >&5 if eval "test \"`echo '$''{'ac_cv_func_random'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4771 "configure" +#line 4657 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char random(); below. */ @@ -4790,7 +4676,7 @@ random(); ; return 0; } EOF -if { (eval echo configure:4794: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_random=yes" else @@ -4815,12 +4701,12 @@ fi echo $ac_n "checking for inet_aton""... $ac_c" 1>&6 -echo "configure:4819: checking for inet_aton" >&5 +echo "configure:4705: checking for inet_aton" >&5 if eval "test \"`echo '$''{'ac_cv_func_inet_aton'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4824 "configure" +#line 4710 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char inet_aton(); below. */ @@ -4843,7 +4729,7 @@ inet_aton(); ; return 0; } EOF -if { (eval echo configure:4847: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4733: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_inet_aton=yes" else @@ -4868,12 +4754,12 @@ fi echo $ac_n "checking for strerror""... $ac_c" 1>&6 -echo "configure:4872: checking for strerror" >&5 +echo "configure:4758: checking for strerror" >&5 if eval "test \"`echo '$''{'ac_cv_func_strerror'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4877 "configure" +#line 4763 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char strerror(); below. */ @@ -4896,7 +4782,7 @@ strerror(); ; return 0; } EOF -if { (eval echo configure:4900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4786: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_strerror=yes" else @@ -4922,12 +4808,12 @@ fi echo $ac_n "checking for strdup""... $ac_c" 1>&6 -echo "configure:4926: checking for strdup" >&5 +echo "configure:4812: checking for strdup" >&5 if eval "test \"`echo '$''{'ac_cv_func_strdup'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4931 "configure" +#line 4817 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char strdup(); below. */ @@ -4950,7 +4836,7 @@ strdup(); ; return 0; } EOF -if { (eval echo configure:4954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4840: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_strdup=yes" else @@ -4975,12 +4861,12 @@ fi echo $ac_n "checking for strtol""... $ac_c" 1>&6 -echo "configure:4979: checking for strtol" >&5 +echo "configure:4865: checking for strtol" >&5 if eval "test \"`echo '$''{'ac_cv_func_strtol'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4984 "configure" +#line 4870 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char strtol(); below. */ @@ -5003,7 +4889,7 @@ strtol(); ; return 0; } EOF -if { (eval echo configure:5007: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4893: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_strtol=yes" else @@ -5028,12 +4914,12 @@ fi echo $ac_n "checking for strtoul""... $ac_c" 1>&6 -echo "configure:5032: checking for strtoul" >&5 +echo "configure:4918: checking for strtoul" >&5 if eval "test \"`echo '$''{'ac_cv_func_strtoul'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5037 "configure" +#line 4923 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char strtoul(); below. */ @@ -5056,7 +4942,7 @@ strtoul(); ; return 0; } EOF -if { (eval echo configure:5060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4946: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_strtoul=yes" else @@ -5081,12 +4967,12 @@ fi echo $ac_n "checking for strcasecmp""... $ac_c" 1>&6 -echo "configure:5085: checking for strcasecmp" >&5 +echo "configure:4971: checking for strcasecmp" >&5 if eval "test \"`echo '$''{'ac_cv_func_strcasecmp'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5090 "configure" +#line 4976 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char strcasecmp(); below. */ @@ -5109,7 +4995,7 @@ strcasecmp(); ; return 0; } EOF -if { (eval echo configure:5113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4999: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_strcasecmp=yes" else @@ -5134,12 +5020,12 @@ fi echo $ac_n "checking for cbrt""... $ac_c" 1>&6 -echo "configure:5138: checking for cbrt" >&5 +echo "configure:5024: checking for cbrt" >&5 if eval "test \"`echo '$''{'ac_cv_func_cbrt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5143 "configure" +#line 5029 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char cbrt(); below. */ @@ -5162,7 +5048,7 @@ cbrt(); ; return 0; } EOF -if { (eval echo configure:5166: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5052: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_cbrt=yes" else @@ -5183,7 +5069,7 @@ EOF else echo "$ac_t""no" 1>&6 echo $ac_n "checking for cbrt in -lm""... $ac_c" 1>&6 -echo "configure:5187: checking for cbrt in -lm" >&5 +echo "configure:5073: checking for cbrt in -lm" >&5 ac_lib_var=`echo m'_'cbrt | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5191,7 +5077,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <<EOF -#line 5195 "configure" +#line 5081 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5202,7 +5088,7 @@ int main() { cbrt() ; return 0; } EOF -if { (eval echo configure:5206: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5232,12 +5118,12 @@ fi # this hackery with HPUXMATHLIB allows us to cope. HPUXMATHLIB="" echo $ac_n "checking for rint""... $ac_c" 1>&6 -echo "configure:5236: checking for rint" >&5 +echo "configure:5122: checking for rint" >&5 if eval "test \"`echo '$''{'ac_cv_func_rint'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5241 "configure" +#line 5127 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char rint(); below. */ @@ -5260,7 +5146,7 @@ rint(); ; return 0; } EOF -if { (eval echo configure:5264: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5150: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_rint=yes" else @@ -5285,7 +5171,7 @@ if [ -r /lib/pa1.1/libm.a ] ; then HPUXMATHLIB="-L /lib/pa1.1 -lm" fi echo $ac_n "checking for rint in -lm""... $ac_c" 1>&6 -echo "configure:5289: checking for rint in -lm" >&5 +echo "configure:5175: checking for rint in -lm" >&5 ac_lib_var=`echo m'_'rint | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5293,7 +5179,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lm $HPUXMATHLIB $LIBS" cat > conftest.$ac_ext <<EOF -#line 5297 "configure" +#line 5183 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5304,7 +5190,7 @@ int main() { rint() ; return 0; } EOF -if { (eval echo configure:5308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5333,10 +5219,125 @@ fi +echo $ac_n "checking whether 'long int' is 64 bits""... $ac_c" 1>&6 +echo "configure:5224: checking whether 'long int' is 64 bits" >&5 +if test "$cross_compiling" = yes; then + echo "$ac_t""assuming not on target machine" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 5229 "configure" +#include "confdefs.h" +#include <stdio.h> +typedef long int int64; +#define INT64_FORMAT "%ld" + +int64 a = 20000001; +int64 b = 40000005; + +int does_int64_work() +{ + int64 c,d; + char buf[100]; + + if (sizeof(int64) != 8) + return 0; /* doesn't look like the right size */ + + /* we do perfunctory checks on multiply and divide, + * and also test snprintf if the platform provides snprintf. + */ + c = a * b; +#if defined(HAVE_SNPRINTF) && defined(HAVE_VSNPRINTF) + snprintf(buf, 100, INT64_FORMAT, c); + if (strcmp(buf, "800000140000005") != 0) + return 0; /* either multiply or snprintf is busted */ +#endif + d = (c + b) / b; + if (d != a+1) + return 0; + return 1; +} +main() { + exit(! does_int64_work()); +} +EOF +if { (eval echo configure:5264: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +then + cat >> confdefs.h <<\EOF +#define HAVE_LONG_INT_64 1 +EOF + echo "$ac_t""yes" 1>&6 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + echo "$ac_t""no" 1>&6 +fi +rm -fr conftest* +fi + + +echo $ac_n "checking whether 'long long int' is 64 bits""... $ac_c" 1>&6 +echo "configure:5281: checking whether 'long long int' is 64 bits" >&5 +if test "$cross_compiling" = yes; then + echo "$ac_t""assuming not on target machine" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 5286 "configure" +#include "confdefs.h" +#include <stdio.h> +typedef long long int int64; +#define INT64_FORMAT "%lld" + +int64 a = 20000001; +int64 b = 40000005; + +int does_int64_work() +{ + int64 c,d; + char buf[100]; + + if (sizeof(int64) != 8) + return 0; /* doesn't look like the right size */ + + /* we do perfunctory checks on multiply and divide, + * and also test snprintf if the platform provides snprintf. + */ + c = a * b; +#if defined(HAVE_SNPRINTF) && defined(HAVE_VSNPRINTF) + snprintf(buf, 100, INT64_FORMAT, c); + if (strcmp(buf, "800000140000005") != 0) + return 0; /* either multiply or snprintf is busted */ +#endif + d = (c + b) / b; + if (d != a+1) + return 0; + return 1; +} +main() { + exit(! does_int64_work()); +} +EOF +if { (eval echo configure:5321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +then + cat >> confdefs.h <<\EOF +#define HAVE_LONG_LONG_INT_64 1 +EOF + echo "$ac_t""yes" 1>&6 +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + echo "$ac_t""no" 1>&6 +fi +rm -fr conftest* +fi + + + echo $ac_n "checking for POSIX signal interface""... $ac_c" 1>&6 -echo "configure:5338: checking for POSIX signal interface" >&5 +echo "configure:5339: checking for POSIX signal interface" >&5 cat > conftest.$ac_ext <<EOF -#line 5340 "configure" +#line 5341 "configure" #include "confdefs.h" #include <signal.h> int main() { @@ -5346,7 +5347,7 @@ act.sa_flags = SA_RESTART; sigaction(0, &act, &oact); ; return 0; } EOF -if { (eval echo configure:5350: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5351: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* cat >> confdefs.h <<\EOF #define USE_POSIX_SIGNALS 1 @@ -5370,7 +5371,7 @@ then # Extract the first word of "tclsh", so it can be a program name with args. set dummy tclsh; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5374: checking for $ac_word" >&5 +echo "configure:5375: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_TCLSH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5403,7 +5404,7 @@ fi # Extract the first word of "tcl", so it can be a program name with args. set dummy tcl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5407: checking for $ac_word" >&5 +echo "configure:5408: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_TCLSH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5442,7 +5443,7 @@ fi if test "$USE_TCL" = true then echo $ac_n "checking for tclConfig.sh""... $ac_c" 1>&6 -echo "configure:5446: checking for tclConfig.sh" >&5 +echo "configure:5447: checking for tclConfig.sh" >&5 TCL_CONFIG_SH= library_dirs= if test -z "$TCL_DIRS" @@ -5471,7 +5472,7 @@ USE_TK=$USE_TCL # If TCL is disabled, disable TK if test "$USE_TK" = true then echo $ac_n "checking for tkConfig.sh""... $ac_c" 1>&6 -echo "configure:5475: checking for tkConfig.sh" >&5 +echo "configure:5476: checking for tkConfig.sh" >&5 TK_CONFIG_SH= # library_dirs are set in the check for TCL for dir in $library_dirs @@ -5508,7 +5509,7 @@ if test "$USE_X" = true; then # Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 -echo "configure:5512: checking for X" >&5 +echo "configure:5513: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -5570,12 +5571,12 @@ if test "$ac_x_includes" = NO; then # First, try using that file with no special directory specified. cat > conftest.$ac_ext <<EOF -#line 5574 "configure" +#line 5575 "configure" #include "confdefs.h" #include <$x_direct_test_include> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5579: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5580: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5644,14 +5645,14 @@ if test "$ac_x_libraries" = NO; then ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <<EOF -#line 5648 "configure" +#line 5649 "configure" #include "confdefs.h" int main() { ${x_direct_test_function}() ; return 0; } EOF -if { (eval echo configure:5655: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5656: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path. @@ -5757,17 +5758,17 @@ else case "`(uname -sr) 2>/dev/null`" in "SunOS 5"*) echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 -echo "configure:5761: checking whether -R must be followed by a space" >&5 +echo "configure:5762: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <<EOF -#line 5764 "configure" +#line 5765 "configure" #include "confdefs.h" int main() { ; return 0; } EOF -if { (eval echo configure:5771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_nospace=yes else @@ -5783,14 +5784,14 @@ rm -f conftest* else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <<EOF -#line 5787 "configure" +#line 5788 "configure" #include "confdefs.h" int main() { ; return 0; } EOF -if { (eval echo configure:5794: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5795: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_space=yes else @@ -5822,7 +5823,7 @@ rm -f conftest* # libraries were built with DECnet support. And karl@cs.umb.edu says # the Alpha needs dnet_stub (dnet does not exist). echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:5826: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:5827: checking for dnet_ntoa in -ldnet" >&5 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5830,7 +5831,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldnet $LIBS" cat > conftest.$ac_ext <<EOF -#line 5834 "configure" +#line 5835 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5841,7 +5842,7 @@ int main() { dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:5845: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5846: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5863,7 +5864,7 @@ fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 -echo "configure:5867: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:5868: checking for dnet_ntoa in -ldnet_stub" >&5 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5871,7 +5872,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldnet_stub $LIBS" cat > conftest.$ac_ext <<EOF -#line 5875 "configure" +#line 5876 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5882,7 +5883,7 @@ int main() { dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:5886: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5887: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5911,12 +5912,12 @@ fi # The nsl library prevents programs from opening the X display # on Irix 5.2, according to dickey@clark.net. echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:5915: checking for gethostbyname" >&5 +echo "configure:5916: checking for gethostbyname" >&5 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5920 "configure" +#line 5921 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char gethostbyname(); below. */ @@ -5939,7 +5940,7 @@ gethostbyname(); ; return 0; } EOF -if { (eval echo configure:5943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -5960,7 +5961,7 @@ fi if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:5964: checking for gethostbyname in -lnsl" >&5 +echo "configure:5965: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5968,7 +5969,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <<EOF -#line 5972 "configure" +#line 5973 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5979,7 +5980,7 @@ int main() { gethostbyname() ; return 0; } EOF -if { (eval echo configure:5983: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5984: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6009,12 +6010,12 @@ fi # -lsocket must be given before -lnsl if both are needed. # We assume that if connect needs -lnsl, so does gethostbyname. echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:6013: checking for connect" >&5 +echo "configure:6014: checking for connect" >&5 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6018 "configure" +#line 6019 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char connect(); below. */ @@ -6037,7 +6038,7 @@ connect(); ; return 0; } EOF -if { (eval echo configure:6041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_connect=yes" else @@ -6058,7 +6059,7 @@ fi if test $ac_cv_func_connect = no; then echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 -echo "configure:6062: checking for connect in -lsocket" >&5 +echo "configure:6063: checking for connect in -lsocket" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6066,7 +6067,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <<EOF -#line 6070 "configure" +#line 6071 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6077,7 +6078,7 @@ int main() { connect() ; return 0; } EOF -if { (eval echo configure:6081: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6082: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6101,12 +6102,12 @@ fi # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:6105: checking for remove" >&5 +echo "configure:6106: checking for remove" >&5 if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6110 "configure" +#line 6111 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char remove(); below. */ @@ -6129,7 +6130,7 @@ remove(); ; return 0; } EOF -if { (eval echo configure:6133: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_remove=yes" else @@ -6150,7 +6151,7 @@ fi if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:6154: checking for remove in -lposix" >&5 +echo "configure:6155: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6158,7 +6159,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lposix $LIBS" cat > conftest.$ac_ext <<EOF -#line 6162 "configure" +#line 6163 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6169,7 +6170,7 @@ int main() { remove() ; return 0; } EOF -if { (eval echo configure:6173: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6193,12 +6194,12 @@ fi # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:6197: checking for shmat" >&5 +echo "configure:6198: checking for shmat" >&5 if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6202 "configure" +#line 6203 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shmat(); below. */ @@ -6221,7 +6222,7 @@ shmat(); ; return 0; } EOF -if { (eval echo configure:6225: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6226: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else @@ -6242,7 +6243,7 @@ fi if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:6246: checking for shmat in -lipc" >&5 +echo "configure:6247: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6250,7 +6251,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lipc $LIBS" cat > conftest.$ac_ext <<EOF -#line 6254 "configure" +#line 6255 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6261,7 +6262,7 @@ int main() { shmat() ; return 0; } EOF -if { (eval echo configure:6265: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6266: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6294,7 +6295,7 @@ fi # libraries we check for below, so use a different variable. # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:6298: checking for IceConnectionNumber in -lICE" >&5 +echo "configure:6299: checking for IceConnectionNumber in -lICE" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6302,7 +6303,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lICE $LIBS" cat > conftest.$ac_ext <<EOF -#line 6306 "configure" +#line 6307 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6313,7 +6314,7 @@ int main() { IceConnectionNumber() ; return 0; } EOF -if { (eval echo configure:6317: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6318: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6346,7 +6347,7 @@ fi X11_LIBS="" echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6 -echo "configure:6350: checking for XOpenDisplay in -lX11" >&5 +echo "configure:6351: checking for XOpenDisplay in -lX11" >&5 ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6354,7 +6355,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lX11 ${X_PRE_LIBS} $LIBS" cat > conftest.$ac_ext <<EOF -#line 6358 "configure" +#line 6359 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6365,7 +6366,7 @@ int main() { XOpenDisplay() ; return 0; } EOF -if { (eval echo configure:6369: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6370: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6412,17 +6413,17 @@ then PWD_INCDIR=no ac_safe=`echo "pwd.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for pwd.h""... $ac_c" 1>&6 -echo "configure:6416: checking for pwd.h" >&5 +echo "configure:6417: checking for pwd.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6421 "configure" +#line 6422 "configure" #include "confdefs.h" #include <pwd.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6426: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6427: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* diff --git a/src/configure.in b/src/configure.in index acbeb90dae4..41500ba1502 100644 --- a/src/configure.in +++ b/src/configure.in @@ -613,81 +613,6 @@ main() { double d = DBL_MIN; if (d != DBL_MIN) exit(-1); else exit(0); }], [AC_DEFINE(HAVE_DBL_MIN_PROBLEM) AC_MSG_RESULT(no)], AC_MSG_RESULT(assuming ok on target machine)) -dnl Check to see if we have a working 64-bit integer type. -AC_MSG_CHECKING(whether 'long int' is 64 bits) -AC_TRY_RUN([#include <stdio.h> -typedef long int int64; -#define INT64_FORMAT "%ld" - -int64 a = 20000001; -int64 b = 40000005; - -int does_int64_work() -{ - int64 c,d,e; - char buf[100]; - - if (sizeof(int64) != 8) - return 0; /* doesn't look like the right size */ - - /* we do perfunctory checks on multiply, divide, sprintf, sscanf */ - c = a * b; - sprintf(buf, INT64_FORMAT, c); - if (strcmp(buf, "800000140000005") != 0) - return 0; /* either multiply or sprintf is busted */ - if (sscanf(buf, INT64_FORMAT, &d) != 1) - return 0; - if (d != c) - return 0; - e = d / b; - if (e != a) - return 0; - return 1; -} -main() { - exit(! does_int64_work()); -}], - [AC_DEFINE(HAVE_LONG_INT_64) AC_MSG_RESULT(yes)], - AC_MSG_RESULT(no), - AC_MSG_RESULT(assuming not on target machine)) - -AC_MSG_CHECKING(whether 'long long int' is 64 bits) -AC_TRY_RUN([#include <stdio.h> -typedef long long int int64; -#define INT64_FORMAT "%lld" - -int64 a = 20000001; -int64 b = 40000005; - -int does_int64_work() -{ - int64 c,d,e; - char buf[100]; - - if (sizeof(int64) != 8) - return 0; /* doesn't look like the right size */ - - /* we do perfunctory checks on multiply, divide, sprintf, sscanf */ - c = a * b; - sprintf(buf, INT64_FORMAT, c); - if (strcmp(buf, "800000140000005") != 0) - return 0; /* either multiply or sprintf is busted */ - if (sscanf(buf, INT64_FORMAT, &d) != 1) - return 0; - if (d != c) - return 0; - e = d / b; - if (e != a) - return 0; - return 1; -} -main() { - exit(! does_int64_work()); -}], - [AC_DEFINE(HAVE_LONG_LONG_INT_64) AC_MSG_RESULT(yes)], - AC_MSG_RESULT(no), - AC_MSG_RESULT(assuming not on target machine)) - dnl Checks for library functions. AC_FUNC_MEMCMP AC_TYPE_SIGNAL @@ -766,6 +691,88 @@ fi ]) AC_SUBST(HPUXMATHLIB) +dnl Check to see if we have a working 64-bit integer type. +dnl This has to be done after checking for snprintf, because +dnl if the platform has snprintf then we need to know if snprintf +dnl works with 64-bit ints. However, if we are supplying our own +dnl snprintf then we expect that it will work as long as the basic +dnl 64-bit math operations work. NOTE that we will supply our own +dnl snprintf if either snprintf or vsnprintf is missing. + +AC_MSG_CHECKING(whether 'long int' is 64 bits) +AC_TRY_RUN([#include <stdio.h> +typedef long int int64; +#define INT64_FORMAT "%ld" + +int64 a = 20000001; +int64 b = 40000005; + +int does_int64_work() +{ + int64 c,d; + char buf[100]; + + if (sizeof(int64) != 8) + return 0; /* doesn't look like the right size */ + + /* we do perfunctory checks on multiply and divide, + * and also test snprintf if the platform provides snprintf. + */ + c = a * b; +#if defined(HAVE_SNPRINTF) && defined(HAVE_VSNPRINTF) + snprintf(buf, 100, INT64_FORMAT, c); + if (strcmp(buf, "800000140000005") != 0) + return 0; /* either multiply or snprintf is busted */ +#endif + d = (c + b) / b; + if (d != a+1) + return 0; + return 1; +} +main() { + exit(! does_int64_work()); +}], + [AC_DEFINE(HAVE_LONG_INT_64) AC_MSG_RESULT(yes)], + AC_MSG_RESULT(no), + AC_MSG_RESULT(assuming not on target machine)) + +AC_MSG_CHECKING(whether 'long long int' is 64 bits) +AC_TRY_RUN([#include <stdio.h> +typedef long long int int64; +#define INT64_FORMAT "%lld" + +int64 a = 20000001; +int64 b = 40000005; + +int does_int64_work() +{ + int64 c,d; + char buf[100]; + + if (sizeof(int64) != 8) + return 0; /* doesn't look like the right size */ + + /* we do perfunctory checks on multiply and divide, + * and also test snprintf if the platform provides snprintf. + */ + c = a * b; +#if defined(HAVE_SNPRINTF) && defined(HAVE_VSNPRINTF) + snprintf(buf, 100, INT64_FORMAT, c); + if (strcmp(buf, "800000140000005") != 0) + return 0; /* either multiply or snprintf is busted */ +#endif + d = (c + b) / b; + if (d != a+1) + return 0; + return 1; +} +main() { + exit(! does_int64_work()); +}], + [AC_DEFINE(HAVE_LONG_LONG_INT_64) AC_MSG_RESULT(yes)], + AC_MSG_RESULT(no), + AC_MSG_RESULT(assuming not on target machine)) + dnl Check to see if platform has POSIX signal interface. dnl NOTE: if this test fails then POSIX signals definitely don't work. dnl It could be that the test compiles but the POSIX routines don't |