2 # Copyright (C) 2010-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
16 https
://build.openvpn.net
/downloads
/releases
/ \
17 https
://swupdate.openvpn.net
/community
/releases
/
18 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.xz
19 PKG_HASH
:=b12743836901f365efaf82ab2493967e1b21c21eb43ce9a8da1002a17c9c1dc8
21 PKG_MAINTAINER
:=Magnus Kroken
<mkroken@gmail.com
>
27 PKG_CPE_ID
:=cpe
:/a
:openvpn
:openvpn
29 include $(INCLUDE_DIR
)/package.mk
31 define Package
/openvpn
/Default
32 TITLE
:=Open source VPN solution using
$(2)
35 URL
:=http
://openvpn.net
38 DEPENDS
:=+kmod-tun
+OPENVPN_
$(1)_ENABLE_LZO
:liblzo
+OPENVPN_
$(1)_ENABLE_IPROUTE2
:ip
$(3)
40 PROVIDES
:=openvpn openvpn-crypto
43 Package
/openvpn-openssl
=$(call Package
/openvpn
/Default
,openssl
,OpenSSL
,+PACKAGE_openvpn-openssl
:libopenssl
)
44 Package
/openvpn-mbedtls
=$(call Package
/openvpn
/Default
,mbedtls
,mbedTLS
,+PACKAGE_openvpn-mbedtls
:libmbedtls
)
45 Package
/openvpn-wolfssl
=$(call Package
/openvpn
/Default
,wolfssl
,WolfSSL \
(experimental\
),+PACKAGE_openvpn-wolfssl
:libwolfssl
)
47 define Package
/openvpn
/config
/Default
48 source
"$(SOURCE)/Config-$(1).in"
51 Package
/openvpn-openssl
/config
=$(call Package
/openvpn
/config
/Default
,openssl
)
52 Package
/openvpn-mbedtls
/config
=$(call Package
/openvpn
/config
/Default
,mbedtls
)
53 Package
/openvpn-wolfssl
/config
=$(call Package
/openvpn
/config
/Default
,wolfssl
)
55 ifeq ($(BUILD_VARIANT
),mbedtls
)
56 CONFIG_OPENVPN_MBEDTLS
:=y
58 ifeq ($(BUILD_VARIANT
),openssl
)
59 CONFIG_OPENVPN_OPENSSL
:=y
61 ifeq ($(BUILD_VARIANT
),wolfssl
)
62 CONFIG_OPENVPN_WOLFSSL
:=y
69 TARGET_CFLAGS
+= -ffunction-sections
-fdata-sections
70 TARGET_LDFLAGS
+= -Wl
,--gc-sections
72 define Build
/Configure
73 $(call Build
/Configure
/Default
, \
74 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_SMALL
),--enable-small
) \
80 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_LZO
),--enable
,--disable
)-lzo \
81 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_LZ4
),--enable
,--disable
)-lz4 \
82 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_X509_ALT_USERNAME
),--enable
,--disable
)-x509-alt-username \
83 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_MANAGEMENT
),--enable
,--disable
)-management \
84 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_FRAGMENT
),--enable
,--disable
)-fragment \
85 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_MULTIHOME
),--enable
,--disable
)-multihome \
86 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_IPROUTE2
),--enable
,--disable
)-iproute2 \
87 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_DEF_AUTH
),--enable
,--disable
)-def-auth \
88 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_PF
),--enable
,--disable
)-pf \
89 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_PORT_SHARE
),--enable
,--disable
)-port-share \
90 $(if
$(CONFIG_OPENVPN_OPENSSL
),--with-crypto-library
=openssl
) \
91 $(if
$(CONFIG_OPENVPN_MBEDTLS
),--with-crypto-library
=mbedtls
) \
92 $(if
$(CONFIG_OPENVPN_WOLFSSL
),--with-crypto-library
=wolfssl
) \
96 define Package
/openvpn-
$(BUILD_VARIANT
)/conffiles
101 define Package
/openvpn-
$(BUILD_VARIANT
)/install
104 $(1)/usr
/share
/openvpn \
109 $(1)/lib
/upgrade
/keep.d \
111 $(1)/etc
/hotplug.d
/openvpn
114 $(PKG_INSTALL_DIR
)/usr
/sbin
/openvpn \
119 $(1)/etc
/init.d
/openvpn
122 files
/usr
/libexec
/openvpn-hotplug \
123 $(1)/usr
/libexec
/openvpn-hotplug
126 files
/lib
/functions
/openvpn.sh \
127 $(1)/lib
/functions
/openvpn.sh
130 files
/etc
/hotplug.d
/openvpn
/01-user \
131 $(1)/etc
/hotplug.d
/openvpn
/01-user
134 files
/etc
/openvpn.user \
135 $(1)/etc
/openvpn.user
138 files
/openvpn.options \
139 $(1)/usr
/share
/openvpn
/openvpn.options
141 $(INSTALL_CONF
) files
/openvpn.config \
142 $(1)/etc
/config
/openvpn
145 files
/openvpn.upgrade \
146 $(1)/lib
/upgrade
/keep.d
/openvpn
149 $(eval
$(call BuildPackage
,openvpn-openssl
))
150 $(eval
$(call BuildPackage
,openvpn-mbedtls
))
151 $(eval
$(call BuildPackage
,openvpn-wolfssl
))