Net-Dropbear

 view release on metacpan or  search on metacpan

makefile_pl_tpl  view on Meta::CPAN


my $objs
    = qx[make -s -f printvar.mak -f dropbear/Makefile print-dropbearobjs print-LIBTOM_LIBS 2>/dev/null];
my $libs
    = qx[make -s -f printvar.mak -f dropbear/Makefile print-LIBS 2>/dev/null];

$objs = join " ", map {"dropbear/$_"} split( /\s+/xms, $objs );
$libs .= ' -lcrypt';

my %WriteMakefileArgs = (
##{ $plugin->get_default(qw/ABSTRACT/) ##}
##{ $plugin->get_default(qw/AUTHOR/) ##}
##{ $plugin->get_default(qw/DISTNAME/) ##}
##{ $plugin->get_default(qw/LICENSE/) ##}
##{ $plugin->get_default(qw/NAME/) ##}
##{ $plugin->get_default(qw/MIN_PERL_VERSION/) ##}
##{ $plugin->get_default(qw/VERSION/) ##}

  test => { TESTS => "t/*.t" },
  INC => '-I. -Idropbear -Idropbear/libtomcrypt/src/headers',
  LDFROM => '$(OBJECT)' . " $objs",
  LIBS   => $libs,

##{ $plugin->get_prereqs(1) ##}
);

my %FallbackPrereqs = (
##{ $plugin->get_prereqs(0) ##}
);

unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } )
{
  delete $WriteMakefileArgs{TEST_REQUIRES};
  delete $WriteMakefileArgs{BUILD_REQUIRES};
  $WriteMakefileArgs{PREREQ_PM} = {
    %{ $FallbackPrereqs{PREREQ_PM} },
    %{ $FallbackPrereqs{BUILD_REQUIRES} },
  };
}

delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
    unless eval { ExtUtils::MakeMaker->VERSION(6.52) };

WriteMakefile(%WriteMakefileArgs);

sub run
{
  my ($cmd) = @_;
  warn "$cmd\n";
  my $ret = system($cmd);
  die "Error running $cmd ($!)\n"
      unless $ret == 0;
}

sub build_dropbear
{
  my $db_src = 'dropbear/';
  local $ENV{DESTDIR};    # do not let Perl module config leak through

  local $ENV{CFLAGS}   = $Config{cccdlflags} . ' ' . $Config{ccflags};
  local $ENV{LDFLAGS}  = $Config{ldflags} . ' ' . $Config{ccdlflags};
  local $ENV{CPPFLAGS} = $Config{cppflags};

  return
      if -e "$db_src/dropbear";

  run("cd $db_src && make distclean")
      if -f "$db_src/Makefile";

  run("cd $db_src && patch -N -i ../dropbear.patch")
      if !-f "$db_src/libdropbear.h";

  run("cd $db_src && ./configure");
  run("cd $db_src && make");
}



( run in 1.393 second using v1.01-cache-2.11-cpan-f03e8824b8d )