diff options
author | Magnus Hagander | 2007-08-21 15:10:41 +0000 |
---|---|---|
committer | Magnus Hagander | 2007-08-21 15:10:41 +0000 |
commit | 5e820dcf147e2e8e367753473b649c9e61aab60b (patch) | |
tree | f1061b512f7592685ecb24f7bc6f181120b9f48f | |
parent | 8000a5acf7ffbeac3c83f4f6b5729444e8d0f6dc (diff) |
Build snowball DLL for tsearch-in-core.
(Still needs to build the .sql output files, but this handles the C part
of the build)
-rw-r--r-- | src/tools/msvc/Mkvcbuild.pm | 7 | ||||
-rw-r--r-- | src/tools/msvc/Project.pm | 13 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm index ca2c590653..b7feea8f73 100644 --- a/src/tools/msvc/Mkvcbuild.pm +++ b/src/tools/msvc/Mkvcbuild.pm @@ -70,6 +70,13 @@ sub mkvcbuild $postgres->AddLibrary('wldap32.lib') if ($solution->{options}->{ldap}); $postgres->FullExportDLL('postgres.lib'); + my $snowball = $solution->AddProject('dict_snowball','dll','','src\backend\snowball'); + $snowball->RelocateFiles('src\backend\snowball\libstemmer', sub { + return shift !~ /dict_snowball.c$/; + }); + $snowball->AddIncludeDir('src\include\snowball'); + $snowball->AddReference($postgres); + my $plpgsql = $solution->AddProject('plpgsql','dll','PLs','src\pl\plpgsql\src'); $plpgsql->AddFiles('src\pl\plpgsql\src','scan.l','gram.y'); $plpgsql->AddReference($postgres); diff --git a/src/tools/msvc/Project.pm b/src/tools/msvc/Project.pm index 23a64149b1..a81c3a27a3 100644 --- a/src/tools/msvc/Project.pm +++ b/src/tools/msvc/Project.pm @@ -8,6 +8,7 @@ package Project; use Carp; use strict; use warnings; +use File::Basename; sub new { @@ -96,6 +97,18 @@ sub RemoveFile confess("Could not find file $filename to remove\n"); } +sub RelocateFiles +{ + my ($self, $targetdir, $proc) = @_; + foreach my $f (keys %{$self->{files}}) { + my $r = &$proc($f); + if ($r) { + $self->RemoveFile($f); + $self->AddFile($targetdir . '\\' . basename($f)); + } + } +} + sub AddReference { my $self = shift; |