If xcode_settings is None, all methods on this class are no-ops. Args: gyp_path_to_build_path: A function that takes a gyp-relative path, and returns a path relative to the build directory. gyp_path_to_build_output: A function that takes a gyp-relativ
(
self, xcode_settings, gyp_path_to_build_path, gyp_path_to_build_output
)
| 1388 | """ |
| 1389 | |
| 1390 | def __init__( |
| 1391 | self, xcode_settings, gyp_path_to_build_path, gyp_path_to_build_output |
| 1392 | ): |
| 1393 | """If xcode_settings is None, all methods on this class are no-ops. |
| 1394 | |
| 1395 | Args: |
| 1396 | gyp_path_to_build_path: A function that takes a gyp-relative path, |
| 1397 | and returns a path relative to the build directory. |
| 1398 | gyp_path_to_build_output: A function that takes a gyp-relative path and |
| 1399 | a language code ('c', 'cc', 'm', or 'mm'), and that returns a path |
| 1400 | to where the output of precompiling that path for that language |
| 1401 | should be placed (without the trailing '.gch'). |
| 1402 | """ |
| 1403 | # This doesn't support per-configuration prefix headers. Good enough |
| 1404 | # for now. |
| 1405 | self.header = None |
| 1406 | self.compile_headers = False |
| 1407 | if xcode_settings: |
| 1408 | self.header = xcode_settings.GetPerTargetSetting("GCC_PREFIX_HEADER") |
| 1409 | self.compile_headers = ( |
| 1410 | xcode_settings.GetPerTargetSetting( |
| 1411 | "GCC_PRECOMPILE_PREFIX_HEADER", default="NO" |
| 1412 | ) |
| 1413 | != "NO" |
| 1414 | ) |
| 1415 | self.compiled_headers = {} |
| 1416 | if self.header: |
| 1417 | if self.compile_headers: |
| 1418 | for lang in ["c", "cc", "m", "mm"]: |
| 1419 | self.compiled_headers[lang] = gyp_path_to_build_output( |
| 1420 | self.header, lang |
| 1421 | ) |
| 1422 | self.header = gyp_path_to_build_path(self.header) |
| 1423 | |
| 1424 | def _CompiledHeader(self, lang, arch): |
| 1425 | assert self.compile_headers |
nothing calls this directly
no test coverage detected