{
  'variables': {
    'version_py': '../../chrome/tools/build/version.py',
    'version_path': '../../chrome/VERSION',
    'lastchange_path': '<(SHARED_INTERMEDIATE_DIR)/build/LASTCHANGE',
    # 'branding_dir' is set in the 'conditions' section at the bottom.
    'msvs_use_common_release': 0,
    'msvs_use_common_linker_extras': 0,
  },
  'conditions': [
    ['OS=="win"', {
      'target_defaults': {
        'dependencies': [
          '../chrome.gyp:chrome',
          '../chrome.gyp:chrome_nacl_win64',
          '../chrome.gyp:chrome_dll',
          '../chrome.gyp:default_extensions',
          '../chrome.gyp:setup',
        ],
        'include_dirs': [
          '../..',
          '<(PRODUCT_DIR)',
          '<(INTERMEDIATE_DIR)',
          '<(SHARED_INTERMEDIATE_DIR)/chrome',
        ],
        'sources': [
          'mini_installer/appid.h',
          'mini_installer/mini_installer.cc',
          'mini_installer/mini_installer.h',
          'mini_installer/mini_installer.ico',
          'mini_installer/mini_installer.rc',
          'mini_installer/mini_installer_exe_version.rc.version',
          'mini_installer/mini_installer_resource.h',
          'mini_installer/pe_resource.cc',
          'mini_installer/pe_resource.h',
        ],
        'msvs_settings': {
          'VCCLCompilerTool': {
            'EnableIntrinsicFunctions': 'true',
            'BufferSecurityCheck': 'false',
            'BasicRuntimeChecks': '0',
          },
          'VCLinkerTool': {
            'RandomizedBaseAddress': '1',
            'DataExecutionPrevention': '0',
            'AdditionalLibraryDirectories': [
              '<(DEPTH)/third_party/platformsdk_win7/files/Lib',
              '<(PRODUCT_DIR)/lib'
            ],
            'DelayLoadDLLs': [],
            'EntryPointSymbol': 'MainEntryPoint',
            'GenerateMapFile': 'true',
            'IgnoreAllDefaultLibraries': 'true',
            'OptimizeForWindows98': '1',
            'SubSystem': '2',     # Set /SUBSYSTEM:WINDOWS
            'AdditionalDependencies': [
              '"$(VCInstallDir)crt\\src\\intel\\mt_lib\\memset.obj"',
              '"$(VCInstallDir)crt\\src\\intel\\mt_lib\\P4_memset.obj"',
              'shlwapi.lib',
            ],
          },
          'VCManifestTool': {
            'AdditionalManifestFiles': [
              '$(ProjectDir)\\mini_installer\\mini_installer.exe.manifest',
            ],
          },
        },
        'configurations': {
          'Debug_Base': {
            'msvs_settings': {
              'VCCLCompilerTool': {
                'BasicRuntimeChecks': '0',
                'BufferSecurityCheck': 'false',
              },
              'VCLinkerTool': {
                'SubSystem': '2',     # Set /SUBSYSTEM:WINDOWS
                'AdditionalOptions': [
                  '/safeseh:no',
                  '/dynamicbase:no',
                  '/ignore:4199',
                  '/ignore:4221',
                  '/nxcompat',
                ],
              },
            },
          },
          'Release_Base': {
            'includes': ['../../build/internal/release_defaults.gypi'],
            'msvs_settings': {
              'VCCLCompilerTool': {
                'EnableIntrinsicFunctions': 'true',
                'BasicRuntimeChecks': '0',
                'BufferSecurityCheck': 'false',
              },
              'VCLinkerTool': {
                'SubSystem': '2',     # Set /SUBSYSTEM:WINDOWS
                'AdditionalOptions': [
                  '/SAFESEH:NO',
                  '/NXCOMPAT',
                  '/DYNAMICBASE:NO',
                  '/FIXED',
                ],
              },
            },
          },
        },
        'rules': [
          {
            'rule_name': 'mini_installer_version',
            'extension': 'version',
            'variables': {
              'template_input_path': 'mini_installer/mini_installer_exe_version.rc.version',
            },
            'inputs': [
              '<(template_input_path)',
              '<(version_path)',
              '<(lastchange_path)',
              '<(branding_dir)/BRANDING',
            ],
            'outputs': [
              '<(INTERMEDIATE_DIR)/mini_installer_exe_version.rc',
            ],
            'action': [
              'python', '<(version_py)',
              '-f', '<(version_path)',
              '-f', '<(lastchange_path)',
              '-f', '<(branding_dir)/BRANDING',
              '<(template_input_path)',
              '<@(_outputs)',
            ],
            'process_outputs_as_sources': 1,
            'message': 'Generating version information'
          },
        ],
        # TODO(mark):  <(branding_dir) should be defined by the
        # global condition block at the bottom of the file, but
        # this doesn't work due to the following issue:
        #
        #   http://code.google.com/p/gyp/issues/detail?id=22
        #
        # Remove this block once the above issue is fixed.
        'conditions': [
          [ 'branding == "Chrome"', {
            'variables': {
               'branding_dir': '../app/theme/google_chrome',
            },
          }, { # else branding!="Chrome"
            'variables': {
               'branding_dir': '../app/theme/chromium',
            },
          }],
        ],
      },
      'targets': [
        {
          'target_name': 'mini_installer',
          'type': 'executable',
          'msvs_guid': '24A5AC7C-280B-4899-9153-6BA570A081E7',
          'sources': [
            'mini_installer/chrome.release',
            'mini_installer/chrome_appid.cc',
          ],
          'rules': [
            {
              'rule_name': 'installer_archive',
              'extension': 'release',
              'variables': {
                'create_installer_archive_py_path':
                  '../tools/build/win/create_installer_archive.py',
              },
              'inputs': [
                '<(create_installer_archive_py_path)',
                '<(PRODUCT_DIR)/chrome.exe',
                '<(PRODUCT_DIR)/chrome.dll',
                '<(PRODUCT_DIR)/nacl64.exe',
                '<(PRODUCT_DIR)/nacl64.dll',
                '<(PRODUCT_DIR)/locales/en-US.dll',
                '<(PRODUCT_DIR)/icudt42.dll',
              ],
              'outputs': [
                'xxx.out',
                '<(PRODUCT_DIR)/<(RULE_INPUT_NAME).7z',
                '<(PRODUCT_DIR)/<(RULE_INPUT_NAME).packed.7z',
                '<(PRODUCT_DIR)/setup.ex_',
                '<(PRODUCT_DIR)/packed_files.txt',
              ],
              'action': [
                'python',
                '<(create_installer_archive_py_path)',
                '--output_dir=<(PRODUCT_DIR)',
                '--input_file=<(RULE_INPUT_PATH)',
                # TODO(sgk):  may just use environment variables
                #'--distribution=$(CHROMIUM_BUILD)',
                '--distribution=_google_chrome',
                # Optional arguments to generate diff installer
                #'--last_chrome_installer=C:/Temp/base',
                #'--setup_exe_format=DIFF',
                #'--diff_algorithm=COURGETTE',
              ],
              'message': 'Create installer archive'
            },
          ],
        },
      ],
    }],
    [ 'branding == "Chrome"', {
      'variables': {
         'branding_dir': '../app/theme/google_chrome',
      },
    }, { # else branding!="Chrome"
      'variables': {
         'branding_dir': '../app/theme/chromium',
      },
    }],
  ],
}

# Local Variables:
# tab-width:2
# indent-tabs-mode:nil
# End:
# vim: set expandtab tabstop=2 shiftwidth=2: