Time zone confusion and implementation hints
lennox at cs.columbia.edu
lennox at cs.columbia.edu
Tue Jul 6 18:57:20 UTC 2010
Some testing for me seems to reveal that if you:
* install MSYS as well as MINGW, and add both the MINGW and MSYS bin
directories to your Windows PATH
* use the MSYS make
* set CFLAGS in the tzcode Makefile to
-DHAVE_SYS_WAIT_H=0 -DHAVE_SYS_STAT_H=0 -DHAVE_SYMLINK=0
* set cc in the tzcode Makefile to gcc
* write a wrapper function for link() mapping it to the Windows NT
CreateHardLink function:
#include <errno.h>
#define _WIN32_WINNT 0x0500
#include <windows.h>
int link(const char* path1, const char* path2)
{
BOOL createdLink = CreateHardLinkA(path2, path1, NULL);
if (!createdLink) {
errno = EACCES; /* ?? Should map GetLastError to errno */
return -1;
}
return 0;
}
* include the source file containing link() in the Makefile's
TZCSRCS variable, and its corresponding object file in TZCOBJS
* and run on a file system that supports hard links, e.g. NTFS
Then make zic; make zones works.
You'll probably also want to set the TZDIR variable in the makefile to
something more Windows-sensible than /usr/local/etc/zoneinfo.
If you need to support older filesystems, e.g. FAT32, you could alternately
map link() to CopyFile instead.
--
Jonathan Lennox
lennox at cs.columbia.edu
On Tuesday, July 6 2010, "Yves Goergen" wrote to "tz at lecserver.nci.nih.gov" saying:
> On 06.07.2010 18:30 CE(S)T, Alan Barrett wrote:
> > I thought you were trying to build zic? tzselect is something different.
> > (Try "make zic" instead of just "make".)
>
> That leads to:
>
> > C:\Programme\MinGW\tz>mingw32-make zic
> > makefile:306: warning: overriding commands for target `install'
> > makefile:287: warning: ignoring old commands for target `install'
> > cc -DTZDIR=\"/usr/local/etc/zoneinfo\" -c -o zic.o zic.c
> > process_begin: CreateProcess(NULL, cc -DTZDIR=\"/usr/local/etc/zoneinfo\" -c -o
> > zic.o zic.c, ...) failed.
> > make (e=2): Das System kann die angegebene Datei nicht finden.
> > mingw32-make: *** [zic.o] Error 2
>
> Seems tz resists building on Windows? Has nobody ever tried yet?
>
> Think I'll retry with Visual Studio and modify the source code to define
> some macros to make it more friendly.
>
> --
> Yves Goergen "LonelyPixel" <nospam.list at unclassified.de>
> Visit my web laboratory at http://beta.unclassified.de
>
More information about the tz
mailing list