**NOTE:** this article is outdated. The "generic" and "windows-nsis" build systems have not been in use in years. They can still be found from depths of openvpn-build Git repository, but are not that useful. The only case where you might want to look at them is when you want to cross-compile OpenVPN or build NSIS packages of it using Linux or equivalent.

# Project structure 

Look [here](/Pages/CodeRepositories) for details.

# Building natively on *NIX 

If building from Git sources, first do a

```
$ autoreconf -vi
```

If building from a release tarball, you can skip the above step. To configure, build and install OpenVPN, use these commands:

```
$ ./configure <configure-options>
$ make
$ make install
```

In most cases, you'd use something like this:

```
$ ./configure
```

If you're using password authentication, you may be interested in support for password stored in (properly protected!) files:

```
$ ./configure --enable-password-save
```

Or, if you want to use smart cards and such, you should use

```
$ ./configure --enable-pkcs11
```

# Cross-compiling on *NIX ("generic" subdir)

Removed, only MSVC builds are currently supported.

# Creating a NSIS installer ("windows-nsis" subdir)

Removed, only MSI installer is currently supported.

# Code-signing 

[SignTool](http://msdn.microsoft.com/en-us/library/windows/desktop/aa387764%28v=vs.85%29.aspx) is used to sign OpenVPN installer, libraries and executables.. Official OpenVPN releases will be signed with  OpenVPN Technologies, Inc. code signing keys. However, it's fairly easy to build a custom version of OpenVPN and sign it with your own code-signing keys.

# Making the release builds of OpenVPN 

See [wiki:Openvpn2ReleaseProcess].

# External links 

**Official OpenVPN Git repositories**

 * https://github.com/OpenVPN/openvpn
 * https://github.com/OpenVPN/openvpn-build
 * https://github.com/OpenVPN/openvpn-vagrant
 * https://github.com/OpenVPN/tap-windows
 * https://github.com/OpenVPN/easy-rsa
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9