]> granicus.if.org Git - postgresql/commitdiff
Fix generation of snowball_create.sql on msvc builds.
authorMagnus Hagander <magnus@hagander.net>
Mon, 27 Aug 2007 10:29:49 +0000 (10:29 +0000)
committerMagnus Hagander <magnus@hagander.net>
Mon, 27 Aug 2007 10:29:49 +0000 (10:29 +0000)
src/backend/snowball/Makefile
src/tools/msvc/Install.pm

index fdfe895ba597f24a7d389e95654eed150f300ee6..e09d332e787dad4e5b41c21c13265d485c38b48a 100644 (file)
@@ -2,7 +2,7 @@
 #
 # Makefile for src/backend/snowball
 #
-# $PostgreSQL: pgsql/src/backend/snowball/Makefile,v 1.2 2007/08/25 01:06:24 tgl Exp $
+# $PostgreSQL: pgsql/src/backend/snowball/Makefile,v 1.3 2007/08/27 10:29:49 mha Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -64,7 +64,7 @@ LANGUAGES=  \
        russian         english         \
        spanish         spanish         \
        swedish         swedish         \
-       turkish         turkish         \
+       turkish         turkish
 
 
 SQLSCRIPT= snowball_create.sql
index e8980c2dd6f086fe765fae22d4ebc568c1d6c380..8624eed3d6e59b25413dd83e92fbf4c0930a2da7 100644 (file)
@@ -3,7 +3,7 @@ package Install;
 #
 # Package that provides 'make install' functionality for msvc builds
 #
-# $PostgreSQL: pgsql/src/tools/msvc/Install.pm,v 1.16 2007/06/12 11:07:34 mha Exp $
+# $PostgreSQL: pgsql/src/tools/msvc/Install.pm,v 1.17 2007/08/27 10:29:49 mha Exp $
 #
 use strict;
 use warnings;
@@ -64,6 +64,7 @@ sub Install
     );
     GenerateConversionScript($target);
     GenerateTimezoneFiles($target,$conf);
+    GenerateTsearchFiles($target);
     CopyContribFiles($config,$target);
     CopyIncludeFiles($target);
 
@@ -216,6 +217,45 @@ sub GenerateTimezoneFiles
     print "\n";
 }
 
+sub GenerateTsearchFiles
+{
+    my $target = shift;
+
+    print "Generating tsearch script...";
+    my $F;
+    my $tmpl = read_file('src/backend/snowball/snowball.sql.in');
+    my $mf = read_file('src/backend/snowball/Makefile');
+    $mf =~ s{\\\s*[\r\n]+}{}mg;
+    $mf =~ /^LANGUAGES\s*=\s*(.*)$/m
+      || die "Could not find LANGUAGES line in snowball Makefile\n";
+    my @pieces = split /\s+/,$1;
+    open($F,">$target/share/snowball_create.sql")
+      || die "Could not write snowball_create.sql";
+    print $F read_file('src/backend/snowball/snowball_func.sql.in');
+    while ($#pieces > 0)
+    {
+        my $lang = shift @pieces || last;
+        my $latlang = shift @pieces || last;
+        my $txt = $tmpl;
+        my $stop = '';
+
+        if (-s "src/backend/snowball/stopwords/$lang.stop") {
+            $stop = ", StopWords=$lang";
+        }
+
+        $txt =~ s#_LANGNAME_#${lang}#gs;
+        $txt =~ s#_DICTNAME_#${lang}_stem#gs;
+        $txt =~ s#_CFGNAME_#${lang}#gs;
+        $txt =~ s#_LATDICTNAME_#${latlang}_stem#gs;
+        $txt =~ s#_NONLATDICTNAME_#${lang}_stem#gs;
+        $txt =~ s#_STOPWORDS_#$stop#gs;
+        print $F $txt;
+        print ".";
+    }
+    close($F);
+    print "\n";
+}
+
 sub CopyContribFiles
 {
     my $config = shift;