Makefile (3325B)
1 # 2 # Copyright (C) 2014-2015 OpenWrt.org 3 # 4 # This is free software, licensed under the GNU General Public License v2. 5 # See /LICENSE for more information. 6 # 7 8 include $(TOPDIR)/rules.mk 9 10 PKG_NAME:=libwebsockets 11 PKG_VERSION:=2.0.3 12 PKG_RELEASE:=1 13 14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz 15 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) 16 PKG_SOURCE_URL:=https://codeload.github.com/warmcat/libwebsockets/tar.gz/v$(PKG_VERSION)? 17 PKG_MD5SUM:=a025156d606d90579e65d53ccd062a94 18 19 20 PKG_SOURCE_VERSION:=v$(PKG_VERSION) 21 22 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_SOURCE_SUBDIR) 23 24 PKG_LICENSE:=LGPL-2.1+exception 25 PKG_LICENSE_FILES:=LICENSE 26 27 CMAKE_INSTALL:=1 28 29 include $(INCLUDE_DIR)/package.mk 30 include $(INCLUDE_DIR)/cmake.mk 31 32 CMAKE_OPTIONS += -DLWS_IPV6=$(if $(CONFIG_IPV6),ON,OFF) 33 CMAKE_OPTIONS += -DLWS_WITHOUT_TESTAPPS=ON 34 35 # other options worth noting 36 # CMAKE_OPTIONS += -DLWS_WITHOUT_EXTENSIONS=ON 37 # CMAKE_OPTIONS += -DLWS_WITHOUT_DAEMONIZE=ON 38 # CMAKE_OPTIONS += -DLWS_WITHOUT_SERVER=ON 39 # CMAKE_OPTIONS += -DLWS_WITHOUT_DEBUG=ON 40 41 42 define Package/libwebsockets/Default 43 SECTION:=libs 44 CATEGORY:=Libraries 45 TITLE:=libwebsockets 46 DEPENDS:=+zlib 47 URL:=https://libwebsockets.org 48 MAINTAINER:=Karl Palsson <karlp@etactica.com> 49 endef 50 51 define Package/libwebsockets-openssl 52 $(call Package/libwebsockets/Default) 53 TITLE += (OpenSSL) 54 DEPENDS += +libopenssl 55 VARIANT:=openssl 56 endef 57 58 define Package/libwebsockets-cyassl 59 $(call Package/libwebsockets/Default) 60 TITLE += (CyaSSL) 61 DEPENDS += +libcyassl 62 VARIANT:=cyassl 63 endef 64 65 define Package/libwebsockets-full 66 $(call Package/libwebsockets/Default) 67 TITLE += (Full - OpenSSL, libuv, plugins, CGI) 68 DEPENDS += +libopenssl +libuv 69 VARIANT:=full 70 endef 71 72 ifeq ($(BUILD_VARIANT),openssl) 73 CMAKE_OPTIONS += -DLWS_OPENSSL_CLIENT_CERTS=/etc/ssl/certs 74 CMAKE_OPTIONS += -DLWS_OPENSSL_SUPPORT=ON 75 CMAKE_OPTIONS += -DLWS_WITH_SSL=ON 76 endif 77 78 ifeq ($(BUILD_VARIANT),cyassl) 79 CMAKE_OPTIONS += -DLWS_OPENSSL_CLIENT_CERTS=/etc/ssl/certs 80 CMAKE_OPTIONS += -DLWS_OPENSSL_SUPPORT=ON 81 CMAKE_OPTIONS += -DLWS_WITH_SSL=ON 82 # for cyassl, edit package/libs/cyassl/Makefile to include --enable-opensslextra 83 # NOTE: it will compile without it, untested whether it it's needed?! 84 CMAKE_OPTIONS += -DLWS_USE_CYASSL=ON 85 CMAKE_OPTIONS += -DLWS_CYASSL_LIBRARIES=$(STAGING_DIR)/usr/lib/libcyassl.so 86 CMAKE_OPTIONS += -DLWS_CYASSL_INCLUDE_DIRS=$(STAGING_DIR)/usr/include 87 endif 88 89 ifeq ($(BUILD_VARIANT),full) 90 CMAKE_OPTIONS += -DLWS_OPENSSL_CLIENT_CERTS=/etc/ssl/certs 91 CMAKE_OPTIONS += -DLWS_OPENSSL_SUPPORT=ON 92 CMAKE_OPTIONS += -DLWS_WITH_SSL=ON 93 CMAKE_OPTIONS += -DLWS_WITH_LIBUV=ON 94 CMAKE_OPTIONS += -DLWS_WITH_PLUGINS=ON 95 CMAKE_OPTIONS += -DLWS_WITH_SERVER_STATUS=ON 96 CMAKE_OPTIONS += -DLWS_WITH_ACCESS_LOG=ON 97 CMAKE_OPTIONS += -DLWS_WITH_CGI=ON 98 endif 99 100 define Package/libwebsockets/install 101 $(INSTALL_DIR) $(1)/usr/lib 102 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libwebsockets.so* $(1)/usr/lib/ 103 endef 104 105 Package/libwebsockets-cyassl/install = $(Package/libwebsockets/install) 106 Package/libwebsockets-openssl/install = $(Package/libwebsockets/install) 107 Package/libwebsockets-full/install = $(Package/libwebsockets/install) 108 109 $(eval $(call BuildPackage,libwebsockets-openssl)) 110 $(eval $(call BuildPackage,libwebsockets-cyassl)) 111 $(eval $(call BuildPackage,libwebsockets-full))