changeset 2047:5828a4a777a2

package postgresql: replace sed with patch
author Mark Brand <mabrand@mabrand.nl>
date Mon, 24 Oct 2011 17:47:39 +0200
parents 45dbac6fcb14
children 28d8586396df
files src/postgresql-1-fixes.patch src/postgresql.mk
diffstat 2 files changed, 61 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/postgresql-1-fixes.patch	Mon Oct 24 17:47:39 2011 +0200
@@ -0,0 +1,59 @@
+This file is part of mingw-cross-env.
+See doc/index.html for further information.
+
+Contains ad hoc patches for cross building.
+
+From 778910e8d10e548c50abe80342490b8725ea6244 Mon Sep 17 00:00:00 2001
+From: mingw-cross-env
+Date: Mon, 24 Oct 2011 14:02:33 +0200
+Subject: [PATCH 1/2] use unix style names for openssl on mingw-cross-env
+
+
+diff --git a/configure.in b/configure.in
+index 79b565d..db30511 100644
+--- a/configure.in
++++ b/configure.in
+@@ -941,13 +941,8 @@ fi
+ 
+ if test "$with_openssl" = yes ; then
+   dnl Order matters!
+-  if test "$PORTNAME" != "win32"; then
+-     AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])])
+-     AC_CHECK_LIB(ssl,    SSL_library_init, [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])])
+-  else
+-     AC_CHECK_LIB(eay32, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'eay32' is required for OpenSSL])])
+-     AC_CHECK_LIB(ssleay32,    SSL_library_init, [], [AC_MSG_ERROR([library 'ssleay32' is required for OpenSSL])])
+-  fi
++  AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])])
++  AC_CHECK_LIB(ssl,    SSL_library_init, [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])])
+ fi
+ 
+ if test "$with_pam" = yes ; then
+-- 
+1.7.7
+
+
+From ebeea4b87a1b11205b5870e738882117ad0f628c Mon Sep 17 00:00:00 2001
+From: mingw-cross-env
+Date: Mon, 24 Oct 2011 14:09:38 +0200
+Subject: [PATCH 2/2] do not check autoconf version
+
+
+diff --git a/configure.in b/configure.in
+index db30511..4da0143 100644
+--- a/configure.in
++++ b/configure.in
+@@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
+ 
+ AC_INIT([PostgreSQL], [9.1.1], [pgsql-bugs@postgresql.org])
+ 
+-m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.63], [], [m4_fatal([Autoconf version 2.63 is required.
+-Untested combinations of 'autoconf' and PostgreSQL versions are not
+-recommended.  You can remove the check from 'configure.in' but it is then
+-your responsibility whether the result works or not.])])
+ AC_COPYRIGHT([Copyright (c) 1996-2011, PostgreSQL Global Development Group])
+ AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
+ AC_CONFIG_AUX_DIR(config)
+-- 
+1.7.7
+
--- a/src/postgresql.mk	Mon Oct 24 23:57:30 2011 +1100
+++ b/src/postgresql.mk	Mon Oct 24 17:47:39 2011 +0200
@@ -23,14 +23,8 @@
 endef
 
 define $(PKG)_BUILD
+    cd '$(1)' && autoconf
     cp -Rp '$(1)' '$(1).native'
-    # The static OpenSSL libraries are in unix (not win32) naming style.
-    $(SED) -i 's,SSLEAY32,SSL,' '$(1)'/configure
-    $(SED) -i 's,ssleay32,ssl,' '$(1)'/configure
-    $(SED) -i 's,EAY32,CRYPTO,' '$(1)'/configure
-    $(SED) -i 's,eay32,crypto,' '$(1)'/configure
-    $(SED) -i 's,ssleay32,ssl,' '$(1)'/src/interfaces/libpq/Makefile
-    $(SED) -i 's,eay32,crypto,' '$(1)'/src/interfaces/libpq/Makefile
     # Since we build only client libary, use bogus tzdata to satisfy configure.
     cd '$(1)' && ./configure \
         --prefix='$(PREFIX)/$(TARGET)' \
@@ -52,7 +46,7 @@
         --without-libxslt \
         --with-zlib \
         --with-system-tzdata=/dev/null \
-        LIBS='-lsecur32 -lws2_32 -lgdi32'
+        LIBS="-lsecur32 `'i686-pc-mingw32-pkg-config' openssl --libs`"
     $(MAKE) -C '$(1)'/src/interfaces/libpq -j '$(JOBS)' install haslibarule= shlib=
     $(MAKE) -C '$(1)'/src/port             -j '$(JOBS)'         haslibarule= shlib=
     $(MAKE) -C '$(1)'/src/bin/psql         -j '$(JOBS)' install haslibarule= shlib=