OLD | NEW |
1 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 Import('env', 'env_res', 'env_test') | 5 Import('env', 'env_res') |
6 | |
7 | 6 |
8 env = env.Clone() | 7 env = env.Clone() |
9 | 8 |
10 env['LIBS'].remove('DelayImp.lib') | 9 env.ApplySConscript([ |
11 | 10 '$GTEST_DIR/../using_gtest.scons', |
12 env_res = env_res.Clone() | 11 ]) |
13 env_test = env_test.Clone() | |
14 | 12 |
15 | 13 |
16 env_res.Append( | 14 # TODO(port): Don't be too fooled by the presence of all the |
17 CPPPATH = [ | 15 # if env['PLATFORM'] == 'win32' tests in this file into thinking |
18 "$TARGET_ROOT", | 16 # this is necessarily portable. They're just there to wall off the |
19 ".", | 17 # obviously windows-specific things |
20 "$CHROME_SRC_DIR", | |
21 ], | |
22 RCFLAGS = [ | |
23 ["/l", "0x409"], | |
24 ], | |
25 ) | |
26 | 18 |
27 resources = env_res.RES('mini_installer.rc') | 19 if env['PLATFORM'] == 'win32': |
| 20 env_res = env_res.Clone() |
| 21 |
| 22 env_res.Append( |
| 23 CPPPATH = [ |
| 24 "$TARGET_ROOT", |
| 25 ".", |
| 26 "$CHROME_SRC_DIR", |
| 27 ], |
| 28 RCFLAGS = [ |
| 29 ["/l", "0x409"], |
| 30 ], |
| 31 ) |
| 32 |
| 33 resources = env_res.RES('mini_installer.rc') |
28 | 34 |
29 | 35 |
30 env.Prepend( | 36 env.Prepend( |
31 CPPPATH = [ | 37 CPPPATH = [ |
32 '$GTEST_DIR/include', | |
33 '$GTEST_DIR', | |
34 '$CHROME_SRC_DIR', | 38 '$CHROME_SRC_DIR', |
35 ], | 39 ], |
36 CCFLAGS = [ | |
37 '/TP', | |
38 '/GS-', # because we link with /NODEFAULTLIB | |
39 ], | |
40 LINKFLAGS = [ | |
41 '/INCREMENTAL', | |
42 '/NODEFAULTLIB', | |
43 '/DEBUG', | |
44 '/SUBSYSTEM:WINDOWS', | |
45 '/OPT:NOWIN98', | |
46 '/ENTRY:"MainEntryPoint"', | |
47 '/MACHINE:X86', | |
48 '/FIXED:No', | |
49 | |
50 '/SAFESEH:NO', | |
51 '/NXCOMPAT', | |
52 '/DYNAMICBASE:NO', | |
53 | |
54 '/PDB:${TARGETS[1]}', | |
55 #'/MAP:${TARGETS[2]}', | |
56 ], | |
57 LIBS = [ | 40 LIBS = [ |
58 'shlwapi.lib', | 41 'chrome', |
59 ], | 42 ], |
60 ) | 43 ) |
61 | 44 |
62 env['CCFLAGS'].remove('/RTC1') | 45 if env['PLATFORM'] == 'win32': |
| 46 env.FilterOut( |
| 47 LIBS = ['DelayImp.lib'], |
| 48 CCFLAGS = ['/RTC1'], |
| 49 ) |
63 | 50 |
64 components = [ | 51 env.Prepend( |
65 "$VISUAL_STUDIO/VC/crt/src/intel/mt_lib/memset.obj", | 52 CCFLAGS = [ |
66 "$VISUAL_STUDIO/VC/crt/src/intel/mt_lib/P4_memset.obj", | 53 '/TP', |
67 #"$TARGET_ROOT/chrome_dll.lib", | 54 '/GS-', # because we link with /NODEFAULTLIB |
68 "$TARGET_ROOT/chrome.lib", | 55 ], |
69 ] | 56 LINKFLAGS = [ |
| 57 '/INCREMENTAL', |
| 58 '/NODEFAULTLIB', |
| 59 '/DEBUG', |
| 60 '/SUBSYSTEM:WINDOWS', |
| 61 '/OPT:NOWIN98', |
| 62 '/ENTRY:"MainEntryPoint"', |
| 63 '/MACHINE:X86', |
| 64 '/FIXED:No', |
| 65 |
| 66 '/SAFESEH:NO', |
| 67 '/NXCOMPAT', |
| 68 '/DYNAMICBASE:NO', |
| 69 |
| 70 '/PDB:${TARGETS[1]}', |
| 71 #'/MAP:${TARGETS[2]}', |
| 72 ], |
| 73 LIBS = [ |
| 74 'shlwapi', |
| 75 ], |
| 76 ) |
70 | 77 |
71 input_files = [ | 78 input_files = [ |
72 "mini_installer.cc", | 79 "mini_installer.cc", |
73 "pe_resource.cc", | 80 "pe_resource.cc", |
74 ] | 81 ] |
75 | 82 |
76 exe = env.ChromeProgram('mini_installer', components + resources + input_files) | 83 if env['PLATFORM'] == 'win32': |
77 i = env.Install('$TARGET_ROOT', exe) | 84 input_files.extend([ |
78 env.Alias('chrome', i) | 85 "$VISUAL_STUDIO/VC/crt/src/intel/mt_lib/memset.obj", |
| 86 "$VISUAL_STUDIO/VC/crt/src/intel/mt_lib/P4_memset.obj", |
| 87 ]) |
| 88 input_files.extend(resources) |
| 89 |
| 90 env.ChromeProgram('mini_installer', input_files) |
79 | 91 |
80 | 92 |
81 env.AppendENVPath('PATH', r'C:\WINDOWS\system32') | 93 env.AppendENVPath('PATH', r'C:\WINDOWS\system32') |
82 | 94 |
83 packed = env.Command('$TARGET_ROOT/packed_files.txt', | 95 packed = env.Command('$TARGET_ROOT/packed_files.txt', |
84 ['$CHROME_DIR/tools/build/win/create_installer_archive.py', | 96 ['$CHROME_DIR/tools/build/win/create_installer_archive.py', |
85 '$CHROME_DIR/installer/mini_installer/chrome.release'], | 97 '$CHROME_DIR/installer/mini_installer/chrome.release'], |
86 ('$PYTHON ${SOURCES[0]}' | 98 ('$PYTHON ${SOURCES[0]}' |
87 ' --output_dir=${TARGET.dir}' | 99 ' --output_dir=${TARGET.dir}' |
88 ' --input_file=${SOURCES[1]}')) | 100 ' --input_file=${SOURCES[1]}')) |
89 env.Depends(packed, '$TARGET_ROOT/setup.exe') | 101 env.Depends(packed, '$TARGET_ROOT/setup.exe') |
90 | 102 |
91 | 103 |
92 env.ChromeVersionRC('mini_installer_exe_version.rc', | 104 env.ChromeVersionRC('mini_installer_exe_version.rc', |
93 'mini_installer_exe_version.rc.version', | 105 'mini_installer_exe_version.rc.version', |
94 PWD=Dir('.')) | 106 PWD=Dir('.')) |
95 | |
96 | |
97 env_test.Prepend( | |
98 CPPDEFINES = [ | |
99 'UNIT_TEST', | |
100 ], | |
101 CPPPATH = [ | |
102 '$GTEST_DIR/include', | |
103 '$GTEST_DIR', | |
104 '$CHROME_SRC_DIR', | |
105 ], | |
106 LIBS = [ | |
107 'gtest', | |
108 env_test['ICU_LIBS'], # TODO(sgk): '$ICU_LIBS' when scons is fixed | |
109 'common', | |
110 'base', | |
111 ], | |
112 ) | |
113 | |
114 env_test.Prepend( | |
115 LINKFLAGS = [ | |
116 '/INCREMENTAL', | |
117 '/DEBUG', | |
118 | |
119 '/DELAYLOAD:"dwmapi.dll"', | |
120 '/DELAYLOAD:"uxtheme.dll"', | |
121 | |
122 '/MACHINE:X86', | |
123 '/FIXED:No', | |
124 | |
125 '/safeseh', | |
126 '/dynamicbase', | |
127 '/ignore:4199', | |
128 '/nxcompat', | |
129 ], | |
130 LIBS = [ | |
131 'comsupp.lib', | |
132 'oleacc.lib', | |
133 'rpcrt4.lib', | |
134 'shlwapi.lib', | |
135 ], | |
136 ) | |
137 | |
138 input_files = [ | |
139 '../setup/setup_constants$OBJSUFFIX', | |
140 '../util/copy_tree_work_item_unittest.cc', | |
141 '../util/create_dir_work_item_unittest.cc', | |
142 '../util/create_reg_key_work_item_unittest.cc', | |
143 '../util/delete_reg_value_work_item_unittest.cc', | |
144 '../util/delete_tree_work_item_unittest.cc', | |
145 '../util/google_chrome_distribution_unittest.cc', | |
146 '../util/helper_unittest.cc', | |
147 '../util/run_all_unittests.cc', | |
148 '../util/set_reg_value_work_item_unittest.cc', | |
149 '../util/work_item_list_unittest.cc', | |
150 ] | |
151 | |
152 libs = [ | |
153 '../util/util.lib', | |
154 ] | |
155 | |
156 exe = env_test.ChromeTestProgram('installer_unittests', input_files + libs) | |
157 i = env_test.Install('$TARGET_ROOT', exe) | |
158 | |
159 env.Alias('chrome', i) | |
160 | |
OLD | NEW |