summaryrefslogtreecommitdiffstats
path: root/Configurations/50-cppbuilder.conf
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2021-04-26 09:17:05 +0200
committerRichard Levitte <levitte@openssl.org>2021-04-28 21:35:26 +0200
commit2e535eb50aa9c6b73c796f668e1aef8bc17f14c4 (patch)
tree0142e28aa342ecc6cdb3fbdf01446544222f9609 /Configurations/50-cppbuilder.conf
parent0bd138b8c36c7e8e504beb2c12a2771929c24cfb (diff)
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)
Diffstat (limited to 'Configurations/50-cppbuilder.conf')
-rw-r--r--Configurations/50-cppbuilder.conf11
1 files changed, 7 insertions, 4 deletions
diff --git a/Configurations/50-cppbuilder.conf b/Configurations/50-cppbuilder.conf
index fad905267b..f19928cb03 100644
--- a/Configurations/50-cppbuilder.conf
+++ b/Configurations/50-cppbuilder.conf
@@ -6,10 +6,6 @@ my %targets = (
thread_scheme => "winthreads",
cc => "bcc32c",
CPP => "cpp32 -oCON -Sc -Sr",
- # -Sx isn't documented, but 'cpp32 -H -S' explains it:
- #
- # -Sx Omit preprocessed text in output
- make_depend => "cpp32 -oCON -Sx -Hp",
defines => add("WIN32_LEAN_AND_MEAN", "OPENSSL_SYS_WIN32",
"L_ENDIAN", "DSO_WIN32", "_stricmp=stricmp",
"_strnicmp=strnicmp", "_malloca=malloc",
@@ -22,6 +18,13 @@ my %targets = (
bin_cflags => "-tWC",
lib_cflags => shared("-tWD -D_WINDLL -D_DLL"),
coutflag => "-o",
+
+ # -Sx isn't documented, but 'cpp32 -H -S' explains it:
+ #
+ # -Sx Omit preprocessed text in output
+ makedepcmd => "cpp32 -oCON -Sx -Hp",
+ makedep_scheme => "embarcadero",
+
LD => "ilink32",
LDFLAGS => picker(default => "-x -Gn -q -w-dup",
debug => '-j"$(BDS)\lib\win32c\debug" ' .