summaryrefslogtreecommitdiff
path: root/configdata.pm.in
Commit message (Collapse)AuthorAgeFilesLines
* Use $config{build_file} instead of $target{build_file}Richard Levitte2023-02-011-1/+1
| | | | | | | | | | | | If the user specifies an alternative build file than the default, this alternative is recorded in $config{build_file}, not $target{build_file}. Therefore, the former should be used, leaving the latter as a mere default. This is a bug. While fixing it, document it better too. Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20173)
* Configuration: produce include/openssl/configuration.h when configuringRichard Levitte2022-05-221-2/+54
| | | | | | | | | | | | | | | | | The goal is to avoid having too much of the OpenSSL source rebuilt because include/openssl/configuration.h, or even because it was a Makefile target that was called upon (some make implementations consider the use of a target as an update of that target, even if it wasn't really updated). To resolve this, we move the production of include/openssl/configuration.h to configdata.pm, and only update it if there were any actual changes. Fixes #16377 Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Todd Short <todd.short@me.com> (Merged from https://github.com/openssl/openssl/pull/16378)
* Configuration: only produce a new configdata.pm if it has changed contentsRichard Levitte2022-05-221-2/+2
| | | | | | | | | | | | | | | The goal is to avoid having too much of the OpenSSL source rebuilt because configdata.pm got a new time stamp. The conditions for updating configdata.pm are now: 1. its time stamp is older than Configure's, or... 2. its contents has changed. Fixes #16377 Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Todd Short <todd.short@me.com> (Merged from https://github.com/openssl/openssl/pull/16378)
* Fix typosDimitris Apostolou2022-01-051-2/+2
| | | | | | Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17392)
* configdata.pm: Allow extra arguments when --query is given.Richard Levitte2021-05-291-1/+4
| | | | | | | | | That allows operations like this: ./configdata.pm --query 'get_sources(@ARGV)' file1 file2 file3 Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15514)
* Fix configdata.pm.in's "use lib" for VMSRichard Levitte2021-05-191-5/+29
| | | | | | | | | | `use lib` needs Unix formatted paths. For VMS, it means that we must make sure to convert paths, and we may as well generalise it. In this case, we need to adapt the functions sourcedir() and sourcefile() Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15317)
* Rework how a build file (Makefile, ...) is producedRichard Levitte2021-05-191-29/+50
| | | | | | | | | | | | | | | | | | | 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)
* Move some OpenSSL perl utility functions to OpenSSL::UtilRichard Levitte2021-05-191-70/+13
| | | | | | | | | | | quotify1() and quotify_l() were in OpenSSL::Template, but should be more widely usable. configdata.pm.in's out_item() is also more widely useful and is therefore moved to OpenSSL::Util as well, and renamed to dump_data(). Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15310)
* Add OpenSSL::Config::Query and use it in configdata.pmRichard Levitte2021-05-041-2/+24
| | | | | | | | | OpenSSL::Config::Query is a configuration querying tool that's meant to make it easier to query the diverse configuration data for info. That's much easier than to dig through all the parts of %unified_info. Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/8871)
* configdata.pm.in, util/dofile.pl: Make a HERE document stricter.Richard Levitte2020-10-271-1/+1
| | | | | | | | | Fixes #13221 Fixes #12743 Fixes #12078 Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/13225)
* configdata.pm.in: Don't try to quotify undefined valuesRichard Levitte2019-12-041-1/+7
| | | | | | | Fixes #10503 Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> (Merged from https://github.com/openssl/openssl/pull/10548)
* configdata.pm.in, util/dofile.pl: load 'platform' unconditionallyRichard Levitte2019-11-291-2/+0
| | | | | | | | | | The 'platform' module handles defaults fine, there's no need to add extra conditions on it being loaded. Fixes #10513 Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/10514)
* confdata.pm.in: New template for configdata.pmRichard Levitte2019-09-121-0/+418
To have the configdata.pm text embedded in Configure was kind of ugly, and becomes clearer if put into a template file, configdata.pm.in. We can then use OpenSSL::Template to generate it. We also modify configdata.pm to be the build file generator, and run it from Configure. The benefit with that is that developers who tinker and play with the build file can do a "factory reset" without having to go through the configuration process, i.e. they can re-use the config data the already have. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9693)