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.gz
19 PKG_HASH
:=1993bbb7b9edb430626eaa24573f881fd3df642f427fcb824b1aed1fca1bcc9b
26 PKG_BUILD_FLAGS
:=gc-sections
28 PKG_CPE_ID
:=cpe
:/a
:openvpn
:openvpn
30 include $(INCLUDE_DIR
)/package.mk
32 define Package
/openvpn
/Default
33 TITLE
:=Open source VPN solution using
$(2)
36 URL
:=http
://openvpn.net
39 DEPENDS
:=+kmod-tun
+libcap-ng
+OPENVPN_
$(1)_ENABLE_LZO
:liblzo
+OPENVPN_
$(1)_ENABLE_LZ4
:liblz4
+OPENVPN_
$(1)_ENABLE_IPROUTE2
:ip \
40 +OPENVPN_
$(1)_ENABLE_DCO
:libnl-genl
+OPENVPN_
$(1)_ENABLE_DCO
:kmod-ovpn-dco-v2
$(3)
42 PROVIDES
:=openvpn openvpn-crypto
45 Package
/openvpn-openssl
=$(call Package
/openvpn
/Default
,openssl
,OpenSSL
,+PACKAGE_openvpn-openssl
:libopenssl
)
46 Package
/openvpn-mbedtls
=$(call Package
/openvpn
/Default
,mbedtls
,mbedTLS
,+PACKAGE_openvpn-mbedtls
:libmbedtls
)
47 Package
/openvpn-wolfssl
=$(call Package
/openvpn
/Default
,wolfssl
,WolfSSL
,+PACKAGE_openvpn-wolfssl
:libwolfssl
)
49 define Package
/openvpn
/config
/Default
50 source
"$(SOURCE)/Config-$(1).in"
53 Package
/openvpn-openssl
/config
=$(call Package
/openvpn
/config
/Default
,openssl
)
54 Package
/openvpn-mbedtls
/config
=$(call Package
/openvpn
/config
/Default
,mbedtls
)
55 Package
/openvpn-wolfssl
/config
=$(call Package
/openvpn
/config
/Default
,wolfssl
)
57 ifeq ($(BUILD_VARIANT
),mbedtls
)
58 CONFIG_OPENVPN_MBEDTLS
:=y
60 ifeq ($(BUILD_VARIANT
),openssl
)
61 CONFIG_OPENVPN_OPENSSL
:=y
63 ifeq ($(BUILD_VARIANT
),wolfssl
)
64 CONFIG_OPENVPN_WOLFSSL
:=y
71 define Build
/Configure
72 $(call Build
/Configure
/Default
, \
73 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_SMALL
),--enable-small
) \
79 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_LZO
),--enable
,--disable
)-lzo \
80 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_LZ4
),--enable
,--disable
)-lz4 \
81 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_X509_ALT_USERNAME
),--enable
,--disable
)-x509-alt-username \
82 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_MANAGEMENT
),--enable
,--disable
)-management \
83 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_FRAGMENT
),--enable
,--disable
)-fragment \
84 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_IPROUTE2
),--enable
,--disable
)-iproute2 \
85 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_PORT_SHARE
),--enable
,--disable
)-port-share \
86 $(if
$(CONFIG_OPENVPN_
$(BUILD_VARIANT
)_ENABLE_DCO
),--enable
,--disable
)-dco \
87 $(if
$(CONFIG_OPENVPN_OPENSSL
),--with-crypto-library
=openssl
--with-openssl-engine
=no
) \
88 $(if
$(CONFIG_OPENVPN_MBEDTLS
),--with-crypto-library
=mbedtls
) \
89 $(if
$(CONFIG_OPENVPN_WOLFSSL
),--with-crypto-library
=wolfssl
) \
93 define Package
/openvpn-
$(BUILD_VARIANT
)/conffiles
98 define Package
/openvpn-
$(BUILD_VARIANT
)/install
101 $(1)/usr
/share
/openvpn \
106 $(1)/lib
/upgrade
/keep.d \
108 $(1)/etc
/hotplug.d
/openvpn
111 $(PKG_INSTALL_DIR
)/usr
/sbin
/openvpn \
116 $(1)/etc
/init.d
/openvpn
119 files
/usr
/libexec
/openvpn-hotplug \
120 $(1)/usr
/libexec
/openvpn-hotplug
123 files
/lib
/functions
/openvpn.sh \
124 $(1)/lib
/functions
/openvpn.sh
127 files
/etc
/hotplug.d
/openvpn
/01-user \
128 $(1)/etc
/hotplug.d
/openvpn
/01-user
131 files
/etc
/openvpn.user \
132 $(1)/etc
/openvpn.user
135 files
/openvpn.options \
136 $(1)/usr
/share
/openvpn
/openvpn.options
138 $(INSTALL_CONF
) files
/openvpn.config \
139 $(1)/etc
/config
/openvpn
142 files
/openvpn.upgrade \
143 $(1)/lib
/upgrade
/keep.d
/openvpn
146 $(eval
$(call BuildPackage
,openvpn-openssl
))
147 $(eval
$(call BuildPackage
,openvpn-mbedtls
))
148 $(eval
$(call BuildPackage
,openvpn-wolfssl
))