Changes between Version 110 and Version 111 of BuildingOnWindows


Ignore:
Timestamp:
06/29/11 08:57:45 (13 years ago)
Author:
Samuli Seppänen
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BuildingOnWindows

    v110 v111  
    33= Introduction =
    44
    5 The traditional way to build OpenVPN for Windows is using autotools, either in a [http://www.mingw.org/ MinGW] environment or by cross-compiling the Windows binary on *NIX. This works, but was found to be laborius to maintain. Due to this a new, relatively simple Python-based build system was written. This new build system allows building OpenVPN on Windows more easily, but some parts of the build may require a commercial version of the Visual Studio development environment. Fortunately the new build system only uses Visual Studio tools (nmake, compiler, linker, etc.), so learning VS's graphical user interface is not necessary. Full integration with Visual Studio ''should'' be possible, too.
    6 
    7 '''IMPORTANT:''' Most of the ''build dependencies'' have been pre-packaged for your convenience and are available [http://build.openvpn.net/downloads/build-dependencies here].
     5The traditional way to build OpenVPN for Windows is using the "domake-win" script on Windows. It uses GNU autotools and GCC, either in a [http://www.mingw.org/ MinGW] environment or inside a cross-compiling environment on *NIX. The former option is documented here, although at the moment (29th June 2011) the instructions are incomplete. You should refer to the script itself for more information. Also note that "domake-win" will run into trouble with newer software versions, such as OpenSSL 1.0.0*.
     6
     7Because the "domake-win" buildsystem was found laborious to maintain, a new, relatively simple Python-based build system was written. This new build system allows building OpenVPN on Windows more easily, but some parts of the build may require a commercial version of the Visual Studio development environment. Fortunately the new build system only uses Visual Studio tools (nmake, compiler, linker, etc.), so learning VS's graphical user interface is not necessary. Full integration with Visual Studio ''should'' be possible, too.
     8
     9'''IMPORTANT:''' Most of the ''build dependencies'' for the Python-based buildsystem have been pre-packaged for your convenience and are available [http://build.openvpn.net/downloads/build-dependencies here]. The old "domake-win" buildsystem needs to have it's dependencies in a different directory hierarchy, so the dependency package won't work out of the box.
    810
    911= Installing prequisites =
     
    178180'''MinGW buildsystem'''
    179181
     182Refer to [http://openvpn.net/prebuilt old dependency packages] to get an idea about the proper layout.
     183
    180184== Setting build parameters ==
    181185
     
    192196'''MinGW buildsystem'''
    193197
     198 * ''<openvpn-sources>/install-win32/settings.in'': build configuration file for MinGW builds. Usually only this file needs to be edited.
     199 * ''<openvpn-sources>/version.m4'': contains TAP-driver version information. Normally there's no need to modify this.
     200
     201
    194202== Building OpenVPN ==
    195203
     
    219227C:\openvpn-build\openvpn-testing\win> python build_all.py --help
    220228}}}
     229
     230'''MinGW buildsystem'''
     231
     232Build process is very simple:
     233
     234{{{
     235$ cd <openvpn-sources>
     236$ ./domake-win
     237}}}
     238
     239Watch what error it gives, fix and retry. Repeat until everything builds properly.
     240
    221241
    222242== Extracting signed TAP-drivers from an OpenVPN installer ==