-
Notifications
You must be signed in to change notification settings - Fork 341
[cherry-pick][swift/release/5.9] [lldb][cmake] Allow specifying custom libcxx for tests in standalone builds #6900
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Please test with following PR: @swift-ci test |
@swift-ci Please test macOS platform |
Please test with following PR: @swift-ci Please test macOS platform |
1 similar comment
Please test with following PR: @swift-ci Please test macOS platform |
The failing test is due to the newest libcxx causing
Probably a missing cherry-pick |
a9b4595
to
ebe97b1
Compare
Please test with following PR: @swift-ci Please test |
Please test with following PR: @swift-ci Please test |
test with swiftlang/swift#66026 |
Please test with following PR: @swift-ci Please test |
Please test with following PR: @swift-ci Please test windows Platform |
…ctory. In certain configurations, libc++ headers all exist in the same directory, and libc++ binaries exist in the same directory as lldb libs. When `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` is enabled (*and* the host is not Apple, which is why I assume this wasn't caught by others?), this is not the case: most headers will exist in the usual `include/c++/v1` directory, but `__config_site` exists in `include/$TRIPLE/c++/v1`. Likewise, the libc++.so binary exists in `lib/$TRIPLE/`, not `lib/` (where LLDB libraries reside). This also adds the just-built-libcxx functionality to the lldb-dotest tool. The `LIBCXX_` cmake config is borrowed from `libcxx/CMakeLists.txt`. I could not figure out a way to share the cmake config; ideally we would reuse the same config instead of copy/paste. Reviewed By: JDevlieghere, fdeazeve Differential Revision: https://reviews.llvm.org/D133973 (cherry picked from commit cb0eb9d) (cherry picked from commit a9b4595baca074fa8dd6c9f3a2cd6edd6c5e2ffc) (cherry picked from commit 61cc334)
…builds Standalone builds currently do not set the `LLDB_HAS_LIBCXX`, `LIBCXX_LIBRARY_DIR`, `LIBCXX_GENERATED_INCLUDE_DIR`. These are necessary for API tests with `USE_LIBCPP` to run against a custom built libcxx. Thus on all buildbots using standalone builds (most notably the public swift-ci), the API tests always run against the libcxx headers in the system SDK. This patch introduces a new cmake variable `LLDB_TEST_LIBCXX_ROOT_DIR` that allows us to point the tests in standalone builds to a custom libcxx directory. Since the user can control the libcxx location we can hard error if no such custom libcxx build exists. Differential Revision: https://reviews.llvm.org/D150954 (cherry picked from commit 2901ce3ac24799dacda21be3903d6d8294b70ea0)
Now that the standalone build-bots test against a newly built libcxx, we can re-enable the test.
With swiftlang/swift#66018 we started to run standalone tests (e.g., the ones on swift-ci) against newly built libcxx. This caused the test to fail on the 5.9 branch. The first step-in into a pointer to a data member didn't behave as expected. Thus skip it for now.
3e246a1
to
dbd0474
Compare
Please test with following PR: @swift-ci Please test |
Please test with following PR: @swift-ci Please test windows Platform |
1 similar comment
Please test with following PR: @swift-ci Please test windows Platform |
Standalone builds currently do not set the
LLDB_HAS_LIBCXX
,LIBCXX_LIBRARY_DIR
,LIBCXX_GENERATED_INCLUDE_DIR
.These are necessary for API tests with
USE_LIBCPP
to run againsta custom built libcxx. Thus on all buildbots using standalone builds
(most notably the public swift-ci), the API tests always run against
the libcxx headers in the system SDK.
This patch introduces a new cmake variable
LLDB_TEST_LIBCXX_ROOT_DIR
that allows us to point the tests in standalone builds to a custom
libcxx directory.
Since the user can control the libcxx location we can hard error if
no such custom libcxx build exists.
Differential Revision: https://reviews.llvm.org/D150954
(cherry picked from commit 2901ce3ac24799dacda21be3903d6d8294b70ea0)