Author: stevehay Date: Tue Feb 14 14:04:05 2012 New Revision: 1243923 URL: http://svn.apache.org/viewvc?rev=1243923&view=rev Log: Correct the initialization of the build config in ModPerl::MM, simply borrowing the style of ModPerl::BuildMM to do so.
Modified: perl/modperl/trunk/Changes perl/modperl/trunk/lib/ModPerl/MM.pm Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewvc/perl/modperl/trunk/Changes?rev=1243923&r1=1243922&r2=1243923&view=diff ============================================================================== --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Tue Feb 14 14:04:05 2012 @@ -12,6 +12,12 @@ Also refer to the Apache::Test changes l =item 2.0.6-dev +Correct the initialization of the build config in ModPerl::MM. The global +variable was only being set once on loading the module, which was before +Apache2::BuildConfig.pm had been written, leading to cwd and MP_LIBNAME +being unset when writing the Reload and SizeLimit makefiles. +[Steve Hay] + Discover apr-2-config from Apache 2.4 onwards. [Gozer] Apache 2.4 and onwards doesn't require linking the MPM module directly in Modified: perl/modperl/trunk/lib/ModPerl/MM.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/lib/ModPerl/MM.pm?rev=1243923&r1=1243922&r2=1243923&view=diff ============================================================================== --- perl/modperl/trunk/lib/ModPerl/MM.pm (original) +++ perl/modperl/trunk/lib/ModPerl/MM.pm Tue Feb 14 14:04:05 2012 @@ -69,10 +69,12 @@ sub add_dep_after { $$string =~ s/($targ\s+::.*?$after_targ)/$1 $add/; } +my $build; + sub build_config { my $key = shift; require Apache2::Build; - my $build = Apache2::Build->build_config; + $build ||= Apache2::Build->build_config; return $build unless $key; $build->{$key}; } @@ -97,15 +99,14 @@ sub my_import { my @default_opts = qw(CCFLAGS LIBS INC OPTIMIZE LDDLFLAGS TYPEMAPS); my @default_dlib_opts = qw(OTHERLDFLAGS); my @default_macro_opts = (); -my $b = build_config(); my %opts = ( - CCFLAGS => sub { $b->{MODPERL_CCOPTS} }, - LIBS => sub { join ' ', $b->apache_libs, $b->modperl_libs }, - INC => sub { $b->inc; }, - OPTIMIZE => sub { $b->perl_config('optimize'); }, - LDDLFLAGS => sub { $b->perl_config('lddlflags'); }, - TYPEMAPS => sub { $b->typemaps; }, - OTHERLDFLAGS => sub { $b->otherldflags; }, + CCFLAGS => sub { $build->{MODPERL_CCOPTS} }, + LIBS => sub { join ' ', $build->apache_libs, $build->modperl_libs }, + INC => sub { $build->inc; }, + OPTIMIZE => sub { $build->perl_config('optimize'); }, + LDDLFLAGS => sub { $build->perl_config('lddlflags'); }, + TYPEMAPS => sub { $build->typemaps; }, + OTHERLDFLAGS => sub { $build->otherldflags; }, ); sub get_def_opt { @@ -128,7 +129,7 @@ sub WriteMakefile { $eu_mm_mv_all_methods_overriden++; } - my $build = build_config(); + $build ||= build_config(); my_import(__PACKAGE__); # set top-level WriteMakefile's values if weren't set already @@ -158,7 +159,7 @@ sub WriteMakefile { sub ModPerl::MM::MY::post_initialize { my $self = shift; - my $build = build_config(); + $build ||= build_config(); my $pm = $self->{PM}; while (my ($k, $v) = each %PM) {