external/postgresql/UnpackedTarball_postgresql.mk |    3 +
 external/postgresql/arm64.patch.1                 |   53 ++++++++++++++++++++++
 2 files changed, 56 insertions(+)

New commits:
commit db8fb941ecc4c6e0279b47e4560b4b285339a17f
Author:     Thorsten Behrens <[email protected]>
AuthorDate: Sun Mar 14 02:24:59 2021 +0100
Commit:     Thorsten Behrens <[email protected]>
CommitDate: Sun Mar 14 18:29:58 2021 +0100

    Fix ARM64 build after postgres upgrade to 13.1
    
    Change-Id: I12bdda6aedd9b7b15423f997fe8c6910d9c9e9d5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112464
    Tested-by: Jenkins
    Reviewed-by: Thorsten Behrens <[email protected]>

diff --git a/external/postgresql/UnpackedTarball_postgresql.mk 
b/external/postgresql/UnpackedTarball_postgresql.mk
index c189b10dcb4b..b941de56822e 100644
--- a/external/postgresql/UnpackedTarball_postgresql.mk
+++ b/external/postgresql/UnpackedTarball_postgresql.mk
@@ -17,8 +17,11 @@ $(eval $(call gb_UnpackedTarball_add_patches,postgresql, \
        external/postgresql/windows.patch.0 \
        external/postgresql/postgresql.exit.patch.0 \
        external/postgresql/postgres-msvc-build.patch.1 \
+       $(if $(filter WNT_ARM64,$(OS)_$(CPUNAME)), 
external/postgresql/arm64.patch.1) \
 ))
 
+ifeq ($(CROSS_COMPILING),)
 $(eval $(call 
gb_UnpackedTarball_add_file,postgresql,src/tools/msvc/config.pl,external/postgresql/config.pl))
+endif
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/postgresql/arm64.patch.1 
b/external/postgresql/arm64.patch.1
new file mode 100644
index 000000000000..7f8f2d6e4137
--- /dev/null
+++ b/external/postgresql/arm64.patch.1
@@ -0,0 +1,53 @@
+diff -ur postgresql.org/src/tools/msvc/Mkvcbuild.pm 
postgresql/src/tools/msvc/Mkvcbuild.pm
+--- postgresql.org/src/tools/msvc/Mkvcbuild.pm 2021-03-14 02:09:15.288060770 
+0100
++++ postgresql/src/tools/msvc/Mkvcbuild.pm     2021-03-14 02:12:22.351726582 
+0100
+@@ -107,13 +107,6 @@
+ 
+       push(@pgportfiles, 'strtof.c') if ($vsVersion < '14.00');
+ 
+-      if ($vsVersion >= '9.00')
+-      {
+-              push(@pgportfiles, 'pg_crc32c_sse42_choose.c');
+-              push(@pgportfiles, 'pg_crc32c_sse42.c');
+-              push(@pgportfiles, 'pg_crc32c_sb8.c');
+-      }
+-      else
+       {
+               push(@pgportfiles, 'pg_crc32c_sb8.c');
+       }
+diff -ur postgresql.org/src/tools/msvc/MSBuildProject.pm 
postgresql/src/tools/msvc/MSBuildProject.pm
+--- postgresql.org/src/tools/msvc/MSBuildProject.pm    2021-03-14 
02:09:15.288060770 +0100
++++ postgresql/src/tools/msvc/MSBuildProject.pm        2021-03-14 
02:12:22.351726582 +0100
+@@ -307,8 +307,7 @@
+         : ($self->{type} eq "dll" ? 'DynamicLibrary' : 'StaticLibrary');
+       my $libs = $self->GetAdditionalLinkerDependencies($cfgname, ';');
+ 
+-      my $targetmachine =
+-        $self->{platform} eq 'Win32' ? 'MachineX86' : 'MachineX64';
++      my $targetmachine = "MachineARM64";
+ 
+       my $includes = $self->{includes};
+       unless ($includes eq '' or $includes =~ /;$/)
+@@ -347,7 +347,6 @@
+       
<ProgramDatabaseFile>.\\$cfgname\\$self->{name}\\$self->{name}.pdb</ProgramDatabaseFile>
+       <GenerateMapFile>false</GenerateMapFile>
+       <MapFileName>.\\$cfgname\\$self->{name}\\$self->{name}.map</MapFileName>
+-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+       <!-- Permit links to MinGW-built, 32-bit DLLs (default before VS2012). 
-->
+       <ImageHasSafeExceptionHandlers/>
+       <SubSystem>Console</SubSystem>
+diff -ur postgresql.org/src/tools/msvc/Solution.pm 
postgresql/src/tools/msvc/Solution.pm
+--- postgresql.org/src/tools/msvc/Solution.pm  2021-03-14 02:09:15.288060770 
+0100
++++ postgresql/src/tools/msvc/Solution.pm      2021-03-14 02:12:22.351726582 
+0100
+@@ -62,10 +62,7 @@
+       if (1) #($^O eq "MSWin32")
+       {
+               # Examine CL help output to determine if we are in 32 or 64-bit 
mode.
+-              my $output = `cl /? 2>&1`;
+-              $? >> 8 == 0 or die "cl command not found";
+-              $self->{platform} =
+-                ($output =~ /^\/favor:<.+AMD64/m) ? 'x64' : 'Win32';
++              $self->{platform} = 'ARM64';
+       }
+       else
+       {
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to