Browse Source

civetweb: new package

Signed-off-by: Thomas Davis <sunsetbrew@sunsetbrew.com>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Thomas Davis 12 years ago
parent
commit
1fe1165e61
3 changed files with 82 additions and 0 deletions
  1. 1 0
      package/Config.in
  2. 26 0
      package/civetweb/Config.in
  3. 55 0
      package/civetweb/civetweb.mk

+ 1 - 0
package/Config.in

@@ -765,6 +765,7 @@ source "package/bridge-utils/Config.in"
 source "package/bwm-ng/Config.in"
 source "package/can-utils/Config.in"
 source "package/chrony/Config.in"
+source "package/civetweb/Config.in"
 source "package/connman/Config.in"
 source "package/crda/Config.in"
 source "package/ctorrent/Config.in"

+ 26 - 0
package/civetweb/Config.in

@@ -0,0 +1,26 @@
+config BR2_PACKAGE_CIVETWEB
+	bool "civetweb"
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	help
+	  Full featured embedded web server with Lua support.
+
+	  https://sourceforge.net/projects/civetweb
+
+if BR2_PACKAGE_CIVETWEB
+
+config BR2_CIVETWEB_WITH_LUA
+	bool "enable Lua support"
+	# required by the bundled Sqlite3 and Lua code
+	depends on BR2_LARGEFILE
+	help
+	  Enable Lua support in Civetweb. Note that this will use a
+	  version of Lua and Sqlite bundled within the Civetweb
+	  sources, and not the packages from Buildroot.
+
+comment "Lua support requires largefile support in toolchain"
+	depends on !BR2_LARGEFILE
+
+endif
+
+comment "civetweb requires a toolchain with PTHREAD support"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS

+ 55 - 0
package/civetweb/civetweb.mk

@@ -0,0 +1,55 @@
+################################################################################
+#
+# civetweb
+#
+################################################################################
+
+CIVETWEB_VERSION = 1.3
+CIVETWEB_SITE = http://github.com/sunsetbrew/civetweb/tarball/v$(CIVETWEB_VERSION)
+CIVETWEB_LICENSE = MIT
+CIVETWEB_LICENSE_FILES = LICENSE.md
+
+CIVETWEB_CONF_OPT = TARGET_OS=LINUX
+CIVETWEB_COPT = $(TARGET_CFLAGS) -DHAVE_POSIX_FALLOCATE=0
+CIVETWEB_LDFLAGS = $(TARGET_LDFLAGS)
+CIVETWEB_SYSCONFDIR = /etc
+CIVETWEB_HTMLDIR = /var/www
+
+ifneq ($(BR2_LARGEFILE),y)
+	CIVETWEB_COPT += -DSQLITE_DISABLE_LFS
+endif
+
+ifeq ($(BR2_INET_IPV6),y)
+	CIVETWEB_CONF_OPT += WITH_IPV6=1
+endif
+
+ifeq ($(BR2_CIVETWEB_WITH_LUA),y)
+	CIVETWEB_CONF_OPT += WITH_LUA=1
+endif
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+	CIVETWEB_COPT += -DNO_SSL_DL -lcrypt -lssl
+	CIVETWEB_DEPENDENCIES += openssl
+else
+	CIVETWEB_COPT += -DNO_SSL
+endif
+
+define CIVETWEB_BUILD_CMDS
+	$(MAKE) CC="$(TARGET_CC)" -C $(@D) build \
+		$(CIVETWEB_CONF_OPT) \
+		COPT="$(CIVETWEB_COPT)"
+endef
+
+define CIVETWEB_INSTALL_TARGET_CMDS
+	$(MAKE) CC="$(TARGET_CC)" -C $(@D) install \
+		DOCUMENT_ROOT="$(CIVETWEB_HTMLDIR)" \
+		CONFIG_FILE2="$(CIVETWEB_SYSCONFDIR)/civetweb.conf" \
+		HTMLDIR="$(TARGET_DIR)$(CIVETWEB_HTMLDIR)" \
+		SYSCONFDIR="$(TARGET_DIR)$(CIVETWEB_SYSCONFDIR)" \
+		PREFIX="$(TARGET_DIR)/usr" \
+		$(CIVETWEB_CONF_OPT) \
+		COPT='$(CIVETWEB_COPT)'
+endef
+
+$(eval $(generic-package))
+