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:app_host',
8 '../chrome.gyp:chrome',
9 '../chrome.gyp:chrome_nacl_win64',
10 '../chrome.gyp:default_extensions',
11 '../chrome.gyp:setup',
15 '<(INTERMEDIATE_DIR)',
16 '<(SHARED_INTERMEDIATE_DIR)/chrome',
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/mini_installer.cc',
27 'mini_installer/mini_installer.h',
28 'mini_installer/mini_installer.ico',
29 'mini_installer/mini_installer.rc',
30 'mini_installer/mini_installer_exe_version.rc.version',
31 'mini_installer/mini_installer_resource.h',
32 'mini_installer/mini_string.cc',
33 'mini_installer/mini_string.h',
34 'mini_installer/pe_resource.cc',
35 'mini_installer/pe_resource.h',
36 '<(INTERMEDIATE_DIR)/packed_files.rc',
38 # Disable precompiled headers for this project, to avoid
39 # linker errors when building with VS 2008.
40 'msvs_precompiled_header': '',
41 'msvs_precompiled_source': '',
44 'EnableIntrinsicFunctions': 'true',
45 'BufferSecurityCheck': 'false',
46 'BasicRuntimeChecks': '0',
47 'ExceptionHandling': '0',
50 'OutputFile': '<(output_dir)/mini_installer.exe',
51 'MapFileName': '<(output_dir)/mini_installer.map',
52 'RandomizedBaseAddress': '1',
53 'DataExecutionPrevention': '0',
54 'AdditionalLibraryDirectories': [
58 'EntryPointSymbol': 'MainEntryPoint',
59 'GenerateMapFile': 'true',
60 'IgnoreAllDefaultLibraries': 'true',
61 'OptimizeForWindows98': '1',
62 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
63 'AdditionalDependencies': [
68 ['MSVS_VERSION=="2005e"', {
69 'AdditionalDependencies': [ # Must explicitly link in VC2005E
77 'AdditionalManifestFiles': [
78 '$(ProjectDir)\\mini_installer\\mini_installer.exe.manifest',
86 'BasicRuntimeChecks': '0',
87 'BufferSecurityCheck': 'false',
88 'ExceptionHandling': '0',
91 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
92 'AdditionalOptions': [
103 'includes': ['../../build/internal/release_defaults.gypi'],
105 'VCCLCompilerTool': {
106 'EnableIntrinsicFunctions': 'true',
107 'BasicRuntimeChecks': '0',
108 'BufferSecurityCheck': 'false',
109 'ExceptionHandling': '0',
112 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
113 'Profile': 'false', # Conflicts with /FIXED
114 'AdditionalOptions': [
126 'rule_name': 'mini_installer_version',
127 'extension': 'version',
129 'template_input_path':
130 'mini_installer/mini_installer_exe_version.rc.version',
133 '<(template_input_path)',
135 '<(lastchange_path)',
136 '<(branding_dir)/BRANDING',
139 '<(INTERMEDIATE_DIR)/mini_installer_exe_version.rc',
142 'python', '<(version_py)',
143 '-f', '<(version_path)',
144 '-f', '<(lastchange_path)',
145 '-f', '<(branding_dir)/BRANDING',
146 '<(template_input_path)',
149 'process_outputs_as_sources': 1,
150 'message': 'Generating version information'
153 'rule_name': 'installer_archive',
154 'extension': 'release',
156 'create_installer_archive_py_path':
157 '../tools/build/win/create_installer_archive.py',
160 ['enable_hidpi == 1', {
162 'enable_hidpi_flag': '--enable_hidpi=1',
166 'enable_hidpi_flag': '',
169 ['enable_touch_ui == 1', {
171 'enable_touch_ui_flag': '--enable_touch_ui=1',
175 'enable_touch_ui_flag': '',
178 ['target_arch=="x64"', {
180 '<(PRODUCT_DIR)/nacl64.exe',
181 '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe',
184 'target_arch_flag': '--target_arch=x64',
188 'target_arch_flag': '--target_arch=x86',
193 '<(create_installer_archive_py_path)',
194 '<(PRODUCT_DIR)/app_host.exe',
195 '<(PRODUCT_DIR)/chrome.exe',
196 '<@(chrome_dll_path)',
197 '<(PRODUCT_DIR)/nacl64.exe',
198 '<(PRODUCT_DIR)/ppGoogleNaClPluginChrome.dll',
199 '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe',
200 '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
201 '<(PRODUCT_DIR)/locales/en-US.pak',
202 '<(PRODUCT_DIR)/icudt.dll',
206 '<(output_dir)/<(RULE_INPUT_NAME).7z',
207 '<(output_dir)/<(RULE_INPUT_NAME).packed.7z',
208 '<(output_dir)/setup.ex_',
209 '<(INTERMEDIATE_DIR)/packed_files.rc',
213 '<(create_installer_archive_py_path)',
214 '--build_dir=<(PRODUCT_DIR)',
215 '--output_dir=<(output_dir)',
216 '--staging_dir=<(INTERMEDIATE_DIR)',
217 '--input_file=<(RULE_INPUT_PATH)',
218 '--resource_file_path=<(INTERMEDIATE_DIR)/packed_files.rc',
219 '<(enable_hidpi_flag)',
220 '<(enable_touch_ui_flag)',
221 '<(target_arch_flag)',
222 # TODO(sgk): may just use environment variables
223 #'--distribution=$(CHROMIUM_BUILD)',
224 '--distribution=_google_chrome',
225 # Optional arguments to generate diff installer
226 #'--last_chrome_installer=C:/Temp/base',
227 #'--setup_exe_format=DIFF',
228 #'--diff_algorithm=COURGETTE',
230 'message': 'Create installer archive'
233 # TODO(mark): <(branding_dir) should be defined by the
234 # global condition block at the bottom of the file, but
235 # this doesn't work due to the following issue:
237 # http://code.google.com/p/gyp/issues/detail?id=22
239 # Remove this block once the above issue is fixed.
241 [ 'branding == "Chrome"', {
243 'branding_dir': '../app/theme/google_chrome',
245 }, { # else branding!="Chrome"
247 'branding_dir': '../app/theme/chromium',