summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Kraus <philipp.kraus@flashpixx.de>2013-04-12 23:07:01 +0200
committerPhilipp Kraus <philipp.kraus@flashpixx.de>2013-04-12 23:07:01 +0200
commit5ab20de55cfd4edbf9b3543961df7c6a87235411 (patch)
tree37b64db99b647e7be0d94a804cde11657cfd167a
parente8f1182787dc7f1187759224830815a85a5e3446 (diff)
downloadscons-git-5ab20de55cfd4edbf9b3543961df7c6a87235411.tar.gz
add optional ziproot
-rw-r--r--.hgignore2
-rw-r--r--src/engine/SCons/Tool/zip.py5
-rw-r--r--src/engine/SCons/Tool/zip.xml6
3 files changed, 11 insertions, 2 deletions
diff --git a/.hgignore b/.hgignore
index cf42e1abc..8e181998f 100644
--- a/.hgignore
+++ b/.hgignore
@@ -5,4 +5,6 @@ syntax:glob
*.py[co]
.sconsign*
.svn
+.git
*~
+*.xcodeproj
diff --git a/src/engine/SCons/Tool/zip.py b/src/engine/SCons/Tool/zip.py
index 8e6028e55..1cfe541a6 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 87b8de0dc..85b3d527d 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>