-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
tf-psa-crypto all.sh: make the core manage the build directory #9755
tf-psa-crypto all.sh: make the core manage the build directory #9755
Comments
Sorry, just want to make sure my understanding is correct. Currently it seems that only Is the goal to consolidate all cmake tests to build out of source and have those which do not build in source such as make? |
We could switch our default image to a more modern Ubuntu. In fact we should do that, it's long overdue, but it's not straightforward: some of our tests fail with newer compilers (new warnings, new minor problems reported by UBSan), The Groovy code has a priority order for which Ubuntu vintage to use for each component, among the ones for which the P.S. It's also possible that we've inadvertently fixed whatever problem our CMake scripts caused with older CMake. |
My bad, I didn't provide the whole context. There's currently only one component for tf-psa-crypto but a lot of components are going to be migrated from mbedtls to tf-psa-crypto in the near future. While doing so, we plan to:
Currently components that use CMake out-of-source manually create and remove the build directory; this makes sense since there are few of them. In tf-psa-crypto, since almost all components are going to use CMake out-of-source, it makes little sense for each component to have to copy-paste the boilerplate code for that, and it would make more sense for the core to create the build directory and This issue is about that (and just that): making the core manage that build directory when in tf-psa-crypto. No change should be made to what happens in mbedtls. This task is not meant to add or remove components, but simplify the definition of
(boilerplate removed and handled by the core). I hope it's clearer now. Please tell if anything's not clear yet. |
@gilles-peskine-arm I wasn't aware that the version of cmake on Ubuntu 16.04 had issues with out-of-source builds, thanks for sharing the info. As Ronald pointed out, the tf-psa-crypto component has existed for a bit more than a month now and we haven't observed failures, which is encouraging. Perhaps the issue does not manifest with the tf-psa-crypto CMake files. If it turns out it does (or if we want to be careful), we still have a variety of practical options (by practical, I mean, that don't have CI modernization as a pre-requisite). But I'd rather discuss them somewhere else, because I think this is quite orthogonal to this issue. (It is related to the context that motivates this issue, but not to this issue itself IMO.) |
Checking back, the issue where we documented the problem was #5223. Since we didn't know the exact cause, it's quite possible that we've fixed it. If the problem doesn't come back, it's all good. Actually, maybe #5429 fixed it? We didn't make the link at the time, but the symptoms of #5374 (comment) and #5223 look similar. |
Depends on: #9720
As of 9720, component in tf-psa-crypto that use out-of-tree CMake build have to manage the build directory themselves:
Since most components in tf-psa-crypto are expected to build out-of-tree (actually, all of them except one to check that in-tree builds work), we want to move the above boilerplate to
all-core.sh
so that the component definition can only include the "build and run tests" part.The text was updated successfully, but these errors were encountered: