summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Benvenuto <mark.benvenuto@mongodb.com>2014-09-24 10:36:02 -0400
committerMark Benvenuto <mark.benvenuto@mongodb.com>2014-09-25 15:11:35 -0400
commitc9b18a3824573e503d99c6b0f14a1a7d2049b50e (patch)
tree957d04cfd553dae68e794743ed033bbc5c34fd95
parente671a2c31f6b555254e4ad8265f66578f8c805aa (diff)
downloadmongo-c9b18a3824573e503d99c6b0f14a1a7d2049b50e.tar.gz
SERVER-15400: Create Windows Enterprise Zip File with vcredist and dependent dlls
-rw-r--r--SConstruct2
-rwxr-xr-xbuildscripts/make_archive.py17
-rw-r--r--src/mongo/SConscript2
3 files changed, 18 insertions, 3 deletions
diff --git a/SConstruct b/SConstruct
index e398bba8712..1cb12012af6 100644
--- a/SConstruct
+++ b/SConstruct
@@ -668,9 +668,11 @@ extraLibPlaces = []
env['EXTRACPPPATH'] = []
env['EXTRALIBPATH'] = []
+env['EXTRABINPATH'] = []
def addExtraLibs( s ):
for x in s.split(","):
+ env.Append( EXTRABINPATH=[ x + "/bin" ] )
env.Append( EXTRACPPPATH=[ x + "/include" ] )
env.Append( EXTRALIBPATH=[ x + "/lib" ] )
env.Append( EXTRALIBPATH=[ x + "/lib64" ] )
diff --git a/buildscripts/make_archive.py b/buildscripts/make_archive.py
index 840b134e717..5df995b41e9 100755
--- a/buildscripts/make_archive.py
+++ b/buildscripts/make_archive.py
@@ -29,12 +29,23 @@ For a detailed usage example, see src/SConscript.client or src/mongo/SConscript.
import optparse
import os
import sys
+import shlex
import shutil
import zipfile
from subprocess import (Popen, PIPE, STDOUT)
def main(argv):
- opts = parse_options(argv[1:])
+ args = []
+ for arg in argv[1:]:
+ if arg.startswith("@"):
+ file_name = arg[1:]
+ f_handle = open(file_name, "r")
+ args.extend(s1.strip('"') for s1 in shlex.split(f_handle.readline(), posix=False))
+ f_handle.close()
+ else:
+ args.append(arg)
+
+ opts = parse_options(args)
if opts.archive_format in ('tar', 'tgz'):
make_tar_archive(opts)
elif opts.archive_format in ('zip'):
@@ -170,7 +181,9 @@ def get_preferred_filename(input_filename, transformations):
returns the substituted string
'''
for match, replace in transformations:
- if input_filename.startswith(match):
+ match_lower = match.lower()
+ input_filename_lower = input_filename.lower()
+ if input_filename_lower.startswith(match_lower):
return replace + input_filename[len(match):]
return input_filename
diff --git a/src/mongo/SConscript b/src/mongo/SConscript
index 16546f0ac39..3425dfaa82f 100644
--- a/src/mongo/SConscript
+++ b/src/mongo/SConscript
@@ -1321,7 +1321,7 @@ module_banner_transforms = ["--transform %s=$SERVER_DIST_BASENAME" % d for d in
# within the archive (e.g. { "src/mongo/db/modules/enterprise/docs": "snmp"})
archive_addition_transforms = []
for full_dir, archive_dir in env["ARCHIVE_ADDITION_DIR_MAP"].items():
- archive_addition_transforms.append("--transform %s=$SERVER_DIST_BASENAME/%s" %
+ archive_addition_transforms.append("--transform \"%s=$SERVER_DIST_BASENAME/%s\"" %
(full_dir, archive_dir))
env.Command(