db47bc9997
v1.11 now has library and header install targets for use by apps that serve pages. The config changes allow enabling the civetweb webserver app binary and/or libs and headers. The C++ interface option is automatically enabled if C++ support is available. The civetweb Makefile sets -fPIC in CFLAGS when linking shared objects, but not when compiling the objects used in the library resulting in a link failure, so add -fPIC to COPT which is added to CFLAGS in its Makefile. The typo patch has already been incorporated upstream, so it was removed. Signed-off-by: John Faith <jfaith@impinj.com> [Thomas: - keep using "config", a "menuconfig" for just three sub-options is not relevant - move the BR2_PACKAGE_CIVETWEB_LIB option near the existing BR2_PACKAGE_CIVETWEB_SERVER option, since both allow to select what should be built/installed - remove BR2_PACKAGE_CIVETWEB_SHARED_LIB, the .mk file will use BR2_STATIC_LIBS/BR2_SHARED_LIBS/BR2_STATIC_SHARED_LIBS to know what to do - select BR2_PACKAGE_CIVETWEB_SERVER if BR2_PACKAGE_CIVETWEB_LIB is not enabled to ensure at least the server *or* the library is selected - introduce CIVETWEB_BUILD_TARGETS in the .mk file to properly use the appropriate make targets to build the server, static library and/or shared library - cleanup the use of CIVETWEB_INSTALL_TARGETS, and use it for both target and staging installation - factorize common installation options into a CIVETWEB_INSTALL_OPTS variable that is used for both the target and staging installation] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
84 lines
2.3 KiB
Makefile
84 lines
2.3 KiB
Makefile
################################################################################
|
|
#
|
|
# civetweb
|
|
#
|
|
################################################################################
|
|
|
|
CIVETWEB_VERSION = v1.11
|
|
CIVETWEB_SITE = $(call github,civetweb,civetweb,$(CIVETWEB_VERSION))
|
|
CIVETWEB_LICENSE = MIT
|
|
CIVETWEB_LICENSE_FILES = LICENSE.md
|
|
|
|
CIVETWEB_CONF_OPTS = TARGET_OS=LINUX WITH_IPV6=1 \
|
|
$(if $(BR2_INSTALL_LIBSTDCPP),WITH_CPP=1)
|
|
CIVETWEB_COPT = -DHAVE_POSIX_FALLOCATE=0
|
|
CIVETWEB_LIBS = -lpthread -lm
|
|
CIVETWEB_SYSCONFDIR = /etc
|
|
CIVETWEB_HTMLDIR = /var/www
|
|
CIVETWEB_INSTALL_OPTS = \
|
|
DOCUMENT_ROOT="$(CIVETWEB_HTMLDIR)" \
|
|
CONFIG_FILE2="$(CIVETWEB_SYSCONFDIR)/civetweb.conf" \
|
|
HTMLDIR="$(TARGET_DIR)$(CIVETWEB_HTMLDIR)" \
|
|
SYSCONFDIR="$(TARGET_DIR)$(CIVETWEB_SYSCONFDIR)"
|
|
|
|
ifeq ($(BR2_PACKAGE_CIVETWEB_WITH_LUA),y)
|
|
CIVETWEB_CONF_OPTS += WITH_LUA=1
|
|
CIVETWEB_LIBS += -ldl
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
|
CIVETWEB_COPT += -DNO_SSL_DL
|
|
CIVETWEB_LIBS += -lssl -lcrypto -lz
|
|
CIVETWEB_DEPENDENCIES += openssl
|
|
else
|
|
CIVETWEB_COPT += -DNO_SSL
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_CIVETWEB_SERVER),y)
|
|
CIVETWEB_BUILD_TARGETS += build
|
|
CIVETWEB_INSTALL_TARGETS += install
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_CIVETWEB_LIB),y)
|
|
CIVETWEB_INSTALL_STAGING = YES
|
|
CIVETWEB_INSTALL_TARGETS += install-headers
|
|
|
|
ifeq ($(BR2_STATIC_LIBS)$(BR2_STATIC_SHARED_LIBS),y)
|
|
CIVETWEB_BUILD_TARGETS += lib
|
|
CIVETWEB_INSTALL_TARGETS += install-lib
|
|
endif
|
|
|
|
ifeq ($(BR2_SHARED_LIBS)$(BR2_STATIC_SHARED_LIBS),y)
|
|
CIVETWEB_BUILD_TARGETS += slib
|
|
CIVETWEB_INSTALL_TARGETS += install-slib
|
|
CIVETWEB_COPT += -fPIC
|
|
endif
|
|
|
|
endif # BR2_PACKAGE_CIVETWEB_LIB
|
|
|
|
define CIVETWEB_BUILD_CMDS
|
|
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_BUILD_TARGETS) \
|
|
$(CIVETWEB_CONF_OPTS) \
|
|
COPT="$(CIVETWEB_COPT)" LIBS="$(CIVETWEB_LIBS)"
|
|
endef
|
|
|
|
define CIVETWEB_INSTALL_STAGING_CMDS
|
|
mkdir -p $(STAGING_DIR)/usr/include
|
|
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_INSTALL_TARGETS) \
|
|
PREFIX="$(STAGING_DIR)/usr" \
|
|
$(CIVETWEB_INSTALL_OPTS) \
|
|
$(CIVETWEB_CONF_OPTS) \
|
|
COPT='$(CIVETWEB_COPT)'
|
|
endef
|
|
|
|
define CIVETWEB_INSTALL_TARGET_CMDS
|
|
mkdir -p $(TARGET_DIR)/usr/include
|
|
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) $(CIVETWEB_INSTALL_TARGETS) \
|
|
PREFIX="$(TARGET_DIR)/usr" \
|
|
$(CIVETWEB_INSTALL_OPTS) \
|
|
$(CIVETWEB_CONF_OPTS) \
|
|
COPT='$(CIVETWEB_COPT)'
|
|
endef
|
|
|
|
$(eval $(generic-package))
|