Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
xapian-bindings: Fix build with slibtool
With slibtool the --config argument works differently than in GNU libtool which results in 'auto/Xapian/Xapian$(PERL_SO)' failing to be created. This can be worked around by using libtool --mode=install where slibtool can copy the module to the intended location. However GNU libtool still requires using --config otherwise it fails during --mode=install with the following error. /bin/bash ../libtool --mode=install cp Xapian.la /home/runner/work/xapian/xapian/xapian-bindings/perl/auto/Xapian/Xapian.la libtool: error: error: cannot install 'Xapian.la' to a directory not ending in /usr/local/lib/x86_64-linux-gnu/perl/5.26.1/auto/Xapian gentoo issue: https://bugs.gentoo.org/793428
- Loading branch information
Showing
4 changed files
with
43 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,23 @@ | ||
#!/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" | ||
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters