正しい(かどうかはわからない) gdc for arm-linux
リナザウも D言語の時代到来さー。(以下の記述は d-for-gcc-r1d での記述です)
> tar -xvzf ~/arch/binutils-2.14.tar.gz > cd binutils-2.14.tar.gz > ./configure --target=arm-linux --prefix=/usr/local/stow/gcc-gdc-arm-3.3.2 --host=i686-redhat-linux > make > sudo make install
> tar -xvjf ~/arch/gcc-3.3.2.tar.bz2 > cd gcc-3.3.2/gcc > tar -xvzf ~/arch/d-for-gcc-r1d.tgz > patch -p1 < d/patch-gcc-3.3.2 > cd .. > mkdir obj > cd obj > ../configure --enable-languages=c,d,c++ --prefix=/usr/local/stow/gcc-gdc-arm-3.3.2 --target=arm-linux --disable-nls --host=i686-redhat-linux /usr/local/stow/gcc-gdc-arm-3.3.2/arm-linux 内に、 /opt/Embedix/tools/arm-linux/include へのリンクをはる。 > make > sudo make install
> mkdir phobos > cd phobos configure スクリプト中に強制的に d_have_dmd=yes を書く。 > PATH=/usr/local/stow/gcc-gdc-arm-3.3.2/bin:$PATH CC=/usr/local/stow/gcc-gdc-arm-3.3.2/bin/arm-linux-gcc DMD=/usr/local/stow/gcc-gdc-arm-3.3.2/bin/arm-linux-gdc ../../gcc/d/phobos/configure --target=arm-linux --prefix=/usr/local/stow/gcc-gdc-arm-3.3.2 --host=i686-redhat-linux Makefile をいじる。 gen_config1: gcc/gen_config1.o $(CC) -o $@ $^ から gen_config1: gcc/gen_config1.c gcc -o $@ $^ へ gcc/d/phobos/gcc/deh.d に対して、いいかげん patch 96c96,97 < _Unwind_RaiseException (&exc.unwindHeader);
-
- -
> /usr/local/stow/gcc-gdc-arm-3.3.2/bin/arm-linux-gdc -c hello.d > /usr/local/stow/gcc-gdc-arm-3.3.2/bin/arm-linux-gcc -o hello hello.o /usr/local/stow/gcc-gdc-arm-3.3.2/lib/libphobos.a -lpthread -lm
hello.d は動きました。 attohttpD とかもできたけど seg っちゃいました。原因は今後の課題。