]> granicus.if.org Git - postgresql/commitdiff
Support for building contrib/uuid-ossp with MSVC.
authorMagnus Hagander <magnus@hagander.net>
Thu, 28 Feb 2008 12:17:59 +0000 (12:17 +0000)
committerMagnus Hagander <magnus@hagander.net>
Thu, 28 Feb 2008 12:17:59 +0000 (12:17 +0000)
Original patch from Hiroshi Saito, modified by me.

doc/src/sgml/install-win32.sgml
src/tools/msvc/Install.pm
src/tools/msvc/Mkvcbuild.pm
src/tools/msvc/Solution.pm
src/tools/msvc/config.pl

index 948528048906ae4d45fa251d2de4925b7c328e92..4b3f2dcb2e6d0cf107accc2d5cc5f336331cd8f8 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.45 2008/02/06 15:13:25 mha Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/install-win32.sgml,v 1.46 2008/02/28 12:17:59 mha Exp $ -->
 
 <chapter id="install-win32">
  <title>Installation on <productname>Windows</productname></title>
      </para></listitem>
     </varlistentry>
 
+    <varlistentry>
+     <term><productname>ossp-uuid</productname></term>
+     <listitem><para>
+      Required for UUID-OSSP support (contrib only). Source can be 
+      downloaded from
+      <ulink url="http://www.ossp.org/pkg/lib/uuid/"></>.
+     </para></listitem>
+    </varlistentry>
+
     <varlistentry>
      <term><productname>Python</productname></term>
      <listitem><para>
index 7ada204c95517244e8137ca3644751b62205ce8c..ba445628b3eb7628782089202f566dcaa819a939 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.28 2008/02/07 17:58:16 mha Exp $
+# $PostgreSQL: pgsql/src/tools/msvc/Install.pm,v 1.29 2008/02/28 12:17:59 mha Exp $
 #
 use strict;
 use warnings;
@@ -291,7 +291,7 @@ sub CopyContribFiles
     {
         next if ($d =~ /^\./);
         next unless (-f "contrib/$d/Makefile");
-        next if ($d eq "uuid-ossp");
+        next if ($d eq "uuid-ossp"&& !defined($config->{uuid}));
         next if ($d eq "sslinfo" && !defined($config->{openssl}));
         next if ($d eq "xml2" && !defined($config->{xml}));
 
index 85b1b841ff7f6b689f52b8ed0b2430e8a8bfe8e1..8081af3d92cb8b629047fc210ef1ec47f7b73b0f 100644 (file)
@@ -3,7 +3,7 @@ package Mkvcbuild;
 #
 # Package that generates build files for msvc build
 #
-# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.25 2008/02/05 14:17:23 mha Exp $
+# $PostgreSQL: pgsql/src/tools/msvc/Mkvcbuild.pm,v 1.26 2008/02/28 12:17:59 mha Exp $
 #
 use Carp;
 use Win32;
@@ -31,7 +31,7 @@ my $contrib_extrasource = {
     'cube' => ['cubescan.l','cubeparse.y'],
     'seg' => ['segscan.l','segparse.y']
 };
-my @contrib_excludes = ('pgcrypto','uuid-ossp');
+my @contrib_excludes = ('pgcrypto');
 
 sub mkvcbuild
 {
@@ -247,6 +247,16 @@ sub mkvcbuild
         push @contrib_excludes,'sslinfo';
     }
 
+    if ($solution->{options}->{uuid})
+    {
+       $contrib_extraincludes->{'uuid-ossp'} = [ $solution->{options}->{uuid} . '\include' ];
+       $contrib_extralibs->{'uuid-ossp'} = [ $solution->{options}->{uuid} . '\lib\uuid.lib' ];
+    }
+        else
+    {
+       push @contrib_excludes,'uuid-ossp';
+    }
+
     # Pgcrypto makefile too complex to parse....
     my $pgcrypto = $solution->AddProject('pgcrypto','dll','crypto');
     $pgcrypto->AddFiles(
index 8f3e4bf57da4b47c7b016418f88f2c3ca32ddd03..d58169c0665e985cc3e1191707c79b76c1a88c45 100644 (file)
@@ -3,7 +3,7 @@ package Solution;
 #
 # Package that encapsulates a Visual C++ solution file generation
 #
-# $PostgreSQL: pgsql/src/tools/msvc/Solution.pm,v 1.35 2008/02/19 12:00:03 mha Exp $
+# $PostgreSQL: pgsql/src/tools/msvc/Solution.pm,v 1.36 2008/02/28 12:17:59 mha Exp $
 #
 use Carp;
 use strict;
@@ -113,6 +113,10 @@ s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY
         print O "#define USE_SSL 1\n" if ($self->{options}->{openssl});
         print O "#define ENABLE_NLS 1\n" if ($self->{options}->{nls});
 
+        if ($self->{options}->{uuid})
+        {
+            print O "#define HAVE_UUID_H\n";
+        }
         if ($self->{options}->{xml})
         {
             print O "#define HAVE_LIBXML2\n";
@@ -451,6 +455,7 @@ sub GetFakeConfigure
     $cfg .= ' --with-ldap' if ($self->{options}->{ldap});
     $cfg .= ' --without-zlib' unless ($self->{options}->{zlib});
     $cfg .= ' --with-openssl' if ($self->{options}->{ssl});
+    $cfg .= ' --with-ossp-uuid' if ($self->{options}->{uuid});
     $cfg .= ' --with-libxml' if ($self->{options}->{xml});
     $cfg .= ' --with-libxslt' if ($self->{options}->{xslt});
     $cfg .= ' --with-krb5' if ($self->{options}->{krb5});
index 548485a0746ad50b2e6c22ce13e081e9cea7f2fd..52e64ef60927412eb854c95f8675c005f968d553 100644 (file)
@@ -12,6 +12,7 @@ our $config = {
     krb5=>'c:\prog\pgsql\depend\krb5', # --with-krb5=<path>
     ldap=>1,                   # --with-ldap
     openssl=>'c:\openssl', # --with-ssl=<path>
+    uuid=>'c:\prog\pgsql\depend\ossp-uuid', #--with-ossp-uuid
     xml=>'c:\prog\pgsql\depend\libxml2',
     xslt=>'c:\prog\pgsql\depend\libxslt',
     iconv=>'c:\prog\pgsql\depend\iconv',