summaryrefslogtreecommitdiffstats
path: root/Configurations/gentemplate.pm
AgeCommit message (Collapse)Author
2022-05-27Configurations/gentemplate.pm: Generate generators too, when necessaryRichard Levitte
A generator in a `GENERATE[generated]=generator` build.info statement may itself be generated. That needs to be taken into account. This was always meant to be, but we missed the spot, for lack of use cases. Now we have one. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18263) (cherry picked from commit 42b4a8ab961e3d3be4abffe3aea458448b2e47b4)
2022-05-22Building: For the FIPS module checksum, keep track of configuration,hRichard Levitte
The FIPS module checksum needs to know that configuration.h is generated from configuration.h.in, so that information is conserved. To make this possible, it's now possible to have attributes with the GENERATE keyword, and the attribute "skip" is added to make a keyword a no-op, which makes it informative only. Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Todd Short <todd.short@me.com> (Merged from https://github.com/openssl/openssl/pull/16378) (cherry picked from commit 4d02d500aac80c136e3d6582b908e0fab77bbf42)
2021-06-16Configuration: Fix incorrect $unified_info{attributes} referencesRichard Levitte
Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15758)
2021-05-19Rework how a build file (Makefile, ...) is producedRichard Levitte
The memory footprint of how we produced the Makefile was quite... important, because we have all the processing in one perl snippet, and generate the details of the build file by appending to the "magic" variable $OUT. The result is that this variable gets to hold the majority of the build file text, and depending on memory reallocation strategies for strings, the heap may hold multiple (possibly not just a few) copies of this string, almost all of them "freed" but still taking up space. This has resulted in memory exhaustion. We therefore change strategy, and generate the build file in two phases, where the first phase generates the full template using small perl snippets for each detail, and the second phase processes this template. This is much kinder to process memory. Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15310)