Skip to contentSkip to conversation

Fix remaining major issues with Python-based buildsystem

PATCH In review Samuli Seppänen 2 participants 3 messages Feb 11, 2011 – Feb 14, 2011

lore
Share & tools
lore
#0 lore raw

cover Fix remaining major issues with Python-based buildsystem

This patchset allows building all OpenVPN components using the new Python-based buildsystem. It also allows packaging the resulting files into a functional installer package. Only two manual steps are necessary after applying these patches:

- embedding manifest files to the executables and DLLs
- running MakeNSIS to generate the installer

This patchset reuses existing variables in config-win32.h and version.m4 to avoid duplication of configuration data. The drawback is that the buildsystem code is slightly more complex than it could be.

Full patch list:

[PATCH 01/13] Added ENABLE_PASSWORD_SAVE to config-win32.h
[PATCH 02/13] Added a nmake makefile for openvpnserv.exe building
[PATCH 03/13] Moved TAP-driver version info to version.m4. Cleaned up win/settings.in. [PATCH 04/13] Added helper functionality to win/wb.py
[PATCH 05/13] Added support for viewing config-win32.h paramters to win/show.py [PATCH 06/13] Added comments and made small modifications to win/msvc.mak.in [PATCH 07/13] Added command-line switch to win/build_all.py to skip TAP driver building [PATCH 08/13] Added configure.h and version.m4 variable parsing to win/config.py [PATCH 09/13] Added openvpnserv.exe building to win/build.py
[PATCH 10/13] Added comments to win/build_ddk.py
[PATCH 11/13] Several modifications to win/make_dist.py to allow building the NSI installer [PATCH 12/13] Copied install-win32/setpath.nsi to win/setpath.nsi
[PATCH 13/13] Added first version of NSI installer script to win/openvpn.nsi

#2 lore raw
Quoted 7 lines
Quoted 3 lines

- embedding manifest files to the executables and DLLs

could be easily included:
http://msdn.microsoft.com/en-us/library/ms235591(v=vs.80).aspx

True. In fact I plan on modifying the nmake makefiles prior to next (2.2) release so that embedding is automated. However, the build scripts in "lzo2" and "libpkcs11-helper" packages will still generate external manifest files. I'm thinking of patching their makefiles and sending them upstream, if they're interested. This would save us from a few nasty hacks and/or manual steps.

Signature · 5 lines
Samuli Seppänen
Community Manager
OpenVPN Technologies, Inc

irc freenode net: mattock