summaryrefslogtreecommitdiff
path: root/xapian.i.in
diff options
context:
space:
mode:
authorArun Isaac2020-02-23 18:47:06 +0530
committerArun Isaac2020-02-26 12:30:57 +0530
commitdb6f96c7c0ee74f0152aca95abf80040cc25c1b4 (patch)
tree6a01ae0def702e59e3ad7d369df1fb022ac67aea /xapian.i.in
parent3414d8544fc34c79e391913e08b7262d1ab94c71 (diff)
downloadguile-xapian-db6f96c7c0ee74f0152aca95abf80040cc25c1b4.tar.gz
guile-xapian-db6f96c7c0ee74f0152aca95abf80040cc25c1b4.tar.lz
guile-xapian-db6f96c7c0ee74f0152aca95abf80040cc25c1b4.zip
Load libguilexapian with absolute path or through a search path.
* xapian.i: Rename to xapian.i.in. * xapian.i.in: Try loading libguilexapian with absolute path first. If it fails, then try searching using LD_LIBRARY_PATH and other mechanisms. * Makefile.am: Generate xapian.i from xapian.i.in.
Diffstat (limited to 'xapian.i.in')
-rw-r--r--xapian.i.in38
1 files changed, 38 insertions, 0 deletions
diff --git a/xapian.i.in b/xapian.i.in
new file mode 100644
index 0000000..1832786
--- /dev/null
+++ b/xapian.i.in
@@ -0,0 +1,38 @@
+/* guile-xapian --- Guile bindings for Xapian
+ * Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
+ *
+ * This file is part of guile-xapian.
+ *
+ * guile-xapian is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * guile-xapian is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with guile-xapian. If not, see
+ * <https://www.gnu.org/licenses/>.
+ */
+
+%module wrap
+%{
+%}
+
+%scheme
+%{
+;; Try loading the shared library by absolute path. If that fails, try
+;; searching for it using LD_LIBRARY_PATH and other mechanisms. We do this
+;; so that guile-xapian finds libguilexapian both before and after installation.
+(catch #t
+ (lambda ()
+ (load-extension "@libdir@/libguilexapian" "SWIG_init"))
+ (lambda _
+ (load-extension "libguilexapian" "SWIG_init")))
+%}
+
+%include xapian-head.i
+%include xapian-headers.i