2 # Copyright (C) 2014-2015 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
10 PKG_NAME
:=libwebsockets
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
20 PKG_SOURCE_VERSION
:=v
$(PKG_VERSION
)
22 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)-$(BUILD_VARIANT
)/$(PKG_SOURCE_SUBDIR
)
24 PKG_LICENSE
:=LGPL-2.1
+exception
25 PKG_LICENSE_FILES
:=LICENSE
29 include $(INCLUDE_DIR
)/package.mk
30 include $(INCLUDE_DIR
)/cmake.mk
32 CMAKE_OPTIONS
+= -DLWS_IPV6
=$(if
$(CONFIG_IPV6
),ON
,OFF
)
33 CMAKE_OPTIONS
+= -DLWS_WITHOUT_TESTAPPS
=ON
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
42 define Package
/libwebsockets
/Default
47 URL
:=https
://libwebsockets.org
48 MAINTAINER
:=Karl Palsson
<karlp@etactica.com
>
51 define Package
/libwebsockets-openssl
52 $(call Package
/libwebsockets
/Default
)
54 DEPENDS
+= +libopenssl
58 define Package
/libwebsockets-cyassl
59 $(call Package
/libwebsockets
/Default
)
65 define Package
/libwebsockets-full
66 $(call Package
/libwebsockets
/Default
)
67 TITLE
+= (Full
- OpenSSL
, libuv
, plugins
, CGI
)
68 DEPENDS
+= +libopenssl
+libuv
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
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
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
100 define Package
/libwebsockets
/install
101 $(INSTALL_DIR
) $(1)/usr
/lib
102 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/libwebsockets.so
* $(1)/usr
/lib
/
105 Package
/libwebsockets-cyassl
/install = $(Package
/libwebsockets
/install)
106 Package
/libwebsockets-openssl
/install = $(Package
/libwebsockets
/install)
107 Package
/libwebsockets-full
/install = $(Package
/libwebsockets
/install)
109 $(eval
$(call BuildPackage
,libwebsockets-openssl
))
110 $(eval
$(call BuildPackage
,libwebsockets-cyassl
))
111 $(eval
$(call BuildPackage
,libwebsockets-full
))