diff options
author | Семенов Герман <GermanAizek@yandex.ru> | 2024-03-26 12:06:57 +0100 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2025-01-08 11:13:10 +0100 |
commit | bbd181166391e4e1fd0a647f43b8b239609298ea (patch) | |
tree | 38118bb5e5cdaed1cca6608712d41bcf0abad5f1 | |
parent | Check returns of various sk_*_push functions (diff) | |
download | openssl-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.conf | 59 | ||||
-rw-r--r-- | NOTES-WINDOWS.md | 6 |
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` |