Author: stas Date: Fri Feb 18 08:27:33 2005 New Revision: 154318 URL: http://svn.apache.org/viewcvs?view=rev&rev=154318 Log: introduce a new build option MP_AP_DESTDIR to aid package builders direct the Apache-specific files to the right place. Contributed by: Cory Omand <[EMAIL PROTECTED]>
Modified: perl/modperl/trunk/Changes perl/modperl/trunk/Makefile.PL perl/modperl/trunk/lib/Apache/Build.pm perl/modperl/trunk/lib/ModPerl/BuildOptions.pm Modified: perl/modperl/trunk/Changes URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Changes?view=diff&r1=154317&r2=154318 ============================================================================== --- perl/modperl/trunk/Changes (original) +++ perl/modperl/trunk/Changes Fri Feb 18 08:27:33 2005 @@ -12,6 +12,10 @@ =item 1.999_22-dev +introduce a new build option MP_AP_DESTDIR to aid package builders +direct the Apache-specific files to the right place. [Cory Omand +<[EMAIL PROTECTED]>] + Fix bug in modperl_package_clear_stash() segfaulting when encountering declared but not yet defined subroutines. [Steve Hay <[EMAIL PROTECTED]>, Gozer] Modified: perl/modperl/trunk/Makefile.PL URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/Makefile.PL?view=diff&r1=154317&r2=154318 ============================================================================== --- perl/modperl/trunk/Makefile.PL (original) +++ perl/modperl/trunk/Makefile.PL Fri Feb 18 08:27:33 2005 @@ -74,12 +74,13 @@ EXE_FILES => [EMAIL PROTECTED], DEFINE => get_DEFINE(), macro => { - MODPERL_SRC => $code->path, - MODPERL_MAKEFILE => basename($build->default_file('makefile')), - PERL => $build->perl_config('perlpath'), - MOD_INSTALL => ModPerl::BuildMM::mod_install(), - MODPERL_AP_INCLUDEDIR => $build->install_headers_dir(), - MODPERL_XS_H_FILES => join(" \\\n\t", @xs_h_files), + MODPERL_SRC => $code->path, + MODPERL_MAKEFILE => basename($build->default_file('makefile')), + PERL => $build->perl_config('perlpath'), + MOD_INSTALL => ModPerl::BuildMM::mod_install(), + MODPERL_AP_INCLUDEDIR => + $build->ap_destdir($build->install_headers_dir), + MODPERL_XS_H_FILES => join(" \\\n\t", @xs_h_files), }, clean => { FILES => "@{ clean_files() }", Modified: perl/modperl/trunk/lib/Apache/Build.pm URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/lib/Apache/Build.pm?view=diff&r1=154317&r2=154318 ============================================================================== --- perl/modperl/trunk/lib/Apache/Build.pm (original) +++ perl/modperl/trunk/lib/Apache/Build.pm Fri Feb 18 08:27:33 2005 @@ -20,7 +20,8 @@ use Config; use Cwd (); -use File::Spec::Functions qw(catfile catdir canonpath rel2abs devnull); +use File::Spec::Functions qw(catfile catdir canonpath rel2abs devnull + catpath splitpath); use File::Basename; use ExtUtils::Embed (); @@ -141,6 +142,27 @@ } } +# if MP_AP_DESTDIR was specified this sub will prepend this path to +# any Apache-specific installation path (that option is used only by +# package maintainers). +sub ap_destdir { + my $self = shift; + my $path = shift || ''; + return $path unless $self->{MP_AP_DESTDIR}; + + if (WIN32) { + my($dest_vol, $dest_dir) = splitpath $self->{MP_AP_DESTDIR}, 1; + my $real_dir = (splitpath $path)[1]; + + $path = catpath $dest_vol, catdir($dest_dir, $real_dir), ''; + } + else { + $path = catdir $self->{MP_AP_DESTDIR}, $path; + } + + return canonpath $path; +} + sub apxs { my $self = shift; @@ -1628,8 +1650,11 @@ if (my $libs = $self->modperl_libs) { print $fh $self->canon_make_attr('lib_location', $libs); - print $fh $self->canon_make_attr('ap_libdir', - "$self->{MP_AP_PREFIX}/lib"); + + print $fh $self->canon_make_attr('ap_libdir', + $self->ap_destdir(catdir $self->{MP_AP_PREFIX}, 'lib') + ); + $install .= <<'EOI'; # install mod_perl.lib @$(MKPATH) $(MODPERL_AP_LIBDIR) @@ -1666,12 +1691,12 @@ } print $fh $self->canon_make_attr('lib', "@libs"); - - print $fh $self->canon_make_attr('AP_INCLUDEDIR', - $self->install_headers_dir()); + + print $fh $self->canon_make_attr('AP_INCLUDEDIR', + $self->ap_destdir($self->install_headers_dir)); print $fh $self->canon_make_attr('AP_LIBEXECDIR', - $self->apxs(-q => 'LIBEXECDIR')); + $self->ap_destdir($self->apxs(-q => 'LIBEXECDIR'))); my $xs_targ = $self->make_xs($fh); Modified: perl/modperl/trunk/lib/ModPerl/BuildOptions.pm URL: http://svn.apache.org/viewcvs/perl/modperl/trunk/lib/ModPerl/BuildOptions.pm?view=diff&r1=154317&r2=154318 ============================================================================== --- perl/modperl/trunk/lib/ModPerl/BuildOptions.pm (original) +++ perl/modperl/trunk/lib/ModPerl/BuildOptions.pm Fri Feb 18 08:27:33 2005 @@ -230,6 +230,7 @@ OPTIONS_FILE 0 Read options from given file STATIC_EXTS 0 Build Apache::*.xs as static extensions APXS 0 Path to apxs +AP_DESTDIR 0 Destination for Apache specific mod_perl bits AP_PREFIX 0 Apache installation or source tree prefix AP_CONFIGURE 0 Apache ./configure arguments APR_CONFIG 0 Path to apr-config