From 8b78428fc0a6079e5ca8d0e9b50375bd0439e351 Mon Sep 17 00:00:00 2001 From: Andrew Dunstan <andrew@dunslane.net> Date: Fri, 5 Jun 2009 18:29:56 +0000 Subject: [PATCH] Search for versioned perl library instead of using hardcoded name on Windows. Backpatch to release 8.3 --- src/pl/plperl/GNUmakefile | 5 +++-- src/tools/msvc/Mkvcbuild.pm | 16 +++++++++------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/pl/plperl/GNUmakefile b/src/pl/plperl/GNUmakefile index a0bb140034a..1e27a5d8c26 100644 --- a/src/pl/plperl/GNUmakefile +++ b/src/pl/plperl/GNUmakefile @@ -1,5 +1,5 @@ # Makefile for PL/Perl -# $PostgreSQL: pgsql/src/pl/plperl/GNUmakefile,v 1.36 2008/10/02 08:11:11 petere Exp $ +# $PostgreSQL: pgsql/src/pl/plperl/GNUmakefile,v 1.37 2009/06/05 18:29:56 adunstan Exp $ subdir = src/pl/plperl top_builddir = ../../.. @@ -19,7 +19,8 @@ ifneq (,$(findstring yes, $(shared_libperl)$(allow_nonpic_in_shlib))) ifeq ($(PORTNAME), win32) perl_archlibexp := $(subst \,/,$(perl_archlibexp)) perl_privlibexp := $(subst \,/,$(perl_privlibexp)) -perl_embed_ldflags = -L$(perl_archlibexp)/CORE -lperl58 +perl_lib := $(basename $(notdir $(wildcard $(perl_archlibexp)/CORE/perl[5-9]*.lib))) +perl_embed_ldflags = -L$(perl_archlibexp)/CORE -l$(perl_lib) override CPPFLAGS += -DPLPERL_HAVE_UID_GID # Perl on win32 contains /* within comment all over the header file, # so disable this warning. diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm index 6b1106288de..b5d965ba677 100644 --- a/src/tools/msvc/Mkvcbuild.pm +++ b/src/tools/msvc/Mkvcbuild.pm @@ -3,7 +3,7 @@ package Mkvcbuild; # # Package that generates build files for msvc build # -# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.39 2009/04/07 19:35:57 mha Exp $ +# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.40 2009/06/05 18:29:56 adunstan Exp $ # use Carp; use Win32; @@ -104,14 +104,16 @@ sub mkvcbuild } } $plperl->AddReference($postgres); - if (-e $solution->{options}->{perl} . '\lib\CORE\perl510.lib') + my @perl_libs = grep {/perl\d+.lib$/ } + glob($solution->{options}->{perl} . '\lib\CORE\perl*.lib'); + if (@perl_libs == 1) { - $plperl->AddLibrary($solution->{options}->{perl} . '\lib\CORE\perl510.lib'); - } - else - { - $plperl->AddLibrary($solution->{options}->{perl} . '\lib\CORE\perl58.lib'); + $plperl->AddLibrary($perl_libs[0]); } + else + { + die "could not identify perl library version"; + } } if ($solution->{options}->{python}) -- GitLab