Adding hosting changes faq to main docs.
[chromium-blink-merge.git] / chrome_elf / chrome_elf.gyp
blob1534dbf8a921f97bf93d0a57b0c7cc23b64d0d9f
1 # Copyright 2013 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.
5   'variables': {
6     'chromium_code': 1,
7   },
8   'includes': [
9     '../build/util/version.gypi',
10     '../build/win_precompile.gypi',
11     'blacklist.gypi',
12     'dll_hash.gypi',
13   ],
14   'targets': [
15     {
16       'target_name': 'chrome_elf',
17       'type': 'shared_library',
18       'include_dirs': [
19         '..',
20       ],
21       'sources': [
22         'chrome_elf.def',
23         'chrome_elf_main.cc',
24         'chrome_elf_main.h',
25       ],
26       'dependencies': [
27         'blacklist',
28         'chrome_elf_breakpad',
29         'chrome_elf_lib',
30       ],
31       'msvs_settings': {
32         'VCLinkerTool': {
33           'BaseAddress': '0x01c20000',
34           # Set /SUBSYSTEM:WINDOWS.
35           'SubSystem': '2',
36           'AdditionalDependencies!': [
37             'user32.lib',
38           ],
39           'IgnoreDefaultLibraryNames': [
40             'user32.lib',
41           ],
42         },
43       },
44     },
45     {
46       'target_name': 'chrome_elf_unittests_exe',
47       'product_name': 'chrome_elf_unittests',
48       'type': 'executable',
49       'sources': [
50         'blacklist/test/blacklist_test.cc',
51         'chrome_elf_util_unittest.cc',
52         'create_file/chrome_create_file_unittest.cc',
53         'elf_imports_unittest.cc',
54         'ntdll_cache_unittest.cc',
55       ],
56       'include_dirs': [
57         '..',
58         '<(SHARED_INTERMEDIATE_DIR)',
59       ],
60       'dependencies': [
61         'chrome_elf_lib',
62         '../base/base.gyp:base',
63         '../base/base.gyp:run_all_unittests',
64         '../base/base.gyp:test_support_base',
65         '../sandbox/sandbox.gyp:sandbox',
66         '../testing/gtest.gyp:gtest',
67         'blacklist',
68         'blacklist_test_dll_1',
69         'blacklist_test_dll_2',
70         'blacklist_test_dll_3',
71         'blacklist_test_main_dll',
72       ],
73     },
74     {
75       # A dummy target to ensure that chrome_elf.dll and chrome.exe gets built
76       # when building chrome_elf_unittests.exe without introducing an
77       # explicit runtime dependency.
78       'target_name': 'chrome_elf_unittests',
79       'type': 'none',
80       'dependencies': [
81         '../chrome/chrome.gyp:chrome',
82         'chrome_elf',
83         'chrome_elf_unittests_exe',
84       ],
85     },
86     {
87       'target_name': 'chrome_elf_lib',
88       'type': 'static_library',
89       'include_dirs': [
90         '..',
91       ],
92       'sources': [
93         'create_file/chrome_create_file.cc',
94         'create_file/chrome_create_file.h',
95         'ntdll_cache.cc',
96         'ntdll_cache.h',
97       ],
98       'dependencies': [
99         'chrome_elf_common',
100       ],
101     },
102     {
103       'target_name': 'chrome_elf_constants',
104       'type': 'static_library',
105       'include_dirs': [
106         '..',
107       ],
108       'sources': [
109         'chrome_elf_constants.cc',
110         'chrome_elf_constants.h',
111       ],
112     },
113     {
114       'target_name': 'chrome_elf_common',
115       'type': 'static_library',
116       'dependencies': [
117         'chrome_elf_constants',
118       ],
119       'include_dirs': [
120         '..',
121       ],
122       'sources': [
123         'chrome_elf_types.h',
124         'chrome_elf_util.cc',
125         'chrome_elf_util.h',
126       ],
127     },
128     {
129       'target_name': 'chrome_elf_breakpad',
130       'type': 'static_library',
131       'include_dirs': [
132         '..',
133         '<(SHARED_INTERMEDIATE_DIR)',
134       ],
135       'sources': [
136         'breakpad.cc',
137         'breakpad.h',
138       ],
139       'dependencies': [
140         'chrome_elf_common',
141         '../breakpad/breakpad.gyp:breakpad_handler',
142         '../chrome/chrome.gyp:chrome_version_header',
143       ],
144     },
145   ], # targets
146   'conditions': [
147     ['component=="shared_library"', {
148       'targets': [
149         {
150           'target_name': 'chrome_redirects',
151           'type': 'shared_library',
152           'include_dirs': [
153             '..',
154           ],
155           'sources': [
156             'chrome_redirects.def',
157             'chrome_redirects_main.cc',
158           ],
159           'dependencies': [
160             'chrome_elf_lib',
161           ],
162           'msvs_settings': {
163             'VCLinkerTool': {
164               'BaseAddress': '0x01c10000',
165               # Set /SUBSYSTEM:WINDOWS.
166               'SubSystem': '2',
167             },
168           },
169         },
170       ],
171     }],
172   ],