source: trunk/scons/utils.py@ 1178

Last change on this file since 1178 was 1178, checked in by mar637, 18 years ago

removed return from CreateDist

File size: 1.8 KB
RevLine 
[1176]1import os
[1135]2import glob
3
4def generate(env):
5 def SGlob(pattern):
6 path = env.GetBuildPath('SConscript').replace('SConscript', '')
7 return [ i.replace(path, '') for i in glob.glob(path + pattern) ]
8 env.SGlob = SGlob
9
10 def AddCustomPath(path=""):
11 if not len(path) or not os.path.exists(path):
12 return
13 env.PrependUnique(CPPPATH = [os.path.join(path, "include")])
14 env.PrependUnique(LIBPATH = [os.path.join(path, "lib")])
15 env.AddCustomPath = AddCustomPath
16
[1176]17 def CreateDist(target, sources, descend="stage"):
18 import tarfile
19 base_name = str(target).split('.tar')[0]
20 (target_dir, dir_name) = os.path.split(base_name)
21 # create the target directory if it does not exist
22 if target_dir and not os.path.exists(target_dir):
23 os.makedirs(target_dir)
24 tar_format = "bz2"
25 tar = tarfile.open(str(target)+".tar.bz2", "w:%s" % (tar_format,))
26 if os.path.exists(descend): os.chdir(descend)
27 taritems = []
28 excludedirs = [".svn"]
29 for item in sources:
30 if os.path.isdir(item):
31 for root, dirs, files in os.walk(str(item)):
32 if not root in excludedirs:
33 for name in files:
34 if not name.startswith("."):
35 taritems.append(os.path.join(root, name))
36 else:
37 taritems.append(item)
38 for item in taritems:
39 print "Adding to archive: %s/%s" % (dir_name, item)
40 tar.add(item,'%s/%s' % (dir_name, item))
41 tar.close()
42
43 env.CreateDist = CreateDist
44
[1135]45def exists(env):
[1176]46 try:
47 import os
48 import glob
49 import tarfile
50 except ImportError:
51 return False
52 else:
53 return True
Note: See TracBrowser for help on using the repository browser.