Re: [PORTS] Cross-compiling under linux for Windows

Markku Tavasti <[email protected]> Thu, 06 Jul 2006 17:48:33 +0300
Newsgroups gmane.comp.db.postgresql.ports
Organization Tavasti Solutions Oy
Message-ID <[email protected]>
Markku Tavasti <[email protected]> writes:

> - I have to run i586-mingw32msvc-ranlib manually for
>   src/port/libpgport.a and src/port/libpgport_srv.a 
> - have to edit few makefiles to change windres to 586-mingw32msvc-windres
>
> In fact all I would essentially need is static libpq.a, but even that doesn't
> look very good:
>
> -rw-rw-r--  1 tavasti tavasti     8 Jun 28 10:55 libpq.a

At least one problem was here:

0
tavasti@aladobix:~/work/postgres/postgresql-8.1.4/src/interfaces/libpq$make
ar crs libpq.a `lorder fe-auth.o fe-connect.o fe-exec.o fe-misc.o \
fe-print.o fe-lobj.o fe-protocol2.o fe-protocol3.o pqexpbuffer.o \
pqsignal.o fe-secure.o md5.o ip.o wchar.o encnames.o noblock.o \
pgstrcasecmp.o thread.o crypt.o inet_aton.o getaddrinfo.o open.o \
snprintf.o win32.o libpqrc.o | tsort` 
nm: fe-auth.o: File format not recognized ...


Running lorder to find what to link is problem. lorder did not
understand file format, so nothing get's into the library. 

This works:

ar crs libpq.a fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-print.o \
fe-lobj.o fe-protocol2.o fe-protocol3.o pqexpbuffer.o pqsignal.o \
fe-secure.o md5.o ip.o wchar.o encnames.o noblock.o pgstrcasecmp.o \
thread.o crypt.o inet_aton.o getaddrinfo.o open.o snprintf.o win32.o \
libpqrc.o

So I got what I needed, so I didn't start checking whole build system
to make it cross-compiling compatible. Hopefully this helps someone
else in future. 

-- 
M. Tavasti /  [email protected]  /   +358-40-5078254

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend