3 'version_py': '<(DEPTH)/build/util/version.py',
4 'version_path': '../../chrome/VERSION',
5 'lastchange_path': '<(DEPTH)/build/util/LASTCHANGE',
6 # 'branding_dir' is set in the 'conditions' section at the bottom.
7 'msvs_use_common_release': 0,
8 'msvs_use_common_linker_extras': 0,
9 'mini_installer_internal_deps%': 0,
10 'mini_installer_official_deps%': 0,
13 '../../build/win_precompile.gypi',
19 'target_name': 'mini_installer',
23 '../chrome.gyp:chrome',
24 '../chrome.gyp:chrome_nacl_win64',
25 '../chrome.gyp:chrome_dll',
26 '../chrome.gyp:default_extensions',
27 '../chrome.gyp:setup',
31 '<(INTERMEDIATE_DIR)',
32 '<(SHARED_INTERMEDIATE_DIR)/chrome',
35 'mini_installer/appid.h',
36 'mini_installer/chrome.release',
37 'mini_installer/chrome_appid.cc',
38 'mini_installer/configuration.cc',
39 'mini_installer/configuration.h',
40 'mini_installer/decompress.cc',
41 'mini_installer/decompress.h',
42 'mini_installer/exit_code.h',
43 'mini_installer/mini_installer.cc',
44 'mini_installer/mini_installer.ico',
45 'mini_installer/mini_installer.rc',
46 'mini_installer/mini_installer_constants.cc',
47 'mini_installer/mini_installer_constants.h',
48 'mini_installer/mini_installer_exe_version.rc.version',
49 'mini_installer/mini_installer_resource.h',
50 'mini_installer/mini_string.cc',
51 'mini_installer/mini_string.h',
52 'mini_installer/pe_resource.cc',
53 'mini_installer/pe_resource.h',
54 '<(INTERMEDIATE_DIR)/packed_files.rc',
58 'EnableIntrinsicFunctions': 'true',
59 'BufferSecurityCheck': 'false',
60 'BasicRuntimeChecks': '0',
61 'ExceptionHandling': '0',
64 'RandomizedBaseAddress': '1',
65 'DataExecutionPrevention': '0',
66 'AdditionalLibraryDirectories': [
70 'EntryPointSymbol': 'MainEntryPoint',
71 'IgnoreAllDefaultLibraries': 'true',
72 'OptimizeForWindows98': '1',
73 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
74 'AdditionalDependencies': [
80 'AdditionalManifestFiles': [
81 '$(ProjectDir)\\mini_installer\\mini_installer.exe.manifest',
89 'BasicRuntimeChecks': '0',
90 'BufferSecurityCheck': 'false',
91 'ExceptionHandling': '0',
94 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
95 'AdditionalOptions': [
106 'includes': ['../../build/internal/release_defaults.gypi'],
108 'VCCLCompilerTool': {
109 'EnableIntrinsicFunctions': 'true',
110 'BasicRuntimeChecks': '0',
111 'BufferSecurityCheck': 'false',
112 'ExceptionHandling': '0',
115 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
116 'Profile': 'false', # Conflicts with /FIXED
117 'AdditionalOptions': [
128 # Disable precompiled headers for this project, to avoid
129 # linker errors when building with VS 2008.
130 'msvs_precompiled_header': '',
131 'msvs_precompiled_source': '',
133 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
134 'msvs_disabled_warnings': [ 4267, ],
137 # Opt out the common compatibility manifest to work around
139 # TODO(yukawa): Enable the common compatibility manifest again.
140 'win_exe_compatibility_manifest': '',
144 'rule_name': 'mini_installer_version',
145 'extension': 'version',
147 'template_input_path': 'mini_installer/mini_installer_exe_version.rc.version',
150 '<(template_input_path)',
152 '<(lastchange_path)',
153 '<(branding_dir)/BRANDING',
156 '<(PRODUCT_DIR)/mini_installer_exe_version.rc',
159 'python', '<(version_py)',
160 '-f', '<(version_path)',
161 '-f', '<(lastchange_path)',
162 '-f', '<(branding_dir)/BRANDING',
163 '<(template_input_path)',
166 'process_outputs_as_sources': 1,
167 'message': 'Generating version information'
172 'action_name': 'installer_archive',
174 'create_installer_archive_py_path':
175 '../tools/build/win/create_installer_archive.py',
178 ['enable_hidpi == 1', {
180 'enable_hidpi_flag': '--enable_hidpi=1',
184 'enable_hidpi_flag': '',
187 ['component == "shared_library"', {
189 'component_build_flag': '--component_build=1',
193 'component_build_flag': '',
196 '<(PRODUCT_DIR)/chrome.packed.7z',
199 ['disable_nacl==1', {
201 '<(PRODUCT_DIR)/nacl64.exe',
202 '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe',
203 '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
206 ['target_arch=="x64"', {
208 '<(PRODUCT_DIR)/nacl64.exe',
209 '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe',
212 'target_arch_flag': '--target_arch=x64',
216 'target_arch_flag': '--target_arch=x86',
219 ['icu_use_data_file_flag == 0', {
221 '<(PRODUCT_DIR)/icudt.dll',
223 }, { # else icu_use_data_file_flag != 0
225 '<(PRODUCT_DIR)/icudtl.dat',
228 ['v8_use_external_startup_data == 1', {
230 '<(PRODUCT_DIR)/natives_blob.bin',
231 '<(PRODUCT_DIR)/snapshot_blob.bin',
236 '<(create_installer_archive_py_path)',
237 '<(PRODUCT_DIR)/chrome.exe',
238 '<(PRODUCT_DIR)/chrome.dll',
239 '<(PRODUCT_DIR)/nacl64.exe',
240 '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe',
241 '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
242 '<(PRODUCT_DIR)/locales/en-US.pak',
243 'mini_installer/chrome.release',
246 # Also note that chrome.packed.7z is defined as an output in a
248 '<(PRODUCT_DIR)/chrome.7z',
249 '<(PRODUCT_DIR)/setup.ex_',
250 '<(INTERMEDIATE_DIR)/packed_files.rc',
252 'depfile': '<(INTERMEDIATE_DIR)/installer_archive.d',
255 '<(create_installer_archive_py_path)',
256 '--build_dir', '<(PRODUCT_DIR)',
257 '--staging_dir', '<(INTERMEDIATE_DIR)',
258 '--input_file', 'mini_installer/chrome.release',
259 '--resource_file_path', '<(INTERMEDIATE_DIR)/packed_files.rc',
260 '--depfile', '<(INTERMEDIATE_DIR)/installer_archive.d',
261 '<(enable_hidpi_flag)',
262 '<(component_build_flag)',
263 '<(target_arch_flag)',
264 # TODO(sgk): may just use environment variables
265 #'--distribution=$(CHROMIUM_BUILD)',
266 '--distribution=_google_chrome',
267 # Optional arguments to generate diff installer
268 #'--last_chrome_installer=C:/Temp/base',
269 #'--setup_exe_format=DIFF',
270 #'--diff_algorithm=COURGETTE',
272 'message': 'Create installer archive',
275 # TODO(mark): <(branding_dir) should be defined by the
276 # global condition block at the bottom of the file, but
277 # this doesn't work due to the following issue:
279 # http://code.google.com/p/gyp/issues/detail?id=22
281 # Remove this block once the above issue is fixed.
283 [ 'branding == "Chrome"', {
285 'branding_dir': '../app/theme/google_chrome',
287 }, { # else branding!="Chrome"
289 'branding_dir': '../app/theme/chromium',
296 ['test_isolation_mode != "noop"', {
299 'target_name': 'mini_installer_tests_run',
305 '../../build/isolate.gypi',
308 'mini_installer_tests.isolate',
315 [ 'branding == "Chrome"', {
317 'branding_dir': '../app/theme/google_chrome',
319 }, { # else branding!="Chrome"
321 'branding_dir': '../app/theme/chromium',