You are viewing a plain text version of this content. The canonical link for it is here.
Posted to embperl-cvs@perl.apache.org by ri...@apache.org on 2001/05/18 10:32:18 UTC

cvs commit: embperl Changes.pod Embperl.pm Embperl.xs Makefile.PL

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: embperl-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org