Sorry about the delay on this. Just managed to find some time to look
into it again.
I've made a couple of patches, for 8.3.3 and 8.2.9, which enable cross
compilation for windows (mingw32) from a unix platform.
The changes are in these areas:
1. configure.in detecting the target system versions of dllwrap,
dlltool, windres and ar
2. in various makefiles, checking BUILDOS not PORTNAME when deciding
whether to use 'pwd -W' or just 'pwd'
3. Using the local system's 'zic' command when cross compiling, adding a
--with-zic option to configure.in in case zic is not in the path (on my
fedora 9 system it is in /usr/sbin/zic).
4. Some path tweaks in the make files to allow the cross compile build
to occur outside the the source directory.
5. Working round a binutils-2.18 bug in windres when the rc file has /
or \ in the path
If I apply the patches and run autoconf then I can do a full cross
compile and install (to a distribution dir) for 8.3.3 and 8.2.9 using a
configure like:
PATH=/usr/local/xc/bin:$PATH ../postgresql-8.3.3/configure
--host=mingw32 --without-zlib \
--prefix=somedir --libdir=somedir/bin --with-zic=/usr/sbin/zic
I have my cross compilation tool set in /usr/local/xc; I set libdir so
that the dlls end up in the bin dir which makes running on windows
easier ...
I've also tested native builds on a mingw32 system using the patched files.
Hope this helps.
Richard
Richard, would you send us patches for the cross compile variables you
needed changed? Thanks.
---------------------------------------------------------------------------
Richard Evans wrote:
The following bug has been logged online:
Bug reference: 3818
Logged by: Richard Evans
Email address: [EMAIL PROTECTED]
PostgreSQL version: 8.3beta
Operating system: Linux/windows
Description: Cross compilation problems
Details:
I've been investigating cross-compiling for mingw32 on a linux build system.
I used the current snapshot since it has a fix for the gettimeofday problem
with new mingw installs.
Mostly it worked, but there were a few problems which I think can all be
fixed in the configure script:
1. The configure script does not check for cross-compile installs of ar,
dlltool, dllwrap and windres. It manages to find the cross compile gcc
(mingw32-gcc in my install), but does not check for mingw32-dlltool, etc.
You work round this by setting AR= DLLTOOL= and DLLWRAP= on the make line
but ideally it should be done in the configure stage.
2. The Makefile in pgevent/bin refers to dllwrap directly, not $(DLLWRAP).
3. Several makefiles use windres directly; there is no $(WINDRES) variable
which can be set.
4. The zic problem in make install - see bug #1311. Simple solution here is
to have a configure option which allows the use of the build systems own zic
command.
I may try coming up with some patches to configure to check for dlltool, etc
but I haven't edited configure files before.
Once I worked round these problems I was able to cross compile a working
postgres for mingw32 on a linux host.
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly
Only in postgresql-8.2.9x: autom4te.cache
diff -c -r -x libpq.rc -x '*~' -x configure postgresql-8.2.9/configure.in
postgresql-8.2.9x/configure.in
*** postgresql-8.2.9/configure.in 2008-06-09 01:34:32.000000000 +0100
--- postgresql-8.2.9x/configure.in 2008-08-09 20:31:29.000000000 +0100
***************
*** 599,604 ****
--- 599,633 ----
AC_PATH_PROG(TAR, tar)
PGAC_CHECK_STRIP
+ #
+ # Additional tools for win32
+ #
+ if test "$PORTNAME" = "win32"; then
+ AC_CHECK_TOOL(DLLWRAP, dllwrap, :)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, :)
+ AC_CHECK_TOOL(WINDRES, windres, :)
+ fi
+
+ AC_CHECK_TOOL(AR, ar, :)
+
+ #
+ # zic if cross-compiling
+ #
+ if test "$build_os" != "$host_os"; then
+ PGAC_ARG_REQ(with, zic, [ --with-zic=path set location of zic
tool],
+ [ZIC=$withval],
+ [ZIC=:])
+
+ if test "$ZIC" = ":"; then
+ AC_PATH_TOOL(ZIC, zic, :)
+ fi
+
+ if test "$ZIC" = ":"; then
+ AC_MSG_ERROR([zic is required for cross-compilation.
+ Use --with-zic to set the location.])
+ fi
+ fi
+
if test -z "$YACC"; then
AC_CHECK_PROGS(YACC, ['bison -y'])
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.2.9/src/bin/pgevent/Makefile
postgresql-8.2.9x/src/bin/pgevent/Makefile
*** postgresql-8.2.9/src/bin/pgevent/Makefile 2006-07-15 04:33:14.000000000
+0100
--- postgresql-8.2.9x/src/bin/pgevent/Makefile 2008-08-09 19:50:50.000000000
+0100
***************
*** 21,31 ****
install: all install-lib
! pgevent.dll: $(OBJS) pgevent.def
! dllwrap --def pgevent.def -o $(NAME) $(OBJS)
! pgmsgevent.o: pgmsgevent.rc win32ver.rc
! windres pgmsgevent.rc -o pgmsgevent.o
--include-dir=$(top_builddir)/src/include
all-lib: $(NAME)
--- 21,36 ----
install: all install-lib
! pgevent.dll: $(OBJS) $(srcdir)/pgevent.def
! $(DLLWRAP) --def $(srcdir)/pgevent.def -o $(NAME) $(OBJS)
! # windres from binutils 2.18 can segfault if the input file name contains /
or \. For safety,
! # copy to the local directory.
!
! pgmsgevent.o: $(srcdir)/pgmsgevent.rc win32ver.rc
! cp $(srcdir)/pgmsgevent.rc localpgmsgevent.rc
! $(WINDRES) localpgmsgevent.rc -o pgmsgevent.o
--include-dir=$(top_srcdir)/src/include
--include-dir=$(top_builddir)/src/include --include-dir=$(srcdir)
! rm -f localpgmsgevent.rc
all-lib: $(NAME)
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.2.9/src/interfaces/ecpg/Makefile
postgresql-8.2.9x/src/interfaces/ecpg/Makefile
*** postgresql-8.2.9/src/interfaces/ecpg/Makefile 2006-08-19
14:42:40.000000000 +0100
--- postgresql-8.2.9x/src/interfaces/ecpg/Makefile 2008-08-09
19:49:47.000000000 +0100
***************
*** 8,14 ****
$(MAKE) -C ecpglib $@
$(MAKE) -C compatlib $@
$(MAKE) -C preproc $@
- $(MAKE) -C test $@
clean distclean maintainer-clean:
-$(MAKE) -C include $@
--- 8,13 ----
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.2.9/src/interfaces/ecpg/test/Makefile
postgresql-8.2.9x/src/interfaces/ecpg/test/Makefile
*** postgresql-8.2.9/src/interfaces/ecpg/test/Makefile 2006-09-08
14:32:26.000000000 +0100
--- postgresql-8.2.9x/src/interfaces/ecpg/test/Makefile 2008-08-09
19:43:46.000000000 +0100
***************
*** 17,23 ****
NOLOCALE += --no-locale
endif
! ifneq ($(PORTNAME),win32)
abs_builddir := $(shell pwd)
else
abs_builddir := $(shell pwd -W)
--- 17,23 ----
NOLOCALE += --no-locale
endif
! ifneq ($(BUILDOS),mingw32)
abs_builddir := $(shell pwd)
else
abs_builddir := $(shell pwd -W)
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.2.9/src/interfaces/libpq/Makefile
postgresql-8.2.9x/src/interfaces/libpq/Makefile
*** postgresql-8.2.9/src/interfaces/libpq/Makefile 2008-04-16
15:24:38.000000000 +0100
--- postgresql-8.2.9x/src/interfaces/libpq/Makefile 2008-08-09
19:11:03.000000000 +0100
***************
*** 20,26 ****
SO_MINOR_VERSION= 0
DLTYPE= library
! override CPPFLAGS := -DFRONTEND -DUNSAFE_STAT_OK -I$(srcdir) $(CPPFLAGS)
-I$(top_builddir)/src/port
ifneq ($(PORTNAME), win32)
override CFLAGS += $(PTHREAD_CFLAGS)
endif
--- 20,26 ----
SO_MINOR_VERSION= 0
DLTYPE= library
! override CPPFLAGS := -DFRONTEND -DUNSAFE_STAT_OK -I$(srcdir) $(CPPFLAGS)
-I$(top_srcdir)/src/port -I$(top_builddir)/src/port
ifneq ($(PORTNAME), win32)
override CFLAGS += $(PTHREAD_CFLAGS)
endif
***************
*** 42,51 ****
ifeq ($(PORTNAME), win32)
OBJS += win32.o libpqrc.o
! DLL_DEFFILE=libpqdll.def
libpqrc.o: libpq.rc
! windres -i libpq.rc -o libpqrc.o
ifeq ($(enable_thread_safety), yes)
OBJS += pthread-win32.o
--- 42,51 ----
ifeq ($(PORTNAME), win32)
OBJS += win32.o libpqrc.o
! DLL_DEFFILE=$(srcdir)/libpqdll.def
libpqrc.o: libpq.rc
! $(WINDRES) -i $(srcdir)/libpq.rc -o libpqrc.o
ifeq ($(enable_thread_safety), yes)
OBJS += pthread-win32.o
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.2.9/src/Makefile.global.in postgresql-8.2.9x/src/Makefile.global.in
*** postgresql-8.2.9/src/Makefile.global.in 2006-10-08 18:15:33.000000000
+0100
--- postgresql-8.2.9x/src/Makefile.global.in 2008-08-09 19:15:02.000000000
+0100
***************
*** 230,235 ****
--- 230,239 ----
LDOUT = -o
RANLIB = @RANLIB@
X = @EXEEXT@
+ AR = @AR@
+ DLLTOOL = @DLLTOOL@
+ DLLWRAP = @DLLWRAP@
+ WINDRES = @WINDRES@
# Perl
***************
*** 256,261 ****
--- 260,267 ----
PL_TESTDB = pl_regression
CONTRIB_TESTDB = contrib_regression
+ ZIC = @ZIC@
+
# Installation.
INSTALL = $(SHELL) $(top_srcdir)/config/install-sh -c
***************
*** 294,299 ****
--- 300,307 ----
# Additional platform-specific settings
#
+ BUILDOS = @build_os@
+
# Name of the "template"
PORTNAME= @PORTNAME@
***************
*** 457,467 ****
ifneq (,$(PGAPPICON))
PGICOSTR=$(subst /,\/,IDI_ICON ICON
\"$(top_builddir)/src/port/$(PGAPPICON).ico\")
endif
! win32ver.rc: $(top_builddir)/src/port/win32ver.rc
! sed -e 's;FILEDESC;$(PGFILEDESC);' -e 's;VFT_APP;$(PGFTYPE);' -e
's;_ICO_;$(PGICOSTR);' -e 's;\(VERSION.*\),0 *$$;\1,'`date '+%y%j' | sed
's/^0*//'`';' $(top_builddir)/src/port/win32ver.rc > win32ver.rc
! win32ver.o: $(top_builddir)/src/port/win32ver.rc
! sed -e 's;FILEDESC;$(PGFILEDESC);' -e 's;VFT_APP;$(PGFTYPE);' -e
's;_ICO_;$(PGICOSTR);' -e 's;\(VERSION.*\),0 *$$;\1,'`date '+%y%j' | sed
's/^0*//'`';' $(top_builddir)/src/port/win32ver.rc > win32ver.rc
! windres -i win32ver.rc -o win32ver.o
--include-dir=$(top_builddir)/src/include
rm -f win32ver.rc
endif
--- 465,475 ----
ifneq (,$(PGAPPICON))
PGICOSTR=$(subst /,\/,IDI_ICON ICON
\"$(top_builddir)/src/port/$(PGAPPICON).ico\")
endif
! win32ver.rc: $(top_srcdir)/src/port/win32ver.rc
! sed -e 's;FILEDESC;$(PGFILEDESC);' -e 's;VFT_APP;$(PGFTYPE);' -e
's;_ICO_;$(PGICOSTR);' -e 's;\(VERSION.*\),0 *$$;\1,'`date '+%y%j' | sed
's/^0*//'`';' $(top_srcdir)/src/port/win32ver.rc > win32ver.rc
! win32ver.o: $(top_srcdir)/src/port/win32ver.rc
! sed -e 's;FILEDESC;$(PGFILEDESC);' -e 's;VFT_APP;$(PGFTYPE);' -e
's;_ICO_;$(PGICOSTR);' -e 's;\(VERSION.*\),0 *$$;\1,'`date '+%y%j' | sed
's/^0*//'`';' $(top_srcdir)/src/port/win32ver.rc > win32ver.rc
! $(WINDRES) -i win32ver.rc -o win32ver.o
--include-dir=$(top_builddir)/src/include --include-dir=$(srcdir)
rm -f win32ver.rc
endif
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.2.9/src/makefiles/Makefile.win32
postgresql-8.2.9x/src/makefiles/Makefile.win32
*** postgresql-8.2.9/src/makefiles/Makefile.win32 2006-06-23
00:50:35.000000000 +0100
--- postgresql-8.2.9x/src/makefiles/Makefile.win32 2008-08-09
19:16:56.000000000 +0100
***************
*** 3,10 ****
--- 3,17 ----
# Use replacement include files for those missing on Win32
override CPPFLAGS+="-I$(top_srcdir)/src/include/port/win32"
+ ifndef DLLTOOL
DLLTOOL= dlltool
+ endif
+ ifndef DLLWRAP
DLLWRAP= dllwrap
+ endif
+ ifndef WINDRES
+ WINDRES = windres
+ endif
ifdef PGXS
BE_DLLLIBS= -L$(libdir) -lpostgres
else
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.2.9/src/pl/plperl/GNUmakefile
postgresql-8.2.9x/src/pl/plperl/GNUmakefile
*** postgresql-8.2.9/src/pl/plperl/GNUmakefile 2006-07-21 01:24:04.000000000
+0100
--- postgresql-8.2.9x/src/pl/plperl/GNUmakefile 2008-08-09 19:20:26.000000000
+0100
***************
*** 53,59 ****
# test script can find them. See comments in src/test/regress/GNUmakefile.
ifdef VPATH
! ifneq ($(PORTNAME),win32)
abs_srcdir := $(shell cd $(srcdir) && pwd)
abs_builddir := $(shell pwd)
else
--- 53,59 ----
# test script can find them. See comments in src/test/regress/GNUmakefile.
ifdef VPATH
! ifneq ($(BUILDOS),mingw32)
abs_srcdir := $(shell cd $(srcdir) && pwd)
abs_builddir := $(shell pwd)
else
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.2.9/src/pl/plpython/Makefile
postgresql-8.2.9x/src/pl/plpython/Makefile
*** postgresql-8.2.9/src/pl/plpython/Makefile 2006-07-21 01:24:04.000000000
+0100
--- postgresql-8.2.9x/src/pl/plpython/Makefile 2008-08-09 19:20:03.000000000
+0100
***************
*** 72,78 ****
# test script can find them. See comments in src/test/regress/GNUmakefile.
ifdef VPATH
! ifneq ($(PORTNAME),win32)
abs_srcdir := $(shell cd $(srcdir) && pwd)
abs_builddir := $(shell pwd)
else
--- 72,78 ----
# test script can find them. See comments in src/test/regress/GNUmakefile.
ifdef VPATH
! ifneq ($(BUILDOS),mingw32)
abs_srcdir := $(shell cd $(srcdir) && pwd)
abs_builddir := $(shell pwd)
else
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.2.9/src/pl/tcl/Makefile postgresql-8.2.9x/src/pl/tcl/Makefile
*** postgresql-8.2.9/src/pl/tcl/Makefile 2006-07-21 01:24:04.000000000
+0100
--- postgresql-8.2.9x/src/pl/tcl/Makefile 2008-08-09 19:19:38.000000000
+0100
***************
*** 56,62 ****
# test script can find them. See comments in src/test/regress/GNUmakefile.
ifdef VPATH
! ifneq ($(PORTNAME),win32)
abs_srcdir := $(shell cd $(srcdir) && pwd)
abs_builddir := $(shell pwd)
else
--- 56,62 ----
# test script can find them. See comments in src/test/regress/GNUmakefile.
ifdef VPATH
! ifneq ($(BUILDOS),mingw32)
abs_srcdir := $(shell cd $(srcdir) && pwd)
abs_builddir := $(shell pwd)
else
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.2.9/src/test/regress/GNUmakefile
postgresql-8.2.9x/src/test/regress/GNUmakefile
*** postgresql-8.2.9/src/test/regress/GNUmakefile 2006-07-21
01:24:04.000000000 +0100
--- postgresql-8.2.9x/src/test/regress/GNUmakefile 2008-08-09
19:21:34.000000000 +0100
***************
*** 91,97 ****
all: $(input_files) $(output_files)
! ifneq ($(PORTNAME),win32)
abs_srcdir := $(shell cd $(srcdir) && pwd)
abs_builddir := $(shell pwd)
else
--- 91,97 ----
all: $(input_files) $(output_files)
! ifneq ($(BUILDOS),mingw32)
abs_srcdir := $(shell cd $(srcdir) && pwd)
abs_builddir := $(shell pwd)
else
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.2.9/src/timezone/Makefile postgresql-8.2.9x/src/timezone/Makefile
*** postgresql-8.2.9/src/timezone/Makefile 2007-03-14 17:38:15.000000000
+0000
--- postgresql-8.2.9x/src/timezone/Makefile 2008-08-09 19:22:58.000000000
+0100
***************
*** 29,34 ****
--- 29,40 ----
# for POSIX-style timezone specs
POSIXRULES = US/Eastern
+ # ZIC is set when cross compiling
+
+ ifeq (,$(ZIC))
+ ZIC=./zic
+ endif
+
all: SUBSYS.o submake-libpgport zic
SUBSYS.o: $(OBJS)
***************
*** 38,44 ****
$(CC) $(CFLAGS) $(ZICOBJS) $(LDFLAGS) $(LIBS) -o [EMAIL PROTECTED](X)
install: all installdirs
! ./zic -d '$(DESTDIR)$(datadir)/timezone' -p '$(POSIXRULES)'
$(TZDATAFILES)
$(MAKE) -C tznames $@
installdirs:
--- 44,50 ----
$(CC) $(CFLAGS) $(ZICOBJS) $(LDFLAGS) $(LIBS) -o [EMAIL PROTECTED](X)
install: all installdirs
! $(ZIC) -d '$(DESTDIR)$(datadir)/timezone' -p '$(POSIXRULES)'
$(TZDATAFILES)
$(MAKE) -C tznames $@
installdirs:
diff -c -r -x libpq.rc -x '*~' -x configure postgresql-8.3.3/configure.in
test/configure.in
*** postgresql-8.3.3/configure.in 2008-06-09 01:38:40.000000000 +0100
--- test/configure.in 2008-08-09 20:32:33.000000000 +0100
***************
*** 619,624 ****
--- 619,642 ----
AC_SUBST(with_system_tzdata)
#
+ # zic if cross-compiling
+ #
+ if test "$build_os" != "$host_os" -a -z "$with_system_tzdata"; then
+ PGAC_ARG_REQ(with, zic, [ --with-zic=path set location of zic
tool],
+ [ZIC=$withval],
+ [ZIC=:])
+
+ if test "$ZIC" = ":"; then
+ AC_PATH_TOOL(ZIC, zic, :)
+ fi
+
+ if test "$ZIC" = ":"; then
+ AC_MSG_ERROR([zic is required for cross-compilation.
+ Use --with-zic to set the location.])
+ fi
+ fi
+
+ #
# Zlib
#
PGAC_ARG_BOOL(with, zlib, yes,
***************
*** 677,682 ****
--- 695,708 ----
AC_PROG_RANLIB
PGAC_CHECK_STRIP
+ if test "$PORTNAME" = "win32"; then
+ AC_CHECK_TOOL(DLLWRAP, dllwrap, :)
+ AC_CHECK_TOOL(DLLTOOL, dlltool, :)
+ AC_CHECK_TOOL(WINDRES, windres, :)
+ fi
+
+ AC_CHECK_TOOL(AR, ar, :)
+
AC_PATH_PROG(TAR, tar)
AC_PROG_LN_S
AC_PROG_AWK
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.3.3/src/bin/pgevent/Makefile test/src/bin/pgevent/Makefile
*** postgresql-8.3.3/src/bin/pgevent/Makefile 2008-01-01 19:45:55.000000000
+0000
--- test/src/bin/pgevent/Makefile 2008-08-09 14:56:10.000000000 +0100
***************
*** 21,31 ****
install: all install-lib
! pgevent.dll: $(OBJS) pgevent.def
! $(DLLWRAP) --def pgevent.def -o $(NAME) $(OBJS)
! pgmsgevent.o: pgmsgevent.rc win32ver.rc
! windres pgmsgevent.rc -o pgmsgevent.o
--include-dir=$(top_builddir)/src/include
all-lib: $(NAME)
--- 21,36 ----
install: all install-lib
! pgevent.dll: $(OBJS) $(srcdir)/pgevent.def
! $(DLLWRAP) --def $(srcdir)/pgevent.def -o $(NAME) $(OBJS)
! # windres from binutils 2.18 can segfault if the input file name contains /
or \. For safety,
! # copy to the local directory.
!
! pgmsgevent.o: $(srcdir)/pgmsgevent.rc win32ver.rc
! cp $(srcdir)/pgmsgevent.rc localpgmsgevent.rc
! $(WINDRES) localpgmsgevent.rc -o pgmsgevent.o
--include-dir=$(top_srcdir)/src/include
--include-dir=$(top_builddir)/src/include --include-dir=$(srcdir)
! rm -f localpgmsgevent.rc
all-lib: $(NAME)
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.3.3/src/interfaces/ecpg/compatlib/Makefile
test/src/interfaces/ecpg/compatlib/Makefile
*** postgresql-8.3.3/src/interfaces/ecpg/compatlib/Makefile 2008-01-01
19:45:59.000000000 +0000
--- test/src/interfaces/ecpg/compatlib/Makefile 2008-08-08 21:17:38.000000000
+0100
***************
*** 31,37 ****
OBJS= informix.o $(filter snprintf.o, $(LIBOBJS))
ifeq ($(PORTNAME), win32)
! DLL_DEFFILE=libecpg_compatdll.def
endif
all: def-files all-lib
--- 31,37 ----
OBJS= informix.o $(filter snprintf.o, $(LIBOBJS))
ifeq ($(PORTNAME), win32)
! DLL_DEFFILE=$(srcdir)/libecpg_compatdll.def
endif
all: def-files all-lib
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.3.3/src/interfaces/ecpg/ecpglib/Makefile
test/src/interfaces/ecpg/ecpglib/Makefile
*** postgresql-8.3.3/src/interfaces/ecpg/ecpglib/Makefile 2008-03-21
16:10:10.000000000 +0000
--- test/src/interfaces/ecpg/ecpglib/Makefile 2008-08-08 21:17:08.000000000
+0100
***************
*** 39,45 ****
ifeq ($(PORTNAME), win32)
# Link to shfolder.dll instead of shell32.dll
SHLIB_LINK += -lshfolder
! DLL_DEFFILE=libecpgdll.def
endif
all: def-files all-lib
--- 39,45 ----
ifeq ($(PORTNAME), win32)
# Link to shfolder.dll instead of shell32.dll
SHLIB_LINK += -lshfolder
! DLL_DEFFILE=$(srcdir)/libecpgdll.def
endif
all: def-files all-lib
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.3.3/src/interfaces/ecpg/pgtypeslib/Makefile
test/src/interfaces/ecpg/pgtypeslib/Makefile
*** postgresql-8.3.3/src/interfaces/ecpg/pgtypeslib/Makefile 2008-01-01
19:45:59.000000000 +0000
--- test/src/interfaces/ecpg/pgtypeslib/Makefile 2008-08-08
21:16:38.000000000 +0100
***************
*** 32,38 ****
$(filter rint.o snprintf.o, $(LIBOBJS))
ifeq ($(PORTNAME), win32)
! DLL_DEFFILE=libpgtypesdll.def
endif
all: def-files all-lib
--- 32,38 ----
$(filter rint.o snprintf.o, $(LIBOBJS))
ifeq ($(PORTNAME), win32)
! DLL_DEFFILE=$(srcdir)/libpgtypesdll.def
endif
all: def-files all-lib
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.3.3/src/interfaces/ecpg/test/Makefile
test/src/interfaces/ecpg/test/Makefile
*** postgresql-8.3.3/src/interfaces/ecpg/test/Makefile 2007-08-14
11:01:53.000000000 +0100
--- test/src/interfaces/ecpg/test/Makefile 2008-08-08 20:31:05.000000000
+0100
***************
*** 20,26 ****
NOLOCALE += --no-locale
endif
! ifneq ($(PORTNAME),win32)
abs_builddir := $(shell pwd)
else
abs_builddir := $(shell pwd -W)
--- 20,26 ----
NOLOCALE += --no-locale
endif
! ifneq ($(BUILDOS),mingw32)
abs_builddir := $(shell pwd)
else
abs_builddir := $(shell pwd -W)
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.3.3/src/interfaces/libpq/Makefile
test/src/interfaces/libpq/Makefile
*** postgresql-8.3.3/src/interfaces/libpq/Makefile 2008-04-16
15:21:22.000000000 +0100
--- test/src/interfaces/libpq/Makefile 2008-08-08 21:15:57.000000000 +0100
***************
*** 20,26 ****
SO_MINOR_VERSION= 1
DLTYPE= library
! override CPPFLAGS := -DFRONTEND -DUNSAFE_STAT_OK -I$(srcdir) $(CPPFLAGS)
-I$(top_builddir)/src/port
ifneq ($(PORTNAME), win32)
override CFLAGS += $(PTHREAD_CFLAGS)
endif
--- 20,26 ----
SO_MINOR_VERSION= 1
DLTYPE= library
! override CPPFLAGS := -DFRONTEND -DUNSAFE_STAT_OK -I$(srcdir) $(CPPFLAGS)
-I$(top_srcdir)/src/port -I$(top_builddir)/src/port
ifneq ($(PORTNAME), win32)
override CFLAGS += $(PTHREAD_CFLAGS)
endif
***************
*** 42,51 ****
ifeq ($(PORTNAME), win32)
OBJS += win32.o pgsleep.o libpqrc.o
! DLL_DEFFILE=libpqdll.def
libpqrc.o: libpq.rc
! windres -i libpq.rc -o libpqrc.o
ifeq ($(enable_thread_safety), yes)
OBJS += pthread-win32.o
--- 42,51 ----
ifeq ($(PORTNAME), win32)
OBJS += win32.o pgsleep.o libpqrc.o
! DLL_DEFFILE=$(srcdir)/libpqdll.def
libpqrc.o: libpq.rc
! $(WINDRES) -i $(srcdir)/libpq.rc -o libpqrc.o
ifeq ($(enable_thread_safety), yes)
OBJS += pthread-win32.o
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.3.3/src/Makefile.global.in test/src/Makefile.global.in
*** postgresql-8.3.3/src/Makefile.global.in 2007-11-13 00:13:19.000000000
+0000
--- test/src/Makefile.global.in 2008-08-09 10:52:15.000000000 +0100
***************
*** 238,243 ****
--- 238,247 ----
LDOUT = -o
RANLIB = @RANLIB@
X = @EXEEXT@
+ AR = @AR@
+ DLLTOOL = @DLLTOOL@
+ DLLWRAP = @DLLWRAP@
+ WINDRES = @WINDRES@
# Perl
***************
*** 264,269 ****
--- 268,275 ----
PL_TESTDB = pl_regression
CONTRIB_TESTDB = contrib_regression
+ ZIC = @ZIC@
+
# Installation.
INSTALL = $(SHELL) $(top_srcdir)/config/install-sh -c
***************
*** 302,307 ****
--- 308,315 ----
# Additional platform-specific settings
#
+ BUILDOS = @build_os@
+
# Name of the "template"
PORTNAME= @PORTNAME@
***************
*** 465,475 ****
ifneq (,$(PGAPPICON))
PGICOSTR=$(subst /,\/,IDI_ICON ICON
\"$(top_builddir)/src/port/$(PGAPPICON).ico\")
endif
! win32ver.rc: $(top_builddir)/src/port/win32ver.rc
! sed -e 's;FILEDESC;$(PGFILEDESC);' -e 's;VFT_APP;$(PGFTYPE);' -e
's;_ICO_;$(PGICOSTR);' -e 's;\(VERSION.*\),0 *$$;\1,'`date '+%y%j' | sed
's/^0*//'`';' $(top_builddir)/src/port/win32ver.rc > win32ver.rc
! win32ver.o: $(top_builddir)/src/port/win32ver.rc
! sed -e 's;FILEDESC;$(PGFILEDESC);' -e 's;VFT_APP;$(PGFTYPE);' -e
's;_ICO_;$(PGICOSTR);' -e 's;\(VERSION.*\),0 *$$;\1,'`date '+%y%j' | sed
's/^0*//'`';' $(top_builddir)/src/port/win32ver.rc > win32ver.rc
! windres -i win32ver.rc -o win32ver.o
--include-dir=$(top_builddir)/src/include
rm -f win32ver.rc
endif
--- 473,483 ----
ifneq (,$(PGAPPICON))
PGICOSTR=$(subst /,\/,IDI_ICON ICON
\"$(top_builddir)/src/port/$(PGAPPICON).ico\")
endif
! win32ver.rc: $(top_srcdir)/src/port/win32ver.rc
! sed -e 's;FILEDESC;$(PGFILEDESC);' -e 's;VFT_APP;$(PGFTYPE);' -e
's;_ICO_;$(PGICOSTR);' -e 's;\(VERSION.*\),0 *$$;\1,'`date '+%y%j' | sed
's/^0*//'`';' $(top_srcdir)/src/port/win32ver.rc > win32ver.rc
! win32ver.o: $(top_srcdir)/src/port/win32ver.rc
! sed -e 's;FILEDESC;$(PGFILEDESC);' -e 's;VFT_APP;$(PGFTYPE);' -e
's;_ICO_;$(PGICOSTR);' -e 's;\(VERSION.*\),0 *$$;\1,'`date '+%y%j' | sed
's/^0*//'`';' $(top_srcdir)/src/port/win32ver.rc > win32ver.rc
! $(WINDRES) -i win32ver.rc -o win32ver.o
--include-dir=$(top_builddir)/src/include --include-dir=$(srcdir)
rm -f win32ver.rc
endif
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.3.3/src/makefiles/Makefile.win32 test/src/makefiles/Makefile.win32
*** postgresql-8.3.3/src/makefiles/Makefile.win32 2007-08-21
14:32:33.000000000 +0100
--- test/src/makefiles/Makefile.win32 2008-08-08 21:07:09.000000000 +0100
***************
*** 3,10 ****
# Use replacement include files for those missing on Win32
override CPPFLAGS+="-I$(top_srcdir)/src/include/port/win32"
! DLLTOOL= dlltool
! DLLWRAP= dllwrap
ifdef PGXS
BE_DLLLIBS= -L$(libdir) -lpostgres
else
--- 3,17 ----
# Use replacement include files for those missing on Win32
override CPPFLAGS+="-I$(top_srcdir)/src/include/port/win32"
! ifndef DLLTOOL
! DLLTOOL = dlltool
! endif
! ifndef DLLWRAP
! DLLWRAP = dllwrap
! endif
! ifndef WINDRES
! WINDRES = windres
! endif
ifdef PGXS
BE_DLLLIBS= -L$(libdir) -lpostgres
else
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.3.3/src/pl/plperl/GNUmakefile test/src/pl/plperl/GNUmakefile
*** postgresql-8.3.3/src/pl/plperl/GNUmakefile 2007-12-01 15:30:09.000000000
+0000
--- test/src/pl/plperl/GNUmakefile 2008-08-08 20:31:05.000000000 +0100
***************
*** 56,62 ****
# test script can find them. See comments in src/test/regress/GNUmakefile.
ifdef VPATH
! ifneq ($(PORTNAME),win32)
abs_srcdir := $(shell cd $(srcdir) && pwd)
abs_builddir := $(shell pwd)
else
--- 56,62 ----
# test script can find them. See comments in src/test/regress/GNUmakefile.
ifdef VPATH
! ifneq ($(BUILDOS),mingw32)
abs_srcdir := $(shell cd $(srcdir) && pwd)
abs_builddir := $(shell pwd)
else
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.3.3/src/pl/plpython/Makefile test/src/pl/plpython/Makefile
*** postgresql-8.3.3/src/pl/plpython/Makefile 2007-02-10 04:26:24.000000000
+0000
--- test/src/pl/plpython/Makefile 2008-08-08 20:31:05.000000000 +0100
***************
*** 72,78 ****
# test script can find them. See comments in src/test/regress/GNUmakefile.
ifdef VPATH
! ifneq ($(PORTNAME),win32)
abs_srcdir := $(shell cd $(srcdir) && pwd)
abs_builddir := $(shell pwd)
else
--- 72,78 ----
# test script can find them. See comments in src/test/regress/GNUmakefile.
ifdef VPATH
! ifneq ($(BUILDOS),mingw32)
abs_srcdir := $(shell cd $(srcdir) && pwd)
abs_builddir := $(shell pwd)
else
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.3.3/src/pl/tcl/Makefile test/src/pl/tcl/Makefile
*** postgresql-8.3.3/src/pl/tcl/Makefile 2006-07-21 01:24:04.000000000
+0100
--- test/src/pl/tcl/Makefile 2008-08-08 20:31:05.000000000 +0100
***************
*** 56,62 ****
# test script can find them. See comments in src/test/regress/GNUmakefile.
ifdef VPATH
! ifneq ($(PORTNAME),win32)
abs_srcdir := $(shell cd $(srcdir) && pwd)
abs_builddir := $(shell pwd)
else
--- 56,62 ----
# test script can find them. See comments in src/test/regress/GNUmakefile.
ifdef VPATH
! ifneq ($(BUILDOS),mingw32)
abs_srcdir := $(shell cd $(srcdir) && pwd)
abs_builddir := $(shell pwd)
else
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.3.3/src/test/regress/GNUmakefile test/src/test/regress/GNUmakefile
*** postgresql-8.3.3/src/test/regress/GNUmakefile 2008-01-01
19:46:00.000000000 +0000
--- test/src/test/regress/GNUmakefile 2008-08-08 20:31:05.000000000 +0100
***************
*** 97,103 ****
ofile_list := $(subst .source,, $(notdir $(wildcard
$(top_srcdir)/$(subdir)/output/*.source)))
output_files := $(foreach file, $(ofile_list), expected/$(file).out)
! ifneq ($(PORTNAME),win32)
abs_srcdir := $(shell cd $(srcdir) && pwd)
abs_builddir := $(shell pwd)
else
--- 97,103 ----
ofile_list := $(subst .source,, $(notdir $(wildcard
$(top_srcdir)/$(subdir)/output/*.source)))
output_files := $(foreach file, $(ofile_list), expected/$(file).out)
! ifneq ($(BUILDOS),mingw32)
abs_srcdir := $(shell cd $(srcdir) && pwd)
abs_builddir := $(shell pwd)
else
diff -c -r -x libpq.rc -x '*~' -x configure
postgresql-8.3.3/src/timezone/Makefile test/src/timezone/Makefile
*** postgresql-8.3.3/src/timezone/Makefile 2007-08-25 21:29:25.000000000
+0100
--- test/src/timezone/Makefile 2008-08-08 20:31:05.000000000 +0100
***************
*** 27,32 ****
--- 27,38 ----
# for POSIX-style timezone specs
POSIXRULES = US/Eastern
+ # ZIC is set when cross compiling
+
+ ifeq (,$(ZIC))
+ ZIC=./zic
+ endif
+
# use system timezone data?
ifneq (,$(with_system_tzdata))
override CPPFLAGS += '-DSYSTEMTZDIR="$(with_system_tzdata)"'
***************
*** 46,52 ****
install: all installdirs
ifeq (,$(with_system_tzdata))
! ./zic -d '$(DESTDIR)$(datadir)/timezone' -p '$(POSIXRULES)'
$(TZDATAFILES)
endif
$(MAKE) -C tznames $@
--- 52,58 ----
install: all installdirs
ifeq (,$(with_system_tzdata))
! $(ZIC) -d '$(DESTDIR)$(datadir)/timezone' -p '$(POSIXRULES)'
$(TZDATAFILES)
endif
$(MAKE) -C tznames $@
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs