Subject: Re: Interix support (missing function utimes())
To: Jesse Off <joff@embeddedARM.com>
From: Todd Vierling <tv@duh.org>
List: tech-toolchain
Date: 01/18/2005 17:56:59
On Tue, 18 Jan 2005, Jesse Off wrote:
> I've been trying to cross build NetBSD-current using Interix (Windows Services
> for UNIX). Its important to some of our embedded customers to be able to work
> in Windows since there is a lot of good EDA software that only runs on Windows
> (IDE's for FPGA programming, PCB/schematic capture, etc.) I've run into a few
> problems so far:
>
> * cc did not work for bootstrapping nbmake.. had to use HOST_CC="gcc"
This can be documented. It's pretty well known that Interix "cc" (which is
a wrapper around Visual C++) is just plain borken. And, adding to that:
> * many missing declarations unless #define _ALL_SOURCE, had to add both
> "HOST_CPPFLAGS=-D_ALL_SOURCE" and "CPPFLAGS=-D_ALL_SOURCE" since HOST_CPPFLAGS
> seemed to be used only on the nbmake build
HOST_CC="gcc -D_ALL_SOURCE" should fix that globally.
> * missing zlib.. installed pkg from Interopsystems, but installed it in
> /usr/local/[include,lib] so just cp'ed to /usr/include
HOST_CPPFLAGS="-I/usr/local/include"
HOST_LDFLAGS="-I/usr/local/lib"
will fix that without copying.
> * missing sys/mtio.h header for tools/compat.. removed from configure and all
> was fine.
Well, pax won't work without it currently. The mtio.h fixes in pkgsrc's
copy of pax could be brought back to src/bin/pax.
> * linking tools/binstall failure. There is no utimes or futimes on interix.
> (Its been officially deprecated by Microsoft for utime())
> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnucmg/html/UCMGch08.asp
Of course, utime() is less functional, but yep, I know that one.
tools/compat is replicated in pkgsrc as "libnbcompat", and there's a
utimes() replacement there; this could probably be brought back to
src/tools/compat easily.
This would be worth putting into a PR; failing that, I'll look into
documentation and fixes above when I can get a chance.
--
-- Todd Vierling <tv@duh.org> <tv@pobox.com>