sub probe_zeromq {
my $self = shift;
my $cb = $self->cbuilder;
+ my %config = $cb->get_config;
my $src = "test-$$.c";
open my $SRC, ">$src";
# 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;
}
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/;
# 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,
sub install_zeromq {
my $self = shift;
+ my $cb = $self->cbuilder;
can_run("libtool") or die "The libtool command cannot be found";
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";