Perl module builds and links correctly.

This commit is contained in:
Frédéric Péters 2005-01-02 22:37:25 +00:00
parent a366436870
commit dc827ee8a9
5 changed files with 125 additions and 5 deletions

View File

@ -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

View File

@ -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(

93
lasso-src-config.in Normal file
View File

@ -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

View File

@ -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",

View File

@ -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//'`; \