Re: [patch] build issues on Win32

From: Dag-Erling Smørgrav <des(at)des(dot)no>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: [patch] build issues on Win32
Date: 2010-03-10 16:03:05
Message-ID: 86y6i02mh2.fsf@ds4.des.no
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
> "Dag-Erling Smørgrav" <des(at)des(dot)no> writes:
> > 1. PostgreSQL's private versions of inet_aton etc. can conflict with
> > similar functions in other libraries (in my case, PostgreSQL's
> > inet_aton conflicts with libavformat's).
> So what? We don't link with those libraries.

Your users might need to link with both. I'm working on an application
that generates animations (specifically, animated weather forecasts)
based on data retrieved from a PostgreSQL database.

> The proposed #defines seem like a completely bad idea, especially
> since as-presented they would affect every platform not only yours.

Yes. That's the idea. This is a common idiom - the canonical way, if
you will, of solving this problem, which is not exclusive to PostgreSQL.
There are even cases in which you have no other choice, e.g. when the
function you want to use is available but does not work properly or does
not implement a particular feature that you need.

> We don't need the maintenance/debugging headaches of routines that
> don't have the names they appear to have.

Honestly, I don't see the problem.

> > ifeq ($(PORTNAME),win32)
> > -LIBS += -lws2_32 -lshfolder
> > +LIBS += -lws2_32 -lshfolder -lsecur32
> > endif
> Surely this bit would need to be conditional on whether libsecur32
> is available?

It's just as much part of Win32 as ws2_32 (winsock).

DES
--
Dag-Erling Smørgrav - des(at)des(dot)no

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2010-03-10 16:07:12 Re: [patch] build issues on Win32
Previous Message Robert Haas 2010-03-10 15:54:07 Re: renameatt() can rename attribute of index, sequence, ...