[Buildroot] [PATCH v2 1/1] libcpprestsdk: fix building as a static library
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Mon Feb 12 16:07:14 UTC 2018
Hello,
Thanks for working on this new version!
On Mon, 12 Feb 2018 08:00:16 -0500, Adam Duskett wrote:
> Use pkg-config to find OpenSSL. This will automatically find any
> dependent libraries and put them in the correct order for linking.
>
> Fixes:
> http://autobuild.buildroot.net/results/1df528254468a5ece2f6fe37b3401e68737beed1
>
> Upstream status: submitted
> https://github.com/Microsoft/cpprestsdk/pull/688
>
> Signed-off-by: Adam Duskett <aduskett at gmail.com>
> ---
> Changes v1 -> v2:
> - Now using pkg-config instead of manually moving library search order
> (Thomas)
>
> ...prestsdk-fix-building-as-a-static-library.patch | 42 ++++++++++++++++++++++
> 1 file changed, 42 insertions(+)
> create mode 100644 package/libcpprestsdk/0004-libcpprestsdk-fix-building-as-a-static-library.patch
>
> diff --git a/package/libcpprestsdk/0004-libcpprestsdk-fix-building-as-a-static-library.patch b/package/libcpprestsdk/0004-libcpprestsdk-fix-building-as-a-static-library.patch
> new file mode 100644
> index 0000000000..c80f3f9ca0
> --- /dev/null
> +++ b/package/libcpprestsdk/0004-libcpprestsdk-fix-building-as-a-static-library.patch
> @@ -0,0 +1,45 @@
> +From 8a9c3db14a390c0a8788405e52e9b8737a430191 Mon Sep 17 00:00:00 2001
> +From: Adam Duskett <aduskett at gmail.com>
> +Date: Mon, 12 Feb 2018 07:49:34 -0500
> +Subject: [PATCH] libcpprestsdk: fix building as a static library
> +
> +Use pkg-config to find OpenSSL. This will automatically find any
> +dependent libraries and put them in the correct order for linking.
> +
> +Upstream status: submitted
> +https://github.com/Microsoft/cpprestsdk/pull/688
Your pull request now has both fixes. Are you sure this is what you
wanted to do ?
> +---
> + Release/cmake/cpprest_find_openssl.cmake | 10 +++++++---
> + 1 file changed, 7 insertions(+), 3 deletions(-)
> +
> +diff --git a/Release/cmake/cpprest_find_openssl.cmake b/Release/cmake/cpprest_find_openssl.cmake
> +index 0b49a7e..2be8afb 100644
> +--- a/Release/cmake/cpprest_find_openssl.cmake
> ++++ b/Release/cmake/cpprest_find_openssl.cmake
> +@@ -41,8 +41,12 @@ function(cpprest_find_openssl)
> + # This should prevent linking against the system provided 0.9.8y
> + set(_OPENSSL_VERSION "")
> + endif()
> +- find_package(OpenSSL 1.0.0 REQUIRED)
> +-
> ++ if(UNIX)
> ++ find_package(PkgConfig REQUIRED)
> ++ pkg_search_module(OPENSSL openssl REQUIRED)
> ++ else()
> ++ find_package(OpenSSL 1.0.0 REQUIRED)
> ++ endif()
> + INCLUDE(CheckCXXSourceCompiles)
> + set(CMAKE_REQUIRED_INCLUDES "${OPENSSL_INCLUDE_DIR}")
> + set(CMAKE_REQUIRED_LIBRARIES "${OPENSSL_LIBRARIES}")
> +@@ -67,4 +71,4 @@ function(cpprest_find_openssl)
> + # libressl doesn't ship with the cleanup method being used in ws_client_wspp
> + target_compile_definitions(cpprestsdk_openssl_internal INTERFACE -DCPPREST_NO_SSL_LEAK_SUPPRESS)
> + endif()
> +-endfunction()
> +\ No newline at end of file
> ++endfunction()
This last chunk is a spurious and unrelated change.
Thomas
--
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
http://bootlin.com
More information about the buildroot
mailing list