summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Tool/tar.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-08-29 03:22:52 (GMT)
committerSteven Knight <knight@baldmt.com>2002-08-29 03:22:52 (GMT)
commitf3b80332dc469f8844e1cc619d13cb88e0432469 (patch)
tree44f04b451b61b684528189fedb27f7c23a2baaa8 /src/engine/SCons/Tool/tar.py
parent36e06c5c7557d40c4d4953e56f8c80d2a27bdd93 (diff)
downloadSCons-f3b80332dc469f8844e1cc619d13cb88e0432469.zip
SCons-f3b80332dc469f8844e1cc619d13cb88e0432469.tar.gz
SCons-f3b80332dc469f8844e1cc619d13cb88e0432469.tar.bz2
Dynamically check for the existence of utilities. (sam th)
Diffstat (limited to 'src/engine/SCons/Tool/tar.py')
-rw-r--r--src/engine/SCons/Tool/tar.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/engine/SCons/Tool/tar.py b/src/engine/SCons/Tool/tar.py
index fff9dff..0acfd56 100644
--- a/src/engine/SCons/Tool/tar.py
+++ b/src/engine/SCons/Tool/tar.py
@@ -35,12 +35,22 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
import SCons.Builder
import SCons.Node.FS
+import SCons.Util
+
+tars = ['gtar', 'tar']
+
+for i in tars:
+ if SCons.Util.WhereIs(i):
+ tar = i
+ break
+ tar = None
TarBuilder = SCons.Builder.Builder(action = '$TARCOM',
source_factory = SCons.Node.FS.default_fs.Entry,
suffix = '$TARSUFFIX',
multi = 1)
+
def generate(env, platform):
"""Add Builders and construction variables for tar to an Environment."""
try:
@@ -49,7 +59,10 @@ def generate(env, platform):
bld = TarBuilder
env['BUILDERS']['Tar'] = bld
- env['TAR'] = 'tar'
+ env['TAR'] = tar
env['TARFLAGS'] = '-c'
env['TARCOM'] = '$TAR $TARFLAGS -f $TARGET $SOURCES'
env['TARSUFFIX'] = '.tar'
+
+def exists():
+ return tar