Memcached-libmemcached
view release on metacpan or search on metacpan
Makefile.PL view on Meta::CPAN
web => 'https://github.com/timbunce/Memcached-libmemcached',
},
},
},
dynamic_lib => {
OTHERLDFLAGS => ($opt_pg ? "-pg " : "")
. ($opt_g ? "-g " : "")
. $coverage_flags,
},
dist => {
COMPRESS => 'gzip -9f', SUFFIX => 'gz',
DIST_DEFAULT=> 'clean distcheck disttest tardist',
PREOP => '$(MAKE) -f Makefile.old distdir',
},
# see also MY::postamble below
clean => {
FILES => 'Memcached-libmemcached-* lib/Memcached/libmemcached/*_hash.pl *.gcov libmemcached.gcda libmemcached.gcno',
},
%opts,
);
{ package MY;
sub postamble {
return qq{
COVER = cover
LMCD_SRC=$lmcd_src
LMCD_API_VER=$lmcd_api_ver
LMCD_INST=$lmcd_inst
LMCD_BUILT_LIB=$lmcd_built_lib
}.q{
coverclean:
$(COVER) -delete
testcover: coverclean pure_all
HARNESS_PERL_SWITCHES='-MDevel::Cover=-coverage,branch,-coverage,condition,-coverage,pod,-coverage,statement,-coverage,subroutine' PERL_DL_NONLAZY=1 $(FULLPERLRUN) "-MExtUtils::Command::MM" "-e" "test_harness($(TEST_VERBOSE), '$(INST_LIB)','$(INST_A...
gcov libmemcached.xs
gcov2perl *.gcov
$(COVER)
clean ::
realclean ::
$(RM_RF) $(LMCD_INST)
-cd $(LMCD_SRC) && $(MAKE) distclean
libmemcached.c : $(XSUBPPDIR)/ParseXS.pm typemap
$(OBJECT) : $(LMCD_BUILT_LIB)
svnmanifest::
svn list -R -r HEAD | sort |grep -v '/$$' > MANIFEST
svn diff MANIFEST
svn status
checkkeywords:
$(RM_RF) blib
find . -type f \( -name .svn -prune -o -name \*.pm -o -name \*.PL -o -name \*.pl \) \
-exec bash -c '[ -z "$$(svn pg svn:keywords {})" ] && echo svn propset svn:keywords \"Id Revision\" {}' \;
checkpod:
$(RM_RF) blib
find . -type f \( -name .svn -prune -o -name \*.pm -o -name \*.PL -o -name \*.pl \) \
-exec podchecker {} \; 2>&1 | grep -v 'pod syntax OK'
}
}
sub tool_xsubpp {
#my $string = shift->SUPER::tool_xsubpp(@_);
# Prepend -It/lib to XSUBPP (we do this instead of editing XSUBPPRUN because
# XSUBPPRUN didn't exist in perl 5.6)
return q{
XSUBPPDIR=t/lib/ExtUtils
XSUBPP = -It/lib $(XSUBPPDIR)/xsubpp
XSUBPPRUN = $(PERLRUN) $(XSUBPP)
};
}
} # end of package MY
exit 0;
sub run {
my ($cmd) = @_;
warn "$cmd\n";
system($cmd) == 0
or die "Error running $cmd\n";
}
sub build_libmemcached {
local $ENV{DESTDIR}; # do not let Perl module config leak through
sync_libmemcached_pod();
extract_libmemcached_functions();
extract_libmemcached_constants();
return if -d "$lmcd_inst/lib"; # XXX assume it built ok. use 'make realclean' to rm
mkdir $lmcd_inst, 0775 unless -d $lmcd_inst;
run("cd $lmcd_src && make distclean") if -f "$lmcd_src/Makefile";
my $configure_args = '--with-pic';# --disable-shared';
$configure_args .= ' --disable-sasl'; # please fix
$configure_args .= ' --with-lib-prefix=/opt/local'
if -d "/opt/local" and $^O eq 'darwin'; # macports
$configure_args .= ' --enable-debug'
if $opt_g;
$configure_args .= ' --enable-profiling'
if $opt_pg;
if ($is_developer) { # XXX make a Makefile.PL argument/option
}
$configure_args .= ' --disable-jobserver';
run("cd $lmcd_src && ./configure --prefix=$lmcd_inst $configure_args");
#run("cd $lmcd_src && make test") if $is_developer; # XXX
run("cd $lmcd_src && make install");
}
sub sync_libmemcached_pod {
( run in 1.632 second using v1.01-cache-2.11-cpan-71847e10f99 )