1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
6 '<@(chrome_dll_project)',
7 '../chrome.gyp:chrome',
8 '../chrome.gyp:chrome_nacl_win64',
9 '../chrome.gyp:default_extensions',
10 '../chrome.gyp:setup',
14 '<(INTERMEDIATE_DIR)',
15 '<(SHARED_INTERMEDIATE_DIR)/chrome',
18 '<(INTERMEDIATE_DIR)/packed_files.rc',
19 'mini_installer/appid.h',
20 'mini_installer/chrome.release',
21 'mini_installer/chrome_appid.cc',
22 'mini_installer/configuration.cc',
23 'mini_installer/configuration.h',
24 'mini_installer/decompress.cc',
25 'mini_installer/decompress.h',
26 'mini_installer/exit_code.h',
27 'mini_installer/mini_installer.cc',
28 'mini_installer/mini_installer.ico',
29 'mini_installer/mini_installer.rc',
30 'mini_installer/mini_installer_constants.cc',
31 'mini_installer/mini_installer_constants.h',
32 'mini_installer/mini_installer_exe_version.rc.version',
33 'mini_installer/mini_installer_resource.h',
34 'mini_installer/mini_string.cc',
35 'mini_installer/mini_string.h',
36 'mini_installer/pe_resource.cc',
37 'mini_installer/pe_resource.h',
38 'mini_installer/regkey.cc',
39 'mini_installer/regkey.h',
41 # Disable precompiled headers for this project, to avoid
42 # linker errors when building with VS 2008.
43 'msvs_precompiled_header': '',
44 'msvs_precompiled_source': '',
47 'EnableIntrinsicFunctions': 'true',
48 'BufferSecurityCheck': 'false',
49 'BasicRuntimeChecks': '0',
50 'ExceptionHandling': '0',
53 'OutputFile': '<(output_dir)/mini_installer.exe',
54 'RandomizedBaseAddress': '1',
55 'DataExecutionPrevention': '0',
56 'AdditionalLibraryDirectories': [
60 'EntryPointSymbol': 'MainEntryPoint',
61 'IgnoreAllDefaultLibraries': 'true',
62 'OptimizeForWindows98': '1',
63 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
64 'AdditionalDependencies': [
70 'AdditionalManifestFiles': [
71 '$(ProjectDir)\\mini_installer\\mini_installer.exe.manifest',
79 'BasicRuntimeChecks': '0',
80 'BufferSecurityCheck': 'false',
81 'ExceptionHandling': '0',
84 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
85 'AdditionalOptions': [
96 'includes': ['../../build/internal/release_defaults.gypi'],
99 'EnableIntrinsicFunctions': 'true',
100 'BasicRuntimeChecks': '0',
101 'BufferSecurityCheck': 'false',
102 'ExceptionHandling': '0',
105 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
106 'Profile': 'false', # Conflicts with /FIXED
107 'AdditionalOptions': [
119 'rule_name': 'mini_installer_version',
120 'extension': 'version',
122 'template_input_path':
123 'mini_installer/mini_installer_exe_version.rc.version',
126 '<(template_input_path)',
128 '<(lastchange_path)',
129 '<(branding_dir)/BRANDING',
132 '<(INTERMEDIATE_DIR)/mini_installer_exe_version.rc',
135 'python', '<(version_py)',
136 '-f', '<(version_path)',
137 '-f', '<(lastchange_path)',
138 '-f', '<(branding_dir)/BRANDING',
139 '<(template_input_path)',
142 'process_outputs_as_sources': 1,
143 'message': 'Generating version information'
146 'rule_name': 'installer_archive',
147 'extension': 'release',
149 'create_installer_archive_py_path':
150 '../tools/build/win/create_installer_archive.py',
153 ['enable_hidpi == 1', {
155 'enable_hidpi_flag': '--enable_hidpi=1',
159 'enable_hidpi_flag': '',
162 ['target_arch=="x64"', {
164 '<(PRODUCT_DIR)/nacl64.exe',
165 '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe',
168 'target_arch_flag': '--target_arch=x64',
172 'target_arch_flag': '--target_arch=x86',
175 ['icu_use_data_file_flag == 0', {
177 '<(PRODUCT_DIR)/icudt.dll',
179 }, { # else icu_use_data_file_flag != 0
181 '<(PRODUCT_DIR)/icudtl.dat',
184 ['v8_use_external_startup_data == 1', {
186 '<(PRODUCT_DIR)/natives_blob.bin',
187 '<(PRODUCT_DIR)/snapshot_blob.bin',
192 '<(create_installer_archive_py_path)',
193 '<(PRODUCT_DIR)/chrome.exe',
194 '<@(chrome_dll_path)',
195 '<(PRODUCT_DIR)/nacl64.exe',
196 '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe',
197 '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
198 '<(PRODUCT_DIR)/locales/en-US.pak',
202 '<(output_dir)/<(RULE_INPUT_NAME).7z',
203 '<(output_dir)/<(RULE_INPUT_NAME).packed.7z',
204 '<(output_dir)/setup.ex_',
205 '<(INTERMEDIATE_DIR)/packed_files.rc',
209 '<(create_installer_archive_py_path)',
210 '--build_dir=<(PRODUCT_DIR)',
211 '--output_dir=<(output_dir)',
212 '--staging_dir=<(INTERMEDIATE_DIR)',
213 '--input_file=<(RULE_INPUT_PATH)',
214 '--resource_file_path=<(INTERMEDIATE_DIR)/packed_files.rc',
215 '<(enable_hidpi_flag)',
216 '<(target_arch_flag)',
217 # TODO(sgk): may just use environment variables
218 #'--distribution=$(CHROMIUM_BUILD)',
219 '--distribution=_google_chrome',
220 # Optional arguments to generate diff installer
221 #'--last_chrome_installer=C:/Temp/base',
222 #'--setup_exe_format=DIFF',
223 #'--diff_algorithm=COURGETTE',
225 'message': 'Create installer archive',
229 # TODO(mark): <(branding_dir) should be defined by the
230 # global condition block at the bottom of the file, but
231 # this doesn't work due to the following issue:
233 # http://code.google.com/p/gyp/issues/detail?id=22
235 # Remove this block once the above issue is fixed.
236 ['branding == "Chrome"', {
238 'branding_dir': '../app/theme/google_chrome',
240 }, { # else branding!="Chrome"
242 'branding_dir': '../app/theme/chromium',
245 ['OS=="win" and buildtype=="Official"', {
246 # Optimize for size when doing an official build.