Support for Android aarch64 in many parts of the build-script. Most of
the changes are reuse variables/parameters that already existed for
Android ARMv7. There is also a new parameter to specify the ICU
data library, which is used by #19503.
With this one can build either armv7 or aarch64, since building both
at the same time requires more changes like #19432 (and probably
more work to support two set of paths).
Update the commands to use the CMake based output directory locations instead of
the legacy staging location. This will allow us to stop copying the files for
compatibility.
Pass along the configuration through the exported target for the standard
library. Still pass the compiler by hand to allow building libdispatch against
just a build of the standard library.
Prior to this, the swift build didn’t understand what i686 is, or what to do about building it. This unblocks building, but will still run into build breaks.
This should resolve SR-8826! Ideally, we would be using CMake to tie together
all the dependent packages and get proper dependency tracking. Currently,
change to the swift runtime do not get tracked properly, and can result in
undefined references to symbols.
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