X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=inc%2FMy%2FBuild.pm;h=b582c9123730d8d9815a450fde23de0bf53d96e0;hb=2c02694aaa9e02740bfd1f127d7dc676f816d54f;hp=8c7d987b4c8410762c6b202227998ededb701e70;hpb=d1d1d4a38b4bf7ca878456bc3a6952bdec11a000;p=chaz%2Fp5-Alien-ZMQ diff --git a/inc/My/Build.pm b/inc/My/Build.pm index 8c7d987..b582c91 100644 --- a/inc/My/Build.pm +++ b/inc/My/Build.pm @@ -65,6 +65,7 @@ sub ACTION_code { sub probe_zeromq { my $self = shift; my $cb = $self->cbuilder; + my %config = $cb->get_config; my $src = "test-$$.c"; open my $SRC, ">$src"; @@ -101,9 +102,9 @@ END # use -I and -L flag arguments as extra search directories my $inc = `$pkg_config $pkg --cflags-only-I`; - push @inc_search, map { s/^-I//; $_ } split(/\s+/, $inc); + push @inc_search, map { s/^-I//; $_ } $cb->split_like_shell($inc); my $lib = `$pkg_config $pkg --libs-only-L`; - push @lib_search, map { s/^-L//; $_ } split(/\s+/, $lib); + push @lib_search, map { s/^-L//; $_ } $cb->split_like_shell($lib); last; } @@ -125,13 +126,12 @@ END my ($inc_version, $lib_version) = $out =~ /(\d\.\d\.\d) (\d\.\d\.\d)/; # query the compiler for include and library search paths - my $cc = $ENV{CC} || "cc"; push @lib_search, map { my $path = $_; $path =~ s/^.+ =?//; $path =~ s/\n.*$//; -d $path ? realpath($path) : (); - } split /:/, `$cc -print-search-dirs`; + } split /:/, `$config{cc} -print-search-dirs`; push @inc_search, map { my $path = $_; $path =~ s/lib(32|64)?$/include/; @@ -140,11 +140,7 @@ END # search for the header and library files my ($inc_dir) = grep { -f catfile($_, "zmq.h") } @inc_search; - my ($lib_dir) = grep { - -f catfile($_, "libzmq.so") || - -f catfile($_, "libzmq.dylib") || - -f catfile($_, "libzmq.dll") - } @lib_search; + my ($lib_dir) = grep { -f catfile($_, $cb->lib_file("libzmq")) } @lib_search; ( inc_version => $inc_version, @@ -157,6 +153,7 @@ END sub install_zeromq { my $self = shift; + my $cb = $self->cbuilder; can_run("libtool") or die "The libtool command cannot be found"; @@ -186,7 +183,7 @@ sub install_zeromq { my $srcdir = catdir($basedir, "zeromq-$version"); say "Configuring..."; - my @config = split(/\s/, $self->args('zmq-config') || ""); + my @config = $cb->split_like_shell($self->args('zmq-config') || ""); chdir $srcdir; run(command => ["./configure", "--prefix=$prefix", @config]) or die "Failed to configure ØMQ";