| # -*- Python -*- |
| |
| import os |
| |
| # FIXME: The MachO back-end currently does not respect endianness when |
| # accessing binary data structures, and therefore only works correctly |
| # on little-endian host systems. Skip all tests on big-endian hosts. |
| if sys.byteorder == "big": |
| config.unsupported = True |
| |
| # We specify the most commonly-used archs and platform versions in our tests |
| # here. Tests which need different settings can just append to this, as only |
| # the last value will be used. |
| # |
| # Note however that this does not apply to `-syslibroot`: each instance of that |
| # flag will append to the set of library roots. As such, we define a separate |
| # alias for each platform. |
| |
| lld_watchos = ( |
| "ld64.lld -lSystem -arch arm64_32 -platform_version watchos 7.0 8.0 -syslibroot " |
| + os.path.join(config.test_source_root, "MachO", "Inputs", "WatchOS.sdk") |
| ) |
| config.substitutions.append(("%lld-watchos", lld_watchos + " -fatal_warnings")) |
| config.substitutions.append(("%no-fatal-warnings-lld-watchos", lld_watchos)) |
| |
| config.substitutions.append(("%no-arg-lld", "ld64.lld")) |
| |
| # Since most of our tests are written around x86_64, we give this platform the |
| # shortest substitution of "%lld". |
| lld = ( |
| "ld64.lld -arch x86_64 -platform_version macos 11.0 11.0 -syslibroot " |
| + os.path.join(config.test_source_root, "MachO", "Inputs", "MacOSX.sdk") |
| ) |
| config.substitutions.append(("%lld", lld + " -lSystem -fatal_warnings")) |
| config.substitutions.append(("%no-lsystem-lld", lld + " -fatal_warnings")) |
| config.substitutions.append(("%no-fatal-warnings-lld", lld + " -lSystem")) |