Upstream version 7.36.151.0
[platform/framework/web/crosswalk.git] / src / chrome_elf / chrome_elf.gyp
index 3db44c6..0b612a8 100644 (file)
@@ -6,12 +6,38 @@
     '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!': [
@@ -46,6 +80,7 @@
       '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',
-              ],
-            }],
-          ],
         },
       ],
     }],