-
Notifications
You must be signed in to change notification settings - Fork 7
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
Requirements for the build system #106
Comments
First, I really appreciate finding mbedtls; open, non-viral licensed, trusted, portable, embeddable TLS libraries are few and far between. Especially ones that are actively and professionally maintained. Thank you. My use case is is to include mbedtls in other open source client library and server implementations that are generally expected to be buildable on unix/Linux/macOS/BSDs and Windows. Therefore I do not have a "platform" or a "application" (for the library case) , or requirements for security of my own. Regarding build system requirements, I usually speak the lowest common denominator for all systems. For the Unix-like cases the gnu makesfiles are great and match my projects cases, for which cmake would be an anomalous new dependency (and not often installed by default on systems, so a significant barrier for users that are not sysadmins). For Windows I am currently trying to figure out a method for a clean build that runs cmake from NMake, which is what my projects are using and I have one major use cases for a system that is all NMake. This is non-ideal combination. At least in windows if you have NMake installed you usually have cmake also. My ideal scenario is that you provide NMake makefiles as well, though I understand this is unlikely. Some additional feedback based on my use cases: A build system that requires python, perl, or even cmake, which are not always present, is a major dependency/barrier for systems that do have them, and therefore effecting portability. I imagine this might be one of the reasons to focus on cmake as the one solution. Unfortunately cmake is a pain for including in projects that are not already using cmake. Thanks again for this work! |
We build mbedtls for our embedded systems and do not use any of the build mechanisms provided by mbedtls. Instead, we just take the C files and integrate them in our build environment which is WAF (https://waf.io/). It it nice when building for multiple tarets at once or different variants for the same platform with different compile flags. |
Thank you @mschulz-at-hilscher! That was extremely useful for me to try. I am now using mbedtls library sources directly and everything builds and runs on linux, macOS, and Windows without so much as a compiler warning, amazing. The ability to do this is preferred over the incorporation of a different build system. Also, I now realize this issue was not actually about mbedtls. My apologies for the noise. Edit: or I guess it is about mbedtls 4, and I'm just confused... |
Write a requirements document for the build system.
Consider both the perspective of users and the perspective of maintainers.
Mailing list thread: https://lists.trustedfirmware.org/archives/list/[email protected]/thread/3HMNORCDGREUPE7XSTD2CKXFRZJXL36O/
Reasons why we're thinking about the build system:
Our primary high-level requirements:
The text was updated successfully, but these errors were encountered: