While running `make menuconfig`, it was discovered then there is a
recursive dependency like this:
tmp/.config-package.in:59138:error: recursive dependency detected!
tmp/.config-package.in:59138: symbol PACKAGE_libwebsockets-openssl is selected by PACKAGE_libwebsockets-mbedtls
tmp/.config-package.in:59122: symbol PACKAGE_libwebsockets-mbedtls depends on PACKAGE_libwebsockets-openssl
It is not possible with the recently added conflicts that two packages
(OpenSSL and full variant, which uses OpenSSL as well), which are almost the same
provides the same named package libwebsockets as their conflict - Mbed
TLS.
Fixes: 676c5c72b5
("libwebsockets: OpenSSL
and mbedTLS variants should conflict")
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
113 lines
3.1 KiB
Makefile
113 lines
3.1 KiB
Makefile
#
|
|
# Copyright (C) 2014-2015 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=libwebsockets
|
|
PKG_VERSION:=4.3.2
|
|
PKG_RELEASE:=1
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
|
PKG_SOURCE_URL:=https://codeload.github.com/warmcat/libwebsockets/tar.gz/v$(PKG_VERSION)?
|
|
PKG_HASH:=6a85a1bccf25acc7e8e5383e4934c9b32a102880d1e4c37c70b27ae2a42406e1
|
|
|
|
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
|
|
|
|
PKG_LICENSE:=MIT
|
|
PKG_LICENSE_FILES:=LICENSE
|
|
|
|
PKG_BUILD_DEPENDS:=libubox
|
|
|
|
CMAKE_INSTALL:=1
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/cmake.mk
|
|
|
|
CMAKE_OPTIONS += -DLWS_IPV6=$(if $(CONFIG_IPV6),ON,OFF)
|
|
CMAKE_OPTIONS += -DISABLE_WERROR=ON
|
|
CMAKE_OPTIONS += -DCMAKE_BUILD_TYPE=Release
|
|
CMAKE_OPTIONS += -DLWS_WITH_EXTERNAL_POLL=ON
|
|
CMAKE_OPTIONS += -DLWS_WITH_ULOOP=ON
|
|
|
|
# turn off all test apps
|
|
CMAKE_OPTIONS += -DLWS_WITHOUT_TESTAPPS=ON
|
|
CMAKE_OPTIONS += -DLWS_WITHOUT_TEST_SERVER=ON
|
|
CMAKE_OPTIONS += -DLWS_WITHOUT_TEST_SERVER_EXTPOLL=ON
|
|
CMAKE_OPTIONS += -DLWS_WITHOUT_TEST_PING=ON
|
|
CMAKE_OPTIONS += -DLWS_WITHOUT_TEST_CLIENT=ON
|
|
|
|
define Package/libwebsockets/Default
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
TITLE:=libwebsockets
|
|
DEPENDS:=+zlib +libcap
|
|
URL:=https://libwebsockets.org
|
|
MAINTAINER:=Karl Palsson <karlp@etactica.com>
|
|
endef
|
|
|
|
define Package/libwebsockets-openssl
|
|
$(call Package/libwebsockets/Default)
|
|
TITLE += (OpenSSL)
|
|
DEPENDS += +libopenssl
|
|
VARIANT:=openssl
|
|
CONFLICTS:=libwebsockets-full
|
|
endef
|
|
|
|
define Package/libwebsockets-mbedtls
|
|
$(call Package/$(PKG_NAME)/Default)
|
|
TITLE += (mbedTLS)
|
|
DEPENDS += +libmbedtls
|
|
VARIANT:=mbedtls
|
|
PROVIDES:=libwebsockets
|
|
CONFLICTS:=libwebsockets-openssl
|
|
endef
|
|
|
|
define Package/libwebsockets-full
|
|
$(call Package/libwebsockets/Default)
|
|
TITLE += (Full - OpenSSL, libuv, plugins, CGI)
|
|
DEPENDS += +libopenssl +libuv
|
|
VARIANT:=full
|
|
PROVIDES:=libwebsockets libwebsockets-openssl
|
|
endef
|
|
|
|
ifeq ($(BUILD_VARIANT),openssl)
|
|
CMAKE_OPTIONS += -DLWS_OPENSSL_CLIENT_CERTS=/etc/ssl/certs
|
|
CMAKE_OPTIONS += -DLWS_WITH_SSL=ON
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),mbedtls)
|
|
CMAKE_OPTIONS += -DLWS_WITH_MBEDTLS=1
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),full)
|
|
CMAKE_OPTIONS += -DLWS_OPENSSL_CLIENT_CERTS=/etc/ssl/certs
|
|
CMAKE_OPTIONS += -DLWS_WITH_SSL=ON
|
|
CMAKE_OPTIONS += -DLWS_WITH_LIBUV=ON
|
|
CMAKE_OPTIONS += -DLWS_WITH_PLUGINS=ON
|
|
CMAKE_OPTIONS += -DLWS_WITH_SERVER_STATUS=ON
|
|
CMAKE_OPTIONS += -DLWS_WITH_ACCESS_LOG=ON
|
|
CMAKE_OPTIONS += -DLWS_WITH_CGI=ON
|
|
CMAKE_OPTIONS += -DLWS_UNIX_SOCK=ON
|
|
endif
|
|
|
|
define Package/libwebsockets/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libwebsockets.so* $(1)/usr/lib/
|
|
endef
|
|
|
|
Package/libwebsockets-mbedtls/install = $(Package/libwebsockets/install)
|
|
Package/libwebsockets-openssl/install = $(Package/libwebsockets/install)
|
|
|
|
define Package/libwebsockets-full/install
|
|
$(call Package/libwebsockets/install,$(1))
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libwebsockets-evlib_uv.so* $(1)/usr/lib
|
|
endef
|
|
|
|
$(eval $(call BuildPackage,libwebsockets-openssl))
|
|
$(eval $(call BuildPackage,libwebsockets-mbedtls))
|
|
$(eval $(call BuildPackage,libwebsockets-full))
|