7b7fac32deeac5fd6051dc98766231fd62da4da2
[feed/packages.git] / libs / libwebsockets / Makefile
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:=1.4-chrome43-firefox-36
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
15 PKG_SOURCE_PROTO:=git
16 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
17 PKG_SOURCE_URL:=https://github.com/warmcat/libwebsockets.git
18 PKG_SOURCE_VERSION:=v$(PKG_VERSION)
19
20 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_SOURCE_SUBDIR)
21
22 PKG_LICENSE:=LGPL-2.1+exception
23 PKG_LICENSE_FILES:=LICENSE
24
25 CMAKE_INSTALL:=1
26
27 include $(INCLUDE_DIR)/package.mk
28 include $(INCLUDE_DIR)/cmake.mk
29
30 CMAKE_OPTIONS += $(if $(CONFIG_PACKAGE_kmod-ipv6),,-DLWS_IPV6=)
31
32 CMAKE_OPTIONS += -DLWS_WITHOUT_TESTAPPS=ON
33
34 # other options worth noting
35 # CMAKE_OPTIONS += -DLWS_WITHOUT_EXTENSIONS=ON
36 # CMAKE_OPTIONS += -DLWS_WITHOUT_DAEMONIZE=ON
37 # CMAKE_OPTIONS += -DLWS_WITHOUT_SERVER=ON
38 # CMAKE_OPTIONS += -DLWS_WITHOUT_DEBUG=ON
39
40
41 define Package/$(PKG_NAME)/Default
42 SECTION:=libs
43 CATEGORY:=Libraries
44 TITLE:=libwebsockets
45 DEPENDS:=+zlib
46 endef
47
48 define Package/libwebsockets-openssl
49 $(call Package/$(PKG_NAME)/Default)
50 TITLE += (OpenSSL)
51 DEPENDS += +libopenssl
52 VARIANT:=openssl
53 endef
54
55 define Package/libwebsockets-cyassl
56 $(call Package/$(PKG_NAME)/Default)
57 TITLE += (CyaSSL)
58 DEPENDS += +libcyassl
59 VARIANT:=cyassl
60 endef
61
62 ifeq ($(BUILD_VARIANT),openssl)
63 CMAKE_OPTIONS += -DLWS_OPENSSL_CLIENT_CERTS=/etc/ssl/certs
64 CMAKE_OPTIONS += -DLWS_OPENSSL_SUPPORT=ON
65 CMAKE_OPTIONS += -DLWS_WITH_SSL=ON
66 endif
67
68 ifeq ($(BUILD_VARIANT),cyassl)
69 CMAKE_OPTIONS += -DLWS_OPENSSL_CLIENT_CERTS=/etc/ssl/certs
70 CMAKE_OPTIONS += -DLWS_OPENSSL_SUPPORT=ON
71 CMAKE_OPTIONS += -DLWS_WITH_SSL=ON
72 # for cyassl, edit package/libs/cyassl/Makefile to include --enable-opensslextra
73 # NOTE: it will compile without it, untested whether it it's needed?!
74 CMAKE_OPTIONS += -DLWS_USE_CYASSL=ON
75 CMAKE_OPTIONS += -DLWS_CYASSL_LIB=$(STAGING_DIR)/usr/lib/libcyassl.so
76 CMAKE_OPTIONS += -DLWS_CYASSL_INCLUDE_DIRS=$(STAGING_DIR)/usr/include
77 endif
78
79 define Package/libwebsockets/install
80 $(INSTALL_DIR) $(1)/usr/lib
81 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libwebsockets.so* $(1)/usr/lib/
82 endef
83
84 Package/$(PKG_NAME)-cyassl/install = $(Package/$(PKG_NAME)/install)
85 Package/$(PKG_NAME)-openssl/install = $(Package/$(PKG_NAME)/install)
86
87 $(eval $(call BuildPackage,libwebsockets-openssl))
88 $(eval $(call BuildPackage,libwebsockets-cyassl))