Configuration: rework how dependency making is handled
authorRichard Levitte <levitte@openssl.org>
Mon, 26 Apr 2021 07:17:05 +0000 (09:17 +0200)
committerRichard Levitte <levitte@openssl.org>
Wed, 28 Apr 2021 19:35:26 +0000 (21:35 +0200)
commit2e535eb50aa9c6b73c796f668e1aef8bc17f14c4
tree0142e28aa342ecc6cdb3fbdf01446544222f9609
parent0bd138b8c36c7e8e504beb2c12a2771929c24cfb
Configuration: rework how dependency making is handled

Previously, we had dependency making pretty much hard coded in the
build file templates, with a bit of an exception for Unix family
platforms, where we had different cases depending on what dependency
making program was found.

With the Embarcadero C++ builder, a separate scheme appeared, with a
different logic.

This change merges the two, and introduces two config target
attributes:

    makedepcmd          The program to use, where this is relevant.
                        This replaces the earlier configuration
                        attribute 'makedepprog'.
    makedep_scheme      This is a keyword that can be used by build
                        files templates to produce different sorts of
                        commands, but most importantly, to pass as
                        argument to util/add-depend.pl, which uses
                        this keyword as a "producer" for the
                        dependency lines.

If the config target doesn't define the 'makedep_scheme' attribute,
Configure tries to figure it out by looking for GCC compatible
compilers or for the 'makedepend' command.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/15006)
Configurations/10-main.conf
Configurations/50-cppbuilder.conf
Configurations/descrip.mms.tmpl
Configurations/platform/Unix.pm
Configurations/platform/mingw.pm
Configurations/unix-Makefile.tmpl
Configurations/windows-makefile.tmpl
Configure
util/add-depends.pl