mirror of
https://github.com/openssl/openssl.git
synced 2024-12-09 05:51:54 +08:00
2e535eb50a
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)
63 lines
2.8 KiB
Plaintext
63 lines
2.8 KiB
Plaintext
my %targets = (
|
|
"BC-32" => {
|
|
inherit_from => [ "BASE_Windows" ],
|
|
sys_id => "WIN32",
|
|
bn_ops => "BN_LLONG",
|
|
thread_scheme => "winthreads",
|
|
cc => "bcc32c",
|
|
CPP => "cpp32 -oCON -Sc -Sr",
|
|
defines => add("WIN32_LEAN_AND_MEAN", "OPENSSL_SYS_WIN32",
|
|
"L_ENDIAN", "DSO_WIN32", "_stricmp=stricmp",
|
|
"_strnicmp=strnicmp", "_malloca=malloc",
|
|
"_freea=free", "_setmode=setmode"),
|
|
cflags => picker(default => add("-q -c",
|
|
threads("-tM"),
|
|
shared("-tR")),
|
|
debug => "-Od -v -vi- -D_DEBUG",
|
|
release => "-O2"),
|
|
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" ' .
|
|
'-L"$(BDS)\lib\win32c\debug" -v',
|
|
release => '-j"$(BDS)\lib\win32c\release" ' .
|
|
'-L"$(BDS)\lib\win32c\release"'),
|
|
bin_lflags => "-ap -Tpe c0x32.obj wildargs.obj",
|
|
ldoutflag => ",",
|
|
ldpostoutflag => ",,",
|
|
ld_resp_delim => " +\n",
|
|
ex_libs => add(sub {
|
|
my @ex_libs = ("import32.lib",
|
|
($disabled{shared}
|
|
? ($disabled{threads} ? "cw32.lib" : "cw32mt.lib")
|
|
: ($disabled{threads} ? "cw32i.lib" : "cw32mti.lib")));
|
|
push @ex_libs, "ws2_32.lib" unless $disabled{sock};
|
|
return join(" ", @ex_libs);
|
|
}),
|
|
AR => "tlib",
|
|
ARFLAGS => "/P256 /N /u",
|
|
ar_resp_delim => " &\n",
|
|
RC => "brcc32",
|
|
RCFLAGS => '-i"$(BDS)\include\windows\sdk"',
|
|
rcoutflag => "-fo",
|
|
shared_target => "win-shared",
|
|
shared_ldflag => "-aa -Tpd c0d32.obj",
|
|
lddefflag => ",",
|
|
ldresflag => ",",
|
|
ld_implib_rule => 'implib -a $< $**',
|
|
dso_scheme => "win32",
|
|
shared_defflag => '',
|
|
perl_platform => 'Windows::cppbuilder',
|
|
uplink_arch => 'common',
|
|
}
|
|
);
|