Update the build-script-impl to only build the armv7 variant by default. This
should prevent the community buildbots from failing which may not have the arm64
ICU available.
The path to the SDK can be computed from the NDK. Do so to reduce the
parameters needed to pass to CMake. More importantly, this will allow building
with multiple architectures simultaneously.
When configuring libdispatch as part of the swift build on Linux with SourceKit
enabled, we would default to a release build. However, that results in known
leaks being reported with LSAN when building with a debug standard library.
Pass along the `LIBDISPATCH_BUILD_TYPE` into the CMake build and map that to the
CMAKE_BUILD_TYPE for the project.
This change makes the bots run all swift lldb tests during PR testing
instead of only running a whitelisted set of tests. This will increase
coverage of lldb during PR testing and catch breaking changes earlier.
When this change lands, it's possible that flaky lldb tests may block
swift PRs from landing. We plan on filing bugs for these tests, skipping
them, and re-enabling them as soon as possible.
rdar://42984532
Overwriting this variable can cause the build to break when pkg-config tries to find packages that aren't ICU. Prepending the ICU path so it takes precedence is a less fragile solution.
This change increases test coverage of lldb in its cmake configuration
by ensuring that its unit tests are built and ready to run. There is
similar logic to build the unit tests for the xcodebuild configuration.
With the recent changes upstream we use lit as the test driver for CMake
based builds. Instead of invoking lit and dotest separately, we need to
pass the dotest arguments to lit and have it take care of everything for
us.
Switched to using `build-for-testing`/`test-without-building` for the PlaygroundLogger tests.
The new PlaygroundLogger tests are now a proper XCTest unit test bundle, so it needs to be done this way (instead of building the test runner and then just invoking that).
This is part of <rdar://problem/37765445>.
Specifically:
1. SKIP_TEST_BENCHMARK => SKIP_TEST_BENCHMARKS
I looked for --skip-test-benchmark (notice no s) and SKIP_TEST_BENCHMARK. It
seems like it is dead, especially since we have --skip-test-benchmarks.
2. Remove the code that works around SKIP_TEST_BENCHMARK typo.
ndk14 introduced "unified headers" which merged the headers for all
different API versions into one directory which effectively split the
"SWIFT_SDK_ANDROID_ARCH_${ARCH}_PATH" into two different directories.
Add include and library specific paths to various compilation and link
invocations across the Swift project to account for this change. Remove
some broken sysroot/sdk specific settings.
We can infer FileCheck's path from the llvm bin dir so there is no change today.
In the future though this will enable us to use other llvm tools to "poke" at
the produced snapshots for verification purposes.
rdar://39456714
lldb-dotest does not forward the arguments from DOTEST_EXTRA properly.
For now, just build the lldb-dotest target to ensure the cmake build has
the right dependencies built. Invoke dotest.py manually as before.
Using lldb-dotest to drive testing solves the short-term problem of
there being missing test dependencies when we invoke dotest.py for cmake
builds.
Long term, we really want to delete as much lldb-specific logic from
build-script as possible and replace all of it with a single call to
lldb-dotest.
Even with this first cut, there are some nice simplifications
(build-script no longer needs to know how to find an out-of-tree
debugserver, etc).