Merge pull request #840 from cjkoenig/update_liburcu
[feed/packages.git] / net / fastd / Makefile
1 #
2 # Copyright (C) 2012-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:=fastd
11 PKG_VERSION:=17
12 PKG_RELEASE:=1
13
14 PKG_MAINTAINER:=Matthias Schiffer <mschiffer@universe-factory.net>
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
16 PKG_SOURCE_URL:=https://projects.universe-factory.net/attachments/download/81
17 PKG_MD5SUM:=bad4f1948702f418b799578f83a0edb8
18
19 PKG_LICENSE:=BSD-2-Clause
20 PKG_LICENSE_FILES:=COPYRIGHT
21
22 PKG_CONFIG_DEPENDS:=\
23 CONFIG_FASTD_ENABLE_METHOD_CIPHER_TEST \
24 CONFIG_FASTD_ENABLE_METHOD_COMPOSED_GMAC \
25 CONFIG_FASTD_ENABLE_METHOD_COMPOSED_UMAC \
26 CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC \
27 CONFIG_FASTD_ENABLE_METHOD_GENERIC_POLY1305 \
28 CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC \
29 CONFIG_FASTD_ENABLE_METHOD_NULL \
30 CONFIG_FASTD_ENABLE_METHOD_XSALSA20_POLY1305 \
31 CONFIG_FASTD_ENABLE_CIPHER_AES128_CTR \
32 CONFIG_FASTD_ENABLE_CIPHER_NULL \
33 CONFIG_FASTD_ENABLE_CIPHER_SALSA20 \
34 CONFIG_FASTD_ENABLE_CIPHER_SALSA2012 \
35 CONFIG_FASTD_ENABLE_MAC_GHASH \
36 CONFIG_FASTD_ENABLE_MAC_UHASH \
37 CONFIG_FASTD_WITH_CMDLINE_USER \
38 CONFIG_FASTD_WITH_CMDLINE_LOGGING \
39 CONFIG_FASTD_WITH_CMDLINE_OPERATION \
40 CONFIG_FASTD_WITH_CMDLINE_COMMANDS \
41 CONFIG_FASTD_WITH_DYNAMIC_PEERS \
42 CONFIG_FASTD_WITH_STATUS_SOCKET
43
44
45 PKG_BUILD_DEPENDS:=nacl libuecc
46
47 include $(INCLUDE_DIR)/package.mk
48 include $(INCLUDE_DIR)/cmake.mk
49
50 define Package/fastd
51 SECTION:=net
52 CATEGORY:=Network
53 DEPENDS:=+kmod-tun +librt +libpthread +FASTD_WITH_STATUS_SOCKET:libjson-c
54 TITLE:=Fast and Secure Tunneling Daemon
55 URL:=https://projects.universe-factory.net/projects/fastd
56 SUBMENU:=VPN
57 endef
58
59 define Package/fastd/config
60 source "$(SOURCE)/Config.in"
61 endef
62
63 TARGET_CFLAGS += -ffunction-sections -fdata-sections
64 TARGET_LDFLAGS += -Wl,--gc-sections
65
66 CMAKE_OPTIONS += \
67 -DCMAKE_BUILD_TYPE:STRING=MINSIZEREL \
68 -DWITH_METHOD_CIPHER_TEST:BOOL=FALSE \
69 -DWITH_METHOD_COMPOSED_GMAC:BOOL=FALSE \
70 -DWITH_METHOD_COMPOSED_UMAC:BOOL=FALSE \
71 -DWITH_METHOD_GENERIC_GMAC:BOOL=FALSE \
72 -DWITH_METHOD_GENERIC_POLY1305:BOOL=FALSE \
73 -DWITH_METHOD_GENERIC_UMAC:BOOL=FALSE \
74 -DWITH_METHOD_NULL:BOOL=FALSE \
75 -DWITH_METHOD_XSALSA20_POLY1305:BOOL=FALSE \
76 -DWITH_CIPHER_AES128_CTR:BOOL=FALSE \
77 -DWITH_CIPHER_NULL:BOOL=FALSE \
78 -DWITH_CIPHER_SALSA20:BOOL=FALSE \
79 -DWITH_CIPHER_SALSA2012:BOOL=FALSE \
80 -DWITH_MAC_GHASH:BOOL=FALSE \
81 -DWITH_MAC_UHASH:BOOL=FALSE \
82 -DWITH_CMDLINE_USER:BOOL=FALSE \
83 -DWITH_CMDLINE_LOGGING:BOOL=FALSE \
84 -DWITH_CMDLINE_OPERATION:BOOL=FALSE \
85 -DWITH_CMDLINE_COMMANDS:BOOL=FALSE \
86 -DWITH_DYNAMIC_PEERS:BOOL=FALSE \
87 -DWITH_STATUS_SOCKET:BOOL=FALSE \
88 -DWITH_CAPABILITIES:BOOL=FALSE \
89 -DENABLE_SYSTEMD:BOOL=FALSE \
90 -DENABLE_LIBSODIUM:BOOL=FALSE \
91 -DENABLE_LTO:BOOL=TRUE
92
93
94 ifeq ($(CONFIG_FASTD_ENABLE_METHOD_CIPHER_TEST),y)
95 CMAKE_OPTIONS += -DWITH_METHOD_CIPHER_TEST:BOOL=TRUE
96 endif
97
98 ifeq ($(CONFIG_FASTD_ENABLE_METHOD_COMPOSED_GMAC),y)
99 CMAKE_OPTIONS += -DWITH_METHOD_COMPOSED_GMAC:BOOL=TRUE
100 endif
101
102 ifeq ($(CONFIG_FASTD_ENABLE_METHOD_COMPOSED_UMAC),y)
103 CMAKE_OPTIONS += -DWITH_METHOD_COMPOSED_UMAC:BOOL=TRUE
104 endif
105
106 ifeq ($(CONFIG_FASTD_ENABLE_METHOD_GENERIC_GMAC),y)
107 CMAKE_OPTIONS += -DWITH_METHOD_GENERIC_GMAC:BOOL=TRUE
108 endif
109
110 ifeq ($(CONFIG_FASTD_ENABLE_METHOD_GENERIC_POLY1305),y)
111 CMAKE_OPTIONS += -DWITH_METHOD_GENERIC_POLY1305:BOOL=TRUE
112 endif
113
114 ifeq ($(CONFIG_FASTD_ENABLE_METHOD_GENERIC_UMAC),y)
115 CMAKE_OPTIONS += -DWITH_METHOD_GENERIC_UMAC:BOOL=TRUE
116 endif
117
118 ifeq ($(CONFIG_FASTD_ENABLE_METHOD_NULL),y)
119 CMAKE_OPTIONS += -DWITH_METHOD_NULL:BOOL=TRUE
120 endif
121
122 ifeq ($(CONFIG_FASTD_ENABLE_METHOD_XSALSA20_POLY1305),y)
123 CMAKE_OPTIONS += -DWITH_METHOD_XSALSA20_POLY1305:BOOL=TRUE
124 endif
125
126
127 ifeq ($(CONFIG_FASTD_ENABLE_CIPHER_AES128_CTR),y)
128 CMAKE_OPTIONS += -DWITH_CIPHER_AES128_CTR:BOOL=TRUE
129 endif
130
131 ifeq ($(CONFIG_FASTD_ENABLE_CIPHER_NULL),y)
132 CMAKE_OPTIONS += -DWITH_CIPHER_NULL:BOOL=TRUE
133 endif
134
135 ifeq ($(CONFIG_FASTD_ENABLE_CIPHER_SALSA20),y)
136 CMAKE_OPTIONS += -DWITH_CIPHER_SALSA20:BOOL=TRUE
137 endif
138
139 ifeq ($(CONFIG_FASTD_ENABLE_CIPHER_SALSA2012),y)
140 CMAKE_OPTIONS += -DWITH_CIPHER_SALSA2012:BOOL=TRUE
141 endif
142
143
144 ifeq ($(CONFIG_FASTD_ENABLE_MAC_GHASH),y)
145 CMAKE_OPTIONS += -DWITH_MAC_GHASH:BOOL=TRUE
146 endif
147
148 ifeq ($(CONFIG_FASTD_ENABLE_MAC_UHASH),y)
149 CMAKE_OPTIONS += -DWITH_MAC_UHASH:BOOL=TRUE
150 endif
151
152
153 ifeq ($(CONFIG_FASTD_WITH_CMDLINE_USER),y)
154 CMAKE_OPTIONS += -DWITH_CMDLINE_USER:BOOL=TRUE
155 endif
156
157 ifeq ($(CONFIG_FASTD_WITH_CMDLINE_LOGGING),y)
158 CMAKE_OPTIONS += -DWITH_CMDLINE_LOGGING:BOOL=TRUE
159 endif
160
161 ifeq ($(CONFIG_FASTD_WITH_CMDLINE_OPERATION),y)
162 CMAKE_OPTIONS += -DWITH_CMDLINE_OPERATION:BOOL=TRUE
163 endif
164
165 ifeq ($(CONFIG_FASTD_WITH_CMDLINE_COMMANDS),y)
166 CMAKE_OPTIONS += -DWITH_CMDLINE_COMMANDS:BOOL=TRUE
167 endif
168
169 ifeq ($(CONFIG_FASTD_WITH_DYNAMIC_PEERS),y)
170 CMAKE_OPTIONS += -DWITH_DYNAMIC_PEERS:BOOL=TRUE
171 endif
172
173 ifeq ($(CONFIG_FASTD_WITH_STATUS_SOCKET),y)
174 CMAKE_OPTIONS += -DWITH_STATUS_SOCKET:BOOL=TRUE
175 endif
176
177
178 define Package/fastd/description
179 Fast and secure tunneling daemon, which is optimized on small code size and few dependencies
180 endef
181
182 define Package/fastd/conffiles
183 /etc/config/fastd
184 endef
185
186 define Package/fastd/install
187 $(INSTALL_DIR) $(1)/usr/bin
188 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/fastd $(1)/usr/bin/
189
190 $(INSTALL_DIR) $(1)/etc/init.d/
191 $(INSTALL_BIN) $(PKG_BUILD_DIR)/doc/examples/openwrt/fastd.init $(1)/etc/init.d/fastd
192 $(INSTALL_DIR) $(1)/etc/config
193 $(INSTALL_CONF) $(PKG_BUILD_DIR)/doc/examples/openwrt/fastd.config $(1)/etc/config/fastd
194 $(INSTALL_DIR) $(1)/etc/fastd
195 $(INSTALL_DIR) $(1)/lib/upgrade/keep.d
196 $(INSTALL_DATA) files/fastd.upgrade $(1)/lib/upgrade/keep.d/fastd
197 endef
198
199 $(eval $(call BuildPackage,fastd))