OLD | NEW |
| (Empty) |
1 #!/usr/bin/python2.4 | |
2 # | |
3 # Copyright 2009-2010 Google Inc. | |
4 # | |
5 # Licensed under the Apache License, Version 2.0 (the "License"); | |
6 # you may not use this file except in compliance with the License. | |
7 # You may obtain a copy of the License at | |
8 # | |
9 # http://www.apache.org/licenses/LICENSE-2.0 | |
10 # | |
11 # Unless required by applicable law or agreed to in writing, software | |
12 # distributed under the License is distributed on an "AS IS" BASIS, | |
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
14 # See the License for the specific language governing permissions and | |
15 # limitations under the License. | |
16 # ======================================================================== | |
17 | |
18 | |
19 Import('env') | |
20 | |
21 # | |
22 # Build google_update_recovery library for Google app consumption. | |
23 # | |
24 rec_env = env.Clone(COMPONENT_LIBRARY_PUBLISH=True) | |
25 recovery_inputs = [ | |
26 'client/google_update_recovery.cc', | |
27 '../base/signaturevalidator.cc', | |
28 ] | |
29 | |
30 # Need to add custom suffix to avoid target conflict with | |
31 # common/signaturevalidator.obj | |
32 rec_env['OBJSUFFIX'] = '_rec' + rec_env['OBJSUFFIX'] | |
33 | |
34 rec_env.ComponentLibrary('google_update_recovery', recovery_inputs) | |
35 | |
36 # Save the header to the main build directory, so we have it saved with each | |
37 # official build. The lib is already published to this directory. | |
38 rec_env.Replicate('$STAGING_DIR', | |
39 '$MAIN_DIR/recovery/client/google_update_recovery.h') | |
40 | |
41 | |
42 # | |
43 # Build the test | |
44 # | |
45 # TODO(omaha3): Switch entirely to hammer running tests. For now, we must make | |
46 # the test not runnable because it will be run during the build. See main.scons. | |
47 import os | |
48 if 'HAMMER_RUNS_TESTS' in os.environ.keys(): | |
49 test_env = env.Clone() | |
50 else: | |
51 test_env = env.Clone(COMPONENT_TEST_RUNNABLE=False) | |
52 | |
53 # This is a console application. | |
54 test_env.FilterOut(LINKFLAGS = ['/SUBSYSTEM:WINDOWS']) | |
55 test_env['LINKFLAGS'] += ['/SUBSYSTEM:CONSOLE'] | |
56 | |
57 test_env.Append( | |
58 LIBS = [ | |
59 '$LIB_DIR/base.lib', | |
60 '$LIB_DIR/net.lib', | |
61 '$LIB_DIR/common.lib', | |
62 '$LIB_DIR/google_update_recovery.lib', | |
63 '$LIB_DIR/security.lib', | |
64 ('atls.lib', 'atlsd.lib')[test_env.Bit('debug')], | |
65 ('libcmt.lib', 'libcmtd.lib')[test_env.Bit('debug')], | |
66 ('libcpmt.lib', 'libcpmtd.lib')[test_env.Bit('debug')], | |
67 'crypt32.lib', | |
68 'wintrust.lib', | |
69 | |
70 # These are required by base.lib | |
71 'netapi32.lib', | |
72 'psapi.lib', | |
73 'rasapi32.lib', | |
74 'shlwapi.lib', | |
75 'userenv.lib', | |
76 'version.lib', | |
77 'wtsapi32.lib', | |
78 | |
79 # net | |
80 'iphlpapi.lib', | |
81 ], | |
82 ) | |
83 | |
84 target_name = 'RecoveryTest' | |
85 | |
86 test_inputs = [ | |
87 'recovery_test.cc', | |
88 ] | |
89 if env.Bit('use_precompiled_headers'): | |
90 test_inputs += test_env.EnablePrecompile(target_name) | |
91 | |
92 # TODO(omaha): This test asserts when run so we cannot include it in | |
93 # run_all_tests. Fix it and consider adding to run_all_tests. | |
94 test_env.ComponentTestProgram(target_name, | |
95 test_inputs, | |
96 COMPONENT_TEST_DISABLED=True) | |
97 | |
98 | |
99 env.BuildSConscript('repair_exe') | |
OLD | NEW |