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)
This commit is contained in:
Neil Conway 2007-01-16 21:43:19 +00:00
parent cf57ef4e50
commit 7f58ed1a10
7 changed files with 35 additions and 18 deletions

View File

@ -23,7 +23,7 @@ sub new {
includes => '',
defines => ';',
solution => $solution,
disablewarnings => '4018;4244',
disablewarnings => '4018;4244;4273',
};
bless $self;

View File

@ -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.

View File

@ -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;
}

View File

@ -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

View File

@ -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";

View File

@ -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

View File

@ -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