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.
Out of curiosity, why?
I want to set up a build system on a single linux host to build for a
number of different targets - linux and win32 at least.
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).
This is a definite oversight, so I've fixed this in HEAD.
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.
The rest of this is definitely not 8.3 material. But if you come up with
patches for 8.4, I'm sure we'd be interested ;-) If you have any
specific questions about the autoconf stuff (or any other parts of it),
just post it to -hackers.
Once I worked round these problems I was able to cross compile a working
postgres for mingw32 on a linux host.
Cool!
//Magnus
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend