'chromium_code': 1,
},
'includes': [
+ '../build/util/version.gypi',
'../build/win_precompile.gypi',
- '../chrome/version.gypi',
'blacklist.gypi',
+ 'dll_hash.gypi',
],
'targets': [
{
+ 'target_name': 'chrome_elf_resources',
+ 'type': 'none',
+ 'conditions': [
+ ['branding == "Chrome"', {
+ 'variables': {
+ 'branding_path': '../chrome/app/theme/google_chrome/BRANDING',
+ },
+ }, { # else branding!="Chrome"
+ 'variables': {
+ 'branding_path': '../chrome/app/theme/chromium/BRANDING',
+ },
+ }],
+ ],
+ 'variables': {
+ 'output_dir': 'chrome_elf',
+ 'template_input_path': '../chrome/app/chrome_version.rc.version',
+ },
+ 'sources': [
+ 'chrome_elf.ver',
+ ],
+ 'includes': [
+ '../chrome/version_resource_rules.gypi',
+ ],
+ },
+ {
'target_name': 'chrome_elf',
'type': 'shared_library',
'include_dirs': [
'chrome_elf.def',
'chrome_elf_main.cc',
'chrome_elf_main.h',
+ '<(SHARED_INTERMEDIATE_DIR)/chrome_elf/chrome_elf_version.rc',
],
'dependencies': [
'blacklist',
+ 'chrome_elf_breakpad',
'chrome_elf_lib',
+ 'chrome_elf_resources',
],
'msvs_settings': {
'VCLinkerTool': {
- 'BaseAddress': '0x01c20000',
+ 'conditions': [
+ ['target_arch=="ia32"', {
+ # Don't set an x64 base address (to avoid breaking HE-ASLR).
+ 'BaseAddress': '0x01c20000',
+ }],
+ ],
# Set /SUBSYSTEM:WINDOWS.
'SubSystem': '2',
'AdditionalDependencies!': [
'type': 'executable',
'sources': [
'blacklist/test/blacklist_test.cc',
+ 'chrome_elf_util_unittest.cc',
'create_file/chrome_create_file_unittest.cc',
'elf_imports_unittest.cc',
'ntdll_cache_unittest.cc',
'blacklist_test_dll_3',
'blacklist_test_main_dll',
],
- 'conditions': [
- ['component=="shared_library"', {
- # In component builds, all targets depend on chrome_redirects by
- # default. Remove it here so we are able to test it.
- 'dependencies!': [
- '../chrome_elf/chrome_elf.gyp:chrome_redirects',
- ],
- }],
- ],
},
{
# A dummy target to ensure that chrome_elf.dll and chrome.exe gets built
'..',
],
'sources': [
- 'chrome_elf_constants.cc',
- 'chrome_elf_constants.h',
- 'chrome_elf_types.h',
'create_file/chrome_create_file.cc',
'create_file/chrome_create_file.h',
'ntdll_cache.cc',
'ntdll_cache.h',
],
- 'conditions': [
- ['component=="shared_library"', {
- # In component builds, all targets depend on chrome_redirects by
- # default. Remove it here to avoid a circular dependency.
- 'dependencies!': [
- '../chrome_elf/chrome_elf.gyp:chrome_redirects',
- ],
- }],
+ 'dependencies': [
+ 'chrome_elf_common',
+ '../base/base.gyp:base_static',
+ '../sandbox/sandbox.gyp:sandbox',
+ ],
+ },
+ {
+ 'target_name': 'chrome_elf_constants',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '..',
+ ],
+ 'sources': [
+ 'chrome_elf_constants.cc',
+ 'chrome_elf_constants.h',
+ ],
+ },
+ {
+ 'target_name': 'chrome_elf_common',
+ 'type': 'static_library',
+ 'dependencies': [
+ 'chrome_elf_constants',
+ ],
+ 'include_dirs': [
+ '..',
+ ],
+ 'sources': [
+ 'chrome_elf_types.h',
+ 'chrome_elf_util.cc',
+ 'chrome_elf_util.h',
+ 'thunk_getter.cc',
+ 'thunk_getter.h',
+ ],
+ },
+ {
+ 'target_name': 'chrome_elf_breakpad',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '..',
+ '<(SHARED_INTERMEDIATE_DIR)',
+ ],
+ 'sources': [
+ 'breakpad.cc',
+ 'breakpad.h',
+ ],
+ 'dependencies': [
+ 'chrome_elf_common',
+ '../breakpad/breakpad.gyp:breakpad_handler',
+ '../chrome/chrome.gyp:chrome_version_header',
],
},
], # targets
],
'sources': [
'chrome_redirects.def',
+ 'chrome_redirects_main.cc',
],
'dependencies': [
'chrome_elf_lib',
],
'msvs_settings': {
'VCLinkerTool': {
- 'BaseAddress': '0x01c10000',
+ 'conditions': [
+ ['target_arch=="ia32"', {
+ # Don't set an x64 base address (to avoid breaking HE-ASLR).
+ 'BaseAddress': '0x01c20000',
+ }],
+ ],
# Set /SUBSYSTEM:WINDOWS.
'SubSystem': '2',
},
},
- 'conditions': [
- ['component=="shared_library"', {
- # In component builds, all targets depend on chrome_redirects by
- # default. Remove it here to avoid a circular dependency.
- 'dependencies!': [
- '../chrome_elf/chrome_elf.gyp:chrome_redirects',
- ],
- }],
- ],
},
],
}],