Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit91f03ba

Browse files
committed
MSVC: Recognize PGFILEDESC in contrib and conversion_procs modules.
Achieve this by consistently using four-argument Solution::AddProject()calls. Remove ad hoc Makefile parsing made redundant by doing that.Michael Paquier and Noah Misch, reviewed by MauMau.
1 parent52be3aa commit91f03ba

File tree

2 files changed

+16
-56
lines changed

2 files changed

+16
-56
lines changed

‎src/tools/msvc/Mkvcbuild.pm

Lines changed: 14 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -474,8 +474,10 @@ sub mkvcbuild
474474
push@contrib_excludes,'uuid-ossp';
475475
}
476476

477-
# Pgcrypto makefile too complex to parse....
478-
my$pgcrypto =$solution->AddProject('pgcrypto','dll','crypto');
477+
# AddProject() does not recognize the constructs used to populate OBJS in
478+
# the pgcrypto Makefile, so it will discover no files.
479+
my$pgcrypto =
480+
$solution->AddProject('pgcrypto','dll','crypto','contrib\\pgcrypto');
479481
$pgcrypto->AddFiles(
480482
'contrib\pgcrypto','pgcrypto.c',
481483
'px.c','px-hmac.c',
@@ -527,18 +529,9 @@ sub mkvcbuild
527529
||die'Could not match in conversion makefile' ."\n";
528530
foreachmy$sub (split /\s+/,$1)
529531
{
530-
my$mf = Project::read_file(
531-
'src\backend\utils\mb\conversion_procs\\' .$sub .'\Makefile');
532-
my$p =$solution->AddProject($sub,'dll','conversion procs');
533-
$p->AddFile('src\backend\utils\mb\conversion_procs\\'
534-
.$sub .'\\'
535-
.$sub
536-
.'.c');
537-
if ($mf =~m{^SRCS\s*\+=\s*(.*)$}m)
538-
{
539-
$p->AddFile(
540-
'src\backend\utils\mb\conversion_procs\\' .$sub .'\\' .$1);
541-
}
532+
my$dir ='src\backend\utils\mb\conversion_procs\\' .$sub;
533+
my$p =$solution->AddProject($sub,'dll','conversion procs',$dir);
534+
$p->AddFile("$dir\\$sub.c");# implicit source file
542535
$p->AddReference($postgres);
543536
}
544537

@@ -646,62 +639,26 @@ sub AddContrib
646639
if ($mf =~/^MODULE_big\s*=\s*(.*)$/mg)
647640
{
648641
my$dn =$1;
649-
$mf =~s{\\\s*[\r\n]+}{}mg;
650-
my$proj =$solution->AddProject($dn,'dll','contrib');
651-
$mf =~/^OBJS\s*=\s*(.*)$/gm
652-
|| croak"Could not find objects in MODULE_big for$n\n";
653-
my$objs =$1;
654-
while ($objs =~/\b([\w-]+\.o)\b/g)
655-
{
656-
my$o =$1;
657-
$o =~s/\.o$/.c/;
658-
$proj->AddFile('contrib\\' .$n .'\\' .$o);
659-
}
642+
my$proj =
643+
$solution->AddProject($dn,'dll','contrib','contrib\\' .$n);
660644
$proj->AddReference($postgres);
661-
if ($mf =~/^SUBDIRS\s*:?=\s*(.*)$/mg)
662-
{
663-
foreachmy$d (split /\s+/,$1)
664-
{
665-
my$mf2 = Project::read_file(
666-
'contrib\\' .$n .'\\' .$d .'\Makefile');
667-
$mf2 =~s{\\\s*[\r\n]+}{}mg;
668-
$mf2 =~/^SUBOBJS\s*=\s*(.*)$/gm
669-
|| croak
670-
"Could not find objects in MODULE_big for$n, subdir$d\n";
671-
$objs =$1;
672-
while ($objs =~/\b([\w-]+\.o)\b/g)
673-
{
674-
my$o =$1;
675-
$o =~s/\.o$/.c/;
676-
$proj->AddFile('contrib\\' .$n .'\\' .$d .'\\' .$o);
677-
}
678-
}
679-
}
680645
AdjustContribProj($proj);
681646
}
682647
elsif ($mf =~/^MODULES\s*=\s*(.*)$/mg)
683648
{
684649
foreachmy$mod (split /\s+/,$1)
685650
{
686-
my$proj =$solution->AddProject($mod,'dll','contrib');
651+
my$proj =
652+
$solution->AddProject($mod,'dll','contrib','contrib\\' .$n);
687653
$proj->AddFile('contrib\\' .$n .'\\' .$mod .'.c');
688654
$proj->AddReference($postgres);
689655
AdjustContribProj($proj);
690656
}
691657
}
692658
elsif ($mf =~/^PROGRAM\s*=\s*(.*)$/mg)
693659
{
694-
my$proj =$solution->AddProject($1,'exe','contrib');
695-
$mf =~s{\\\s*[\r\n]+}{}mg;
696-
$mf =~/^OBJS\s*=\s*(.*)$/gm
697-
|| croak"Could not find objects in PROGRAM for$n\n";
698-
my$objs =$1;
699-
while ($objs =~/\b([\w-]+\.o)\b/g)
700-
{
701-
my$o =$1;
702-
$o =~s/\.o$/.c/;
703-
$proj->AddFile('contrib\\' .$n .'\\' .$o);
704-
}
660+
my$proj =
661+
$solution->AddProject($1,'exe','contrib','contrib\\' .$n);
705662
AdjustContribProj($proj);
706663
}
707664
else
@@ -717,6 +674,7 @@ sub GenerateContribSqlFiles
717674
{
718675
my$n =shift;
719676
my$mf =shift;
677+
$mf =~s{\\\s*[\r\n]+}{}mg;
720678
if ($mf =~/^DATA_built\s*=\s*(.*)$/mg)
721679
{
722680
my$l =$1;

‎src/tools/msvc/clean.bat

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ if exist pgsql.suo del /q /a:H pgsql.suo
1919
del /s /q src\bin\win32ver.rc2>NUL
2020
del /s /q src\interfaces\win32ver.rc2>NUL
2121
ifexist src\backend\win32ver.rcdel /q src\backend\win32ver.rc
22+
for /d%%fin (contrib\*)doifexist%%f\win32ver.rcdel /q%%f\win32ver.rc
23+
for /d%%fin (src\backend\utils\mb\conversion_procs\*)doifexist%%f\win32ver.rcdel /q%%f\win32ver.rc
2224

2325
REM Delete files created with GenerateFiles() in Solution.pm
2426
ifexist src\include\pg_config.hdel /q src\include\pg_config.h

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp