1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
#!/bin/sh
# This is the master OpenVPN build script for Windows.
# This script will build OpenVPN, the TAP driver, and
# the installer from source, targeting x86 on Windows
# 2000 and higher, and x64 on Windows 2003 and higher.
#
# See top-level build configuration in install-win32/settings.in
#
# Prerequisite installs:
#
# MinGW -- for GNU C compiler
# MSYS -- for bash
# msysDTK -- for perl
# NSIS -- for building installer
# svn -- for checking out source code (or TortoiseSVN)
# Windows Driver Kit (6001_17121_HyperV_WDK.iso) -- for building TAP driver + tapinstall
#
# Required libraries (must be prebuilt)
#
# OpenSSL -- define OPENSSL_DIR in settings.in
# LZO -- define LZO_DIR in settings.in
# PKCS11-HELPER -- define PKCS11_HELPER_DIR
#
# Optional OpenVPN GUI binary (prebuilt)
# -- define OPENVPN_GUI_DIR and OPENVPN_GUI in settings.in
#
# Required source code not included in OpenVPN SVN repository
# because of MS licensing restrictions:
#
# ../tapinstall -- This is based on 'devcon' which is found in the
# Windows Driver Kit (formerly known as DDK).
# Copy the 'devcon' source tree to ../tapinstall
# Edit 'sources' and modify TARGETNAME=tapinstall
#
# ../svc-template -- This directory should contain service.[ch]
# from the MS Platform SDK.
# Note that all variables referenced here such as GENOUT and CLEAN
# are defined in install-win32/settings.in
# First build the autodefs directory, with C, sh, and NSIS versions
# of global settings, using install-win32/settings.in as source.
# These settings will then drive the rest of the build process.
install-win32/winconfig
# Delete the GENOUT directory if CLEAN="yes"
install-win32/doclean
# Each of the scripts below build, get, and/or possibly sign a different
# OpenVPN component, placing the generated files in GENOUT. Each of these
# steps is fully indepedent, and can be executed in any order or omitted.
# The exception is the last script which gathers together all files from
# GENOUT and build the installer.
# Make the OpenVPN user-space component (openvpn.exe)
install-win32/makeopenvpn
# Make the OpenVPN service
install-win32/makeservice
# Make the OpenVPN TAP driver
install-win32/maketap
# Make the tapinstall utility, used to install the TAP driver
install-win32/maketapinstall
# Get the OpenSSL libraries from a pre-build OpenSSL tree
install-win32/getopenssl
# Get the PKCS-11 helper library from a pre-built OpenSSL tree
install-win32/getpkcs11helper
# Get the OpenVPN GUI (must be prebuilt)
install-win32/getgui
# Produce the license text, install README, and sample config files
install-win32/maketext
# This final step builds the OpenVPN installer using generated
# files from GENOUT
install-win32/buildinstaller
|