Обсуждение: vcbuild optional packages
This patch fixes vcbuild so you can build without OpenSSL and libz
should you want to. This disables the sslinfo and pgcrypto modules
because they require the libraries to build at all.
//Magnus
Index: src\tools\msvc/mkvcbuild.pl
===================================================================
RCS file: c:/prog/cvsrepo/pgsql/pgsql/src/tools/msvc/mkvcbuild.pl,v
retrieving revision 1.8
diff -c -r1.8 mkvcbuild.pl
*** src\tools\msvc/mkvcbuild.pl 21 Nov 2006 17:54:26 -0000 1.8
--- src\tools\msvc/mkvcbuild.pl 8 Jan 2007 19:49:13 -0000
***************
*** 182,203 ****
push @contrib_excludes,'xml2';
}
! # Pgcrypto makefile too complex to parse....
! 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";
--- 182,210 ----
push @contrib_excludes,'xml2';
}
! if (!$solution->{options}->{openssl}) {
! push @contrib_excludes,'sslinfo';
}
!
! # 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 $D;
opendir($D, 'contrib') || croak "Could not opendir on contrib!\n";
Magnus Hagander <magnus@hagander.net> writes:
> This patch fixes vcbuild so you can build without OpenSSL and libz
> should you want to. This disables the sslinfo and pgcrypto modules
> because they require the libraries to build at all.
Applied.
regards, tom lane
On 1/8/07, Magnus Hagander <magnus@hagander.net> wrote: > This patch fixes vcbuild so you can build without OpenSSL and libz > should you want to. This disables the sslinfo and pgcrypto modules > because they require the libraries to build at all. Both openssl and zlib are optional for pgcrypto. Please look at the real Makefile. (Put -DDISABLE_ZLIB into CFLAGS.) -- marko
Marko Kreen wrote: > On 1/8/07, Magnus Hagander <magnus@hagander.net> wrote: >> This patch fixes vcbuild so you can build without OpenSSL and libz >> should you want to. This disables the sslinfo and pgcrypto modules >> because they require the libraries to build at all. > > Both openssl and zlib are optional for pgcrypto. Please > look at the real Makefile. (Put -DDISABLE_ZLIB into CFLAGS.) > Ah, I see. Will have to take a look at that later then. Is there any reason why the check is "backwards" in pgcrypto compared to the rest of the system? All the other places check for HAVE_ZLIB from what I can tell. //Magnus
On 1/14/07, Magnus Hagander <magnus@hagander.net> wrote: > Is there any reason why the check is "backwards" in pgcrypto compared to > the rest of the system? All the other places check for HAVE_ZLIB from > what I can tell. Eh, just an oversight from my part. I was so focused on Makefile hacking so I forgot to check if there is already a define somewhere. And its reverse to have less clutter in command-line in default case. Attached patch replaces unnecessary DISABLE_ZLIB define in pgcrypto with HAVE_LIBZ from core. Result is bit simpler Makefile which is only good. -- marko
Вложения
Marko Kreen wrote: > On 1/14/07, Magnus Hagander <magnus@hagander.net> wrote: > >Is there any reason why the check is "backwards" in pgcrypto compared to > >the rest of the system? All the other places check for HAVE_ZLIB from > >what I can tell. > > Eh, just an oversight from my part. I was so focused on Makefile > hacking so I forgot to check if there is already a define > somewhere. And its reverse to have less clutter in command-line > in default case. > > Attached patch replaces unnecessary DISABLE_ZLIB define in > pgcrypto with HAVE_LIBZ from core. Result is bit simpler > Makefile which is only good. Applied. -- Alvaro Herrera http://www.CommandPrompt.com/ PostgreSQL Replication, Consulting, Custom Development, 24x7 support