OLD | NEW |
---|---|
1 # Copyright 2013 Google Inc. All Rights Reserved. | 1 # Copyright 2013 Google Inc. All Rights Reserved. |
2 # | 2 # |
3 # Licensed under the Apache License, Version 2.0 (the "License"); | 3 # Licensed under the Apache License, Version 2.0 (the "License"); |
4 # you may not use this file except in compliance with the License. | 4 # you may not use this file except in compliance with the License. |
5 # You may obtain a copy of the License at | 5 # You may obtain a copy of the License at |
6 # | 6 # |
7 # http://www.apache.org/licenses/LICENSE-2.0 | 7 # http://www.apache.org/licenses/LICENSE-2.0 |
8 # | 8 # |
9 # Unless required by applicable law or agreed to in writing, software | 9 # Unless required by applicable law or agreed to in writing, software |
10 # distributed under the License is distributed on an "AS IS" BASIS, | 10 # distributed under the License is distributed on an "AS IS" BASIS, |
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
12 # See the License for the specific language governing permissions and | 12 # See the License for the specific language governing permissions and |
13 # limitations under the License. | 13 # limitations under the License. |
14 | 14 |
15 { | 15 { |
16 'variables': { | |
17 # These are source files that are used for generating both: | |
18 # the integration_tests_dll and integration_tests_clang_dll. | |
19 # They contain the Asan test cases. | |
20 'integration_tests_common_source_files': [ | |
21 'asan_interceptors_tests.cc', | |
22 'asan_page_protection_tests.cc', | |
23 'deferred_free_tests.cc', | |
24 'integration_tests_dll.cc', | |
25 ], | |
26 # These files are used for generating the integration_tests_dll. | |
27 'integration_tests_other_files': [ | |
28 'asan_interceptors_tests.h', | |
29 'asan_page_protection_tests.h', | |
30 'bb_entry_tests.h', | |
31 'bb_entry_tests.cc', | |
32 'behavior_tests.h', | |
33 'behavior_tests.cc', | |
34 'coverage_tests.h', | |
35 'coverage_tests.cc', | |
36 'deferred_free_tests.h', | |
37 'integration_tests_dll.def', | |
38 'integration_tests_dll.h', | |
39 'integration_tests_dll.rc', | |
40 'profile_tests.h', | |
41 'profile_tests.cc', | |
42 ] | |
43 }, | |
16 'targets': [ | 44 'targets': [ |
17 { | 45 { |
18 'target_name': 'integration_tests', | 46 'target_name': 'integration_tests', |
19 'type': 'executable', | 47 'type': 'executable', |
20 'sources': [ | 48 'sources': [ |
21 'integration_tests.rc', | 49 'integration_tests.rc', |
22 'instrument_integration_test.cc', | 50 'instrument_integration_test.cc', |
23 '<(src)/syzygy/testing/run_all_unittests.cc', | 51 '<(src)/syzygy/testing/run_all_unittests.cc', |
24 ], | 52 ], |
25 'dependencies': [ | 53 'dependencies': [ |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
76 '<(python_exe)', | 104 '<(python_exe)', |
77 '<(src)/syzygy/build/copy_laa.py', | 105 '<(src)/syzygy/build/copy_laa.py', |
78 '--input=$(OutDir)\\integration_tests.exe', | 106 '--input=$(OutDir)\\integration_tests.exe', |
79 '--output=$(OutDir)\\integration_tests_4g.exe', | 107 '--output=$(OutDir)\\integration_tests_4g.exe', |
80 '--overwrite', | 108 '--overwrite', |
81 ], | 109 ], |
82 }, | 110 }, |
83 ], | 111 ], |
84 }, | 112 }, |
85 { | 113 { |
114 'target_name': 'integration_tests_clang_dll', | |
115 'type': 'none', | |
116 'msvs_cygwin_shell': 0, | |
117 'actions': [ | |
118 { | |
119 'action_name': 'make_integration_tests_clang', | |
120 'inputs': ['<@(integration_tests_common_source_files)'], | |
121 'outputs': ['<(PRODUCT_DIR)/integration_tests_clang_dll.dll'], | |
122 'action': [ | |
123 '<(python_exe)', | |
124 'make_integration_tests_clang.py', | |
125 '--output-dir=<(PRODUCT_DIR)', | |
126 '--input-files=<(_inputs)', | |
127 '--target-name=integration_tests_clang_dll', | |
128 ], | |
129 }, | |
130 ], | |
131 }, | |
132 { | |
86 'target_name': 'integration_tests_dll', | 133 'target_name': 'integration_tests_dll', |
87 'type': 'loadable_module', | 134 'type': 'loadable_module', |
88 'sources': [ | 135 'sources': [ |
89 'asan_check_tests.h', | 136 '<@(integration_tests_common_source_files)', |
90 'asan_interceptors_tests.cc', | 137 '<@(integration_tests_other_files)' |
91 'asan_interceptors_tests.h', | |
92 'asan_page_protection_tests.cc', | |
93 'asan_page_protection_tests.h', | |
94 'bb_entry_tests.cc', | |
95 'bb_entry_tests.h', | |
96 'behavior_tests.cc', | |
97 'behavior_tests.h', | |
98 'coverage_tests.cc', | |
99 'coverage_tests.h', | |
100 'deferred_free_tests.cc', | |
101 'deferred_free_tests.h', | |
102 'integration_tests_dll.cc', | |
103 'integration_tests_dll.def', | |
104 'integration_tests_dll.h', | |
105 'integration_tests_dll.rc', | |
106 'profile_tests.cc', | |
107 'profile_tests.h', | |
108 ], | 138 ], |
109 'dependencies': [ | 139 'dependencies': [ |
110 '<(src)/syzygy/pe/pe.gyp:export_dll', | 140 '<(src)/syzygy/pe/pe.gyp:export_dll', |
111 '<(src)/syzygy/version/version.gyp:syzygy_version', | 141 '<(src)/syzygy/version/version.gyp:syzygy_version', |
112 ], | 142 ], |
113 'msvs_settings': { | 143 'msvs_settings': { |
114 'VCLinkerTool': { | 144 'VCLinkerTool': { |
115 # Asan agent is compiled without large address spaces to allow a | 145 # Asan agent is compiled without large address spaces to allow a |
116 # memory optimization on the shadow memory. Agents should run in both | 146 # memory optimization on the shadow memory. Agents should run in both |
117 # modes, thus in the long term, we should remove this. | 147 # modes, thus in the long term, we should remove this. |
(...skipping 19 matching lines...) Expand all Loading... | |
137 'SetChecksum': 'true', | 167 'SetChecksum': 'true', |
138 }, | 168 }, |
139 'VCCLCompilerTool': { | 169 'VCCLCompilerTool': { |
140 'BasicRuntimeChecks': '0', | 170 'BasicRuntimeChecks': '0', |
141 # Asan needs the application to be linked with the release static | 171 # Asan needs the application to be linked with the release static |
142 # runtime library. Otherwise, memory allocation functions are | 172 # runtime library. Otherwise, memory allocation functions are |
143 # wrapped and hide memory bugs like overflow/underflow. | 173 # wrapped and hide memory bugs like overflow/underflow. |
144 'RuntimeLibrary': '0', # 0 = /MT (nondebug static) | 174 'RuntimeLibrary': '0', # 0 = /MT (nondebug static) |
145 # Disable the iterator debugging for this project. We need to do | 175 # Disable the iterator debugging for this project. We need to do |
146 # this because we link against the release version of the C | 176 # this because we link against the release version of the C |
147 # runtime library, and the iterator debugging relies on some | 177 # runtime library1, and the iterator debugging relies on some |
Sébastien Marchand
2017/07/11 18:57:01
Fix this.
njanevsk
2017/07/14 15:49:15
Done.
| |
148 # functions present only in the debug version of the library. | 178 # functions present only in the debug version of the library. |
149 'PreprocessorDefinitions': [ | 179 'PreprocessorDefinitions': [ |
150 '_HAS_ITERATOR_DEBUGGING=0', | 180 '_HAS_ITERATOR_DEBUGGING=0', |
151 'NDEBUG', | 181 'NDEBUG', |
152 ], | 182 ], |
153 # The DEBUG preprocessor flag has to be explicitely undefined in | 183 # The DEBUG preprocessor flag has to be explicitely undefined in |
154 # order to avoid using some code only available in the debug | 184 # order to avoid using some code only available in the debug |
155 # version of the runtime library (see comment above about that). | 185 # version of the runtime library (see comment above about that). |
156 'AdditionalOptions': [ | 186 'AdditionalOptions': [ |
157 '/U_DEBUG' | 187 '/U_DEBUG' |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
211 # Asan agent is compiled without large address spaces to allow a | 241 # Asan agent is compiled without large address spaces to allow a |
212 # memory optimization on the shadow memory. Agents should run in both | 242 # memory optimization on the shadow memory. Agents should run in both |
213 # modes, thus in the long term, we should remove this. | 243 # modes, thus in the long term, we should remove this. |
214 # Disable support for large address spaces. | 244 # Disable support for large address spaces. |
215 'LargeAddressAware': 1, | 245 'LargeAddressAware': 1, |
216 }, | 246 }, |
217 }, | 247 }, |
218 }, | 248 }, |
219 ], | 249 ], |
220 } | 250 } |
OLD | NEW |