In message <86y9s8hr8u.wl / archon.local.idaemons.org>
	on Tue, 08 May 2001 23:04:01 +0900,
	"Akinori MUSHA" <knu / iDaemons.org> wrote:
>  まずは、いちばん簡単と思われる ruby-sha1 から行きましょう。
> 外部のライブラリを必要とせず、プラットフォームにも依存しません。
> (endian は extconf.rb で判別して対応しています)
この判別の方法ですが、BIG_ENDIAN や LITTLE_ENDIAN といった、Cのプリプ
ロセッサのマクロは誰も定義していないと思って書かれています。
標準のヘッダファイルに、既に定義されていてコンパイルの途中でウォーニン
グが出ます。ま、ウォーニングなんですが、気持ち悪いだけでなく、独自の
チェック自体が無駄なのでNetBSDのパッケージでは以下の様なパッチを当てい
ます。

本当は、単にチェック部分を削除するのではない、もうちょっと良い方法があ
ればいいんですが。

以上、単なる関連情報でした。

--
神戸 隆博(かんべ たかひろ) at home


----------------------------------------------------------------
$NetBSD$

--- extconf.rb.orig	Fri Nov  3 05:08:42 2000
+++ extconf.rb
@@ -1,15 +1,3 @@
 require 'mkmf'
 
-i = 0x01020304
-
-case [i].pack('l')
-  when [i].pack('V')
-    $CFLAGS += " -DLITTLE_ENDIAN"
-  when [i].pack('N')
-    $CFLAGS += " -DBIG_ENDIAN"
-  else
-    p "Sorry, your machine has an unusual byte order which is not supported."
-    exit!
-end
-
 create_makefile('sha1')