diff options
author | Nicholas Clark <nick@ccl4.org> | 2011-09-28 11:07:32 +0200 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2011-09-28 11:07:32 +0200 |
commit | 6f31bef90fda3b9a8027adfb123055bc0eefc81c (patch) | |
tree | 0f784ca721071024a562afc6096b28d08ead5d7f | |
parent | 2480ae1c1b2fa11085b45f96de55cb16c3bcc343 (diff) | |
parent | 3f728e2e43e05f9eb833343447d126327b7dee56 (diff) | |
download | perl-6f31bef90fda3b9a8027adfb123055bc0eefc81c.tar.gz |
Merge the improved $^X absolute pathname conversion.
-rwxr-xr-x | Configure | 250 | ||||
-rw-r--r-- | Cross/config.sh-arm-linux | 2 | ||||
-rw-r--r-- | NetWare/config.wc | 2 | ||||
-rw-r--r-- | Porting/Glossary | 10 | ||||
-rw-r--r-- | Porting/config.sh | 2 | ||||
-rwxr-xr-x | config_h.SH | 14 | ||||
-rw-r--r-- | configure.com | 2 | ||||
-rw-r--r-- | epoc/config.sh | 2 | ||||
-rw-r--r-- | perl.c | 50 | ||||
-rw-r--r-- | plan9/config_sh.sample | 2 | ||||
-rw-r--r-- | pod/perldelta.pod | 12 | ||||
-rw-r--r-- | symbian/config.sh | 2 | ||||
-rw-r--r-- | t/op/magic.t | 6 | ||||
-rw-r--r-- | uconfig.h | 18 | ||||
-rw-r--r-- | uconfig.sh | 2 | ||||
-rw-r--r-- | uconfig64.sh | 2 | ||||
-rw-r--r-- | win32/config.ce | 2 | ||||
-rw-r--r-- | win32/config.gc | 2 | ||||
-rw-r--r-- | win32/config.gc64 | 2 | ||||
-rw-r--r-- | win32/config.gc64nox | 2 | ||||
-rw-r--r-- | win32/config.vc | 2 | ||||
-rw-r--r-- | win32/config.vc64 | 2 |
22 files changed, 366 insertions, 24 deletions
@@ -1229,11 +1229,13 @@ nm_opt='' nm_so_opt='' runnm='' usenm='' +usensgetexecutablepath='' useperlio='' usesocks='' d_oldpthreads='' use5005threads='' useithreads='' +usekernprocpathname='' usereentrant='' usethreads='' incpath='' @@ -16045,23 +16047,24 @@ echo " " procselfexe='' val="$undef" case "$d_readlink" in -"$define") - if $issymlink /proc/self/exe ; then - $ls -l /proc/self/exe > reflect + "$define") + : NetBSD first as /proc/self is a symlink to /proc/curproc, and it feels + : more tidy to avoid an extra level of symlink + set NetBSD /proc/curproc/exe Linux /proc/self/exe FreeBSD /proc/curproc/file Solaris /proc/self/path/a.out + while test $# -gt 0; do + type=$1; try=$2 + shift; shift + if $issymlink $try; then + $ls -l $try > reflect if $contains /`basename $ls` reflect >/dev/null 2>&1; then - echo "You have Linux-like /proc/self/exe." - procselfexe='"/proc/self/exe"' - val="$define" - fi - fi - if $issymlink /proc/curproc/file ; then - $ls -l /proc/curproc/file > reflect - if $contains /`basename $ls` reflect >/dev/null 2>&1; then - echo "You have BSD-like /proc/curproc/file." - procselfexe='"/proc/curproc/file"' - val="$define" + echo "You have $type-like $try." + procselfexe='"'$try'"' + val="$define" + : This will break out of the loop + set X; shift fi - fi + fi + done ;; esac $rm -f reflect @@ -19346,6 +19349,221 @@ $rm_try set ebcdic eval $setvar +: Determine if we can use sysctl with KERN_PROC_PATHNAME to find executing program +echo " " +echo "Determining whether we can use sysctl with KERN_PROC_PATHNAME to find executing program..." >&4 +$cat >try.c <<'EOM' +/* Intentionally a long probe as I'd like to sanity check that the exact + approach is going to work, as thinking it will work, but only having it + part working at runtime is worse than not having it. */ + +#include <sys/types.h> +#include <sys/sysctl.h> +#include <sys/param.h> +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <unistd.h> + +int +main(int argc, char **argv) { + char *buffer; + char *argv_leaf = strrchr(argv[0], '/'); + char *buffer_leaf; + size_t size = 0; + int mib[4]; + + mib[0] = CTL_KERN; + mib[1] = KERN_PROC; + mib[2] = KERN_PROC_PATHNAME; + mib[3] = -1; + + if (!argv_leaf) { + fprintf(stderr, "Can't locate / in '%s'\n", argv[0]); + return 1; + } + + if (sysctl(mib, 4, NULL, &size, NULL, 0)) { + perror("sysctl"); + return 2; + } + + if (size < strlen(argv_leaf) + 1) { + fprintf(stderr, "size %lu is too short for a path\n", + (unsigned long) size); + return 3; + } + + if (size > MAXPATHLEN * MAXPATHLEN) { + fprintf(stderr, "size %lu is too long for a path\n", + (unsigned long) size); + return 4; + } + + buffer = malloc(size); + if (!buffer) { + perror("malloc"); + return 5; + } + + if (sysctl(mib, 4, buffer, &size, NULL, 0)) { + perror("sysctl"); + return 6; + } + + if (strlen(buffer) + 1 != size) { + fprintf(stderr, "size != strlen(buffer) + 1 (%lu != %lu)\n", + (unsigned long)size, (unsigned long)strlen(buffer) + 1); + return 7; + } + + + if (*buffer != '/') { + fprintf(stderr, "Not an absolute path: '%s'\n", buffer); + return 8; + } + + if (strstr(buffer, "/./")) { + fprintf(stderr, "Contains /./: '%s'\n", buffer); + return 9; + } + + if (strstr(buffer, "/../")) { + fprintf(stderr, "Contains /../: '%s'\n", buffer); + return 10; + } + + buffer_leaf = strrchr(buffer, '/'); + if (strcmp(buffer_leaf, argv_leaf) != 0) { + fprintf(stderr, "Leafnames differ: '%s' vs '%s'\n", argv[0], buffer); + return 11; + } + + free(buffer); + + return 0; +} +EOM + +val=$undef +set try +if eval $compile_ok; then + if $run ./try; then + echo "You can use sysctl with KERN_PROC_PATHNAME to find the executing program." >&4 + val="$define" + else + echo "Nope, sysctl with KERN_PROC_PATHNAME doesn't work here." >&4 + val="$undef" + fi +else + echo "I'm unable to compile the test program." >&4 + echo "I'll assume no sysctl with KERN_PROC_PATHNAME here." >&4 + val="$undef" +fi +$rm_try +set usekernprocpathname +eval $setvar + +: Determine if we can use _NSGetExecutablePath to find executing program +echo " " +echo "Determining whether we can use _NSGetExecutablePath to find executing program..." >&4 +$cat >try.c <<'EOM' +/* Intentionally a long probe as I'd like to sanity check that the exact + approach is going to work, as thinking it will work, but only having it + part working at runtime is worse than not having it. */ +#include <mach-o/dyld.h> +#include <stdio.h> +#include <stdlib.h> +#include <sys/param.h> +#include <string.h> + +int +main(int argc, char **argv) { + char buf[1]; + uint32_t size = sizeof(buf); + int result; + char *buffer; + char *tidied; + char *argv_leaf = strrchr(argv[0], '/'); + char *tidied_leaf; + + if (!argv_leaf) { + fprintf(stderr, "Can't locate / in '%s'\n", argv[0]); + return 1; + } + + _NSGetExecutablePath(buf, &size); + if (size > MAXPATHLEN * MAXPATHLEN) { + fprintf(stderr, "_NSGetExecutablePath size %u is too long for a path\n", + (unsigned int) size); + return 2; + } + + buffer = malloc(size); + if (!buffer) { + perror("malloc"); + return 3; + } + + result = _NSGetExecutablePath(buffer, &size); + if (result != 0) { + fprintf(stderr, "_NSGetExecutablePath returned %i for a size of %u\n", + result, (unsigned int) size); + return 4; + } + + tidied = realpath(buffer, NULL); + if (!tidied) { + perror("realpath"); + return 5; + } + + free(buffer); + + if (*tidied != '/') { + fprintf(stderr, "Not an absolute path: '%s'\n", tidied); + return 6; + } + + if (strstr(tidied, "/./")) { + fprintf(stderr, "Contains /./: '%s'\n", tidied); + return 7; + } + + if (strstr(tidied, "/../")) { + fprintf(stderr, "Contains /../: '%s'\n", tidied); + return 8; + } + + tidied_leaf = strrchr(tidied, '/'); + if (strcmp(tidied_leaf, argv_leaf) != 0) { + fprintf(stderr, "Leafnames differ: '%s' vs '%s'\n", argv[0], tidied); + return 9; + } + + free(tidied); + + return 0; +} +EOM + +val=$undef +set try +if eval $compile_ok; then + if $run ./try; then + echo "You can use _NSGetExecutablePath to find the executing program." >&4 + val="$define" + else + echo "Nope, _NSGetExecutablePath doesn't work here." >&4 + fi +else + echo "I'm unable to compile the test program." >&4 + echo "I'll assume no _NSGetExecutablePath here." >&4 +fi +$rm_try +set usensgetexecutablepath +eval $setvar + : Check how to flush echo " " $cat >&4 <<EOM @@ -23434,6 +23652,7 @@ usedl='$usedl' usedtrace='$usedtrace' usefaststdio='$usefaststdio' useithreads='$useithreads' +usekernprocpathname='$usekernprocpathname' uselargefiles='$uselargefiles' uselongdouble='$uselongdouble' usemallocwrap='$usemallocwrap' @@ -23441,6 +23660,7 @@ usemorebits='$usemorebits' usemultiplicity='$usemultiplicity' usemymalloc='$usemymalloc' usenm='$usenm' +usensgetexecutablepath='$usensgetexecutablepath' useopcode='$useopcode' useperlio='$useperlio' useposix='$useposix' diff --git a/Cross/config.sh-arm-linux b/Cross/config.sh-arm-linux index 928efa709c..e611e353f4 100644 --- a/Cross/config.sh-arm-linux +++ b/Cross/config.sh-arm-linux @@ -1024,6 +1024,7 @@ usedl='define' usedtrace='undef' usefaststdio='define' useithreads='undef' +usekernprocpathname='undef' uselargefiles='define' uselongdouble='undef' usemallocwrap='define' @@ -1031,6 +1032,7 @@ usemorebits='undef' usemultiplicity='undef' usemymalloc='n' usenm='false' +usensgetexecutablepath='undef' useopcode='true' useperlio='define' useposix='true' diff --git a/NetWare/config.wc b/NetWare/config.wc index 419aa83ea4..6750b8c3c7 100644 --- a/NetWare/config.wc +++ b/NetWare/config.wc @@ -987,6 +987,7 @@ usedl='define' usedtrace='undef' usefaststdio='undef' useithreads='define' +usekernprocpathname='undef' uselargefiles='undef' uselongdouble='undef' usemallocwrap='undef' @@ -994,6 +995,7 @@ usemorebits='undef' usemultiplicity='define' usemymalloc='n' usenm='false' +usensgetexecutablepath='undef' useopcode='true' useperlio='undef' useposix='true' diff --git a/Porting/Glossary b/Porting/Glossary index ceed6a5e58..81c83a9ef0 100644 --- a/Porting/Glossary +++ b/Porting/Glossary @@ -5015,6 +5015,11 @@ useithreads (usethreads.U): and indicates that Perl should be built to use the interpreter-based threading implementation. +usekernprocpathname (usekernprocpathname.U) + This variable, indicates that we can use sysctl with + KERN_PROC_PATHNAME to get a full path for the executable, and hence + convert $^X to an absolute path. + uselargefiles (uselfs.U): This variable conditionally defines the USE_LARGE_FILES symbol, and indicates that large file interfaces should be used when @@ -5048,6 +5053,11 @@ usenm (usenm.U): This variable contains 'true' or 'false' depending whether the nm extraction is wanted or not. +usensgetexecutablepath (usensgetexecutablepath.U): + This symbol, if defined, indicates that we can use _NSGetExecutablePath + and realpath to get a full path for the executable, and hence convert + $^X to an absolute path. + useopcode (Extensions.U): This variable holds either 'true' or 'false' to indicate whether the Opcode extension should be used. The sole diff --git a/Porting/config.sh b/Porting/config.sh index 2c7c2aa8ac..fce318784e 100644 --- a/Porting/config.sh +++ b/Porting/config.sh @@ -1046,6 +1046,7 @@ usedl='define' usedtrace='undef' usefaststdio='undef' useithreads='undef' +usekernprocpathname='undef' uselargefiles='define' uselongdouble='undef' usemallocwrap='define' @@ -1053,6 +1054,7 @@ usemorebits='undef' usemultiplicity='undef' usemymalloc='n' usenm='false' +usensgetexecutablepath='undef' useopcode='true' useperlio='define' useposix='true' diff --git a/config_h.SH b/config_h.SH index 43743b6858..7b8d31e6b5 100755 --- a/config_h.SH +++ b/config_h.SH @@ -2689,6 +2689,20 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un */ #$ebcdic EBCDIC /**/ +/* USE_KERN_PROC_PATHNAME: + * This symbol, if defined, indicates that we can use sysctl with + * KERN_PROC_PATHNAME to get a full path for the executable, and hence + * convert $^X to an absolute path. + */ +#$usekernprocpathname USE_KERN_PROC_PATHNAME /**/ + +/* USE_NSGETEXECUTABLEPATH: + * This symbol, if defined, indicates that we can use _NSGetExecutablePath + * and realpath to get a full path for the executable, and hence convert + * $^X to an absolute path. + */ +#$usensgetexecutablepath USE_NSGETEXECUTABLEPATH /**/ + /* Fpos_t: * This symbol holds the type used to declare file positions in libc. * It can be fpos_t, long, uint, etc... It may be necessary to include diff --git a/configure.com b/configure.com index 14a73f1fc4..5da59730bc 100644 --- a/configure.com +++ b/configure.com @@ -6717,6 +6717,8 @@ $ WC "usefaststdio='" + usefaststdio + "'" $ WC "useieee='" + useieee + "'" ! VMS-specific $ WC "useithreads='" + useithreads + "'" $ WC "usekernelthreads='" + usekernelthreads + "'" ! VMS-specific +$ WC "usekernprocpathname='undef'" +$ WC "usensgetexecutablepath='undef'" $ WC "uselargefiles='" + uselargefiles + "'" $ WC "uselongdouble='" + uselongdouble + "'" $ WC "usemorebits='" + usemorebits + "'" diff --git a/epoc/config.sh b/epoc/config.sh index 87dce8aed4..c80589005e 100644 --- a/epoc/config.sh +++ b/epoc/config.sh @@ -983,6 +983,7 @@ usedl='undef' usedtrace='undef' usefaststdio='undef' useithreads='undef' +usekernprocpathname='undef' uselargefiles='undef' uselongdouble='undef' usemallocwrap='undef' @@ -990,6 +991,7 @@ usemorebits='undef' usemultiplicity='undef' usemymalloc='n' usenm='' +usensgetexecutablepath='undef' useopcode='' useperlio='undef' useposix='' @@ -38,6 +38,14 @@ #include "nwutil.h" #endif +#ifdef USE_KERN_PROC_PATHNAME +# include <sys/sysctl.h> +#endif + +#ifdef USE_NSGETEXECUTABLEPATH +# include <mach-o/dyld.h> +#endif + #ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP # ifdef I_SYSUIO # include <sys/uio.h> @@ -1390,7 +1398,47 @@ S_set_caret_X(pTHX) { #if defined(OS2) sv_setpv(caret_x, os2_execname(aTHX)); #else -# ifdef HAS_PROCSELFEXE +# ifdef USE_KERN_PROC_PATHNAME + size_t size = 0; + int mib[4]; + mib[0] = CTL_KERN; + mib[1] = KERN_PROC; + mib[2] = KERN_PROC_PATHNAME; + mib[3] = -1; + + if (sysctl(mib, 4, NULL, &size, NULL, 0) == 0 + && size > 0 && size < MAXPATHLEN * MAXPATHLEN) { + sv_grow(caret_x, size); + + if (sysctl(mib, 4, SvPVX(caret_x), &size, NULL, 0) == 0 + && size > 2) { + SvPOK_only(caret_x); + SvCUR_set(caret_x, size - 1); + SvTAINT(caret_x); + return; + } + } +# elif defined(USE_NSGETEXECUTABLEPATH) + char buf[1]; + uint32_t size = sizeof(buf); + int result; + + _NSGetExecutablePath(buf, &size); + if (size < MAXPATHLEN * MAXPATHLEN) { + sv_grow(caret_x, size); + if (_NSGetExecutablePath(SvPVX(caret_x), &size) == 0) { + char *const tidied = realpath(SvPVX(caret_x), NULL); + if (tidied) { + sv_setpv(caret_x, tidied); + free(tidied); + } else { + SvPOK_only(caret_x); + SvCUR_set(caret_x, size); + } + return; + } + } +# elif defined(HAS_PROCSELFEXE) char buf[MAXPATHLEN]; int len = readlink(PROCSELFEXE_PATH, buf, sizeof(buf) - 1); diff --git a/plan9/config_sh.sample b/plan9/config_sh.sample index 2f7e938115..bd5da2fa14 100644 --- a/plan9/config_sh.sample +++ b/plan9/config_sh.sample @@ -995,6 +995,7 @@ usedl='undef' usedtrace='undef' usefaststdio='undef' useithreads='undef' +usekernprocpathname='undef' uselargefiles='define' uselongdouble='undef' usemallocwrap='undef' @@ -1002,6 +1003,7 @@ usemorebits='undef' usemultiplicity='undef' usemymalloc='y' usenm='false' +usensgetexecutablepath='undef' useopcode='true' useperlio='define' useposix='true' diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 32fdb7a97d..825288e510 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -22,11 +22,15 @@ XXX Any important notices here =head1 Core Enhancements -XXX New core language features go here. Summarise user-visible core language -enhancements. Particularly prominent performance optimisations could go -here, but most should go in the L</Performance Enhancements> section. +=head2 $^X converted to an absolute path on FreeBSD, OS X and Solaris -[ List each enhancement as a =head2 entry ] +C<$^X> is now converted to an absolute path on OS X, FreeBSD (without +needing F</proc> mounted) and Solaris 10 and 11. This augments the +previous approach of using F</proc> on Linux, FreeBSD and NetBSD +(in all cases, where mounted). + +This makes relocatable perl installations more useful on these platforms. +(See "Relocatable @INC" in F<INSTALL>) =head1 Security diff --git a/symbian/config.sh b/symbian/config.sh index 6a27ff5064..a62577b820 100644 --- a/symbian/config.sh +++ b/symbian/config.sh @@ -810,6 +810,7 @@ usedl='undef' usedtrace='undef' usefaststdio='undef' useithreads='undef' +usekernprocpathname='undef' uselargefiles='undef' uselongdouble='undef' usemallocwrap='define' @@ -817,6 +818,7 @@ usemorebits='undef' usemultiplicity='undef' usemymalloc='n' usenm='false' +usensgetexecutablepath='undef' useopcode='true' useperlio='define' useposix='true' diff --git a/t/op/magic.t b/t/op/magic.t index dd6d28e1bd..8c2c508f57 100644 --- a/t/op/magic.t +++ b/t/op/magic.t @@ -230,10 +230,12 @@ $$ = $pid; # Tests below use $$ # $^X and $0 { + my $is_abs = $Config{d_procselfexe} || $Config{usekernprocpathname} + || $Config{usensgetexecutablepath}; if ($^O eq 'qnx') { chomp($wd = `/usr/bin/fullpath -t`); } - elsif($Is_Cygwin || $Config{'d_procselfexe'}) { + elsif($Is_Cygwin || $is_abs) { # Cygwin turns the symlink into the real file chomp($wd = `pwd`); $wd =~ s#/t$##; @@ -248,7 +250,7 @@ $$ = $pid; # Tests below use $$ else { $wd = '.'; } - my $perl = $Is_VMS || $Config{d_procselfexe} ? $^X : "$wd/perl"; + my $perl = $Is_VMS || $is_abs ? $^X : "$wd/perl"; my $headmaybe = ''; my $middlemaybe = ''; my $tailmaybe = ''; @@ -2656,6 +2656,20 @@ */ /*#define EBCDIC / **/ +/* USE_KERN_PROC_PATHNAME: + * This symbol, if defined, indicates that we can use sysctl with + * KERN_PROC_PATHNAME to get a full path for the executable, and hence + * convert $^X to an absolute path. + */ +/*#define USE_KERN_PROC_PATHNAME / **/ + +/* USE_NSGETEXECUTABLEPATH: + * This symbol, if defined, indicates that we can use _NSGetExecutablePath + * and realpath to get a full path for the executable, and hence convert + * $^X to an absolute path. + */ +/*#define USE_NSGETEXECUTABLEPATH / **/ + /* Fpos_t: * This symbol holds the type used to declare file positions in libc. * It can be fpos_t, long, uint, etc... It may be necessary to include @@ -4704,6 +4718,6 @@ #endif /* Generated from: - * 5c3a0864433ad4da7f3248b108cf8e17c19bd4d71799cd56b6c2a73bb647561a config_h.SH - * e5d6d7ffdf6717946996c0807aa7a247b46adf41f2d98c62cdd7c1bb8ffe19f2 uconfig.sh + * 5b5dacbb00f53ae9b440c79cf6d5c8bbf80a7adfa1db3f3814aa77dc6f461fa7 config_h.SH + * b5e74633486412bbc4d2a1c3847f3e85b10a86e96fb5d1efb7b8bc885956d746 uconfig.sh * ex: set ro: */ diff --git a/uconfig.sh b/uconfig.sh index 74a1b9143e..e7692dc693 100644 --- a/uconfig.sh +++ b/uconfig.sh @@ -777,6 +777,7 @@ usedl='undef' usedtrace='undef' usefaststdio='undef' useithreads='undef' +usekernprocpathname='undef' uselargefiles='undef' uselongdouble='undef' usemallocwrap='undef' @@ -784,6 +785,7 @@ usemorebits='undef' usemultiplicity='undef' usemymalloc='n' usenm='false' +usensgetexecutablepath='undef' useopcode='true' useperlio='undef' useposix='true' diff --git a/uconfig64.sh b/uconfig64.sh index 784d0f010e..1ae544fbcd 100644 --- a/uconfig64.sh +++ b/uconfig64.sh @@ -778,6 +778,7 @@ usedl='undef' usedtrace='undef' usefaststdio='undef' useithreads='undef' +usekernprocpathname='undef' uselargefiles='undef' uselongdouble='undef' usemallocwrap='undef' @@ -785,6 +786,7 @@ usemorebits='undef' usemultiplicity='undef' usemymalloc='n' usenm='false' +usensgetexecutablepath='undef' useopcode='true' useperlio='undef' useposix='true' diff --git a/win32/config.ce b/win32/config.ce index 1f58933459..62d2123605 100644 --- a/win32/config.ce +++ b/win32/config.ce @@ -977,6 +977,7 @@ usedl='define' usedtrace='undef' usefaststdio='undef' useithreads='~USE_ITHREADS~' +usekernprocpathname='undef' uselargefiles='undef' uselongdouble='undef' usemallocwrap='define' @@ -984,6 +985,7 @@ usemorebits='undef' usemultiplicity='undef' usemymalloc='n' usenm='false' +usensgetexecutablepath='undef' useopcode='true' useperlio='~USE_PERLIO~' useposix='true' diff --git a/win32/config.gc b/win32/config.gc index 5741584252..cb963fb6fa 100644 --- a/win32/config.gc +++ b/win32/config.gc @@ -1020,6 +1020,7 @@ usedl='define' usedtrace='undef' usefaststdio='undef' useithreads='undef' +usekernprocpathname='undef' uselargefiles='undef' uselongdouble='undef' usemallocwrap='define' @@ -1027,6 +1028,7 @@ usemorebits='undef' usemultiplicity='undef' usemymalloc='n' usenm='false' +usensgetexecutablepath='undef' useopcode='true' useperlio='undef' useposix='true' diff --git a/win32/config.gc64 b/win32/config.gc64 index bc6210e558..7e06e2a9fd 100644 --- a/win32/config.gc64 +++ b/win32/config.gc64 @@ -1021,6 +1021,7 @@ usedl='define' usedtrace='undef' usefaststdio='undef' useithreads='undef' +usekernprocpathname='undef' uselargefiles='undef' uselongdouble='undef' usemallocwrap='define' @@ -1028,6 +1029,7 @@ usemorebits='undef' usemultiplicity='undef' usemymalloc='n' usenm='false' +usensgetexecutablepath='undef' useopcode='true' useperlio='undef' useposix='true' diff --git a/win32/config.gc64nox b/win32/config.gc64nox index fc407ad7aa..92ef05f5a7 100644 --- a/win32/config.gc64nox +++ b/win32/config.gc64nox @@ -1021,6 +1021,7 @@ usedl='define' usedtrace='undef' usefaststdio='undef' useithreads='undef' +usekernprocpathname='undef' uselargefiles='undef' uselongdouble='undef' usemallocwrap='define' @@ -1028,6 +1029,7 @@ usemorebits='undef' usemultiplicity='undef' usemymalloc='n' usenm='false' +usensgetexecutablepath='undef' useopcode='true' useperlio='undef' useposix='true' diff --git a/win32/config.vc b/win32/config.vc index 30957919e1..379a125bab 100644 --- a/win32/config.vc +++ b/win32/config.vc @@ -1020,6 +1020,7 @@ usedl='define' usedtrace='undef' usefaststdio='undef' useithreads='undef' +usekernprocpathname='undef' uselargefiles='undef' uselongdouble='undef' usemallocwrap='define' @@ -1027,6 +1028,7 @@ usemorebits='undef' usemultiplicity='undef' usemymalloc='n' usenm='false' +usensgetexecutablepath='undef' useopcode='true' useperlio='undef' useposix='true' diff --git a/win32/config.vc64 b/win32/config.vc64 index 1396a0ad00..d429f2028c 100644 --- a/win32/config.vc64 +++ b/win32/config.vc64 @@ -1020,6 +1020,7 @@ usedl='define' usedtrace='undef' usefaststdio='undef' useithreads='undef' +usekernprocpathname='undef' uselargefiles='undef' uselongdouble='undef' usemallocwrap='define' @@ -1027,6 +1028,7 @@ usemorebits='undef' usemultiplicity='undef' usemymalloc='n' usenm='false' +usensgetexecutablepath='undef' useopcode='true' useperlio='undef' useposix='true' |