Peter,
On Sun, Dec 31, 2000 at 01:12:59PM +0100, Peter Eisentraut wrote:
> Jason Tishler writes:
>
> > Sat Dec 30 21:13:30 2000 Jason Tishler <jt@dothill.com>
> >
> > * src/backend/utils/error/elog.c: Add conditional compilation to deal
> > with sys_nerr/_sys_nerr inconsistencies.
> > * src/backend/utils/error/exc.c: Ditto.
>
> This is the wrong place.
Sorry, but I'm not that intimate with the PostgreSQL code so when I saw
the following in elog.c and exc.c:
#ifdef __CYGWIN__
# define sys_nerr _sys_nerr
#endif
extern int sys_nerr;
I thought that it was reasonable to change it to:
#ifdef __CYGWIN__
# define sys_nerr _sys_nerr
#else
extern int sys_nerr;
#endif
Note that if the following line:
extern int sys_nerr;
is not guarded from Cygiwn, then one will always get an unresolved linker
error because of a missing " __declspec(dllimport)".
> You should look into src/include/port/win.h to fix this.
How is this file suppose to be used? When I do a find, I get the
following:
$ find . -type f | xargs fgrep win.h
./backend/port/dynloader/darwin.h:/* $Header:
/home/projects/pgsql/cvsroot/pgsql/src/backend/port/dynloader/darwin.h,v1.3 2000/12/11 00:49:54 tgl Exp $ */
./backend/port/dynloader/win.c: * see win.h
./backend/port/dynloader/win.h: * win.h
./backend/port/dynloader/win.h: * win.h,v 1.2 1995/03/17 06:40:18 andrew Exp
Hence, no source file is currently including it.
> > * src/utils/dllinit.c: Update to be consistent with Cygwin Net Release.
>
> Will this break old releases of Cygwin?
I don't know since I don't have b20.1 or older lying around anymore --
but my guess is yes. However, without this change PostgreSQL does *not*
build OOTB with the current Cygwin release.
Note that this file is no longer needed with current Cygwin releases.
Cygwin provides its own "DllMain" now. May be a compromise would be to
have make check the Cygwin version and eliminate dllinit.c from the
build if it is not necessary. I am willing to submit such a patch if it
was deemed reasonable.
Thanks,
Jason
--
Jason Tishler
Director, Software Engineering Phone: +1 (732) 264-8770 x235
Dot Hill Systems Corporation Fax: +1 (732) 264-8798
82 Bethany Road, Suite 7 Email: Jason.Tishler@dothill.com
Hazlet, NJ 07730 USA WWW: http://www.dothill.com