diff options
author | Martin Jansa <martin.jansa@gmail.com> | 2020-02-25 20:36:15 +0100 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2020-02-26 07:17:58 -0800 |
commit | e92cbff942b9ef6c50d7a7cbfb7ee4d2be656e2e (patch) | |
tree | 72032d9c3182d18a055536581ff2966791a35e81 /meta-oe/recipes-support/c-ares | |
parent | c66896149c8b6bea524a8b518ea8b704ce7a9fd0 (diff) | |
download | meta-openembedded-contrib-e92cbff942b9ef6c50d7a7cbfb7ee4d2be656e2e.tar.gz |
c-ares: move from meta-networking to meta-oe
* nodejs from meta-oe depends on this since:
commit 76dd3dac1f1e67a5c44ad732b8e827cc36ded641
Author: André Draszik <git@andred.net>
Date: Tue Oct 29 16:42:24 2019 +0000
nodejs: allow use of system c-ares (and make default)
Use system c-ares via PACKAGECONFIG by default. So far,
nodejs had been built using its embedded copy of c-ares,
which we generally try to avoid, for the known reasons
(independent updates, cve & license checks, etc).
Notes:
* otherwise nodejs uses its bundled version of c-ares
* the PACKAGECONFIG variable is 'ares' so as to be in
line with other uses of this (wget & curl recipes in
OE core)
Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-support/c-ares')
-rw-r--r-- | meta-oe/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch | 112 | ||||
-rw-r--r-- | meta-oe/recipes-support/c-ares/c-ares_1.15.0.bb | 26 |
2 files changed, 138 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch b/meta-oe/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch new file mode 100644 index 0000000000..8cadb2bbab --- /dev/null +++ b/meta-oe/recipes-support/c-ares/c-ares/cmake-install-libcares.pc.patch @@ -0,0 +1,112 @@ +From 12414304245cce6ef0e8b9547949be5109845353 Mon Sep 17 00:00:00 2001 +From: Changqing Li <changqing.li@windriver.com> +Date: Tue, 24 Jul 2018 13:33:33 +0800 +Subject: [PATCH] cmake: Install libcares.pc + +Prepare and install libcares.pc file during cmake build, so libraries +using pkg-config to find libcares will not fail. + +Signed-off-by: Alexey Firago <alexey_firago@mentor.com> + +update to 1.14.0, fix patch warning + +Signed-off-by: Changqing Li <changqing.li@windriver.com> +--- + CMakeLists.txt | 23 +++++++++++++++++++++++ + libcares.pc.cmakein | 20 ++++++++++++++++++++ + 2 files changed, 43 insertions(+) + create mode 100644 libcares.pc.cmakein + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 60a880c..71eaa53 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -193,22 +193,30 @@ ADD_DEFINITIONS(${SYSFLAGS}) + + + # Tell C-Ares about libraries to depend on ++# Also pass these libraries to pkg-config file ++SET(CARES_PRIVATE_LIBS_LIST) + IF (HAVE_LIBRESOLV) + LIST (APPEND CARES_DEPENDENT_LIBS resolv) ++ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lresolv") + ENDIF () + IF (HAVE_LIBNSL) + LIST (APPEND CARES_DEPENDENT_LIBS nsl) ++ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lnsl") + ENDIF () + IF (HAVE_LIBSOCKET) + LIST (APPEND CARES_DEPENDENT_LIBS socket) ++ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lsocket") + ENDIF () + IF (HAVE_LIBRT) + LIST (APPEND CARES_DEPENDENT_LIBS rt) ++ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lrt") + ENDIF () + IF (WIN32) + LIST (APPEND CARES_DEPENDENT_LIBS ws2_32) ++ LIST (APPEND CARES_PRIVATE_LIBS_LIST "-lws2_32") + ENDIF () + ++string (REPLACE ";" " " CARES_PRIVATE_LIBS "${CARES_PRIVATE_LIBS_LIST}") + + # When checking for symbols, we need to make sure we set the proper + # headers, libraries, and definitions for the detection to work properly +@@ -514,6 +522,15 @@ CONFIGURE_FILE (ares_build.h.cmake ${PROJECT_BINARY_DIR}/ares_build.h) + # Write ares_config.h configuration file. This is used only for the build. + CONFIGURE_FILE (ares_config.h.cmake ${PROJECT_BINARY_DIR}/ares_config.h) + ++# Pass required CFLAGS to pkg-config in case of static library ++IF (CARES_STATIC) ++ SET (CPPFLAG_CARES_STATICLIB "-DCARES_STATICLIB") ++ENDIF() ++ ++# Write ares_config.h configuration file. This is used only for the build. ++CONFIGURE_FILE (libcares.pc.cmakein ${PROJECT_BINARY_DIR}/libcares.pc @ONLY) ++ ++ + + # TRANSFORM_MAKEFILE_INC + # +@@ -664,6 +681,12 @@ IF (CARES_INSTALL) + INSTALL (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcares.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + ENDIF () + ++# pkg-config file ++IF (CARES_INSTALL) ++ SET (PKGCONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/pkgconfig") ++ INSTALL (FILES "${CMAKE_CURRENT_BINARY_DIR}/libcares.pc" DESTINATION ${PKGCONFIG_INSTALL_DIR}) ++ENDIF () ++ + # Legacy chain-building variables (provided for compatibility with old code). + # Don't use these, external code should be updated to refer to the aliases directly (e.g., Cares::cares). + SET (CARES_FOUND 1 CACHE INTERNAL "CARES LIBRARY FOUND") +diff --git a/libcares.pc.cmakein b/libcares.pc.cmakein +new file mode 100644 +index 0000000..3579256 +--- /dev/null ++++ b/libcares.pc.cmakein +@@ -0,0 +1,20 @@ ++#*************************************************************************** ++# Project ___ __ _ _ __ ___ ___ ++# / __|____ / _` | '__/ _ \/ __| ++# | (_|_____| (_| | | | __/\__ \ ++# \___| \__,_|_| \___||___/ ++# ++prefix=@CMAKE_INSTALL_PREFIX@ ++exec_prefix=@CMAKE_INSTALL_PREFIX@ ++libdir=@CMAKE_INSTALL_FULL_LIBDIR@ ++includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ ++ ++Name: c-ares ++URL: http://daniel.haxx.se/projects/c-ares/ ++Description: asynchronous DNS lookup library ++Version: @VERSION@ ++Requires: ++Requires.private: ++Cflags: -I${includedir} @CPPFLAG_CARES_STATICLIB@ ++Libs: -L${libdir} -lcares ++Libs.private: @CARES_PRIVATE_LIBS@ +-- +2.7.4 + diff --git a/meta-oe/recipes-support/c-ares/c-ares_1.15.0.bb b/meta-oe/recipes-support/c-ares/c-ares_1.15.0.bb new file mode 100644 index 0000000000..d437529dc4 --- /dev/null +++ b/meta-oe/recipes-support/c-ares/c-ares_1.15.0.bb @@ -0,0 +1,26 @@ +# Copyright (c) 2012-2014 LG Electronics, Inc. +SUMMARY = "c-ares is a C library that resolves names asynchronously." +HOMEPAGE = "http://daniel.haxx.se/projects/c-ares/" +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=fb997454c8d62aa6a47f07a8cd48b006" + +PV = "1.15.0+gitr${SRCPV}" + +SRC_URI = "\ + git://github.com/c-ares/c-ares.git \ + file://cmake-install-libcares.pc.patch \ +" +SRCREV = "e982924acee7f7313b4baa4ee5ec000c5e373c30" + +UPSTREAM_CHECK_GITTAGREGEX = "cares-(?P<pver>\d+_(\d_?)+)" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig + +PACKAGES =+ "${PN}-utils" + +FILES_${PN}-utils = "${bindir}" + +BBCLASSEXTEND = "native nativesdk" |