1################################################################################
2#
3# civetweb
4#
5################################################################################
6
7CIVETWEB_VERSION = 1.16
8CIVETWEB_SITE = $(call github,civetweb,civetweb,v$(CIVETWEB_VERSION))
9CIVETWEB_LICENSE = MIT
10CIVETWEB_LICENSE_FILES = LICENSE.md
11CIVETWEB_CPE_ID_VALID = YES
12
13CIVETWEB_CONF_OPTS = TARGET_OS=LINUX WITH_IPV6=1 \
14	$(if $(BR2_INSTALL_LIBSTDCPP),WITH_CPP=1)
15CIVETWEB_COPT = -DHAVE_POSIX_FALLOCATE=0
16CIVETWEB_LIBS = -lpthread -lm
17CIVETWEB_SYSCONFDIR = /etc
18CIVETWEB_HTMLDIR = /var/www
19CIVETWEB_INSTALL_OPTS = \
20	DOCUMENT_ROOT="$(CIVETWEB_HTMLDIR)" \
21	CONFIG_FILE2="$(CIVETWEB_SYSCONFDIR)/civetweb.conf" \
22	HTMLDIR="$(TARGET_DIR)$(CIVETWEB_HTMLDIR)" \
23	SYSCONFDIR="$(TARGET_DIR)$(CIVETWEB_SYSCONFDIR)"
24
25ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_4),)
26CIVETWEB_COPT += -DNO_ATOMICS=1
27endif
28
29ifeq ($(BR2_PACKAGE_LUAJIT),y)
30CIVETWEB_CONF_OPTS += WITH_LUAJIT_SHARED=1
31CIVETWEB_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs luajit` -ldl
32CIVETWEB_DEPENDENCIES += host-pkgconf luajit
33else ifeq ($(BR2_PACKAGE_LUA):$(BR2_STATIC_LIBS),y:)
34CIVETWEB_CONF_OPTS += WITH_LUA=1 WITH_LUA_SHARED=1 LUA_SHARED_LIB_FLAG=''
35CIVETWEB_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs lua`
36CIVETWEB_DEPENDENCIES += host-pkgconf lua
37ifeq ($(BR2_PACKAGE_LUA_5_1),y)
38CIVETWEB_CONF_OPTS += WITH_LUA_VERSION=501
39else ifeq ($(BR2_PACKAGE_LUA_5_3),y)
40CIVETWEB_CONF_OPTS += WITH_LUA_VERSION=503
41else ifeq ($(BR2_PACKAGE_LUA_5_4),y)
42CIVETWEB_CONF_OPTS += WITH_LUA_VERSION=504
43endif
44endif
45
46ifeq ($(BR2_PACKAGE_OPENSSL),y)
47CIVETWEB_COPT += -DNO_SSL_DL
48CIVETWEB_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs openssl`
49CIVETWEB_DEPENDENCIES += openssl host-pkgconf
50else
51CIVETWEB_COPT += -DNO_SSL
52endif
53
54ifeq ($(BR2_PACKAGE_ZLIB),y)
55CIVETWEB_CONF_OPTS += WITH_ZLIB=1
56CIVETWEB_LIBS += -lz
57CIVETWEB_DEPENDENCIES += zlib
58endif
59
60ifeq ($(BR2_PACKAGE_CIVETWEB_SERVER),y)
61CIVETWEB_BUILD_TARGETS += build
62CIVETWEB_INSTALL_TARGETS += install
63endif
64
65ifeq ($(BR2_PACKAGE_CIVETWEB_LIB),y)
66CIVETWEB_INSTALL_STAGING = YES
67CIVETWEB_INSTALL_TARGETS += install-headers
68
69ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
70CIVETWEB_BUILD_TARGETS += lib
71CIVETWEB_INSTALL_TARGETS += install-lib
72endif
73
74ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
75CIVETWEB_BUILD_TARGETS += slib
76CIVETWEB_INSTALL_TARGETS += install-slib
77endif
78
79endif # BR2_PACKAGE_CIVETWEB_LIB
80
81define CIVETWEB_BUILD_CMDS
82	$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_BUILD_TARGETS) \
83		$(CIVETWEB_CONF_OPTS) \
84		COPT="$(CIVETWEB_COPT)" LIBS="$(CIVETWEB_LIBS)"
85endef
86
87define CIVETWEB_INSTALL_STAGING_CMDS
88	mkdir -p $(STAGING_DIR)/usr/include
89	$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_INSTALL_TARGETS) \
90		PREFIX="$(STAGING_DIR)/usr" \
91		$(CIVETWEB_INSTALL_OPTS) \
92		$(CIVETWEB_CONF_OPTS) \
93		COPT='$(CIVETWEB_COPT)'
94endef
95
96define CIVETWEB_INSTALL_TARGET_CMDS
97	mkdir -p $(TARGET_DIR)/usr/include
98	$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_INSTALL_TARGETS) \
99		PREFIX="$(TARGET_DIR)/usr" \
100		$(CIVETWEB_INSTALL_OPTS) \
101		$(CIVETWEB_CONF_OPTS) \
102		COPT='$(CIVETWEB_COPT)'
103endef
104
105$(eval $(generic-package))
106