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

Commit73c1c04

Browse files
committed
Attempt to fix pg_pathman build for Win32
1 parentcd8968c commit73c1c04

File tree

1 file changed

+86
-40
lines changed

1 file changed

+86
-40
lines changed

‎src/tools/msvc/Mkvcbuild.pm

Lines changed: 86 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -793,6 +793,10 @@ sub AddContrib
793793
my$proj =$solution->AddProject($1,'exe','contrib',"$subdir/$n");
794794
AdjustContribProj($proj);
795795
}
796+
elsif ($mf =~/^DATA_TSEARCH\s*=\s*(.*)$/mg)
797+
{
798+
# This is ispell dictionary project
799+
}
796800
else
797801
{
798802
croak"Could not determine contrib module type for$n\n";
@@ -802,50 +806,92 @@ sub AddContrib
802806
GenerateContribSqlFiles($n,$mf);
803807
}
804808

805-
subGenerateContribSqlFiles
806-
{
807-
my$n =shift;
808-
my$mf =shift;
809-
$mf =~s{\\\r?\n}{}g;
810-
if ($mf =~/^DATA_built\s*=\s*(.*)$/mg)
811-
{
812-
my$l =$1;
813-
814-
# Strip out $(addsuffix) rules
815-
if (index($l,'$(addsuffix') >= 0)
816-
{
817-
my$pcount = 0;
818-
my$i;
819-
for ($i =index($l,'$(addsuffix') + 12;$i <length($l);$i++)
820-
{
821-
$pcount++if (substr($l,$i, 1)eq'(');
822-
$pcount--if (substr($l,$i, 1)eq')');
823-
lastif ($pcount < 0);
809+
subSubstituteMakefileVariables {
810+
local$_ =shift;# Line to substitue
811+
my$mf =shift;# Makefile text
812+
while (/\$\((\w+)\)/) {
813+
my$varname =$1;
814+
if ($mf =~/^$varname\s*=\s*(.*)$/mg) {
815+
my$varvalue=$1;
816+
s/\$\($varname\)/$varvalue/g;
824817
}
825-
$l =
826-
substr($l, 0,index($l,'$(addsuffix')) .substr($l,$i + 1);
827-
}
828-
829-
foreachmy$d (split /\s+/,$l)
830-
{
831-
my$in ="$d.in";
832-
my$out ="$d";
818+
}
819+
return$_;
820+
}
833821

834-
if (Solution::IsNewer("contrib/$n/$out","contrib/$n/$in"))
835-
{
836-
print"Building$out from$in (contrib/$n)...\n";
837-
my$cont = Project::read_file("contrib/$n/$in");
838-
my$dn =$out;
839-
$dn =~s/\.sql$//;
840-
$cont =~s/MODULE_PATHNAME/\$libdir\/$dn/g;
822+
subGenerateContribSqlFiles
823+
{
824+
my$n =shift;
825+
my$mf =shift;
826+
$mf =~s{\\\r?\n}{}g;
827+
if ($mf =~/^DATA_built\s*=\s*(.*)$/mg)
828+
{
829+
my$l =$1;
830+
# Strip out $(addsuffix) rules
831+
if (index($l,'$(addsuffix') >= 0)
832+
{
833+
my$pcount = 0;
834+
my$i;
835+
for ($i =index($l,'$(addsuffix') + 12;$i <length($l);$i++)
836+
{
837+
$pcount++if (substr($l,$i, 1)eq'(');
838+
$pcount--if (substr($l,$i, 1)eq')');
839+
lastif ($pcount < 0);
840+
}
841+
$l =
842+
substr($l, 0,index($l,'$(addsuffix')) .substr($l,$i + 1);
843+
}
844+
# perform variable substitutions in the makefile
845+
$l = SubstituteMakefileVariables($l,$mf);
846+
foreachmy$d (split /\s+/,$l)
847+
{
848+
printSTDERR"Generating file$d\n";
849+
if (-f"$d.in" ) {
850+
my$in ="$d.in";
851+
my$out ="$d";
852+
if (Solution::IsNewer("contrib/$n/$out","contrib/$n/$in"))
853+
{
854+
print"Building$out from$in (contrib/$n)...\n";
855+
my$cont = Project::read_file("contrib/$n/$in");
856+
my$dn =$out;
857+
$dn =~s/\.sql$//;
858+
$cont =~s/MODULE_PATHNAME/\$libdir\/$dn/g;
859+
my$o;
860+
open($o,">contrib/$n/$out")
861+
|| croak"Could not write to contrib/$n/$d";
862+
print$o$cont;
863+
close($o);
864+
}
865+
}else {
866+
# Search for makefile rule.
867+
# For now we do not process rule command and assume
868+
# that we should just concatenate all prerequisites
869+
#
870+
my@prereq = ();
871+
my$target;
872+
my@rules =$mf =~/^(\S+)\s*:\s*([^=].*)$/mg;
873+
RULE:
874+
while (@rules) {
875+
$target = SubstituteMakefileVariables(shift@rules,$mf);
876+
@prereq =split(/\s+/,SubstituteMakefileVariables(shift@rules,$mf));
877+
last RULEif ($targeteq$d);
878+
@prereq = ();
879+
}
880+
croak"Don't know how to build contrib/$n/$d"unless@prereq;
881+
printSTDERR"building$d from@prereq\n";
841882
my$o;
842-
open($o,">contrib/$n/$out")
843-
|| croak"Could not write to contrib/$n/$d";
844-
print$o$cont;
845-
close($o);
883+
open$o,">contrib/$n/$d"
884+
or croak("Couldn't write to contrib/$n/$d:$!");
885+
formy$in (@prereq) {
886+
my$data = Project::read_file("contrib/$n/$in");
887+
print$o$data;
888+
close$i;
889+
}
890+
close$o;
891+
846892
}
847-
}
848-
}
893+
}
894+
}
849895
}
850896

851897
subAdjustContribProj

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp