richter 01/05/18 01:32:18
Modified: . Changes.pod Embperl.pm Embperl.xs Makefile.PL
Log:
- fixes problem with cleanup and Perl 5.6.0+ which broke
session management. Spotted by Lukas Zapletal and Andy Lim.
- Improved Makefile.PL to catche more setup situation on
Win 32.
Revision Changes Path
1.167 +12 -0 embperl/Changes.pod
Index: Changes.pod
===================================================================
RCS file: /home/cvs/embperl/Changes.pod,v
retrieving revision 1.166
retrieving revision 1.167
diff -u -r1.166 -r1.167
--- Changes.pod 2001/05/16 05:29:33 1.166
+++ Changes.pod 2001/05/18 08:32:05 1.167
@@ -1,5 +1,17 @@
=pod
+=head1 1.3.3_dev -- That's what currently under developement
+
+Last Update: <$localtime$> (MET)
+
+NOTE: This version is only available via L<"CVS"|CVS/"INTRO">
+
+ - fixes problem with cleanup and Perl 5.6.0+ which broke
+ session management. Spotted by Lukas Zapletal and Andy Lim.
+ - Improved Makefile.PL to catche more setup situation on
+ Win 32.
+
+
=head1 1.3.2 (RELEASE) 16 May. 2001
- Emulate the syntax => Text parameter of Embperl 2.0, which allows
1.153 +6 -4 embperl/Embperl.pm
Index: Embperl.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl.pm,v
retrieving revision 1.152
retrieving revision 1.153
diff -u -r1.152 -r1.153
--- Embperl.pm 2001/05/16 03:56:54 1.152
+++ Embperl.pm 2001/05/18 08:32:06 1.153
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: Embperl.pm,v 1.152 2001/05/16 03:56:54 richter Exp $
+# $Id: Embperl.pm,v 1.153 2001/05/18 08:32:06 richter Exp $
#
###################################################################################
@@ -1321,7 +1321,8 @@
$val = ${*{"$package\::"}}{$key} ;
local(*ENTRY) = $val;
#print LOG "$key = " . GVFile (*ENTRY) . "\n" ;
- $varfile = GVFile (*ENTRY) ;
+ $varfile = GVFile (${*{"$package\::"}}{$key}) ;
+ #$varfile = GVFile (*ENTRY) ;
$glob = $package.'::'.$key ;
if (defined (*ENTRY{SCALAR}) && defined (${$glob}) && ref (${$glob})
eq 'DBIx::Recordset')
{
@@ -1409,8 +1410,9 @@
}
else
{
- $varfile = GVFile (*ENTRY) ;
- if (($packfile eq $varfile || $addcleanup -> {$key} ||
+ #$varfile = GVFile (*ENTRY) ;
+ $varfile = GVFile (${*{"$package\::"}}{$key}) ;
+ if (($packfile eq $varfile || $addcleanup -> {$key} ||
$cleanfile->{$varfile}) &&
(!($key =~ /\:\:$/) && !(defined ($addcleanup -> {$key}) &&
$addcleanup -> {$key} == 0)))
{ # Only cleanup vars which are defined in the sourcefile
1.44 +4 -1 embperl/Embperl.xs
Index: Embperl.xs
===================================================================
RCS file: /home/cvs/embperl/Embperl.xs,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- Embperl.xs 2001/05/11 06:55:40 1.43
+++ Embperl.xs 2001/05/18 08:32:08 1.44
@@ -97,10 +97,13 @@
*/
/* workaround for not working GvFILE in Perl 5.6.1+ with threads */
if(GvIMPORTED(gv))
+ {
RETVAL = "i" ;
+ }
else
+ {
RETVAL = "" ;
-
+ }
}
#else
if (gv && SvTYPE(gv) == SVt_PVGV && GvGP (gv))
1.48 +64 -62 embperl/Makefile.PL
Index: Makefile.PL
===================================================================
RCS file: /home/cvs/embperl/Makefile.PL,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -r1.47 -r1.48
--- Makefile.PL 2001/05/15 19:29:32 1.47
+++ Makefile.PL 2001/05/18 08:32:09 1.48
@@ -28,56 +28,49 @@
'mod_perl.c' => { name => 'perl_module',
path => ['$apache_src/modules/perl/libperl.so',
'$EPBINDIR/modules/libperl.so', '$apache_src/mod_perl.so'],
win32path => ['$mpdll', '$mpdll/apachemoduleperl.dll',
'$mpdll/mod_perl.so', '$EPBINDIR/modules/apachemoduleperl.dll',
'$EPBINDIR/modules/mod_perl.so'],
- file => 'libperl.so',
+ file => ['libperl.so', 'apachemoduleperl.dll',
'mod_perl.so'],
filetext => 'libperl.so or mod_perl.so',
- win32file => 'apachemoduleperl.dll',
win32filetext => 'ApacheModulePerl.dll or mod_perl.so',
},
'mod_dir.c' => { name => 'dir_module',
path => ['$apache_src/modules/standard/mod_dir.so',
'$EPBINDIR/modules/mod_dir.so', '$apache_src/mod_dir.so'],
win32path =>
['$apache_src/modules/standard/apachemoduledir.dll',
'$EPBINDIR/modules/apachemoduledir.dll', '$EPBINDIR/modules/mod_dir.so'],
- file => 'mod_dir.so',
- win32file => 'apachemoduledir.dll',
+ file => ['mod_dir.so', 'apachemoduledir.dll'],
win32filetext => 'ApacheModuleDir.dll or mod_dir.so',
},
'mod_env.c' => { name => 'env_module',
path => ['$apache_src/modules/standard/mod_env.so',
'$EPBINDIR/modules/mod_env.so', '$apache_src/mod_env.so'],
win32path =>
['$apache_src/modules/standard/apachemoduleenv.dll',
'$EPBINDIR/modules/apachemoduleenv.dll', '$EPBINDIR/modules/mod_env.so'],
- file => 'mod_env.so',
- win32file => 'apachemoduleenv.dll',
+ file => ['mod_env.so', 'apachemoduleenv.dll'],
win32filetext => 'ApacheModuleEnv.dll or mod_env.so',
},
'mod_mime.c' => { name => 'mime_module',
path => ['$apache_src/modules/standard/mod_mime.so',
'$EPBINDIR/modules/mod_mime.so', '$apache_src/mod_mime.so'],
win32path =>
['$apache_src/modules/standard/apachemodulemime.dll',
'$EPBINDIR/modules/apachemodulemime.dll', '$EPBINDIR/modules/mod_mime.so'],
- file => 'mod_mime.so',
- win32file => 'apachemodulemime.dll',
+ file => ['mod_mime.so', 'apachemodulemime.dll'],
win32filetext => 'ApacheModuleMime.dll or mod_mime.so',
},
'mod_alias.c' => { name => 'alias_module',
path => ['$apache_src/modules/standard/mod_alias.so',
'$EPBINDIR/modules/mod_alias.so', '$apache_src/mod_alias.so'],
win32path =>
['$apache_src/modules/standard/apachemodulealias.dll',
'$EPBINDIR/modules/apachemodulealias.dll', '$EPBINDIR/modules/mod_alias.so'],
- file => 'mod_alias.so',
- win32file => 'apachemodulealias.dll',
+ file => ['mod_alias.so', 'apachemodulealias.dll'],
win32filetext => 'ApacheModuleAlias.dll or mod_alias.so',
},
'mod_cgi.c' => { name => 'cgi_module',
path => ['$apache_src/modules/standard/mod_cgi.so',
'$EPBINDIR/modules/mod_cgi.so', '$apache_src/mod_cgi.so'],
win32path =>
['$apache_src/modules/standard/apachemodulecgi.dll',
'$EPBINDIR/modules/apachemodulecgi.dll', '$EPBINDIR/modules/mod_cgi.so'],
- file => 'mod_cgi.so',
- win32file => 'apachemodulecgi.dll',
+ file => ['mod_cgi.so', 'apachemodulecgi.dll'],
win32filetext => 'ApacheModuleCgi.dll or mod_cgi.so',
},
'mod_actions.c' => { name => 'action_module',
path => ['$apache_src/modules/standard/mod_actions.so',
'$EPBINDIR/modules/mod_actions.so', '$apache_src/mod_actions.so'],
win32path =>
['$apache_src/modules/standard/apachemoduleactions.dll',
'$EPBINDIR/modules/apachemoduleactions.dll', '$EPBINDIR/modules/mod_actions.so'],
- file => 'mod_actions.so',
- win32file => 'apachemoduleactions.dll',
+ file => ['mod_actions.so','apachemoduleactions.dll'],
win32filetext => 'ApacheModuleActions.dll or mod_actions.so',
},
@@ -95,7 +88,7 @@
my ($txt) = shift -> MM::test_via_harness (@_) ;
$txt =~ s/PERL_DL_NONLAZY=1/PERL_DL_NONLAZY=0/ ;
#$txt =~ s/\$\(FULLPERL\)/\$\(FULLPERL\) \-T / ;
- $txt =~ s/\$\(FULLPERL\)/SET PATH=\$\(PATH\)\;$EPHTTPDDLL\n\t\$\(FULLPERL\)/
if ($win32) ;
+ $txt =~ s/\$\(FULLPERL\)/SET PATH=\$\(PATH\)\;$EPENVPATH\n\t\$\(FULLPERL\)/ if
($win32) ;
return $txt ;
}
@@ -104,7 +97,7 @@
my ($txt) = shift -> MM::test_via_script (@_) ;
$txt =~ s/PERL_DL_NONLAZY=1/PERL_DL_NONLAZY=0/ ;
#$txt =~ s/\$\(FULLPERL\)/\$\(FULLPERL\) \-T / ;
- $txt =~ s/\$\(FULLPERL\)/SET PATH=\$\(PATH\)\;$EPHTTPDDLL\n\t\$\(FULLPERL\)/
if ($win32) ;
+ $txt =~ s/\$\(FULLPERL\)/SET PATH=\$\(PATH\)\;$EPENVPATH\n\t\$\(FULLPERL\)/ if
($win32) ;
$txt =~ s/\$\(TEST_FILE\)/\$(TEST_FILE) \$(TESTARGS)/g ;
@@ -529,22 +522,42 @@
if ($win32)
{
$i = "-I. -I\"$inc_dir\" -I\"$apache_src/regex\"
-I\"$apache_src/os/win32\"" ;
- if (-e "$apache_src/libexec/ApacheCore.lib")
- {
- $o = " \"$apache_src/libexec/ApacheCore.lib\"" ;
- }
- elsif (-e "$apache_src/../libexec/ApacheCore.lib")
+
+ foreach (
+ "$apache_src/libexec",
+ "$apache_src/../libexec",
+ "$apache_src/CoreD",
+ "$apache_src/CoreR",
+ "$apache_src/Debug",
+ "$apache_src/Release",
+ $EPHTTPDDLL)
{
- $o = " \"$apache_src/../libexec/ApacheCore.lib\"" ;
- }
- elsif (!-e "$apache_src/CoreD/ApacheCore.lib")
+ if (-e "$_/ApacheCore.lib")
+ {
+ $EPHTTPDDLL = $_ ;
+ $o = " \"$_/ApacheCore.lib\"" ;
+ last ;
+ }
+ }
+
+ if (!$o)
{
- $o = " \"$apache_src/CoreR/ApacheCore.lib\"" ;
- }
- else
- {
- $o = " \"$apache_src/CoreD/ApacheCore.lib\"" ;
- }
+ my $oo ;
+ while (1)
+ {
+ $oo = GetString ("ApacheCore.lib not found, please enter path", $o)
;
+ $oo .= '/ApacheCore.lib' if ($oo !~ /\.lib$/i) ;
+ if (-e $oo)
+ {
+ $oo =~ s#\\#/#g ;
+ $oo =~ s#//#/#g ;
+ $EPHTTPDDLL = $1 if ($o =~ /^(.*)\//) ;
+ $o = " \"$oo\"" ;
+ last ;
+ }
+ }
+ }
+
}
else
{
@@ -632,24 +645,8 @@
}
else
{
- $EPHTTPD = "$apache_src/Apache.exe" ;
- $EPHTTPDDLL = "$apache_src" ;
- if (!-e $EPHTTPD)
- {
- $EPHTTPD = "$apache_src/../Apache.exe" ;
- $EPHTTPDDLL = "$apache_src/.." ;
- }
- if (!-e $EPHTTPD)
- {
- $EPHTTPD = "$apache_src/ApacheD/Apache.exe" ;
- $EPHTTPDDLL = "$apache_src/CoreD" ;
- }
- if (!-e $EPHTTPD)
- {
- $EPHTTPD = "$apache_src/ApacheR/Apache.exe" ;
- $EPHTTPDDLL = "$apache_src/CoreR" ;
- }
- #$EPMODPERL="LoadModule perl_module $mpdll" ;
+ $EPHTTPD = "$EPHTTPDDLL/Apache.exe" ;
+ $EPHTTPD =~ s#core([rd])/Apache.exe#Apache$1/Apache.exe#i ;
$EPUSER = 'www' ; # dummy value
$EPGROUP = 'www' ;
if (!-e $EPHTTPD)
@@ -661,8 +658,8 @@
### check the apache version ###
- $ENV{PATH} .= ";$EPHTTPDDLL" if ($win32) ;
-
+ $EPENVPATH =
";$EPHTTPDDLL;$EPHTTPDDLL/../os/win32/release;$EPHTTPDDLL/../os/win32/debug" ;
+ $ENV{PATH} .= $EPENVPATH if ($win32) ;
@EPAPACHEVERSION = start ("$EPHTTPD -v") ;
@modules = start ("$EPHTTPD -l") ;
@@ -686,21 +683,25 @@
$modfile = $win32?$opt->{win32file}:$opt->{file} ;
$modfiletext = ($win32?$opt->{win32filetext}:$opt->{filetext}) || $modfile
;
$found = 2 ;
- while ($found == 2)
+ searchmod:
+ while ($found == 2)
{
$found = 0 ;
if ($addmodpath)
{
- $path = cnvpath ("$addmodpath/$modfile") ;
- #print "path = $_ -> $path\n" ;
- if (-f $path)
- { ## module fould
- $EPMODPERL .= "\r\nLoadModule $opt->{name} \"$path\"" ;
- print " + Load dynamic module $mod\n ($path)\n" ;
- $found = 1 ;
- last ;
- }
- }
+ foreach $modfile (@{$opt->{file}})
+ {
+ $path = cnvpath ("$addmodpath/$modfile") ;
+ #print "path = $_ -> $path\n" ;
+ if (-f $path)
+ { ## module fould
+ $EPMODPERL .= "\r\nLoadModule $opt->{name} \"$path\"" ;
+ print " + Load dynamic module $mod\n ($path)\n" ;
+ $found = 1 ;
+ last searchmod ;
+ }
+ }
+ }
foreach (@$paths)
{
$path = cnvpath (eval "\"$_\"") ;
@@ -715,7 +716,7 @@
}
if (!$found && $loadmodules)
{
- if ($loadmodules =~ /LoadModule $opt->{name} (.*?)$/)
+ if ($loadmodules =~ /LoadModule $opt->{name} \"(.*?)\"$/)
{
$path = $1 ;
if (-f $path)
@@ -913,6 +914,7 @@
open FH, ">$EPPATH/test/conf/config.pl" or die "Cannot open
$EPPATH/test/conf/config.pl" ;
print FH "# This file is automaticly generated by Makefile.PL, do not edit\n" ;
print FH "\$EPPATH='$EPPATH' ; \n" ;
+ print FH "\$EPENVPATH='$EPENVPATH' ; \n" ;
print FH "\$EPHTTPD='' ;\n" ;
print FH "\$EPWIN32='$win32' ;\n" ;
print FH "\$EPSESSIONVERSION='$SessVer';\n" ;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]