kumquat-buildroot/package/hiawatha/hiawatha-support-for-external-polarssl.patch

62 lines
2.4 KiB
Diff
Raw Normal View History

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.
[Gustavo]: Update for version 8.5
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
diff -Nura hiawatha-8.5.orig/CMakeLists.txt hiawatha-8.5/CMakeLists.txt
--- hiawatha-8.5.orig/CMakeLists.txt 2012-09-12 09:29:34.347994799 -0300
+++ hiawatha-8.5/CMakeLists.txt 2012-09-12 09:33:15.983118183 -0300
@@ -9,6 +9,7 @@
option(ENABLE_MONITOR "Enable support for the Hiawatha Monitor." off)
option(ENABLE_RPROXY "Enable reverse proxy support in Hiawatha." on)
option(ENABLE_SSL "Enable SSL (PolarSSL) support in Hiawatha." on)
+option(ENABLE_SSL_EXTERNAL "Enable SSL (PolarSSL) as an external library." off)
option(ENABLE_TOMAHAWK "Enable Tomahawk in Hiawatha" off)
option(ENABLE_TOOLKIT "Enable the URL toolkit in Hiawatha" on)
option(ENABLE_XSLT "Enable XSLT support in Hiawatha." on)
@@ -88,19 +89,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})
@@ -121,7 +126,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})