|
@@ -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})
|