> -----Original Message----- > From: Jim Meyering [mailto:[EMAIL PROTECTED] > Sent: Sunday, April 04, 2004 11:28 AM > To: [EMAIL PROTECTED] > Cc: [EMAIL PROTECTED] > Subject: Re: porting coreutils 5.2.1 to Interix > > > "Mark Funkenhauser" <[EMAIL PROTECTED]> wrote: > > I've ported the coreutils to Interix. > > > configure: > > - around line 27329 - you exit if not getmntent/getmntinfo api is > > found. > > Without getmntent or similar support, df won't work at all. > Doesn't Interix have some sort of interface for determining > how much space is used on each file system? If so, we can > extend the autoconf macro in m4/ls-mntd-fs.m4 so that it > works for Interix, too.
df has its own internal getmntinfo() function. Just a look looking for valid mounted Windows drive letters. This function was never put into libc or into the subsystem. Because support for mount()/unmount() was being developed at the time and so getmntinfo() would have changed radically with real mount support. > > > src/stat.c: > > [ see the attached stat.c.diff file ] > > > > You assume (in configure - see HAVE_STRUCT_STATVFS_F_BASETYPE) > > that the struct statvfs contains the f_basetype member. > > This would be incorrect. > > > > You assume that all OS's have the statfs() function. > > Actually, I wasn't quite so presumptuous :) > I merely noted that all systems that I knew about -- and that I > considered reasonable porting targets -- met those conditions. Sorry, didn't mean it to be quite so personal. I was thinking "You assume" as more "the code makes the assumption ...." I understand very well that "code is not portable" but rather "it's code that has been ported to x,y,z,... ". Looks like UNIX's f_fsbasetype[FSTYPESZ] is equivalent to Interix's f_fstypename[MNAMELEN+1] . Although the buffer sizes are probably very different. > > > src/mknod.c: > > - Interix defines a mkdev() macro, not a makedev() macro. > > The diff output is: > Are you sure Interix has no makedev macro? Absolutely. An oversight on my part. Of which I have no control over anymore. But I can try to get it into the next release of Interix. (but don't hold your breath) > > Assuming there really is no macro with the `makedev' spelling, > I'll need to know which file to include to get the mkdev definition. > The file to change will probably be src/system.h, near the code that > already handles a missing `major' macro/function. The existing macro in Interix is called "mkdev()". It is in <sys/mkdev.h>. Right beside the definitions for major() and minor(). _______________________________________________ Bug-coreutils mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-coreutils
