On 26/02/2016 11:39, Paul Eggert wrote:
Ian Abbott wrote:
This patch makes "private.h" optionally include <direct.h> (and also <io.h>, due to MinGW's behavior), controlled by the HAVE_DIRECT_H macro, and defines mkdir(path, mode) as macro calling _mkdir(path).
Thanks, I like this better, but better yet let's put this in zic.c since it's the only file that needs the mkdir substitute.
There are some warnings about 'tzname' being redeclared without dllimport attribute, when compiling zdump.c and localtime.c
We should be able to fix this by not redeclaring tzname. How about the attached patch? I've installed it in the experimental repository on GitHub. It also tries to fix the link/symlink problem you mentioned in your other email. It takes a somewhat more-ambitious approach, in an attempt to fix some longstanding minor glitches on POSIX hosts too, while we're at it.
It builds in a MinGW-w64 Win32 or Win64 environment with the following command line: make CFLAGS="-DHAVE_SYS_WAIT_H=0 -DHAVE_DIRECT_H=1 -DHAVE_SYMLINK=0 -DHAVE_LINK=0 -DHAVE_LOCALTIME_R=0 -DHAVE_POSIX_DECLS=0" I still get the warnings about the dllimport attribute on 'tzname'. I suppose that can't be helped since we're using the tzname[] defined in "localtime.c", rather than the one from Microsoft's C runtime library DLL. Here's an extract of the build showing the warnings: cc -DTZDIR=\"/usr/local/etc/zoneinfo\" -DHAVE_SYS_WAIT_H=0 -DHAVE_DIRECT_H=1 -DHAVE_SYMLINK=0 -DHAVE_LINK=0 -DHAVE_LOCALTIME_R=0 -DHAVE_POSIX_DECLS=0 -c -o zdump.o zdump.c zdump.c:247:15: warning: 'tzname' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] extern char * tzname[]; ^ cc -DTZDIR=\"/usr/local/etc/zoneinfo\" -DHAVE_SYS_WAIT_H=0 -DHAVE_DIRECT_H=1 -DHAVE_SYMLINK=0 -DHAVE_LINK=0 -DHAVE_LOCALTIME_R=0 -DHAVE_POSIX_DECLS=0 -c -o localtime.o localtime.c localtime.c:181:10: warning: 'tzname' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes] char * tzname[2] = { ^ If I make the 'date' executable, there are similar warnings when compiling "date.c" and "strftime.c". -- -=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@mev.co.uk> )=- -=( Web: http://www.mev.co.uk/ )=-