mirror of
https://github.com/deneraraujo/OpenVPNAdapter.git
synced 2026-04-24 00:00:05 +08:00
Merge commit '86cc97e55fe346502462284d2e636a2b3708163e' as 'Sources/OpenVPN3'
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
import os, re
|
||||
|
||||
from utils import *
|
||||
from parms import PARMS
|
||||
|
||||
def build_openssl(parms):
|
||||
print "**************** OpenSSL"
|
||||
with Cd(parms['BUILD']) as cd:
|
||||
with ModEnv('PATH', "%s;%s\\bin;%s" % (parms.get('NASM'), parms.get('GIT'), os.environ['PATH'])):
|
||||
dist = os.path.realpath('openssl')
|
||||
rmtree(dist)
|
||||
d = expand('openssl', parms['DEP'], parms.get('LIB_VERSIONS'))
|
||||
os.chdir(d)
|
||||
patch("ossl-win", parms['PATCH'])
|
||||
makedirs(dist)
|
||||
# needs more work for x64, see:
|
||||
# http://stackoverflow.com/questions/158232/how-do-you-compile-openssl-for-x64
|
||||
targets = {
|
||||
'x86' : "VC-WIN32",
|
||||
'amd64' : "VC-WIN64A",
|
||||
}
|
||||
call(['perl', 'Configure', targets[parms['ARCH']], 'no-idea', 'no-mdc2', 'no-rc5', '--prefix=%s' % (dist,)])
|
||||
archscripts = {
|
||||
'x86' : "ms\\do_nasm",
|
||||
'amd64' : "ms\\do_win64a",
|
||||
}
|
||||
vc_cmd(parms, archscripts[parms['ARCH']])
|
||||
vc_cmd(parms, "nmake -f ms\\ntdll.mak")
|
||||
vc_cmd(parms, "nmake -f ms\\ntdll.mak install")
|
||||
|
||||
# copy DLLs to PARMS['DIST']
|
||||
cp(os.path.join(dist, "bin", "libeay32.dll"), PARMS['DIST'])
|
||||
cp(os.path.join(dist, "bin", "ssleay32.dll"), PARMS['DIST'])
|
||||
|
||||
def build_boost(parms):
|
||||
print "**************** Boost"
|
||||
with Cd(parms['BUILD']) as cd:
|
||||
d = expand('boost', parms['DEP'], parms.get('LIB_VERSIONS'))
|
||||
os.chdir(d)
|
||||
archopts = {
|
||||
'x86' : "",
|
||||
'amd64' : "architecture=x86 address-model=64",
|
||||
}
|
||||
vc_cmd(parms, "bootstrap", arch="x86")
|
||||
vc_cmd(parms, "b2 --toolset=msvc-12.0 --with-system --with-thread --with-atomic --with-date_time --with-regex link=shared threading=multi runtime-link=shared %s stage" % (archopts[parms['ARCH']],))
|
||||
|
||||
# copy DLLs to PARMS['DIST']
|
||||
r = re.compile(r"boost_(atomic|chrono|system|thread)-vc\d+-mt-[\d_]+\.dll")
|
||||
os.chdir(os.path.join("stage", "lib"))
|
||||
for dirpath, dirnames, filenames in os.walk('.'):
|
||||
for f in filenames:
|
||||
if re.match(r, f):
|
||||
cp(f, PARMS['DIST'])
|
||||
break
|
||||
|
||||
wipetree(PARMS['BUILD'])
|
||||
wipetree(PARMS['DIST'])
|
||||
build_openssl(PARMS)
|
||||
build_boost(PARMS)
|
||||
Reference in New Issue
Block a user