summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorСеменов Герман <GermanAizek@yandex.ru>2024-03-26 12:06:57 +0100
committerTomas Mraz <tomas@openssl.org>2025-01-08 11:13:10 +0100
commitbbd181166391e4e1fd0a647f43b8b239609298ea (patch)
tree38118bb5e5cdaed1cca6608712d41bcf0abad5f1
parentCheck returns of various sk_*_push functions (diff)
downloadopenssl-bbd181166391e4e1fd0a647f43b8b239609298ea.tar.xz
openssl-bbd181166391e4e1fd0a647f43b8b239609298ea.zip
Added configuration for Embarcadero-Borland Clang Compiler 64 (BCC64)
Signed-off-by: Герман Семенов <GermanAizek@yandex.ru> Signed-off-by: Herman Semenov <GermanAizek@yandex.ru> Reviewed-by: Hugo Landau <hlandau@devever.net> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/23377)
-rw-r--r--Configurations/50-cppbuilder.conf59
-rw-r--r--NOTES-WINDOWS.md6
2 files changed, 63 insertions, 2 deletions
diff --git a/Configurations/50-cppbuilder.conf b/Configurations/50-cppbuilder.conf
index f19928cb03..92196857d3 100644
--- a/Configurations/50-cppbuilder.conf
+++ b/Configurations/50-cppbuilder.conf
@@ -58,5 +58,64 @@ my %targets = (
shared_defflag => '',
perl_platform => 'Windows::cppbuilder',
uplink_arch => 'common',
+ },
+ "BC-64" => {
+ inherit_from => [ "BASE_Windows" ],
+ sys_id => "WIN64",
+ bn_ops => "BN_LLONG",
+ thread_scheme => "winthreads",
+ cc => "bcc64",
+ CPP => "cpp64 -oCON -Sc -Sr",
+ defines => add("WIN32_LEAN_AND_MEAN", "OPENSSL_SYS_WIN64",
+ "L_ENDIAN", "DSO_WIN32", "_stricmp=stricmp",
+ "_strnicmp=strnicmp", "_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 'cpp64 -H -S' explains it:
+ #
+ # -Sx Omit preprocessed text in output
+ makedepcmd => "cpp64 -oCON -Sx -Hp",
+ makedep_scheme => "embarcadero",
+
+ LD => "ilink64",
+ LDFLAGS => picker(default => "-x -Gn -q -w-dup",
+ debug => '-j"$(BDS)\lib\win64\debug" ' .
+ '-L"$(BDS)\lib\win64\debug" -v',
+ release => '-j"$(BDS)\lib\win64\release" ' .
+ '-L"$(BDS)\lib\win64\release"'),
+ bin_lflags => "-ap -Tpe c0x64.o wildargs.o",
+ ldoutflag => ",",
+ ldpostoutflag => ",,",
+ ld_resp_delim => " +\n",
+ ex_libs => add(sub {
+ my @ex_libs = ("import64.a",
+ ($disabled{shared}
+ ? ($disabled{threads} ? "cw64.a" : "cw64mt.a")
+ : ($disabled{threads} ? "cw64i.a" : "cw64mti.a")));
+ push @ex_libs, "ws2_32.a" 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 c0d64.o",
+ lddefflag => ",",
+ ldresflag => ",",
+ ld_implib_rule => 'implib -a $< $**',
+ dso_scheme => "win64",
+ shared_defflag => '',
+ perl_platform => 'Windows::cppbuilder',
+ uplink_arch => 'common',
}
);
diff --git a/NOTES-WINDOWS.md b/NOTES-WINDOWS.md
index 21c82e8a76..16105ea041 100644
--- a/NOTES-WINDOWS.md
+++ b/NOTES-WINDOWS.md
@@ -148,8 +148,8 @@ Native builds using Embarcadero C++Builder
=========================================
This toolchain (a descendant of Turbo/Borland C++) is an alternative to MSVC.
-OpenSSL currently includes an experimental 32-bit configuration targeting the
-Clang-based compiler (`bcc32c.exe`) in v10.3.3 Community Edition.
+OpenSSL currently includes experimental 32-bit and 64-bit configurations targeting the
+Clang-based compiler (`bcc32c.exe` and `bcc64.exe`) in v10.3.3 Community Edition.
<https://www.embarcadero.com/products/cbuilder/starter>
1. Install Perl.
@@ -158,6 +158,8 @@ Clang-based compiler (`bcc32c.exe`) in v10.3.3 Community Edition.
3. Go to the root of the OpenSSL source directory and run:
`perl Configure BC-32 --prefix=%CD%`
+ for Win64 builds use:
+ `perl Configure BC-64 --prefix=%CD%`
4. `make -N`