>> pg_strcasecmp is *not* included in libpostgres.a. It is in
>> port/libpgport.a, though. (It's also in postgres.exe, but we 
>don't link
>> against that..) 
>
>What do you mean we don't link against that?  There must be hundreds of
>functions in the main backend that plpgsql.dll needs to call.  How is
>it resolving the rest of them?
>

Isn't that what libpostgres.a is used for?
(double-checks)
Ok. Egg on face. libpostgres.a is just the import library for
postgres.exe. I knew that. It just slipped my mind at a bad time.

Ok. So the problem is that functions from libpgport aren't included in
postgres.def, and thus not in libpostgres.a. It seems that can be fixed
with the following patch, which is probably a whole lot close to being
right than what I did before:

*** Makefile    21 Jul 2004 20:34:44 -0000      1.103
--- Makefile    31 Jul 2004 20:03:08 -0000
***************
*** 66,72 ****
        rm -f $@.exp $@.base
  
  postgres.def: $(OBJS)
!       $(DLLTOOL) --export-all --output-def $@ $^
  
  libpostgres.a: postgres.def
        $(DLLTOOL) --dllname postgres.exe --def postgres.def
--output-lib $@
--- 66,72 ----
        rm -f $@.exp $@.base
  
  postgres.def: $(OBJS)
!       $(DLLTOOL) --export-all --output-def $@ $^
$(top_builddir)/src/port/libpgport.a
  
  libpostgres.a: postgres.def
        $(DLLTOOL) --dllname postgres.exe --def postgres.def
--output-lib $@



//Magnus

Sat, 31 Jul 2004 22:04:25 +0200
"Magnus Hagander" <mha@sollentuna.net>
Re: plpgsql compile error on win32 
"Magnus Hagander" <mha@sollentuna.net> writes:
> Ok. So the problem is that functions from libpgport aren't included in
> postgres.def, and thus not in libpostgres.a. It seems that can be fixed
> with the following patch, which is probably a whole lot close to being
> right than what I did before:

That one feels right to me.  Any objections out there?

			regards, tom lane


> *** Makefile    21 Jul 2004 20:34:44 -0000      1.103
> --- Makefile    31 Jul 2004 20:03:08 -0000
> ***************
> *** 66,72 ****
>         rm -f $@.exp $@.base
  
>   postgres.def: $(OBJS)
> !       $(DLLTOOL) --export-all --output-def $@ $^
  
>   libpostgres.a: postgres.def
>         $(DLLTOOL) --dllname postgres.exe --def postgres.def
> --output-lib $@
> --- 66,72 ----
>         rm -f $@.exp $@.base
  
>   postgres.def: $(OBJS)
> !       $(DLLTOOL) --export-all --output-def $@ $^
> $(top_builddir)/src/port/libpgport.a
  
>   libpostgres.a: postgres.def
>         $(DLLTOOL) --dllname postgres.exe --def postgres.def
> --output-lib $@

Sat, 31 Jul 2004 16:08:46 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: plpgsql compile error on win32 