Commit f4f4172a authored by Thomas Petazzoni's avatar Thomas Petazzoni Committed by Peter Korsgaard
Browse files

hiawatha: new package

parent 31993b32
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -455,6 +455,9 @@ source "package/dnsmasq/Config.in"
source "package/dropbear/Config.in"
source "package/ebtables/Config.in"
source "package/ethtool/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/hiawatha/Config.in"
endif
source "package/hostapd/Config.in"
if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
source "package/ifplugd/Config.in"
+26 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_HIAWATHA
	bool "hiawatha"
	help
	  Hiawatha is a webserver for Unix and has been built with
	  security in mind. This resulted in a highly secure
	  webserver, in both code and features.

	  This webserver runs on Linux, BSD, MacOS X and
	  Windows. Although it can run any kind of CGI / FastCGI
	  application, it has been optimized for usage with PHP. Most
	  well known PHP frameworks and CMS applications have been
	  tested with Hiawatha and ran without a problem. Hiawatha
	  supports many web and HTTP features such as CGI/FastCGI,
	  HTTP authentication, virtual host support, request
	  pipelining, keep alive connections, URL rewriting and many
	  more.

	  http://www.hiawatha-webserver.org/

if BR2_PACKAGE_HIAWATHA

config BR2_PACKAGE_HIAWATHA_SSL
	bool "hiawatha SSL support"
	select BR2_PACKAGE_POLARSSL

endif
+60 −0
Original line number Diff line number Diff line
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})
+13 −0
Original line number Diff line number Diff line
HIAWATHA_VERSION = 8.1
HIAWATHA_SITE = http://www.hiawatha-webserver.org/files/

ifeq ($(BR2_PACKAGE_HIAWATHA_SSL),y)
HIAWATHA_CONF_OPT += -DENABLE_SSL_EXTERNAL=ON -DENABLE_SSL=ON
HIAWATHA_DEPENDENCIES += polarssl
endif

HIAWATHA_CONF_OPT += \
	-DENABLE_TOOLKIT=OFF \
	-DENABLE_XSLT=OFF

$(eval $(call CMAKETARGETS))