I did a grep on the use of apxs in the modperl pm files and
found that it is used to extract 4 different variables (includedir,
prefix, cflags, libexecdir).

if $build->apxs (Apache::Build::apxs) was not used, the same
functionality could be achieved that storing those values in the $build
hash.
 The apxs script in the apache bin directory, works by reading the file
 "config_vers.mk"
and converting the variables into a hash, and extracting the targeted
parameter value.

 when modperl is built the Makefile.PL asks if the "../httpd-2.0" or
 similar path should
be used to configure ModPerl. I think the intent is to use that specfic
instance of apache to extract these specfic variables. As near as I can
tell, only the apxs function (these 4 variables) are the only use of this
configuration path.

  so either we change the Makefile.PL functionality to point to an
  "installed apache" directory _or_  we change the build::apxs function
  to not use the non-functional apxs script.
   In the current build::apxs code the function tries to guess where a
   functioning apxs script resides.   the array @trys contains the list
   of potiential target directories
 my @trys = ($Apache::Build::APXS,
                $self->{MP_APXS},
                $ENV{MP_APXS});
 and
      push @trys,
        Apache::TestConfig::which('apxs'),
        '/usr/local/apache/bin/apxs';

  as nears as I can tell, the last option is a hard-code hack that will
  fail for most sites
  None of these options will include $build->dir path that was set by
  Makefile.PL

  so we can add the source tree for Apache2 to this list of directories
  to try and keep
 some part of the apxs function, or we replace the apxs function with a
 function that
  extracts the variables from the equivalent config file.

  (source tree:  apxs exists in the support sub directory )
  (installed tree   apxs exists in the bin directory)   in both cases
  apxs trys to read
    get_config_vars("$installbuilddir'config_vers.mk")

  ---
    Summary:  current instance of $build->apxs is used for only four
    variables, but attempts to guess a location for apxs. Current design
    ignores the explict path of the preinstalled apache source tree to
    determine which config_variable file to read.    
   under some circumstances this would cause  mp2 configuration to read
   apache1.0 parameters, even when there exists target apache2
   configuration data. further it does not allow for multiple apache2
   installs.

   and no I don't know enough context ...yet.. to know the right way to
   solve this
      but TMTOWTDI.

    
-- 
  Kermit  Tensmeyer
  [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to