From 70df2df1cc89e69e31b31b6aa0d65fd72935af38 Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Mon, 19 Sep 2022 15:34:50 -0700 Subject: Extend gendef.pl in preparation for meson The main issue with using gendef.pl as-is for meson is that with meson the filenames are a bit longer, exceeding the max commandline length when calling dumpbin with all objects. As it's easier to pass in a library anyway, do so. The .def file location, input and temporary file location need to be tunable as well. This also fixes a bug in gendef.pl: The logic when to regenerate was broken and never avoid regenerating. Author: Andres Freund Reviewed-By: Peter Eisentraut Discussion: https://postgr.es/m/20220809071055.rgikv3qn74ypnnbb@awork3.anarazel.de Discussion: https://postgr.es/m/7dae5979-c6c0-cec5-7a36-76a85aa8053d@enterprisedb.com --- src/tools/msvc/MSBuildProject.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/tools/msvc/MSBuildProject.pm') diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm index 594729ceb7d..58590fdac29 100644 --- a/src/tools/msvc/MSBuildProject.pm +++ b/src/tools/msvc/MSBuildProject.pm @@ -312,6 +312,8 @@ sub WriteItemDefinitionGroup my $targetmachine = $self->{platform} eq 'Win32' ? 'MachineX86' : 'MachineX64'; + my $arch = + $self->{platform} eq 'Win32' ? 'x86' : 'x86_64'; my $includes = join ';', @{ $self->{includes} }, ""; @@ -380,7 +382,7 @@ EOF print $f < Generate DEF file - perl src\\tools\\msvc\\gendef.pl $cfgname\\$self->{name} $self->{platform} + perl src\\tools\\msvc\\gendef.pl --arch $arch --deffile $cfgname\\$self->{name}\\$self->{name}.def $cfgname\\$self->{name} EOF } -- cgit v1.2.3