my $postgres;
my $libpq;
-# Set of variables for contrib modules
+# Set of variables for modules in contrib/ and src/test/modules/
my $contrib_defines = { 'refint' => 'REFINT_VERBOSE' };
my @contrib_uselibpq =
('dblink', 'oid2name', 'postgres_fdw', 'vacuumlo');
my $contrib_extrasource = {
'cube' => [ 'contrib\cube\cubescan.l', 'contrib\cube\cubeparse.y' ],
'seg' => [ 'contrib\seg\segscan.l', 'contrib\seg\segparse.y' ], };
-my @contrib_excludes = ('pgcrypto', 'intagg', 'sepgsql');
+my @contrib_excludes = ('pgcrypto', 'commit_ts', 'intagg', 'sepgsql');
# Set of variables for frontend modules
my $frontend_defines = { 'initdb' => 'FRONTEND' };
my $mf = Project::read_file('contrib/pgcrypto/Makefile');
GenerateContribSqlFiles('pgcrypto', $mf);
- opendir($D, 'contrib') || croak "Could not opendir on contrib!\n";
- while (my $d = readdir($D))
+ foreach my $subdir ('contrib', 'src/test/modules')
{
- next if ($d =~ /^\./);
- next unless (-f "contrib/$d/Makefile");
- next if (grep { /^$d$/ } @contrib_excludes);
- AddContrib($d);
+ opendir($D, $subdir) || croak "Could not opendir on $subdir!\n";
+ while (my $d = readdir($D))
+ {
+ next if ($d =~ /^\./);
+ next unless (-f "$subdir/$d/Makefile");
+ next if (grep { /^$d$/ } @contrib_excludes);
+ AddContrib($subdir, $d);
+ }
+ closedir($D);
}
- closedir($D);
$mf =
Project::read_file('src\backend\utils\mb\conversion_procs\Makefile');
# Add a simple contrib project
sub AddContrib
{
+ my $subdir = shift;
my $n = shift;
- my $mf = Project::read_file('contrib\\' . $n . '\Makefile');
+ my $mf = Project::read_file("$subdir/$n/Makefile");
if ($mf =~ /^MODULE_big\s*=\s*(.*)$/mg)
{
my $dn = $1;
my $proj =
- $solution->AddProject($dn, 'dll', 'contrib', 'contrib\\' . $n);
+ $solution->AddProject($dn, 'dll', 'contrib', "$subdir/$n");
$proj->AddReference($postgres);
AdjustContribProj($proj);
}
foreach my $mod (split /\s+/, $1)
{
my $proj =
- $solution->AddProject($mod, 'dll', 'contrib', 'contrib\\' . $n);
- $proj->AddFile('contrib\\' . $n . '\\' . $mod . '.c');
+ $solution->AddProject($mod, 'dll', 'contrib', "$subdir/$n");
+ my $filename = $mod . '.c';
+ $proj->AddFile($subdir . '\\' . $n . '\\' . $mod . '.c');
$proj->AddReference($postgres);
AdjustContribProj($proj);
}
elsif ($mf =~ /^PROGRAM\s*=\s*(.*)$/mg)
{
my $proj =
- $solution->AddProject($1, 'exe', 'contrib', 'contrib\\' . $n);
+ $solution->AddProject($1, 'exe', 'contrib', "$subdir/$n");
AdjustContribProj($proj);
}
else