summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Monnerat <[email protected]>2019-01-19 01:29:22 +0100
committerVictor Kareh <[email protected]>2019-01-30 15:59:28 -0500
commit7c4ff1a2c72b9a4f2a84a2e10c7ea0450dbf5227 (patch)
tree1c99b129c5c8a857237c22e04ea6bdccd12e1577
parent855e61271bb357b5ccd8beb5541be45ecf62a74f (diff)
downloadpython-caja-7c4ff1a2c72b9a4f2a84a2e10c7ea0450dbf5227.tar.bz2
python-caja-7c4ff1a2c72b9a4f2a84a2e10c7ea0450dbf5227.tar.xz
Include Python 3 ABI flags in shared library name.
Python 3 appends the ABI flags to the version in the shared library file name: since this library is loaded as a gmodule, the correct file name must be provided.
-rw-r--r--configure.ac2
-rw-r--r--src/Makefile.am1
-rw-r--r--src/caja-python.c4
3 files changed, 5 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index e0f80d7..80929aa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -41,9 +41,11 @@ dnl **************************************************
AM_PATH_PYTHON([2.7])
PKG_CHECK_MODULES([PYTHON], [python-${PYTHON_VERSION}])
PYTHON_LIB_LOC="`pkg-config python-${PYTHON_VERSION} --variable=libdir`"
+PYTHON_ABIFLAGS=`$PYTHON -c 'import sys; exec("try: print (sys.abiflags)\nexcept: pass")'`
AC_SUBST(PYTHON_LIBS)
AC_SUBST(PYTHON_CFLAGS)
AC_SUBST(PYTHON_LIB_LOC)
+AC_SUBST(PYTHON_ABIFLAGS)
PYGOBJECT_MAJOR_VERSION=3
PYGOBJECT_MINOR_VERSION=0
diff --git a/src/Makefile.am b/src/Makefile.am
index 4203367..0d4e5db 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -15,6 +15,7 @@ libcaja_python_la_CPPFLAGS = \
-DDATADIR=\"$(datadir)\" \
-DLIBDIR=\"$(libdir)\" \
-DPYTHON_VERSION=\"$(PYTHON_VERSION)\" \
+ -DPYTHON_ABIFLAGS=\"$(PYTHON_ABIFLAGS)\" \
-DPY_LIB_LOC="\"$(PYTHON_LIB_LOC)\"" \
$(CAJA_PYTHON_CFLAGS) \
$(AM_CPPFLAGS)
diff --git a/src/caja-python.c b/src/caja-python.c
index 237e216..e9940ab 100644
--- a/src/caja-python.c
+++ b/src/caja-python.c
@@ -174,8 +174,8 @@ caja_python_init_python (void)
if (Py_IsInitialized())
return TRUE;
- debug("g_module_open " PY_LIB_LOC "/libpython" PYTHON_VERSION "." G_MODULE_SUFFIX ".1.0");
- libpython = g_module_open(PY_LIB_LOC "/libpython" PYTHON_VERSION "." G_MODULE_SUFFIX ".1.0", 0);
+ debug("g_module_open " PY_LIB_LOC "/libpython" PYTHON_VERSION PYTHON_ABIFLAGS "." G_MODULE_SUFFIX ".1.0");
+ libpython = g_module_open(PY_LIB_LOC "/libpython" PYTHON_VERSION PYTHON_ABIFLAGS "." G_MODULE_SUFFIX ".1.0", 0);
if (!libpython)
g_warning("g_module_open libpython failed: %s", g_module_error());