diff options
Diffstat (limited to 'src/engine')
| -rw-r--r-- | src/engine/SCons/Tool/zip.py | 5 | ||||
| -rw-r--r-- | src/engine/SCons/Tool/zip.xml | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/engine/SCons/Tool/zip.py b/src/engine/SCons/Tool/zip.py index 8e6028e..1cfe541 100644 --- a/src/engine/SCons/Tool/zip.py +++ b/src/engine/SCons/Tool/zip.py @@ -57,9 +57,9 @@ if internal_zip: for fname in filenames: path = os.path.join(dirpath, fname) if os.path.isfile(path): - zf.write(path) + zf.write(path, os.path.relpath(path, env.get('ZIPROOT', ''))) else: - zf.write(str(s)) + zf.write(str(s), os.path.relpath(str(s), env.get('ZIPROOT', ''))) zf.close() else: zipcompression = 0 @@ -88,6 +88,7 @@ def generate(env): env['ZIPCOM'] = zipAction env['ZIPCOMPRESSION'] = zipcompression env['ZIPSUFFIX'] = '.zip' + env['ZIPROOT'] = SCons.Util.CLVar('') def exists(env): return internal_zip or env.Detect('zip') diff --git a/src/engine/SCons/Tool/zip.xml b/src/engine/SCons/Tool/zip.xml index 87b8de0..85b3d52 100644 --- a/src/engine/SCons/Tool/zip.xml +++ b/src/engine/SCons/Tool/zip.xml @@ -107,3 +107,9 @@ General options passed to the zip utility. The suffix used for zip file names. </summary> </cvar> + +<cvar name="ZIPROOT"> +<summary> +An optional zip root directory (default empty). +</summary> +</cvar> |
