summaryrefslogtreecommitdiffstats
path: root/package/hiawatha/hiawatha-support-for-external-polarssl.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/hiawatha/hiawatha-support-for-external-polarssl.patch')
-rw-r--r--package/hiawatha/hiawatha-support-for-external-polarssl.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/package/hiawatha/hiawatha-support-for-external-polarssl.patch b/package/hiawatha/hiawatha-support-for-external-polarssl.patch
new file mode 100644
index 000000000..e6033b9da
--- /dev/null
+++ b/package/hiawatha/hiawatha-support-for-external-polarssl.patch
@@ -0,0 +1,60 @@
+Enable linking against an external PolarSSL
+
+Hiawatha contains its own copy of the PolarSSL source code, and its
+build system builds this private copy of PolarSSL and links to it. In
+the context of Buildroot, we prefer to link against the PolarSSL built
+externally by the polarssl package.
+
+This patch adds a ENABLE_SSL_EXTERNAL option, which, when used in
+addition to ENABLE_SSL, tells Hiawatha's build system to link against
+the already existing PolarSSL library instead of building its own.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: hiawatha-8.1/CMakeLists.txt
+===================================================================
+--- hiawatha-8.1.orig/CMakeLists.txt
++++ hiawatha-8.1/CMakeLists.txt
+@@ -9,6 +9,7 @@
+ option(ENABLE_IPV6 "Enable IPv6 support in Hiawatha." ON)
+ option(ENABLE_MONITOR "Enable support for the Hiawatha Monitor." OFF)
+ option(ENABLE_SSL "Enable SSL (PolarSSL) support in Hiawatha." ON)
++option(ENABLE_SSL_EXTERNAL "Enable SSL (PolarSSL) as an external library." OFF)
+ option(ENABLE_TOOLKIT "Enable the URL toolkit in Hiawatha" ON)
+ option(ENABLE_XSLT "Enable XSLT support in Hiawatha." ON)
+
+@@ -86,19 +87,23 @@
+
+ # PolarSSL
+ if(ENABLE_SSL)
++ if(NOT ENABLE_SSL_EXTERNAL)
+ option(USE_SHARED_POLARSSL_LIBRARY "Build PolarSSL as a shared library." ON)
+ set(CMAKE_INSTALL_NAME_DIR ${CMAKE_INSTALL_FULL_LIBDIR}/hiawatha)
+ set(LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/hiawatha)
++ include_directories(polarssl/include)
+ add_subdirectory(polarssl)
++ endif()
+ set(POLARSSL_LIBRARY "polarssl")
+ endif()
+
+ # Hiawatha
+-include_directories(${CMAKE_CURRENT_BINARY_DIR} polarssl/include)
+ if(ENABLE_XSLT)
+ include_directories(${LIBXML2_INCLUDE_DIR} ${LIBXSLT_INCLUDE_DIR})
+ endif()
+
++include_directories(${CMAKE_CURRENT_BINARY_DIR})
++
+ # Configure files
+ configure_file(config.h.in config.h)
+ foreach (configfile ${config_files_in})
+@@ -119,7 +124,9 @@
+ target_link_libraries(hiawatha ${CRYPT_LIBRARY} pthread ${Z_LIBRARY})
+ if(ENABLE_SSL)
+ target_link_libraries(hiawatha ${POLARSSL_LIBRARY})
++ if(NOT ENABLE_SSL_EXTERNAL)
+ set_target_properties(hiawatha PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/hiawatha)
++ endif()
+ endif()
+ if(ENABLE_XSLT)
+ target_link_libraries(hiawatha ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES})