From 888bbe38a50a1e3224dcef68686a00e2754e8b47 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Fri, 9 May 2014 06:05:00 +0700 Subject: [PATCH] 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). --- configure.ac | 15 +++++++++++---- libsigrokdecode.pc.in | 6 +++--- 2 files changed, 14 insertions(+), 7 deletions(-) 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} -- 2.30.2