From 20737bb180402c615aa9a67cc4e06b29bdc531d9 Mon Sep 17 00:00:00 2001 From: Justin Pryzby Date: Thu, 26 May 2022 22:24:41 -0500 Subject: [PATCH 15/23] another way to install uri_regress/testclient This reverts commit a17fd67d2f2861ae0ce00d1aeefdf2facc47cd5e. TODO: partially revert 6b04abdfc5e0653542ac5d586e639185a8c61a39 See also: a17fd67d2f2861ae0ce00d1aeefdf2facc47cd5e https://www.postgresql.org/message-id/20220416144454.GX26620%40telsasoft.com https://www.postgresql.org/message-id/20220223211606.ikcwoolsz2nohsw6%40alap3.anarazel.de TODO: doc/src/sgml/extend.sgml ci-os-only: linux, windows --- src/interfaces/libpq/test/Makefile | 8 +++---- src/tools/msvc/Mkvcbuild.pm | 36 +++++++++++++----------------- 2 files changed, 19 insertions(+), 25 deletions(-) diff --git a/src/interfaces/libpq/test/Makefile b/src/interfaces/libpq/test/Makefile index 75ac08f943d..91c8d87d528 100644 --- a/src/interfaces/libpq/test/Makefile +++ b/src/interfaces/libpq/test/Makefile @@ -14,11 +14,11 @@ endif override CPPFLAGS := -I$(libpq_srcdir) $(CPPFLAGS) LDFLAGS_INTERNAL += $(libpq_pgport) -PROGS = libpq_testclient libpq_uri_regress +PROGRAMS = libpq_testclient libpq_uri_regress -all: $(PROGS) +all: $(PROGRAMS) -$(PROGS): $(WIN32RES) +$(PROGRAMS): $(WIN32RES) clean distclean maintainer-clean: - rm -f $(PROGS) *.o + rm -f $(PROGRAMS) *.o diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm index 098bc3f1b09..5277ef068f1 100644 --- a/src/tools/msvc/Mkvcbuild.pm +++ b/src/tools/msvc/Mkvcbuild.pm @@ -36,11 +36,14 @@ my @unlink_on_exit; # Set of variables for modules in contrib/ and src/test/modules/ my @contrib_uselibpq = (); -my @contrib_uselibpgport = (); +my @contrib_uselibpgport = ('libpq_uri_regress', 'libpq_testclient'); my @contrib_uselibpgcommon = (); my $contrib_extralibs = { 'libpq_pipeline' => ['ws2_32.lib'] }; my $contrib_extraincludes = {}; -my $contrib_extrasource = {}; +my $contrib_extrasource = { + 'libpq_uri_regress' => ['src/interfaces/libpq/test/libpq_uri_regress.c'], + 'libpq_testclient' => ['src/interfaces/libpq/test/libpq_testclient.c'], +}; my @contrib_excludes = ( 'bool_plperl', 'commit_ts', 'hstore_plperl', 'hstore_plpython', @@ -289,24 +292,6 @@ sub mkvcbuild $libpqwalreceiver->AddIncludeDir('src/interfaces/libpq'); $libpqwalreceiver->AddReference($postgres, $libpq); - my $libpq_testclient = - $solution->AddProject('libpq_testclient', 'exe', 'misc', - 'src/interfaces/libpq/test'); - $libpq_testclient->AddFile( - 'src/interfaces/libpq/test/libpq_testclient.c'); - $libpq_testclient->AddIncludeDir('src/interfaces/libpq'); - $libpq_testclient->AddReference($libpgport, $libpq); - $libpq_testclient->AddLibrary('ws2_32.lib'); - - my $libpq_uri_regress = - $solution->AddProject('libpq_uri_regress', 'exe', 'misc', - 'src/interfaces/libpq/test'); - $libpq_uri_regress->AddFile( - 'src/interfaces/libpq/test/libpq_uri_regress.c'); - $libpq_uri_regress->AddIncludeDir('src/interfaces/libpq'); - $libpq_uri_regress->AddReference($libpgport, $libpq); - $libpq_uri_regress->AddLibrary('ws2_32.lib'); - my $pgoutput = $solution->AddProject('pgoutput', 'dll', '', 'src/backend/replication/pgoutput'); $pgoutput->AddReference($postgres); @@ -478,7 +463,7 @@ sub mkvcbuild push @contrib_excludes, 'uuid-ossp'; } - foreach my $subdir ('contrib', 'src/test/modules') + foreach my $subdir ('contrib', 'src/test/modules', 'src/interfaces/libpq') { opendir($D, $subdir) || croak "Could not opendir on $subdir!\n"; while (my $d = readdir($D)) @@ -989,6 +974,15 @@ sub AddContrib AdjustContribProj($proj); push @projects, $proj; } + elsif ($mf =~ /^PROGRAMS\s*=\s*(.*)$/mg) + { + foreach my $proj (split /\s+/, $1) + { + my $p = $solution->AddProject($proj, 'exe', 'contrib', "$subdir/$n"); + AdjustContribProj($p); + push @projects, $p; + } + } else { croak "Could not determine contrib module type for $n\n"; -- 2.17.1