| 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 |