Re: [PORTS] Re: patch for minor Win32 makefile bug

From: Jason Tishler <Jason(dot)Tishler(at)dothill(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Fred Yankowski <fred(at)ontosys(dot)com>, pgsql-patches(at)postgresql(dot)org, pgsql-ports(at)postgresql(dot)org
Subject: Re: [PORTS] Re: patch for minor Win32 makefile bug
Date: 2001-04-04 18:28:09
Message-ID: 20010404142809.U63@dothill.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches pgsql-ports

Tom,

On Wed, Apr 04, 2001 at 12:44:08AM -0400, Tom Lane wrote:
> Jason Tishler <Jason(dot)Tishler(at)dothill(dot)com> writes:
> > On Tue, Apr 03, 2001 at 06:03:45PM -0400, Tom Lane wrote:
> >> Hmm. It seems a little bit weird (no, a lot weird) to be referencing
> >> -lpostgres for the client-side interface library builds. I can see that
> >> the PL-language DLLs might need to reference -lpostgres during their
> >> links, but I've got severe doubts that this is a good idea anyplace
> >> else.
>
> > You are correct. I just verified by using MS's dumpbin that none
> > of the above DLLs except for plpgsql.dll actually import any symbols
> > from libpostgres.a. Hence, linking the client-side interface libraries
> > with libpostgres.a is superfluous.
> > However, you missed a few regression test related DLLs. See below for
> > details.
>
> Good point; those DLLs link into the backend.
>
> Maybe Makefile.win should define FE_DLLLIBS (for frontend libraries)
> and BE_DLLLIBS (for backend libraries). That would require any
> particular Makefile that's building a DLL to select one or the other
> to define DLLLIBS as, before it could include Makefile.shlib. Is that
> approach good for clarity, or too much of a pain-in-the-neck?

I'm not sure that I like the above proposal, because:

1. I'm not crazy about the name FE_DLLLIBS -- I don't think that it
accurately represents its semantics. (I presume that you meant
that FE_DLLLIBS = -lcygipc -lcrypt; otherwise, I'm not grokking
your proposal.)
2. Then all DLL makefiles would have to define DLLLIBS, instead of
just the exceptions.

But, to be fair, I also don't completely like my current solution because
of the

-L$(top_builddir)/src/backend -lpostgres

littered in more that one makefile.

What about leaving DLLLIBS as defined (in Makefile.win) in my patch, but
also defining BE_DLLLIBS as follows:

BE_DLLLIBS = -L$(top_builddir)/src/backend -lpostgres

Then one can use this definition is in src/pl/plpgsql/src/Makefile as
follows:

DLLLIBS:= $(BE_DLLLIBS) $(DLLLIBS)

The above would also be used where ever else was necessary (e.g.,
regress.dll).

How does this proposal sound?

Thanks,
Jason
--
Jason Tishler
Director, Software Engineering Phone: +1 (732) 264-8770 x235
Dot Hill Systems Corp. Fax: +1 (732) 264-8798
82 Bethany Road, Suite 7 Email: Jason(dot)Tishler(at)dothill(dot)com
Hazlet, NJ 07730 USA WWW: http://www.dothill.com

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Ergin Aytac 2001-04-04 18:36:10 quality tutorials
Previous Message Jason Tishler 2001-04-04 13:50:33 Re: FAQ_MSWIN patch

Browse pgsql-ports by date

  From Date Subject
Next Message Jason Tishler 2001-04-04 18:39:53 Re: Re: [PATCHES] patch for minor Win32 makefile bug
Previous Message Jason Tishler 2001-04-04 17:07:59 Re: FAQ_MSWIN patch for PostgreSQL