はじめまして、名島と申します。

数日前から、ある似非POSIXな組み込み環境で動作するアプリケーションにRubyを
組み込んで動かそうとしています(別に環境名を伏せる必要性はあまり無いのです
が…)。
その環境では、一応Rubyを動作させることができ、現在、実用上問題ないか検証中
です。

さて、本題ですが、その環境には、sys/ioctl.hが無く、make時にio.cで
sys/ioctl.hが無いと怒られてしまいました。
原因はconfig.hにHAVE_SYS_IOCTL_Hが無いにもかかわらず、sys/ioctl.hのインク
ルード条件をパスしているためだと思います。
パッチを作ってみましたので、取り込んで頂ければ幸いです。

-----
Index: io.c
===================================================================
RCS file: /src/ruby/io.c,v
retrieving revision 1.374
diff -u -r1.374 io.c
--- io.c        23 Jul 2005 01:02:10 -0000      1.374
+++ io.c        25 Jul 2005 04:45:18 -0000
@@ -44,7 +44,7 @@
 #endif

 #include <sys/types.h>
-#if !defined(DJGPP) && !defined(_WIN32) && !defined(__human68k__)
+#if defined(HAVE_SYS_IOCTL_H) && !defined(DJGPP) && !defined(_WIN32) &&
!defined(__human68k__)
 #include <sys/ioctl.h>
 #endif
 #if defined(HAVE_FCNTL_H) || defined(_WIN32)
-----

ほかにもconfigure時にいろいろと怒られてしまい、quick hackで乗り切っていま
す。しかし、マイナーなクロスコンパイル環境に対応する必要もないでしょうし、
quick hackなので、提案などはやめておきます。

-- 
名島 太樹 <najima / mickey.ai.kyutech.ac.jp>