AIXでruby 1.8をつかってruby 1.9をコンパイルしようとすると失敗する

% make
ruby "../trunk/tool/transcode-tblgen.rb" -vo newline.c ../trunk/enc/trans/newline.trans
../trunk/tool/transcode-tblgen.rb:348: too big quantifier in {,}: /\A([0-9a-f][0-9a-f]){4,259}\z/
make: *** [newline.c] Error 1

newline.cをほかのプラットフォームから持ってくればとりあえずしのげるので無視していました。調べてみるとAIXのすでにもっている定数が邪魔をしていたみたいです。で、ぜんぜんうまい逃げが見つからないので、

Index: regex.h
===================================================================
--- regex.h     (revision 26219)
+++ regex.h     (working copy)
@@ -54,6 +54,9 @@
 #define RE_REG_MAX ((1<<BYTEWIDTH)-1)

 /* Maximum number of duplicates an interval can allow.  */
+#ifdef _AIX
+#undef RE_DUP_MAX
+#endif
 #ifndef RE_DUP_MAX
 #define RE_DUP_MAX  ((1 << 15) - 1)
 #endif

でしのぐのですが、もうちょっとまじめに調べてから入れていいか聞くことにします。<追記> どうやらリリース時にはnewline.cはtarballにふくまれるらしい。とするとこれに引っかかるのは多分この世で私だけな気がする。<追記2> linuxのヘッダを見たら、sizeof(int)==2だと、(1 << 15)がオーバフローするので0x7fffって書いてありました。