[Buildroot] [git commit] taskd: fix static linking issue with libuuid/libintl
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Fri Nov 25 22:45:00 UTC 2016
commit: https://git.buildroot.net/buildroot/commit/?id=83e207d7bc52fbcb38b33dc387f37da333d3e248
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
libuuid depends on libintl in specific scenarios, but since taskd wasn't
using pkg-config to detect libuuid, this dependency on libintl was not
taken into account. This commit adds a patch to taskd that uses
pkg-config to detect libuuid.
Fixes:
http://autobuild.buildroot.net/results/cb5ea871812651025722d42508d4f37702088800/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
...-CMakeLists-use-pkg-config-uuid-detection.patch | 40 ++++++++++++++++++++++
package/taskd/taskd.mk | 2 +-
2 files changed, 41 insertions(+), 1 deletion(-)
diff --git a/package/taskd/0003-CMakeLists-use-pkg-config-uuid-detection.patch b/package/taskd/0003-CMakeLists-use-pkg-config-uuid-detection.patch
new file mode 100644
index 0000000..34139fe
--- /dev/null
+++ b/package/taskd/0003-CMakeLists-use-pkg-config-uuid-detection.patch
@@ -0,0 +1,40 @@
+CMakeLists.txt: use pkg-config to detect uuid when possible
+
+In order to take into account the libraries used by libuuid when
+building statically, using pkg-config is recommended. This patch
+therefore improves the CMakeLists.txt to use pkg-config to detect
+libuuid when pkg-config is available.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
+
+Index: b/CMakeLists.txt
+===================================================================
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -6,6 +6,7 @@
+
+ include (CheckFunctionExists)
+ include (CheckStructHasMember)
++include (FindPkgConfig)
+
+ set (HAVE_CMAKE true)
+
+@@ -119,8 +120,16 @@
+ # Apple and FreeBSD include the uuid functions in their libc, rather than libuuid
+ check_function_exists (uuid_unparse_lower HAVE_UUID_UNPARSE_LOWER)
+ else (DARWIN OR FREEBSD)
+- find_path (UUID_INCLUDE_DIR uuid/uuid.h)
+- find_library (UUID_LIBRARY NAMES uuid)
++ if(PKG_CONFIG_FOUND)
++ pkg_check_modules(PC_UUID uuid)
++ if(PC_UUID_FOUND)
++ set (UUID_INCLUDE_DIR ${PC_UUID_INCLUDE_DIRS})
++ set (UUID_LIBRARY ${PC_UUID_LIBRARIES})
++ endif(PC_UUID_FOUND)
++ else(PKG_CONFIG_FOUND)
++ find_path (UUID_INCLUDE_DIR uuid/uuid.h)
++ find_library (UUID_LIBRARY NAMES uuid)
++ endif(PKG_CONFIG_FOUND)
+ if (UUID_INCLUDE_DIR AND UUID_LIBRARY)
+ set (TASKD_INCLUDE_DIRS ${TASKD_INCLUDE_DIRS} ${UUID_INCLUDE_DIR})
+ set (TASKD_LIBRARIES ${TASKD_LIBRARIES} ${UUID_LIBRARY})
diff --git a/package/taskd/taskd.mk b/package/taskd/taskd.mk
index 34a260e..b19be68 100644
--- a/package/taskd/taskd.mk
+++ b/package/taskd/taskd.mk
@@ -8,6 +8,6 @@ TASKD_VERSION = 1.1.0
TASKD_SITE = http://taskwarrior.org/download
TASKD_LICENSE = MIT
TASKD_LICENSE_FILES = COPYING
-TASKD_DEPENDENCIES = gnutls util-linux
+TASKD_DEPENDENCIES = gnutls util-linux host-pkgconf
$(eval $(cmake-package))
More information about the buildroot
mailing list