[PATCH 06/39] win32: add missing system headers
Rob Landley
rob at landley.net
Sat Apr 24 23:10:23 UTC 2010
On Sunday 18 April 2010 12:31:22 Mikhail Gusarov wrote:
> Twas brillig at 01:27:35 18.04.2010 UTC-05 when rob at landley.net did gyre and
gimble:
> >> create mode 100644 win32/grp.h
> >> create mode 100644 win32/netdb.h
> >> create mode 100644 win32/pwd.h
> >> create mode 100644 win32/sys/ioctl.h
> >> create mode 100644 win32/sys/mman.h
> >> create mode 100644 win32/sys/poll.h
> >> create mode 100644 win32/sys/socket.h
> >> create mode 100644 win32/sys/wait.h
> >> create mode 100644 win32/termios.h
>
> RL> Surely this is a defect in your build environment? These are
> RL> standard system headers. Your C library is defective.
>
> Where did you see Windows with ioctl()?
The _standard_ is posix. Windows claims to be posix compliant back to NT4,
and ioctl() is in posix. (Admittedly for streams support but the prototype's
the same.)
If the approach here was "let busybox build/run whatever subset of its
functionality works under a strict posix environment", I'd be ok with that.
CONFIG_POSIX as a prerequisite for 8 gazillion other config symbols, it'd
probably switch off a lot of apps (including "mount" and "init" which aren't
defined in posix).
But that's not what's being proposed here. I mentioned tinycc turning into a
windows project because that transition essentially drove all the Linux
developers away.
Your question implies that I should have some windows knowledge as a
prerequisite for doing busybox development. "We did I see Windows"? I
didn't. I don't do windows. I'm not going to start.
Let's get back to what you're question's implying, though. You're saying that
Windows doesn't do ioctl(). I'll take your word for it. So what's the point
of adding the header? If windows hasn't got the function, it can't use apps
that need that function. If a posix compatability library can supply that
function, then use that compatability library. Don't bloat busybox with
shims. Go bug the GNU project if you want that, they've got buckets of it.
The code is small and simple precisely because of the ABSENCE of the kind of
stuff this thread is proposing to add. It's a 39-patch series providing the
BASIC INFRASTRUCTURE FOR FUTURE BLOAT. The patch series by itself
accomplishes essentially nothing, it needs WAY MORE ADDITIONAL CODE to maybe
someday provide anything useful.
This entire conersation strikes me as "drill baby drill" reasoning. "You've
got such lovely unspoilt forests, let us clearcut them for you." Becase
obviously the only _reason_ we'd ever have carefully maintained anything is so
somebody could come along and strip-mine it.
Talking about how much money the lumber would bring in is NOT THE POINT. Yes
it would be great for the Windows guys if BusyBox was a windows project, but
it's not. It's a Linux project with an unrealized promise of being a Posix
project. If you haven't got a Posix environment less bloated than Cygwin
that's not our problem. Fix/replace Cygwin.
Off to re-watch the Monty Python "Can we have your liver?" scene...
Rob
--
Latency is more important than throughput. It's that simple. - Linus Torvalds
More information about the busybox
mailing list