aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Conway <neilc@samurai.com>2007-01-16 21:43:19 +0000
committerNeil Conway <neilc@samurai.com>2007-01-16 21:43:19 +0000
commit7f58ed1a106981e020df549e842e93d2250bbe75 (patch)
tree7513518e91af43553999fae485998e0bfa801d72
parentcf57ef4e506cd87195baa76213326b1981644452 (diff)
downloadpostgresql-7f58ed1a106981e020df549e842e93d2250bbe75.tar.gz
postgresql-7f58ed1a106981e020df549e842e93d2250bbe75.zip
vcbuild updates from Magnus:
* After Markos patch, now builds pgcrypto without zlib again * Updates README with xml info * xml requires xslt and iconv * disable unnecessary warning about __cdecl() * Add a buildenv.bat called from all other bat files to set up things like PATH for flex/bison. (Can't just set it before calling, doesn't always work when building from the GUI)
-rw-r--r--src/tools/msvc/Project.pm2
-rw-r--r--src/tools/msvc/README9
-rw-r--r--src/tools/msvc/Solution.pm5
-rwxr-xr-xsrc/tools/msvc/build.bat2
-rw-r--r--src/tools/msvc/mkvcbuild.pl31
-rwxr-xr-xsrc/tools/msvc/pgbison.bat2
-rwxr-xr-xsrc/tools/msvc/pgflex.bat2
7 files changed, 35 insertions, 18 deletions
diff --git a/src/tools/msvc/Project.pm b/src/tools/msvc/Project.pm
index e64b6a6a3a3..4b84c98ea2e 100644
--- a/src/tools/msvc/Project.pm
+++ b/src/tools/msvc/Project.pm
@@ -23,7 +23,7 @@ sub new {
includes => '',
defines => ';',
solution => $solution,
- disablewarnings => '4018;4244',
+ disablewarnings => '4018;4244;4273',
};
bless $self;
diff --git a/src/tools/msvc/README b/src/tools/msvc/README
index c2a30fd40f8..ebc7d90506e 100644
--- a/src/tools/msvc/README
+++ b/src/tools/msvc/README
@@ -9,6 +9,11 @@ environment variables "leaking" through.
First, edit config.pl to reflect what "configure options" you want set.
+If you need to modify the environment for calling external tools, such as
+flex or bison, create a file called "buildenv.bat". This file will be called
+by all scripts before anything is done, so the environment can be set up.
+(for example, include SET PATH=%PATH%;c:\some\where\bison\bin)
+
Then, to build all of PostgreSQL in debug configuration, run the command
build
from a Visual Studio Command Prompt (to get all environment
@@ -54,3 +59,7 @@ Get from http://web.mit.edu/Kerberos/dist/index.html
zlib - required for compression support in pg_dump/pg_restore
Get from http://www.zlib.net
+
+libxml2 and libxslt - required for XML support
+Get from http://www.zlatkovic.com/pub/libxml or build from source from
+http://xmlsoft.org. Note that libxml2 requires iconv.
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index 3b9c64cd0a1..c55f35d2dc1 100644
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -14,6 +14,11 @@ sub new {
strver => '',
};
bless $self;
+ if ($options->{xml}) {
+ if (!($options->{xslt} && $options->{iconv})) {
+ die "XML requires both XSLT and ICONV\n";
+ }
+ }
return $self;
}
diff --git a/src/tools/msvc/build.bat b/src/tools/msvc/build.bat
index 61b85645b20..8ef282cef49 100755
--- a/src/tools/msvc/build.bat
+++ b/src/tools/msvc/build.bat
@@ -1,5 +1,7 @@
@echo off
SET STARTDIR=%CD%
+if exist src\tools\msvc\buildenv.bat call src\tools\msvc\buildenv.bat
+if exist buildenv.bat call buildenv.bat
perl mkvcbuild.pl
if errorlevel 1 goto :eof
diff --git a/src/tools/msvc/mkvcbuild.pl b/src/tools/msvc/mkvcbuild.pl
index 91d28bfcd3d..c87420b0dc8 100644
--- a/src/tools/msvc/mkvcbuild.pl
+++ b/src/tools/msvc/mkvcbuild.pl
@@ -187,24 +187,21 @@ if (!$solution->{options}->{openssl}) {
}
# Pgcrypto makefile too complex to parse....
-# Pgcrypto requires zlib
-if ($solution->{options}->{zlib}) {
- my $pgcrypto = $solution->AddProject('pgcrypto','dll','crypto');
- $pgcrypto->AddFiles('contrib\pgcrypto','pgcrypto.c','px.c','px-hmac.c','px-crypt.c',
- 'crypt-gensalt.c','crypt-blowfish.c','crypt-des.c','crypt-md5.c','mbuf.c',
- 'pgp.c','pgp-armor.c','pgp-cfb.c','pgp-compress.c','pgp-decrypt.c','pgp-encrypt.c',
- 'pgp-info.c','pgp-mpi.c','pgp-pubdec.c','pgp-pubenc.c','pgp-pubkey.c','pgp-s2k.c',
- 'pgp-pgsql.c');
- if ($solution->{options}->{openssl}) {
- $pgcrypto->AddFiles('contrib\pgcrypto', 'openssl.c','pgp-mpi-openssl.c');
- }
- else {
- $pgcrypto->AddFiles('contrib\pgcrypto', 'md5.c','sha1.c','sha2.c','internal.c','internal-sha2.c',
- 'blf.c','rijndael.c','fortuna.c','random.c','pgp-mpi-internal.c','imath.c');
- }
- $pgcrypto->AddReference($postgres);
- $pgcrypto->AddLibrary('wsock32.lib');
+my $pgcrypto = $solution->AddProject('pgcrypto','dll','crypto');
+$pgcrypto->AddFiles('contrib\pgcrypto','pgcrypto.c','px.c','px-hmac.c','px-crypt.c',
+ 'crypt-gensalt.c','crypt-blowfish.c','crypt-des.c','crypt-md5.c','mbuf.c',
+ 'pgp.c','pgp-armor.c','pgp-cfb.c','pgp-compress.c','pgp-decrypt.c','pgp-encrypt.c',
+ 'pgp-info.c','pgp-mpi.c','pgp-pubdec.c','pgp-pubenc.c','pgp-pubkey.c','pgp-s2k.c',
+ 'pgp-pgsql.c');
+if ($solution->{options}->{openssl}) {
+ $pgcrypto->AddFiles('contrib\pgcrypto', 'openssl.c','pgp-mpi-openssl.c');
}
+else {
+ $pgcrypto->AddFiles('contrib\pgcrypto', 'md5.c','sha1.c','sha2.c','internal.c','internal-sha2.c',
+ 'blf.c','rijndael.c','fortuna.c','random.c','pgp-mpi-internal.c','imath.c');
+}
+$pgcrypto->AddReference($postgres);
+$pgcrypto->AddLibrary('wsock32.lib');
my $D;
opendir($D, 'contrib') || croak "Could not opendir on contrib!\n";
diff --git a/src/tools/msvc/pgbison.bat b/src/tools/msvc/pgbison.bat
index cacd82cb165..f433e0774bd 100755
--- a/src/tools/msvc/pgbison.bat
+++ b/src/tools/msvc/pgbison.bat
@@ -1,4 +1,6 @@
@echo off
+if exist src\tools\msvc\buildenv.bat call src\tools\msvc\buildenv.bat
+
SET BV=
for /F "tokens=4 usebackq" %%f in (`bison -V`) do if "!BV!"=="" SET BV=%%f
if "%BV%"=="" goto novarexp
diff --git a/src/tools/msvc/pgflex.bat b/src/tools/msvc/pgflex.bat
index ae200428146..17ea4ff6e25 100755
--- a/src/tools/msvc/pgflex.bat
+++ b/src/tools/msvc/pgflex.bat
@@ -1,4 +1,6 @@
@echo off
+if exist src\tools\msvc\buildenv.bat call src\tools\msvc\buildenv.bat
+
flex -V > NUL
if errorlevel 1 goto noflex