summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2005-01-02 22:37:25 +0000
committerFrederic Peters <fpeters@entrouvert.com>2005-01-02 22:37:25 +0000
commitdc827ee8a98038716df142cd0cc2876e147b0e12 (patch)
tree205173faf8ec1f81ff6aa0fff6f23c2376f61cc7
parenta366436870c767f8f7701dda8d6ee6d2ef65571b (diff)
Perl module builds and links correctly.
-rw-r--r--Makefile.am2
-rw-r--r--configure.ac2
-rw-r--r--lasso-src-config.in93
-rw-r--r--perl/Makefile.PL31
-rw-r--r--perl/Makefile.am2
5 files changed, 125 insertions, 5 deletions
diff --git a/Makefile.am b/Makefile.am
index 65bbd2ce..60ba738e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -26,7 +26,7 @@ SUBDIRS = lasso \
ABS_BUILDDIR = $(shell pwd)
-EXTRA_DIST = COPYING lasso.pc.in
+EXTRA_DIST = COPYING lasso.pc.in lasso-src-config.in
pkgconfig_DATA = lasso.pc
pkgconfigdir = $(libdir)/pkgconfig
diff --git a/configure.ac b/configure.ac
index efbb5de7..d818281a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -719,6 +719,8 @@ lasso.pc
win32/Makefile
win32/nsis/Makefile
])
+AC_CONFIG_FILES([lasso-src-config], [chmod +x lasso-src-config])
+
languages_available=`echo $languages_available | sed -e "s/^ //" `
AC_MSG_RESULT(
diff --git a/lasso-src-config.in b/lasso-src-config.in
new file mode 100644
index 00000000..07da6c30
--- /dev/null
+++ b/lasso-src-config.in
@@ -0,0 +1,93 @@
+#!/bin/sh
+#
+# $Id$
+#
+# Copyright (C) 2002-2004 David Beckett - http://purl.org/net/dajobe/
+# Institute for Learning and Research Technology - http://www.ilrt.bris.ac.uk/
+# University of Bristol - http://www.bristol.ac.uk/
+#
+# This package is Free Software or Open Source available under the
+# following licenses (these are alternatives):
+# 1. GNU Lesser General Public License (LGPL)
+# 2. GNU General Public License (GPL)
+# 3. Mozilla Public License (MPL)
+#
+# See LICENSE.html or LICENSE.txt at the top of this package for the
+# full license terms.
+#
+#
+#
+
+usage()
+{
+ cat<<EOF
+Usage: lasso-src-config [OPTION]
+
+known values for OPTION are:
+
+ --libs print library linking information
+ --cflags print pre-processor and compiler flags
+ --help display this help and exit
+ --version output version information
+ --run COMMAND run the COMMAND with the shared libraries for
+ the source tree
+EOF
+ exit $1
+}
+
+
+if test $# -eq 0; then
+ usage 1 1>&2
+fi
+
+
+while test $# -gt 0; do
+ case "$1" in
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+
+ case $1 in
+ --version)
+ echo @VERSION@
+ exit 0
+ ;;
+ --cflags)
+ echo_cflags=yes
+ ;;
+ --libs)
+ echo_libs=yes
+ ;;
+ --usage)
+ usage 0 1>&2
+ ;;
+ --run)
+ lpath=@abs_top_builddir@/lasso/.libs
+ if test -d .libs; then
+ lpath=".libs:$lpath"
+ fi
+ if test `uname` = Darwin; then
+ DYLD_LIBRARY_PATH=$lpath:$DYLD_LIBRARY_PATH
+ export DYLD_LIBRARY_PATH
+ else
+ LD_LIBRARY_PATH=$lpath:$LD_LIBRARY_PATH
+ export LD_LIBRARY_PATH
+ fi
+ shift
+ exec ${1+"$@"}
+ ;;
+
+ *)
+ usage 1 1>&2
+ ;;
+ esac
+
+ shift
+done
+
+if test "$echo_cflags" = "yes"; then
+ echo -I@abs_top_srcdir@/lasso
+fi
+if test "$echo_libs" = "yes"; then
+ echo -L@abs_top_builddir@/lasso/.libs @LASSO_CORE_LIBS@ @LASSO_LIBS@
+fi
diff --git a/perl/Makefile.PL b/perl/Makefile.PL
index 2135cf2e..2d5a21f8 100644
--- a/perl/Makefile.PL
+++ b/perl/Makefile.PL
@@ -4,11 +4,36 @@ use ExtUtils::MakeMaker;
$CFLAGS=$ENV{CFLAGS} || "";
+my $objects="lasso_wrap.o ";
+
+if(-r '../lasso-src-config') {
+ my $lasso_libs=`../lasso-src-config --libs`;
+ chomp $lasso_libs;
+ $objects .= $lasso_libs;
+}
+
+my $includes="-I$TOP_SRCDIR/lasso";
+my $version=$ENV{VERSION};
+
+# I'm forced to do this since BASEEXT is defined in a non-overridable method.
+push(@ExtUtils::MakeMaker::Overridable, "init_main");
+
+sub MY::init_main {
+ my($self)=@_;
+ package MY; # so that "SUPER" works right
+ $self->SUPER::init_main();
+
+ # Stop perl linking with anything in the destination dir, it might
+ # be entirely the wrong library such as a previous version.
+ $self->{LDFLAGS} =~ s/-L\S+//;
+ $self->{LDDLFLAGS} =~ s/-L\S+//;
+}
+
+
WriteMakefile(
NAME => 'lasso', # Name of package
- VERSION => '0.5.9',
- LIBS => ['-llasso'], # Name of custom libraries
- OBJECT => 'lasso_wrap.o', # Object files
+ VERSION => $version,
+ OBJECT => "$objects",
AUTHOR => 'Frederic Peters <fpeters@entrouvert.com>',
MAKEFILE => 'Makefile.perl',
DEFINE => "-DHAVE_CONFIG_H $CFLAGS",
diff --git a/perl/Makefile.am b/perl/Makefile.am
index 6d463001..ae725870 100644
--- a/perl/Makefile.am
+++ b/perl/Makefile.am
@@ -18,7 +18,7 @@ lasso_wrap.c lasso.pm: $(top_srcdir)/swig/Lasso.i $(top_srcdir)/swig/Lasso-wsf.i
$(SWIG) -v -perl5 -module lasso -o lasso_wrap.c $(top_srcdir)/swig/Lasso.i
$(PERL_MAKEFILE): $(srcdir)/Makefile.PL lasso.pm
- VERSION=$(VERSION) LASSO_CONFIG=@LASSO_CONFIG@ CFLAGS="$(AM_CPPFLAGS) $(SWIG_OPTS) $(CPPFLAGS) $(AM_STANDARD_CFLAGS)" $(PERL) $(srcdir)/Makefile.PL $(MAKE_PL_OPTS)
+ VERSION=$(VERSION) CFLAGS="$(AM_CPPFLAGS) $(SWIG_OPTS) $(CPPFLAGS) $(AM_STANDARD_CFLAGS)" $(PERL) $(srcdir)/Makefile.PL $(MAKE_PL_OPTS)
-perl install-perl: $(PERL_MAKEFILE)
@target=`echo $@ | sed -e 's/-perl//'`; \