X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=configure.com;h=e0f330be356a63a16f58e0db011eae42de785105;hb=9711599ee3b2375539002b6ddc0873ec478916bb;hp=199c174761c9b8fe389efc6f2f7bf52028bb4bab;hpb=58046ef3f63981204f6c074e6110ebcbfcb83e03;p=p5sagit%2Fp5-mst-13.2.git diff --git a/configure.com b/configure.com index 199c174..e0f330b 100644 --- a/configure.com +++ b/configure.com @@ -553,6 +553,13 @@ $ basename = - $ found = F$SEARCH(dirname + basename) $ file_2_find = file_2_find + "," + basename $ ENDIF +$ tildeloc = f$locate("~",basename) +$ IF (found .EQS. "" .AND. tildeloc .LT. f$length(basename)) +$ THEN +$ basename[tildeloc,1] := "_" +$ found = F$SEARCH(dirname + basename) +$ file_2_find = file_2_find + "," + basename +$ ENDIF $ IF (found .EQS. "") $ THEN $ WRITE MISSING file_2_find @@ -3183,9 +3190,8 @@ $! perllibs should be libs with all non-core libs (such as gdbm) removed. $! $ perllibs=libs $! -$! Are we 64 bit? $! -$ IF use64bitint .OR. use64bitint .EQS. "define" +$ IF archname .NES. "VMS_VAX" $ THEN $ d_PRId64 = "define" $ d_PRIu64 = "define" @@ -3201,7 +3207,11 @@ $ sPRIx64 = """Lx""" $ d_quad = "define" $ quadtype = "long long" $ uquadtype = "unsigned long long" -$ quadkind = "QUAD_IS_LONG_LONG" +$ quadkind = "3" +$! +$ d_frexpl = "define" +$ d_modfl = "define" +$ d_modflproto = "define" $ ELSE $ d_PRId64 = "undef" $ d_PRIXU64 = "undef" @@ -3215,17 +3225,10 @@ $ sPRIo64 = "" $ sPRIu64 = "" $ sPRIx64 = "" $ d_quad = "undef" -$ quadtype = "long" -$ uquadtype = "unsigned long" -$ quadkind = "QUAD_IS_LONG" -$ ENDIF +$ quadtype = "undef" +$ uquadtype = "undef" +$ quadkind = "undef" $! -$ IF archname .NES. "VMS_VAX" -$ THEN -$ d_frexpl = "define" -$ d_modfl = "define" -$ d_modflproto = "define" -$ ELSE $ d_frexpl = "undef" $ d_modfl = "undef" $ d_modflproto = "undef" @@ -3952,6 +3955,12 @@ $ tmp = "sys/mode.h" $ GOSUB inhdr $ i_sysmode = tmp $! +$! Check for poll.h +$! +$ tmp = "sys/poll.h" +$ gosub inhdr +$ i_syspoll = tmp +$! $! Check for sys/access.h $! $ tmp = "sys/access.h" @@ -5483,53 +5492,102 @@ $ echo "(IV will be ""''ivtype'"", ''ivsize' bytes)" $ echo "(UV will be ""''uvtype'"", ''uvsize' bytes)" $ echo "(NV will be ""''nvtype'"", ''nvsize' bytes)" $! -$ echo4 "Checking whether your NVs can preserve your UVs..." +$ d_nv_preserves_uv = "undef" +$ echo4 "Checking how many bits of your UVs your NVs can preserve..." $ OS $ WS "#if defined(__DECC) || defined(__DECCXX)" $ WS "#include " $ WS "#endif" $ WS "#include " $ WS "int main() {" -$ WS " ''uvtype' k = (''uvtype')~0, l;" -$ WS " ''nvtype' d;" -$ WS " l = k;" -$ WS " d = (''nvtype')l;" -$ WS " l = (''uvtype')d;" -$ WS " if (l == k)" -$ WS " printf(""preserve\n"");" +$ WS " ''uvtype' u = 0;" +$ WS " int n = 8 * ''uvsize';" +$ WS " int i;" +$ WS " for (i = 0; i < n; i++) {" +$ WS " u = u << 1 | (''uvtype')1;" +$ WS " if ((''uvtype')(''nvtype')u != u)" +$ WS " break;" +$ WS " }" +$ WS " printf(""%d\n"", i);" $ WS " exit(0);" $ WS "}" $ CS $ GOSUB compile -$ IF tmp .EQS. "preserve" -$ THEN +$ nv_preserves_uv_bits = tmp +$ IF F$INTEGER(nv_preserves_uv_bits) .GE. (F$INTEGER(uvsize) * 8) +$ THEN $ d_nv_preserves_uv = "define" -$ echo "Yes, they can." -$ nv_preserves_uv_bits = F$STRING(F$INTEGER(uvsize) * 8) +$ echo "Your NVs can preserve all ''nv_preserves_uv_bits' bits of your UVs." $ ELSE -$ d_nv_preserves_uv = "undef" -$ echo "No, they can't." -$ echo4 "Checking how many bits of your UVs your NVs can preserve..." -$ OS -$ WS "#if defined(__DECC) || defined(__DECCXX)" -$ WS "#include " -$ WS "#endif" -$ WS "#include " -$ WS "int main() {" -$ WS " ''uvtype' u = 0;" -$ WS " int n = 8 * ''uvsize';" -$ WS " int i;" -$ WS " for (i = 0; i < n; i++) {" -$ WS " u = u << 1 | (''uvtype')1;" -$ WS " if ((''uvtype')(''nvtype')u != u)" -$ WS " break;" -$ WS " }" -$ WS " printf(""%d\n"", i);" -$ WS " exit(0);" -$ WS "}" -$ CS -$ GOSUB compile -$ nv_preserves_uv_bits = tmp +$ d_nv_preserves_uv = "undef"" +$ echo "Your NVs can preserve only ''nv_preserves_uv_bits' bits of your UVs." +$ ENDIF +$! +$ nv_overflows_integers_at = "0" +$ echo4 "Checking to find the largest integer value your NVs can hold..." +$ OS +$ WS "#include " +$ WS "" +$ WS "typedef ''nvtype' NV;" +$ WS "" +$ WS "int" +$ WS "main() {" +$ WS " NV value = 2;" +$ WS " int count = 1;" +$ WS "" +$ WS " while(count < 256) {" +$ WS " volatile NV up = value + 1.0;" +$ WS " volatile NV negated = -value;" +$ WS " volatile NV down = negated - 1.0;" +$ WS " volatile NV got_up = up - value;" +$ WS " int up_good = got_up == 1.0;" +$ WS " int got_down = down - negated;" +$ WS " int down_good = got_down == -1.0;" +$ WS "" +$ WS " if (down_good != up_good) {" +$ WS " fprintf(stderr," +$ WS " ""Inconsistency - up %d %f; down %d %f; for 2**%d (%.20f)\n""," +$ WS " up_good, (double) got_up, down_good, (double) got_down," +$ WS " count, (double) value);" +$ WS " return 1;" +$ WS " }" +$ WS " if (!up_good) {" +$ WS " while (1) {" +$ WS " if (count > 8) {" +$ WS " count -= 8;" +$ WS " fputs(""256.0"", stdout);" +$ WS " } else {" +$ WS " count--;" +$ WS " fputs(""2.0"", stdout);" +$ WS " }" +$ WS " if (!count) {" +$ WS " puts("""");" +$ WS " return 0;" +$ WS " }" +$ WS " fputs(""*"", stdout);" +$ WS " }" +$ WS " }" +$ WS " value *= 2;" +$ WS " ++count;" +$ WS " }" +$ WS " fprintf(stderr, ""Cannot overflow integer range, even at 2**%d (%.20f)\n""," +$ WS " count, (double) value);" +$ WS " return 1;" +$ WS "}" +$ CS +$ GOSUB compile +$ IF F$LENGTH(tmp) .GT. 0 +$ THEN +$ IF F$EXTRACT(0,1,tmp) .EQS. "2" +$ THEN +$ echo "The largest integer your NVs can preserve is equal to ''tmp'" +$ nv_overflows_integers_at = tmp +$ ELSE +$ echo "Cannot determine the largest integer value your NVs can hold, unexpected output" +$ echo "''tmp'" +$ ENDIF +$ ELSE +$ echo "Cannot determine the largest integer value your NVs can hold" $ ENDIF $! $! Check for signbit (must already know nvtype) @@ -5757,6 +5815,7 @@ $ WC "d_accessx='undef'" $ WC "d_aintl='undef'" $ WC "d_alarm='define'" $ WC "d_archlib='define'" +$ WC "d_asctime64='undef'" $ WC "d_atolf='" + d_atolf + "'" $ WC "d_atoll='" + d_atoll + "'" $ WC "d_attribute_format='" + d_attribut + "'" @@ -5790,11 +5849,13 @@ $ WC "d_cplusplus='" + d_cplusplus + "'" $ WC "d_crypt='define'" $ WC "d_csh='undef'" $ WC "d_ctermid='define'" +$ WC "d_ctime64='undef'" $ WC "d_cuserid='define'" $ WC "d_c99_variadic_macros='undef'" $ WC "d_dbl_dig='define'" $ WC "d_dbminitproto='undef'" $ WC "d_difftime='define'" +$ WC "d_difftime64='undef'" $ WC "d_dir_dd_fd='undef'" $ WC "d_dirfd='undef'" $ WC "d_dirnamlen='define'" @@ -5840,6 +5901,8 @@ $ WC "d_fstatvfs='" + d_fstatvfs + "'" $ WC "d_fsync='undef'" $ WC "d_ftello='" + d_ftello + "'" $ WC "d_futimes='undef'" +$ WC "d_gdbmndbm_h_uses_prototypes='undef'" +$ WC "d_gdbm_ndbm_h_uses_prototypes='undef'" $ WC "d_getcwd='define'" $ WC "d_getespwnam='undef'" $ WC "d_getfsstat='undef'" @@ -5876,6 +5939,7 @@ $ WC "d_getsent='" + d_getsent + "'" $ WC "d_getservprotos='" + d_getservprotos + "'" $ WC "d_getspnam='undef'" $ WC "d_gettimeod='" + d_gettimeod + "'" +$ WC "d_gmtime64='undef'" $ WC "d_gnulibc='undef'" $ WC "d_grpasswd='undef'" $ WC "d_hasmntopt='undef'" @@ -5896,6 +5960,7 @@ $ WC "d_ldbl_dig='define'" $ WC "d_libm_lib_version='undef'" $ WC "d_link='" + d_link + "'" $ WC "d_llseek='undef'" +$ WC "d_localtime64='undef'" $ WC "d_locconv='" + d_locconv + "'" $ WC "d_lockf='undef'" $ WC "d_longdbl='" + d_longdbl + "'" @@ -5920,6 +5985,7 @@ $ WC "d_mknod='undef'" $ WC "d_mkstemp='" + d_mkstemp + "'" $ WC "d_mkstemps='" + d_mkstemps + "'" $ WC "d_mktime='" + d_mktime + "'" +$ WC "d_mktime64='undef'" $ WC "d_mmap='" + d_mmap + "'" $ WC "d_modfl='" + d_modfl + "'" $ WC "d_modflproto='" + d_modflproto + "'" @@ -5936,9 +6002,11 @@ $ WC "d_msync='" + d_msync + "'" $ WC "d_munmap='" + d_munmap + "'" $ WC "d_mymalloc='" + d_mymalloc + "'" $ WC "d_nanosleep='" + d_nanosleep + "'" +$ WC "d_ndbm_h_uses_prototypes='undef'" $ WC "d_nice='define'" $ WC "d_nl_langinfo='" + d_nl_langinfo + "'" $ WC "d_nv_preserves_uv='" + d_nv_preserves_uv + "'" +$ WC "nv_overflows_integers_at='" + nv_overflows_integers_at + "'" $ WC "nv_preserves_uv_bits='" + nv_preserves_uv_bits + "'" $ WC "d_nv_zero_is_allbits_zero='define'" $ WC "d_off64_t='" + d_off64_t + "'" @@ -6076,6 +6144,7 @@ $ WC "d_tcsetpgrp='undef'" $ WC "d_telldir='define'" $ WC "d_telldirproto='define'" $ WC "d_time='define'" +$ WC "d_timegm='undef'" $ WC "d_times='define'" $ IF ("''F$EXTRACT(1,3, F$GETSYI(""VERSION""))'".GES."7.0") $ THEN @@ -6127,6 +6196,7 @@ $ WC "dlobj='" + dlobj + "'" $ WC "dlsrc='dl_vms.c'" $ WC "doublesize='" + doublesize + "'" $ WC "drand01='" + drand01 + "'" +$ WC "dtrace='" + "'" $! $! The extensions symbol may be quite long $! @@ -6168,6 +6238,7 @@ $ WC "i64type='" + i64type + "'" $ WC "i8size='" + i8size + "'" $ WC "i8type='" + i8type + "'" $ WC "i_arpainet='undef'" +$ WC "i_assert='define'" $ WC "i_crypt='undef'" $ WC "i_db='undef'" $ WC "i_dbm='undef'" @@ -6178,6 +6249,8 @@ $ WC "i_float='define'" $ WC "i_fp='undef'" $ WC "i_fp_class='undef'" $ WC "i_gdbm='undef'" +$ WC "i_gdbm_ndbm='undef'" +$ WC "i_gdbmndbm='undef'" $ WC "i_grp='" + i_grp + "'" $ WC "i_ieeefp='undef'" $ WC "i_inttypes='" + i_inttypes + "'" @@ -6187,6 +6260,7 @@ $ WC "i_limits='define'" $ WC "i_locale='" + i_locale + "'" $ WC "i_machcthr='undef'" $ WC "i_machcthreads='undef'" +$ WC "i_mallocmalloc='undef'" $ WC "i_math='define'" $ WC "i_memory='undef'" $ WC "i_mntent='undef'" @@ -6219,6 +6293,7 @@ $ WC "i_sysmode='" + i_sysmode + "'" $ WC "i_sysmount='undef'" $ WC "i_sysndir='undef'" $ WC "i_sysparam='undef'" +$ WC "i_syspoll='" + i_syspoll + "'" $ WC "i_sysresrc='undef'" $ WC "i_syssecrt='" + i_syssecrt + "'" $ WC "i_sysselct='undef'" @@ -6349,6 +6424,10 @@ $ WC "randseedtype='" + randseedtype + "'" $ WC "ranlib='" + "'" $ WC "rd_nodata=' '" $ WC "revision='" + revision + "'" +$ WC "sGMTIME_max='2147483647'" +$ WC "sGMTIME_min='0'" +$ WC "sLOCALTIME_max='2147483647'" +$ WC "sLOCALTIME_min='0'" $ WC "sPRId64='" + sPRId64 + "'" $ WC "sPRIEldbl='" + sPRIEUldbl + "'" $ WC "sPRIFldbl='" + sPRIFUldbl + "'" @@ -6441,6 +6520,7 @@ $ WC "usedebugging_perl='"+use_debugging_perl+"'" $ WC "usedefaulttypes='" + usedefaulttypes + "'" ! VMS-specific $ WC "usecrosscompile='undef'" $ WC "usedl='" + usedl + "'" +$ WC "usedtrace='undef'" $ WC "usefaststdio='" + usefaststdio + "'" $ WC "useieee='" + useieee + "'" ! VMS-specific $ WC "useithreads='" + useithreads + "'"