[libmarpa-r2-perl] 18/32: Work on dynamic loader, esp. error messages
Jonas Smedegaard
dr at jones.dk
Sat Nov 22 18:38:38 UTC 2014
This is an automated email from the git hooks/post-receive script.
js pushed a commit to annotated tag Marpa-R2-2.087_000
in repository libmarpa-r2-perl.
commit f4867fd08e8b57c32559217a09e8f9792a4dac63
Author: Jeffrey Kegler <JKEGL at cpan.org>
Date: Fri Jul 4 23:40:07 2014 -0700
Work on dynamic loader, esp. error messages
---
cpan/Build.PL | 3 +--
cpan/inc/Marpa/R2/Build_Me.pm | 26 +++++++++-----------------
cpan/lib/Marpa/R2.pm | 8 +++++---
cpan/t/00-load.t | 6 ++++--
4 files changed, 19 insertions(+), 24 deletions(-)
diff --git a/cpan/Build.PL b/cpan/Build.PL
index 7af8c78..2ec9c7f 100644
--- a/cpan/Build.PL
+++ b/cpan/Build.PL
@@ -134,8 +134,7 @@ my @no_index_namespace_inclusive = qw(
my @files_to_cleanup = (
'lib/Marpa/R2/Version.pm', 'pperl/Marpa/R2/Perl/Version.pm',
'lib/Marpa/R2/Installed.pm', 'pperl/Marpa/R2/Perl/Installed.pm',
- 'lib/Marpa/R2.o', 'libmarpa_build',
- 'libmarpa_shared'
+ 'lib/Marpa/R2.o', 'libmarpa_build'
);
my $build = Marpa::R2::Build_Me->new(
diff --git a/cpan/inc/Marpa/R2/Build_Me.pm b/cpan/inc/Marpa/R2/Build_Me.pm
index e1dbccf..3c3e35a 100644
--- a/cpan/inc/Marpa/R2/Build_Me.pm
+++ b/cpan/inc/Marpa/R2/Build_Me.pm
@@ -229,11 +229,7 @@ sub process_xs {
$self->add_to_cleanup( $spec->{c_file} );
my @libmarpa_build_dir = File::Spec->splitdir( $self->base_dir );
- push @libmarpa_build_dir,
- (
- defined $self->args('libmarpa-shared')
- ? 'libmarpa_shared'
- : 'libmarpa_build' );
+ push @libmarpa_build_dir, 'libmarpa_build' ;
my $libmarpa_build_dir = File::Spec->catdir(@libmarpa_build_dir);
my @xs_dependencies = ( 'typemap', 'Build', $xs_file, $dest_gp_xsh );
@@ -282,14 +278,13 @@ sub process_xs {
if not -d $spec->{archdir};
my @extra_linker_flags = ();
- my $libmarpa_build_directory = File::Spec->catdir(
- $self->base_dir(),
- ( defined $self->args('libmarpa-shared')
- ? 'libmarpa_shared'
- : 'libmarpa_build'
- )
- );
+ my $libmarpa_build_directory =
+ File::Spec->catdir( $self->base_dir(), 'libmarpa_build' );
+ if ( defined $self->args('libmarpa-external') ) {
+ my $libmarpa_external_flags = $self->args('libmarpa-external');
+ push @extra_linker_flags, split q{ }, $libmarpa_external_flags;
+ } else
{
my $libmarpa_archive;
FIND_LIBRARY: {
@@ -307,7 +302,7 @@ sub process_xs {
File::Spec->catfile( $libmarpa_libs_dir, 'libmarpa.a' );
} ## end FIND_LIBRARY:
push @{ $self->{properties}->{objects} }, $libmarpa_archive;
- } ## end else [ if ( defined $self->args('libmarpa-shared') ) ]
+ }
# .xs -> .bs
$self->add_to_cleanup( $spec->{bs_file} );
@@ -583,9 +578,6 @@ INLINEHOOK
my $linktype = 'static';
my $blib = 'blib';
my $name = 'libmarpa';
- if (defined $self->args('libmarpa-shared')) {
- $linktype = 'dynamic';
- }
print {$makefile_pl_fh} "
use ExtUtils::MakeMaker;
WriteMakefile(VERSION => \"$libmarpa_version\",
@@ -799,7 +791,7 @@ sub ACTION_code {
} ## end if ( not $self->up_to_date( [ $config_pm_filename, ...]))
# If it's a shared library, we don't build it here.
- if ( not defined $self->args('libmarpa-shared') ) {
+ if ( not defined $self->args('libmarpa-external') ) {
$self->do_libmarpa();
}
diff --git a/cpan/lib/Marpa/R2.pm b/cpan/lib/Marpa/R2.pm
index e60d4e2..595633b 100644
--- a/cpan/lib/Marpa/R2.pm
+++ b/cpan/lib/Marpa/R2.pm
@@ -80,13 +80,15 @@ eval {
require XSLoader;
XSLoader::load( 'Marpa::R2', $Marpa::R2::STRING_VERSION );
1;
-} or eval {
+} or do {
+ say STDERR "XSLoader problem: ", $EVAL_ERROR;
+ say STDERR "Trying DynaLaoder";
require DynaLoader;
## no critic(ClassHierarchies::ProhibitExplicitISA)
push @ISA, 'DynaLoader';
Dynaloader::bootstrap Marpa::R2 $Marpa::R2::STRING_VERSION;
- 1;
-} or Carp::croak("Could not load XS version of Marpa::R2: $EVAL_ERROR");
+};
+# or Carp::croak("Could not load XS version of Marpa::R2: $EVAL_ERROR");
if ( not $ENV{'MARPA_AUTHOR_TEST'} ) {
diff --git a/cpan/t/00-load.t b/cpan/t/00-load.t
index e681460..8dbaf2e 100644
--- a/cpan/t/00-load.t
+++ b/cpan/t/00-load.t
@@ -21,8 +21,10 @@ use English qw( -no_match_vars );
use Test::More tests => 4;
-my $ok = eval { require Marpa::R2; 1; };
-Test::More::BAIL_OUT('Could not load Marpa::R2') if not $ok;
+if (not eval { require Marpa::R2; 1; }) {
+ Test::More::diag($EVAL_ERROR);
+ Test::More::BAIL_OUT('Could not load Marpa::R2');
+}
my $marpa_version_ok = defined $Marpa::R2::VERSION;
my $marpa_version_desc =
--
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