Added fix for TeX includes with same name as subdirs.
[scons.git] / QMTest / SConscript
1 #
2 # SConscript file for external packages we need.
3 #
4
5 #
6 # __COPYRIGHT__
7 #
8 # Permission is hereby granted, free of charge, to any person obtaining
9 # a copy of this software and associated documentation files (the
10 # "Software"), to deal in the Software without restriction, including
11 # without limitation the rights to use, copy, modify, merge, publish,
12 # distribute, sublicense, and/or sell copies of the Software, and to
13 # permit persons to whom the Software is furnished to do so, subject to
14 # the following conditions:
15 #
16 # The above copyright notice and this permission notice shall be included
17 # in all copies or substantial portions of the Software.
18 #
19 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
20 # KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
21 # WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
23 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
24 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
25 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26 #
27
28 import os.path
29
30 Import('build_dir', 'env')
31
32 files = [
33     'classes.qmc',
34     'configuration',
35     'scons_tdb.py',
36     'TestCmd.py',
37     'TestCommon.py',
38     'TestRuntest.py',
39     'TestSCons.py',
40     'TestSConsign.py',
41     'TestSCons_time.py',
42     'unittest.py',
43 ]
44
45 def copy(target, source, env):
46     t = str(target[0])
47     s = str(source[0])
48     c = open(s, 'rb').read()
49     # Note:  We construct the __ VERSION __ substitution string at
50     # run-time so it doesn't get replaced when this file gets copied
51     # into the tree for packaging.
52     c = c.replace('__' + 'VERSION' + '__', env['VERSION'])
53     open(t, 'wb').write(c)
54
55 for file in files:
56     # Guarantee that real copies of these files always exist in
57     # build/QMTest.  If there's a symlink there, then this is an Aegis
58     # build and we blow them away now so that they'll get "built" later.
59     p = os.path.join(build_dir, 'QMTest', file)
60     if os.path.islink(p):
61         os.unlink(p)
62     if not os.path.isabs(p):
63         p = '#' + p
64     env.Command(p, file, copy)
65     Local(p)