Skip to content

Latest commit

 

History

History

windows-nsis

OpenVPN project cross-compile buildsystem
Windows NSIS packaging wrapper

About

    This subdirectory contains scripts for building OpenVPN
    and all it's dependencies and packaging the results into
    Windows NSIS 32- and 64-bit installers. The scripts in
    ../generic are used for building the components.

    More thorough documentation is available in the OpenVPN
    wiki:

    <https://community.openvpn.net/openvpn>

Usage

    First you need to configure the build environment. You
    can make persistent changes by editing two
    configuration files:

        ../generic/build.vars (build configuration)
        build-complete.vars (packaging configuration)

    You can also change the build configuration temporarily
    using shell variables (see below).

    To create an unsigned release build use

        ./build-complete

    Overriding build configuration using shell variables:

        TAP_WINDOWS_INSTALLER_URL=http://domain.com/tap.exe\
            ./build-complete

    To create a signed snapshot from Git sources, use
    "build-snapshot":

        ./build-snapshot --sign
            --sign-pkcs12=signingkey.p12\
            --sign-pkcs12-pass=yourpassphrase\
            --sign-timestamp="http://timestamp.domain.com"

    To make a release build use "build-complete" instead:

        ./build-complete --sign
            --sign-pkcs12=signingkey.p12\
            --sign-pkcs12-pass=yourpassphrase\
            --sign-timestamp="http://timestamp.domain.com"

Depcache feature

    Much of the build time is spent building dependencies,
    and a depcache feature can re-use deps once they're
    initially built. This can dramatically cut down on the
    time required to run builds when only OpenVPN-components
    were changed.
    
    Note that using a depcache blindly unpacks whatever the
    resulting build was, including that version and any
    specific configure options.

    To create the initial depcache, first run:

        ./build-complete --build-depcache

    which will create a Windows-specific depcache for both
    32 & 64 bit builds. Once the depcache is created, future
    builds can re-use them like this:

        ./build-complete --use-depcache

    These options take no values and the depcache dirs are
    stored under the ../generic/ dir.