mini_installer.gyp revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
15c02ac1a9c1b504631c0a3d2b6e737b5d738bae1Bo Liu{
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  'variables': {
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    'version_py': '<(DEPTH)/build/util/version.py',
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    'version_path': '../../chrome/VERSION',
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    'lastchange_path': '<(DEPTH)/build/util/LASTCHANGE',
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    # 'branding_dir' is set in the 'conditions' section at the bottom.
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    'msvs_use_common_release': 0,
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    'msvs_use_common_linker_extras': 0,
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    'mini_installer_internal_deps%': 0,
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    'mini_installer_official_deps%': 0,
111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  },
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  'includes': [
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    '../../build/win_precompile.gypi',
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ],
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  'conditions': [
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ['OS=="win"', {
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'targets': [
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        {
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          'target_name': 'mini_installer',
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          'type': 'executable',
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          'dependencies': [
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            '../chrome.gyp:chrome',
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            '../chrome.gyp:chrome_nacl_win64',
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            '../chrome.gyp:chrome_dll',
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            '../chrome.gyp:default_extensions',
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            '../chrome.gyp:setup',
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          ],
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          'include_dirs': [
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            '../..',
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            '<(INTERMEDIATE_DIR)',
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            '<(SHARED_INTERMEDIATE_DIR)/chrome',
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          ],
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          'sources': [
352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            'mini_installer/appid.h',
362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            'mini_installer/chrome.release',
372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            'mini_installer/chrome_appid.cc',
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'mini_installer/configuration.cc',
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'mini_installer/configuration.h',
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'mini_installer/decompress.cc',
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'mini_installer/decompress.h',
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'mini_installer/mini_installer.cc',
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'mini_installer/mini_installer.h',
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'mini_installer/mini_installer.ico',
452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            'mini_installer/mini_installer.rc',
462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            'mini_installer/mini_installer_exe_version.rc.version',
472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            'mini_installer/mini_installer_resource.h',
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'mini_installer/mini_string.cc',
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'mini_installer/mini_string.h',
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'mini_installer/pe_resource.cc',
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'mini_installer/pe_resource.h',
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            '<(INTERMEDIATE_DIR)/packed_files.rc',
532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          ],
542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          'msvs_settings': {
552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            'VCCLCompilerTool': {
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'EnableIntrinsicFunctions': 'true',
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'BufferSecurityCheck': 'false',
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'BasicRuntimeChecks': '0',
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'ExceptionHandling': '0',
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            },
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'VCLinkerTool': {
622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              'RandomizedBaseAddress': '1',
632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              'DataExecutionPrevention': '0',
642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              'AdditionalLibraryDirectories': [
652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                '<(PRODUCT_DIR)/lib'
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              ],
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'DelayLoadDLLs': [],
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'EntryPointSymbol': 'MainEntryPoint',
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'IgnoreAllDefaultLibraries': 'true',
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'OptimizeForWindows98': '1',
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'SubSystem': '2',     # Set /SUBSYSTEM:WINDOWS
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'AdditionalDependencies': [
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                'shlwapi.lib',
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                'setupapi.lib',
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              ],
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            },
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'VCManifestTool': {
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'AdditionalManifestFiles': [
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                '$(ProjectDir)\\mini_installer\\mini_installer.exe.manifest',
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              ],
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            },
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          },
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          'configurations': {
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'Debug_Base': {
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'msvs_settings': {
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                'VCCLCompilerTool': {
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'BasicRuntimeChecks': '0',
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'BufferSecurityCheck': 'false',
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'ExceptionHandling': '0',
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                },
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                'VCLinkerTool': {
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'SubSystem': '2',     # Set /SUBSYSTEM:WINDOWS
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'AdditionalOptions': [
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    '/safeseh:no',
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    '/dynamicbase:no',
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    '/ignore:4199',
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    '/ignore:4221',
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    '/nxcompat',
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  ],
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                },
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              },
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            },
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'Release_Base': {
1042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              'includes': ['../../build/internal/release_defaults.gypi'],
1052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              'msvs_settings': {
1062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                'VCCLCompilerTool': {
1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                  'EnableIntrinsicFunctions': 'true',
1082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                  'BasicRuntimeChecks': '0',
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'BufferSecurityCheck': 'false',
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'ExceptionHandling': '0',
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                },
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                'VCLinkerTool': {
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'SubSystem': '2',     # Set /SUBSYSTEM:WINDOWS
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'Profile': 'false',   # Conflicts with /FIXED
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'AdditionalOptions': [
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    '/SAFESEH:NO',
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    '/NXCOMPAT',
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    '/DYNAMICBASE:NO',
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    '/FIXED',
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  ],
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                },
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              },
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            },
1242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          },
1252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          # Disable precompiled headers for this project, to avoid
1272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          # linker errors when building with VS 2008.
1282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          'msvs_precompiled_header': '',
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          'msvs_precompiled_source': '',
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          'msvs_disabled_warnings': [ 4267, ],
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          'variables': {
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            # Opt out the common compatibility manifest to work around
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            # crbug.com/272660.
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            # TODO(yukawa): Enable the common compatibility manifest again.
138eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch            'win_exe_compatibility_manifest': '',
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          },
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          'rules': [
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            {
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'rule_name': 'mini_installer_version',
1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'extension': 'version',
1442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              'variables': {
1452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                'template_input_path': 'mini_installer/mini_installer_exe_version.rc.version',
1462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              },
1472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              'inputs': [
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                '<(template_input_path)',
149eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                '<(version_path)',
150eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                '<(lastchange_path)',
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                '<(branding_dir)/BRANDING',
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              ],
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'outputs': [
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                '<(PRODUCT_DIR)/mini_installer_exe_version.rc',
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              ],
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'action': [
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                'python', '<(version_py)',
158eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                '-f', '<(version_path)',
159a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)                '-f', '<(lastchange_path)',
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                '-f', '<(branding_dir)/BRANDING',
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                '<(template_input_path)',
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                '<@(_outputs)',
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              ],
1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'process_outputs_as_sources': 1,
1652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              'message': 'Generating version information'
1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            },
1672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            {
1682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              'rule_name': 'installer_archive',
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'extension': 'release',
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'variables': {
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                'create_installer_archive_py_path':
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  '../tools/build/win/create_installer_archive.py',
1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              },
1742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              'conditions': [
1752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                ['enable_hidpi == 1', {
1762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                  'variables': {
1772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                    'enable_hidpi_flag': '--enable_hidpi=1',
1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  },
1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                }, {
1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'variables': {
1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    'enable_hidpi_flag': '',
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  },
1832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                }],
1842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                ['component == "shared_library"', {
1852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                  'variables': {
1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    'component_build_flag': '--component_build=1',
1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  },
1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                }, {
1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'variables': {
1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    'component_build_flag': '',
1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  },
1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'outputs': [
1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    '<(PRODUCT_DIR)/<(RULE_INPUT_NAME).packed.7z',
1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  ],
1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                }],
1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                ['disable_nacl==1', {
1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'inputs!': [
1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    '<(PRODUCT_DIR)/nacl64.exe',
1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    '<(PRODUCT_DIR)/ppGoogleNaClPluginChrome.dll',
2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe',
2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
2022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                  ],
2032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                }],
2042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                ['target_arch=="x64"', {
2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'inputs!': [
2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    '<(PRODUCT_DIR)/nacl64.exe',
2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe',
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  ],
2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'variables': {
2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    'target_arch_flag': '--target_arch=x64',
2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  },
2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                }, {
2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'variables': {
2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    'target_arch_flag': '--target_arch=x86',
2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  },
2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                }],
2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                ['icu_use_data_file_flag == 0', {
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  'inputs': [
2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                    '<(PRODUCT_DIR)/icudt.dll',
2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                  ],
2212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                }, { # else icu_use_data_file_flag != 0
2222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                  'inputs': [
2232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                    '<(PRODUCT_DIR)/icudtl.dat',
2242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                  ],
2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                }],
226eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch              ],
227eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch              'inputs': [
2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                '<(create_installer_archive_py_path)',
2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                '<(PRODUCT_DIR)/chrome.exe',
2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                '<(PRODUCT_DIR)/chrome.dll',
2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                '<(PRODUCT_DIR)/nacl64.exe',
2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                '<(PRODUCT_DIR)/ppGoogleNaClPluginChrome.dll',
2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe',
2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe',
2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                '<(PRODUCT_DIR)/locales/en-US.pak',
2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              ],
2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'outputs': [
2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                # Also note that chrome.packed.7z is defined as an output in a
2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                # conditional above.
2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                'xxx2.out',
2412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                '<(PRODUCT_DIR)/<(RULE_INPUT_NAME).7z',
2422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                '<(PRODUCT_DIR)/setup.ex_',
2432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                '<(INTERMEDIATE_DIR)/packed_files.rc',
2442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              ],
2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'action': [
246eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                'python',
247eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                '<(create_installer_archive_py_path)',
2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                '--build_dir', '<(PRODUCT_DIR)',
249                '--staging_dir', '<(INTERMEDIATE_DIR)',
250                '--input_file', '<(RULE_INPUT_PATH)',
251                '--resource_file_path', '<(INTERMEDIATE_DIR)/packed_files.rc',
252                '<(enable_hidpi_flag)',
253                '<(component_build_flag)',
254                '<(target_arch_flag)',
255                # TODO(sgk):  may just use environment variables
256                #'--distribution=$(CHROMIUM_BUILD)',
257                '--distribution=_google_chrome',
258                # Optional arguments to generate diff installer
259                #'--last_chrome_installer=C:/Temp/base',
260                #'--setup_exe_format=DIFF',
261                #'--diff_algorithm=COURGETTE',
262              ],
263              'message': 'Create installer archive',
264            },
265          ],
266          # TODO(mark):  <(branding_dir) should be defined by the
267          # global condition block at the bottom of the file, but
268          # this doesn't work due to the following issue:
269          #
270          #   http://code.google.com/p/gyp/issues/detail?id=22
271          #
272          # Remove this block once the above issue is fixed.
273          'conditions': [
274            [ 'branding == "Chrome"', {
275              'variables': {
276                 'branding_dir': '../app/theme/google_chrome',
277              },
278            }, { # else branding!="Chrome"
279              'variables': {
280                 'branding_dir': '../app/theme/chromium',
281              },
282            }],
283          ],
284        },
285      ],
286      'conditions': [
287        ['test_isolation_mode != "noop"', {
288          'targets': [
289            {
290              'target_name': 'mini_installer_tests_run',
291              'type': 'none',
292              'dependencies': [
293                'mini_installer',
294              ],
295              'includes': [
296                '../../build/isolate.gypi',
297                'mini_installer_tests.isolate',
298              ],
299              'sources': [
300                'mini_installer_tests.isolate',
301              ],
302            },
303          ],
304        }],
305      ],
306    }],
307    [ 'branding == "Chrome"', {
308      'variables': {
309         'branding_dir': '../app/theme/google_chrome',
310      },
311    }, { # else branding!="Chrome"
312      'variables': {
313         'branding_dir': '../app/theme/chromium',
314      },
315    }],
316  ],
317}
318