diff options
author | Everton Constantino <everton.constantino@linaro.org> | 2022-10-27 15:07:48 -0300 |
---|---|---|
committer | Hugo Landau <hlandau@openssl.org> | 2022-11-24 06:37:39 +0000 |
commit | 0703f3f9dff447a98cba53a06278ba8c82d466ce (patch) | |
tree | 55edc8f452a942c2cd8f116c03353a03634e59a3 /Configurations | |
parent | bf8365842f27ebb7cbef3b24903248011b1574d9 (diff) |
Add two new build targets to enable the possibility of using clang-cl as
an assembler for Windows on Arm builds and also clang-cl as the compiler
as well. Make appropriate changes to armcap source and peralsm scripts.
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19523)
(cherry picked from commit b863e1e4c69068e4166bdfbbf9f04bb07991dd40)
Diffstat (limited to 'Configurations')
-rw-r--r-- | Configurations/50-win-clang-cl.conf | 35 | ||||
-rw-r--r-- | Configurations/windows-makefile.tmpl | 2 |
2 files changed, 36 insertions, 1 deletions
diff --git a/Configurations/50-win-clang-cl.conf b/Configurations/50-win-clang-cl.conf new file mode 100644 index 0000000000..cfc96ef159 --- /dev/null +++ b/Configurations/50-win-clang-cl.conf @@ -0,0 +1,35 @@ +## -*- mode: perl; -*- +# Windows on Arm clang-cl targets. +# + +my %targets = ( + "VC-WIN64-CLANGASM-ARM" => { + inherit_from => [ "VC-noCE-common" ], + defines => add("_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE", + "OPENSSL_SYS_WIN_CORE"), + bn_ops => "SIXTY_FOUR_BIT RC4_CHAR", + multilib => "-arm64", + asm_arch => "aarch64", + AS => "clang-cl.exe", + ASFLAGS => "/nologo /Zi", + asflags => "/c", + asoutflag => "/Fo", + perlasm_scheme => "win64", + uplink_arch => 'armv8', + }, + "VC-CLANG-WIN64-CLANGASM-ARM" => { + CC => "clang-cl", + inherit_from => [ "VC-noCE-common" ], + defines => add("_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE", + "OPENSSL_SYS_WIN_CORE"), + bn_ops => "SIXTY_FOUR_BIT RC4_CHAR", + multilib => "-arm64", + asm_arch => "aarch64", + AS => "clang-cl.exe", + ASFLAGS => "/nologo /Zi", + asflags => "/c", + asoutflag => "/Fo", + perlasm_scheme => "win64", + uplink_arch => 'armv8', + }, +); diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl index 5d41af41bc..f9c58eae94 100644 --- a/Configurations/windows-makefile.tmpl +++ b/Configurations/windows-makefile.tmpl @@ -780,7 +780,7 @@ EOF } return <<"EOF"; $target: "$gen0" $deps - \$(CPP) $incs $cppflags $defs "$gen0" > \$@.i + \$(CPP) /D__ASSEMBLER__ $incs $cppflags $defs "$gen0" > \$@.i move /Y \$@.i \$@ EOF } elsif ($gen0 =~ m|^.*\.in$|) { |