# # SConscript file for external packages we need. # # # __COPYRIGHT__ # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the # "Software"), to deal in the Software without restriction, including # without limitation the rights to use, copy, modify, merge, publish, # distribute, sublicense, and/or sell copies of the Software, and to # permit persons to whom the Software is furnished to do so, subject to # the following conditions: # # The above copyright notice and this permission notice shall be included # in all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # import os.path Import('build_dir', 'env') files = [ 'TestCmd.py', 'TestCommon.py', 'TestRuntest.py', 'TestSCons.py', 'TestSConsign.py', 'TestSCons_time.py', ] def copy(target, source, env): t = str(target[0]) s = str(source[0]) with open(s, 'r') as i, open(t, 'w') as o: c = i.read() # Note: We construct the __ VERSION __ substitution string at # run-time so it doesn't get replaced when this file gets copied # into the tree for packaging. c = c.replace('__' + 'VERSION' + '__', env['VERSION']) o.write(c) for file in files: # Guarantee that real copies of these files always exist in # build/testing/framework. If there's a symlink there, then this is an Aegis # build and we blow them away now so that they'll get "built" later. p = os.path.join(build_dir, 'testing','framework', file) if os.path.islink(p): os.unlink(p) if not os.path.isabs(p): p = '#' + p env.Command(p, file, copy) Local(p)