[libmarpa-r2-perl] 23/32: Work on shared library support

Jonas Smedegaard dr at jones.dk
Sat May 17 21:24:14 UTC 2014


This is an automated email from the git hooks/post-receive script.

js pushed a commit to annotated tag Marpa-R2-2.085_004
in repository libmarpa-r2-perl.

commit ef970a477ac54ffdf502503e8d980bbc70d4998b
Author: Jeffrey Kegler <JKEGL at cpan.org>
Date:   Sat Apr 26 10:46:55 2014 -0700

    Work on shared library support
---
 cpan/.gitignore                               |  1 +
 cpan/html/t/cfg_fmt.t                         |  5 +++--
 cpan/html/t/fmt.t                             |  6 ++++--
 cpan/html/t/score.t                           |  6 ++++--
 cpan/html/tool/lib/Marpa/R2/HTML/Test/Util.pm |  9 +++++++--
 cpan/inc/Marpa/R2/Build_Me.pm                 | 12 +++++++++++-
 6 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/cpan/.gitignore b/cpan/.gitignore
index f34edd3..535768d 100644
--- a/cpan/.gitignore
+++ b/cpan/.gitignore
@@ -11,6 +11,7 @@
 /Marpa-R2-[0-9].[0-9][0-9][0-9]_[0-9][0-9][0-9]/
 /_build/
 /blib/
+/blib_shared/
 /libmarpa_build/
 /libmarpa_shared/
 /libmarpa_dist/
diff --git a/cpan/html/t/cfg_fmt.t b/cpan/html/t/cfg_fmt.t
index 0c67d2a..fb42bb2 100644
--- a/cpan/html/t/cfg_fmt.t
+++ b/cpan/html/t/cfg_fmt.t
@@ -42,7 +42,8 @@ BEGIN { Test::More::plan tests => 10; }
 use lib 'tool/lib';
 use Marpa::R2::Test;
 
-my @script_dir = qw( blib script );
+my $blib = $ENV{MARPA_TEST_BLIB};
+my $script_dir = File::Spec->catdir( $blib, 'script' );
 
 sub run_one_test {
     my ( $test_name, $html, $config_ref, $expected_ref ) = @_;
@@ -61,7 +62,7 @@ sub run_one_test {
     print {$cfg_fh} ${$config_ref};
     close $cfg_fh;
     my $output = Marpa::R2::HTML::Test::Util::run_command(
-        File::Spec->catfile( @script_dir, 'marpa_r2_html_fmt' ),
+        File::Spec->catfile( $script_dir, 'marpa_r2_html_fmt' ),
         '--no-added-tag',
         '--compile=' . $test_config_name,
         $html_file_name
diff --git a/cpan/html/t/fmt.t b/cpan/html/t/fmt.t
index a554874..4220787 100644
--- a/cpan/html/t/fmt.t
+++ b/cpan/html/t/fmt.t
@@ -41,13 +41,15 @@ BEGIN { Test::More::plan tests => 2; }
 use lib 'tool/lib';
 use Marpa::R2::Test;
 
-my @script_dir = qw( blib script );
+my $blib = $ENV{MARPA_TEST_BLIB};
+my $script_dir = File::Spec->catdir( $blib, 'script' );
+
 my @data_dir   = qw( html t fmt_t_data );
 
 for my $test (qw(1 2)) {
     my $expected;
     my $output = Marpa::R2::HTML::Test::Util::run_command(
-        File::Spec->catfile( @script_dir, 'marpa_r2_html_fmt' ),
+        File::Spec->catfile( $script_dir, 'marpa_r2_html_fmt' ),
         File::Spec->catfile( @data_dir, ( 'input' . $test . '.html' ) )
     );
     local $RS = undef;
diff --git a/cpan/html/t/score.t b/cpan/html/t/score.t
index 06f7a04..94e7431 100644
--- a/cpan/html/t/score.t
+++ b/cpan/html/t/score.t
@@ -45,13 +45,15 @@ use lib 'html/tool/lib';
 use Marpa::R2::Test;
 use Marpa::R2::HTML::Test::Util;
 
-my @script_dir = qw( blib script );
+my $blib = $ENV{MARPA_TEST_BLIB};
+my $script_dir = File::Spec->catdir( $blib, 'script' );
+
 my @data_dir   = qw( html t fmt_t_data );
 
 for my $test (qw(1 2)) {
     my $expected;
     my $output = Marpa::R2::HTML::Test::Util::run_command(
-        File::Spec->catfile( @script_dir, 'marpa_r2_html_score' ),
+        File::Spec->catfile( $script_dir, 'marpa_r2_html_score' ),
         File::Spec->catfile( @data_dir, ( 'input' . $test . '.html' ) )
     );
     $output =~ s/\A [^\n]* \n//xms;
diff --git a/cpan/html/tool/lib/Marpa/R2/HTML/Test/Util.pm b/cpan/html/tool/lib/Marpa/R2/HTML/Test/Util.pm
index 4017eca..a136b14 100644
--- a/cpan/html/tool/lib/Marpa/R2/HTML/Test/Util.pm
+++ b/cpan/html/tool/lib/Marpa/R2/HTML/Test/Util.pm
@@ -43,9 +43,14 @@ sub quotearg {
 
 sub run_command {
     my (@args)     = @_;
+
+    my $blib = $ENV{MARPA_TEST_BLIB};
     my $current_wd = Cwd::getcwd();
-    my $blib_arg   = '-Mblib=' . quotearg($current_wd);
-    my $command = join q{ }, $EXECUTABLE_NAME, $blib_arg, map { quotearg($_) } @args;
+    $blib //= $current_wd;
+    my $blib_arg   = '-Mblib=' . quotearg($blib);
+
+    # my $command = join q{ }, $EXECUTABLE_NAME, $blib_arg, map { quotearg($_) } @args;
+    my $command = join q{ }, $EXECUTABLE_NAME, map { quotearg($_) } @args;
 
     ## no critic (InputOutput::ProhibitBacktickOperators)
     my $stdout = `$command`;
diff --git a/cpan/inc/Marpa/R2/Build_Me.pm b/cpan/inc/Marpa/R2/Build_Me.pm
index 0272bbf..765742b 100644
--- a/cpan/inc/Marpa/R2/Build_Me.pm
+++ b/cpan/inc/Marpa/R2/Build_Me.pm
@@ -229,7 +229,10 @@ sub process_xs {
     $self->add_to_cleanup( $spec->{c_file} );
 
     my @libmarpa_build_dir = File::Spec->splitdir( $self->base_dir );
-    push @libmarpa_build_dir, 'libmarpa_build';
+    push @libmarpa_build_dir,
+        ( defined $self->args('libmarpa-shared') )
+        ? 'libmarpa_shared'
+        : 'libmarpa_build';
     my $libmarpa_build_dir = File::Spec->catdir(@libmarpa_build_dir);
 
     my @xs_dependencies = ( 'typemap', 'Build', $xs_file, $dest_gp_xsh );
@@ -802,6 +805,9 @@ sub ACTION_code {
 
     $self->do_libmarpa();
 
+    if ( defined $self->args('libmarpa-shared') ) {
+        $self->blib('blib_shared');
+    }
     return $self->SUPER::ACTION_code;
 } ## end sub ACTION_code
 
@@ -819,6 +825,10 @@ sub ACTION_clean {
 sub ACTION_test {
     my $self = shift;
     local $ENV{PERL_DL_NONLAZY} = 1;
+    if ( defined $self->args('libmarpa-shared') ) {
+        $ENV{MARPA_TEST_BLIB} = 'blib_shared';
+        $self->blib('blib_shared');
+    }
     return $self->SUPER::ACTION_test;
 }
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libmarpa-r2-perl.git



More information about the Pkg-perl-cvs-commits mailing list