わたなべです.

GOTO Kentaro <gotoken / math.sci.hokudai.ac.jp> writes:

:cygwinをターゲットにしたcross-compile環境を用意する方法が書
:かれているところをご存知無いでしょうか?? Windowsにちゃんとし
:たコンパイル環境を作る余裕が無いのでクロスで作りたいと思って
:ます。

いつもやってる手順です.

% mkdir -p common/libiberty
  これは ../common/libiberty という symlink が含まれてたりする
  のでしかたなく.
% tar xfvz gcc-2.95.2-2-src.tar.gz
% tar xfvz binutils-19990918-2-src.tar.gz
% tar xfvz cygwin-1.1.2-src.tar.gz
% cd cygwin-1.1.2
% tar xfv ../cygwin-src-20000625.tar.bz2 --use=bzip2
  とりあえず最新にしとく.
% ln -s ../gcc-2.95.2-2/{gcc,libio,libstdc++,texinfo} .
% ln -s ../binutils-19990818-2/{bfd,binutils,gas,gprof,intl,ld,opcodes} .
% rm -r libiberty
% ln -s ../common/libiberty .
  新しい libiberty だと dlltool で multiple defined になるの
  で古いほうを使う.
% mkdir CROSS
% cd CROSS
% env CFLAGS=-Os CXXFLAGS=-Os ../configure \
  --prefix=/usr/local/cygwin --target=i686-pc-cygwin \
  --enable-languages=c,c++
  objective-C とか f77 とか使わないので. -Os は最近の趣味.
% make LIBGCC2_INCLUDES=-I../../winsup/cygwin/include
  LIBGCC2_INCLUDES の内容は間違っている. 一度インストールさ
  れると /usr/local/cygwin/i686-pc-cygwin/include が参照され
  るから気づきにくい.
% sudo make install

ftp://sourceware.cygnus.com/pub/cygwin/latest/cygwin/cygwin-1.1.2-src.tar.gz
ftp://sourceware.cygnus.com/pub/cygwin/snapshots/cygwin-src-20000625.tar.bz2
ftp://sourceware.cygnus.com/pub/cygwin/latest/gcc/gcc-2.95.2-2-src.tar.gz
ftp://sourceware.cygnus.com/pub/cygwin/latest/binutils/binutils-19990918-2-src.tar.gz
あ, 今確認したら
ftp://sourceware.cygnus.com/pub/cygwin/latest/binutils/binutils-20000625-src.tar.gz
になってますね. 知らなかった. そっかこっちでちゃんと修正され
てるのかも. もう一回やってみよう.

-- 
わたなべひろふみ