Add python as a pkg-config dependency
authorAbhishek Kumar <abhishek@theembeddedkitchen.net>
Thu, 8 May 2014 23:05:00 +0000 (06:05 +0700)
committerUwe Hermann <uwe@hermann-uwe.de>
Fri, 9 May 2014 15:30:25 +0000 (17:30 +0200)
The current libsigrokdecode build passes the python
CPPFLAGS and LDFLAGS directly into libsigrokdecode.pc.in.
This leads to issues while cross-compiling as while using
PKG_CONFIG_SYSROOT_DIR, there is a chance of the prefix
being duplicated. We now, while detecting the installation
of python (cross or normal), add a dependency for the
module name in the pkgconfig file (from configure.ac).

configure.ac
libsigrokdecode.pc.in

index 180875178afb6054e3fe8b73fde4912b1ecae5c7..9527379c98d9b0f44689d2406f51f45cd9798eeb 100644 (file)
@@ -91,6 +91,8 @@ AM_PATH_GLIB_2_0([2.24.0],
 # Python 3 is always needed.
 # Note: We need to try a few different variants, since some systems have a
 # python3.pc file, others have a python-3.3.pc file, and so on.
+# We also export the name of the package so that it can be correctly
+# added to libsigrokdecode.pc.
 # See also: http://sigrok.org/wiki/Libsigrokdecode/Python
 CPPFLAGS_PYTHON=""
 LDFLAGS_PYTHON=""
@@ -98,22 +100,27 @@ pyver="none"
 PKG_CHECK_MODULES([python3], [python3 >= 3.2],
        [pyver=`$PKG_CONFIG --modversion python3`;
        CPPFLAGS_PYTHON="$CPPFLAGS_PYTHON $python3_CFLAGS";
-       LDFLAGS_PYTHON="$LDFLAGS_PYTHON $python3_LIBS"],
+       LDFLAGS_PYTHON="$LDFLAGS_PYTHON $python3_LIBS";
+       MODNAME_PYTHON="python3"],
 [PKG_CHECK_MODULES([python34], [python-3.4 >= 3.4],
        [pyver=`$PKG_CONFIG --modversion python-3.4`;
        CPPFLAGS_PYTHON="$CPPFLAGS_PYTHON $python34_CFLAGS";
-       LDFLAGS_PYTHON="$LDFLAGS_PYTHON $python34_LIBS"],
+       LDFLAGS_PYTHON="$LDFLAGS_PYTHON $python34_LIBS";
+       MODNAME_PYTHON="python-3.4"],
 [PKG_CHECK_MODULES([python33], [python-3.3 >= 3.3],
        [pyver=`$PKG_CONFIG --modversion python-3.3`;
        CPPFLAGS_PYTHON="$CPPFLAGS_PYTHON $python33_CFLAGS";
-       LDFLAGS_PYTHON="$LDFLAGS_PYTHON $python33_LIBS"],
+       LDFLAGS_PYTHON="$LDFLAGS_PYTHON $python33_LIBS";
+       MODNAME_PYTHON="python-3.3"],
 [PKG_CHECK_MODULES([python32], [python-3.2 >= 3.2],
        [pyver=`$PKG_CONFIG --modversion python-3.2`;
        CPPFLAGS_PYTHON="$CPPFLAGS_PYTHON $python32_CFLAGS";
-       LDFLAGS_PYTHON="$LDFLAGS_PYTHON $python32_LIBS"],
+       LDFLAGS_PYTHON="$LDFLAGS_PYTHON $python32_LIBS";
+       MODNAME_PYTHON="python-3.2"],
 )])])])
 AC_SUBST(CPPFLAGS_PYTHON)
 AC_SUBST(LDFLAGS_PYTHON)
+AC_SUBST(MODNAME_PYTHON)
 
 # We also need to find the name of the python3 executable (for 'make install').
 # Some OSes call this python3, some call it python3.2, etc. etc.
index b180f2751188d2935698099e5e8dc167f9461b3e..6c415d7777576601fad2a6716739336a40d1721a 100644 (file)
@@ -6,10 +6,10 @@ includedir=@includedir@
 Name: libsigrokdecode
 Description: Protocol decoder library of the sigrok logic analyzer software
 URL: http://www.sigrok.org
-Requires:
+Requires: @MODNAME_PYTHON@
 Requires.private: glib-2.0
 Version: @VERSION@
 Libs: -L${libdir} -lsigrokdecode
-Libs.private: @LDFLAGS_PYTHON@
-Cflags: -I${includedir} @CPPFLAGS_PYTHON@
+Libs.private: 
+Cflags: -I${includedir}