diff options
author | Nick Ing-Simmons <nik@tiuk.ti.com> | 1997-11-22 21:18:11 +0000 |
---|---|---|
committer | Nick Ing-Simmons <nik@tiuk.ti.com> | 1997-11-22 21:18:11 +0000 |
commit | acbc2db62d28b1660277b33463f96f796b30a6c3 (patch) | |
tree | f30ca3832ee607f9a52fe9655e0674656aa43c9c /win32 | |
parent | f987c7de872f3c20b09e75a8cd08fc8c3c4aefd2 (diff) | |
download | perl-acbc2db62d28b1660277b33463f96f796b30a6c3.tar.gz |
Munge pseudo-Configure stuff to add -thread to archname as
Malcolm seems to think that is way to test for threads.
Update @INC stuffing hackery to have traditional @INC
search order archlib, privlib, sitearch, site.
p4raw-id: //depot/ansiperl@282
Diffstat (limited to 'win32')
-rw-r--r-- | win32/config.bc | 6 | ||||
-rw-r--r-- | win32/config_H.bc | 13 | ||||
-rw-r--r-- | win32/config_H.vc | 13 | ||||
-rw-r--r-- | win32/config_h.PL | 15 | ||||
-rw-r--r-- | win32/config_sh.PL | 11 | ||||
-rw-r--r-- | win32/win32.c | 20 | ||||
-rw-r--r-- | win32/win32.h | 3 |
7 files changed, 50 insertions, 31 deletions
diff --git a/win32/config.bc b/win32/config.bc index 0a014d7647..c5340214b8 100644 --- a/win32/config.bc +++ b/win32/config.bc @@ -5,7 +5,7 @@ ## Target system: WIN32 # -archlibexp='~INST_TOP~\lib' +archlibexp='~INST_TOP~\lib\~archname~' archname='MSWin32' cc='bcc32' ccflags='-DWIN32' @@ -13,7 +13,7 @@ cppflags='-DWIN32' dlsrc='dl_win32.xs' dynamic_ext='Socket IO Fcntl Opcode SDBM_File attrs Thread' extensions='~static_ext~ ~dynamic_ext~' -installarchlib='~INST_TOP~\lib' +installarchlib='~INST_TOP~\lib\~archname~' installprivlib='~INST_TOP~\lib' libpth='' libs='' @@ -46,7 +46,7 @@ afs='false' alignbytes='8' aphostname='' ar='tlib /P128' -archlib='~INST_TOP~\lib' +archlib='~INST_TOP~\lib\~archname~' archobjs='' awk='awk' baserev='5.0' diff --git a/win32/config_H.bc b/win32/config_H.bc index edd4ffc09f..cea8b4e9c3 100644 --- a/win32/config_H.bc +++ b/win32/config_H.bc @@ -47,7 +47,7 @@ * where library files may be held under a private library, for * instance. */ -#define ARCHNAME "MSWin32" /**/ +#define ARCHNAME "MSWin32-x86-thread" /**/ /* BIN: * This symbol holds the path of the bin directory where the package will @@ -1466,9 +1466,8 @@ * This symbol contains the ~name expanded version of ARCHLIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ -#define ARCHLIB "c:\\perl\\lib" /**/ -#define ARCHLIB_EXP (win32PerlLibPath()) /**/ -#define APPLLIB_EXP (win32SiteLibPath()) /**/ +#define ARCHLIB "c:\\perl\\lib\\MSWin32-x86-thread" /**/ +#define ARCHLIB_EXP (win32PerlLibPath(ARCHNAME,NULL)) /**/ /* BINCOMPAT3: * This symbol, if defined, indicates that Perl 5.004 should be @@ -1715,7 +1714,7 @@ * in programs that are not prepared to deal with ~ expansion at run-time. */ #define PRIVLIB "c:\\perl\\lib" /**/ -#define PRIVLIB_EXP "c:\\perl\\lib" /**/ +#define PRIVLIB_EXP (win32PerlLibPath(NULL)) /**/ /* SH_PATH: * This symbol contains the full pathname to the shell used on this @@ -1771,7 +1770,7 @@ * in programs that are not prepared to deal with ~ expansion at run-time. */ #define SITEARCH "c:\\perl\\lib\\site" /**/ -#define SITEARCH_EXP "c:\\perl\\lib\\site" /**/ +#define SITEARCH_EXP (win32PerlLibPath("site",ARCHNAME,NULL)) /**/ /* SITELIB: * This symbol contains the name of the private library for this package. @@ -1787,7 +1786,7 @@ * in programs that are not prepared to deal with ~ expansion at run-time. */ #define SITELIB "c:\\perl\\lib\\site" /**/ -#define SITELIB_EXP "c:\\perl\\lib\\site" /**/ +#define SITELIB_EXP (win32PerlLibPath("site",NULL)) /**/ /* STARTPERL: * This variable contains the string to put in front of a perl diff --git a/win32/config_H.vc b/win32/config_H.vc index 552d74dd34..87ecab8221 100644 --- a/win32/config_H.vc +++ b/win32/config_H.vc @@ -47,7 +47,7 @@ * where library files may be held under a private library, for * instance. */ -#define ARCHNAME "MSWin32" /**/ +#define ARCHNAME "MSWin32-x86-thread" /**/ /* BIN: * This symbol holds the path of the bin directory where the package will @@ -1466,9 +1466,8 @@ * This symbol contains the ~name expanded version of ARCHLIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. */ -#define ARCHLIB "c:\\perl\\lib" /**/ -#define ARCHLIB_EXP (win32PerlLibPath()) /**/ -#define APPLLIB_EXP (win32SiteLibPath()) /**/ +#define ARCHLIB "c:\\perl\\lib\\MSWin32-x86-thread" /**/ +#define ARCHLIB_EXP (win32PerlLibPath(ARCHNAME,NULL)) /**/ /* BINCOMPAT3: * This symbol, if defined, indicates that Perl 5.004 should be @@ -1715,7 +1714,7 @@ * in programs that are not prepared to deal with ~ expansion at run-time. */ #define PRIVLIB "c:\\perl\\lib" /**/ -#define PRIVLIB_EXP "c:\\perl\\lib" /**/ +#define PRIVLIB_EXP (win32PerlLibPath(NULL)) /**/ /* SH_PATH: * This symbol contains the full pathname to the shell used on this @@ -1771,7 +1770,7 @@ * in programs that are not prepared to deal with ~ expansion at run-time. */ #define SITEARCH "c:\\perl\\lib\\site" /**/ -#define SITEARCH_EXP "c:\\perl\\lib\\site" /**/ +#define SITEARCH_EXP (win32PerlLibPath("site",ARCHNAME,NULL)) /**/ /* SITELIB: * This symbol contains the name of the private library for this package. @@ -1787,7 +1786,7 @@ * in programs that are not prepared to deal with ~ expansion at run-time. */ #define SITELIB "c:\\perl\\lib\\site" /**/ -#define SITELIB_EXP "c:\\perl\\lib\\site" /**/ +#define SITELIB_EXP (win32PerlLibPath("site",NULL)) /**/ /* STARTPERL: * This variable contains the string to put in front of a perl diff --git a/win32/config_h.PL b/win32/config_h.PL index 5d47016dc9..679ba99112 100644 --- a/win32/config_h.PL +++ b/win32/config_h.PL @@ -37,8 +37,19 @@ while (<SH>) s#/[ *\*]*\*/#/**/#; if (/^\s*#define\s+ARCHLIB_EXP/) { - $_ = "#define ARCHLIB_EXP (win32PerlLibPath())\t/**/\n" - . "#define APPLLIB_EXP (win32SiteLibPath())\t/**/\n"; + $_ = "#define ARCHLIB_EXP (win32PerlLibPath(ARCHNAME,NULL))\t/**/\n"; + } + if (/^\s*#define\s+PRIVLIB_EXP/) + { + $_ = "#define PRIVLIB_EXP (win32PerlLibPath(NULL))\t/**/\n" + } + if (/^\s*#define\s+SITEARCH_EXP/) + { + $_ = "#define SITEARCH_EXP (win32PerlLibPath(\"site\",ARCHNAME,NULL))\t/**/\n"; + } + if (/^\s*#define\s+SITELIB_EXP/) + { + $_ = "#define SITELIB_EXP (win32PerlLibPath(\"site\",NULL))\t/**/\n"; } print H; } diff --git a/win32/config_sh.PL b/win32/config_sh.PL index 0c3713cb2e..5f3f157a0c 100644 --- a/win32/config_sh.PL +++ b/win32/config_sh.PL @@ -5,6 +5,17 @@ while (@ARGV && $ARGV[0] =~ /^([\w_]+)=(.*)$/) shift(@ARGV); } +$opt{'archname'} = 'MSWin32'; +if (defined $ENV{'PROCESSOR_ARCHITECTURE'}) + { + $opt{'archname'} .= '-'.$ENV{'PROCESSOR_ARCHITECTURE'}; + } + +if ($opt{'ccflags'} =~ /USE_THREADS/) + { + $opt{'archname'} .= '-thread'; + } + if ($] =~ /\.(\d\d\d)?(\d\d)?$/) { # should always be true $opt{PATCHLEVEL} = int($1 || 0); $opt{SUBVERSION} = $2 || '00'; diff --git a/win32/win32.c b/win32/win32.c index 26cf26f8db..74be770ff1 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -55,30 +55,30 @@ IsWinNT(void) { } char * -win32PerlLibPath(void) +win32PerlLibPath(char *sfx,...) { + va_list ap; char *end; + va_start(ap,sfx); GetModuleFileName((PerlDllHandle == INVALID_HANDLE_VALUE) ? GetModuleHandle(NULL) : PerlDllHandle, szPerlLibRoot, sizeof(szPerlLibRoot)); - *(end = strrchr(szPerlLibRoot, '\\')) = '\0'; if (stricmp(end-4,"\\bin") == 0) end -= 4; strcpy(end,"\\lib"); + while (sfx) + { + strcat(end,"\\"); + strcat(end,sfx); + sfx = va_arg(ap,char *); + } + va_end(ap); return (szPerlLibRoot); } -char * -win32SiteLibPath(void) -{ - static char szPerlSiteLib[MAX_PATH+1]; - strcpy(szPerlSiteLib, win32PerlLibPath()); - strcat(szPerlSiteLib, "\\site"); - return (szPerlSiteLib); -} BOOL HasRedirection(char *ptr) diff --git a/win32/win32.h b/win32/win32.h index ec4faa8587..2e31d0e3ba 100644 --- a/win32/win32.h +++ b/win32/win32.h @@ -129,8 +129,7 @@ extern int my_fclose(FILE *); extern int do_aspawn(void* really, void ** mark, void ** arglast); extern int do_spawn(char *cmd); extern char do_exec(char *cmd); -extern char * win32PerlLibPath(void); -extern char * win32SiteLibPath(void); +extern char * win32PerlLibPath(char *sfx,...); extern int IsWin95(void); extern int IsWinNT(void); |