Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xapian-bindings: Fix the build with slibtool #322

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
21 changes: 17 additions & 4 deletions xapian-bindings/java/run-java-test
@@ -1,11 +1,24 @@
#!/bin/sh
# To run `jdb` instead of `java` set JAVA=jdb
# To run under gdb, set JAVA='gdb --args java'
LIBTOOL="${LIBTOOL-../libtool}"
arg=`echo "$1"|sed 's!.*/!!;s!\.class$!!'`

# GNU libtool and slibtool have different and incompatible usage for --config.
if ${LIBTOOL} --config > libtoolconfig.$$ 2>/dev/null; then
. ./libtoolconfig.$$
else
objdir="built/libs"
rm -rf "$objdir"
mkdir -p "$objdir"
${LIBTOOL} --mode=install cp libxapian_jni.la "$objdir"
fi
rm -f libtoolconfig.$$

# Use libtool's -dlopen option to ensure that libxapian_jni.so (or whatever)
# is in the shared library path.
${LIBTOOL-../libtool} --config > libtoolconfig.$$
. ./libtoolconfig.$$
rm -f libtoolconfig.$$
${LIBTOOL-../libtool} -dlopen libxapian_jni.la --mode=execute \
${LIBTOOL} -dlopen libxapian_jni.la --mode=execute \
$OSX_SIP_HACK_ENV ${JAVA-java} -Djava.library.path="$objdir" -classpath built/xapian.jar${PATHSEP-:}. "$arg"
rc=$?
rm -rf built/libs
exit $rc
9 changes: 7 additions & 2 deletions xapian-bindings/perl/Makefile.am
Expand Up @@ -55,9 +55,14 @@ BUILT_SOURCES = Xapian.pm xapian_wrap.cc \

auto/Xapian/Xapian$(PERL_SO): Xapian.la
@$(MKDIR_P) auto/Xapian
$(LIBTOOL) --config > libtoolconfig.tmp
## GNU libtool and slibtool have different and incompatible usage for --config.
if $(LIBTOOL) --config > libtoolconfig.tmp 2>/dev/null; then \
## ksh requires a path on the sourced file.
. ./libtoolconfig.tmp; cp "$$objdir/Xapian$(PERL_SO)" auto/Xapian
. ./libtoolconfig.tmp; \
cp "$$objdir/Xapian$(PERL_SO)" auto/Xapian; \
else \
$(LIBTOOL) --mode=install cp $< $@; \
fi;
rm -f libtoolconfig.tmp

EXTRA_DIST = perl.i except.i extra.i $(TESTS) \
Expand Down
9 changes: 7 additions & 2 deletions xapian-bindings/python3/Makefile.am
Expand Up @@ -88,9 +88,14 @@ xapian/__pycache__/__init__.@PYTHON3_CACHE_OPT1_EXT@: xapian/__init__.py xapian/

xapian/_xapian$(PYTHON3_EXT_SUFFIX): _xapian.la
$(MKDIR_P) xapian
$(LIBTOOL) --config > libtoolconfig.tmp
## GNU libtool and slibtool have different and incompatible usage for --config.
if $(LIBTOOL) --config > libtoolconfig.tmp 2>/dev/null; then \
## ksh requires a path on the sourced file.
. ./libtoolconfig.tmp; cp $$objdir/_xapian$(PYTHON3_EXT_SUFFIX) xapian
. ./libtoolconfig.tmp; \
cp $$objdir/_xapian$(PYTHON3_EXT_SUFFIX) xapian; \
else \
$(LIBTOOL) --mode=install cp $< $@; \
fi;
rm -f libtoolconfig.tmp

CLEANFILES = \
Expand Down
20 changes: 13 additions & 7 deletions xapian-bindings/tcl8/run-tcl-test
@@ -1,14 +1,20 @@
#!/bin/sh
${LIBTOOL-../libtool} --config > libtoolconfig.$$
. ./libtoolconfig.$$
rm -f libtoolconfig.$$
tclshlibext=`echo 'puts [info sharedlibextension]'|${TCLSH-tclsh}`
rm -f xapian$tclshlibext

LIBTOOL="${LIBTOOL-../libtool}"
module=yes
eval shlibext=$shrext_cmds

tclshlibext=`echo 'puts [info sharedlibextension]'|${TCLSH-tclsh}`
# GNU libtool and slibtool have different and incompatible usage for --config.
if ${LIBTOOL} --config > libtoolconfig.$$ 2>/dev/null; then
. ./libtoolconfig.$$
eval shlibext=$shrext_cmds
ln -s $objdir/xapian$shlibext xapian$tclshlibext
else
${LIBTOOL} --mode=install cp xapian.la ./xapian$tclshlibext
fi
rm -f libtoolconfig.$$

rm -f xapian$tclshlibext
ln -s $objdir/xapian$shlibext xapian$tclshlibext
$OSX_SIP_HACK_ENV ${TCLSH-tclsh} ${srcdir-.}/runtest.tcl ${srcdir-.}/smoketest.tcl
rc=$?
rm -f xapian$tclshlibext
Expand Down