From: Abhishek Kumar Date: Thu, 8 May 2014 23:05:00 +0000 (+0700) Subject: Add python as a pkg-config dependency X-Git-Tag: libsigrokdecode-0.4.0~229 X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff_plain;h=888bbe38a50a1e3224dcef68686a00e2754e8b47 Add python as a pkg-config dependency 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). --- diff --git a/configure.ac b/configure.ac index 1808751..9527379 100644 --- a/configure.ac +++ b/configure.ac @@ -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. diff --git a/libsigrokdecode.pc.in b/libsigrokdecode.pc.in index b180f27..6c415d7 100644 --- a/libsigrokdecode.pc.in +++ b/libsigrokdecode.pc.in @@ -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}