From 9d0cb859d824e40202a5a65799faab1781e3a252 Mon Sep 17 00:00:00 2001
From: Dan Hirsch <thequux@upstandinghackers.com>
Date: Thu, 5 Dec 2013 09:45:26 +0100
Subject: [PATCH] Moved building perl binding lib and running test suite to
 EU::MM Makefile

---
 SConstruct                   |  1 -
 src/bindings/perl/SConscript | 16 +++++++---------
 2 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/SConstruct b/SConstruct
index ab0aaf0..9a238a0 100644
--- a/SConstruct
+++ b/SConstruct
@@ -114,7 +114,6 @@ else:
     lib = env.SConscript(["src/SConscript"])
     env.Alias(env.SConscript(["examples/SConscript"]))
 
-print testruns
 for testrun in testruns:
     env.Alias("test", testrun)
 
diff --git a/src/bindings/perl/SConscript b/src/bindings/perl/SConscript
index 9731eea..bb97ca2 100644
--- a/src/bindings/perl/SConscript
+++ b/src/bindings/perl/SConscript
@@ -18,23 +18,21 @@ if 'PERL_MM_OPT' in os.environ:
 if 'PERL5LIB' in os.environ:
     perlenv['ENV']['PERL5LIB'] = os.environ['PERL5LIB']
 
-perlenv.ParseConfig("perl -MConfig -e'print(qq[-I$$Config{archlib}/CORE\n]);'")
-perlenv.ParseConfig("perl -MConfig -e'print($$Config{ccflags} . \"\n\");'")
-
 swig = ['hammer.i']
 
-libhammer_perl = perlenv.SharedLibrary('hammer', swig, SHLIBPREFIX='')
-perlenv.Command(['Makefile'], ['Makefile.PL'] + libhammer_perl, "perl $SOURCE")
+hammer_wrap = perlenv.Command(['hammer_wrap.c', 'hammer.pm'], swig, "swig $SWIGFLAGS $SOURCE")
+makefile = perlenv.Command(['Makefile'], ['Makefile.PL'], "perl $SOURCE")
+
+targetdir = os.path.dirname(str(hammer_wrap[0].path))
+
+libhammer_perl = perlenv.Command(['hammer.so'], makefile + hammer_wrap, "make -C " + targetdir)
 
 Default(libhammer_perl)
 
 perltestenv = perlenv.Clone()
 perltestenv['ENV']['LD_LIBRARY_PATH'] = os.path.dirname(str(libhammer_shared[0]))
 perltests = ['t/hammer.t']
-perltestexec = perltestenv.Command(None, perltests + libhammer_perl + libhammer_shared, "pwd && prove -I%(perldir)s %(perldir)s/t" % dict(perldir=os.path.dirname(str(libhammer_perl[0].path))))
+perltestexec = perltestenv.Command(None, perltests + libhammer_perl + libhammer_shared, "make test -C " + targetdir)
 perltest = Alias("testperl", [perltestexec], perltestexec)
 AlwaysBuild(perltestexec)
 testruns.append(perltest)
-
-
-print "Reading perl sconscript"
-- 
GitLab