A warning building Emacs-cvs with recent Cygwin DLL
Corinna Vinschen
corinna-cygwin@cygwin.com
Fri Jan 25 15:11:00 GMT 2008
On Jan 25 12:16, Eli Zaretskii wrote:
> > From: Angelo Graziosi <XXXXXXXXXXXXXXX@XXXXX.XX>
> >
> > With Cygwin DLL 1.5.25 (and the changes to 'tz...', I suppose), building
> > Emacs from CVS gives this warning:
> >
> > ...
> > gcc -c -Demacs -DHAVE_CONFIG_H -DUSE_LUCID -I. -I/tmp/emacs/src
> > -I/usr/X11R6/include -g -O2 -Wno-pointer-sign /tmp/emacs/src/strftime.c
> >
> > /tmp/emacs/src/strftime.c:58: warning: '_tzname' redeclared without
> > dllimport attribute: previous dllimport ignored
> > ...
Btw., nothing has changed in the way tzname (_tzname) is declared in
newlib's time.h header for years.
> > It seems that the following simple patch avoid it:
> > =================================================
> > --- strftime.c.orig 2007-01-14 04:24:37.000000000 +0100
> > +++ strftime.c 2008-01-24 12:04:40.031250000 +0100
> > @@ -55,9 +55,13 @@
> > #endif
> > #if HAVE_TZNAME
> > #ifndef USE_CRT_DLL
> > +#ifdef __CYGWIN__
> > +extern __IMPORT char *tzname[];
> > +#else
> > extern char *tzname[];
> > #endif
> > #endif
> > +#endif
>
> Thanks. But it's better to put this kind of platform-dependent stuff
> in src/s/cygwin.h, not in general source files. Would that work for
> you?
As I wrote in my reply on the Cygwin list, there should be no reason
to declare tzname on POSIX conformant systems at all. Just including
<time.h> is the way to go.
The extern declaration should be guarded by an OS-agnostic configure
test which checks whether tzname is declared in time.h or not.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list