GCCは、GNUプロジェクトによる各種プログラミング言語用のコンパイラ群です。 当初はC言語用のコンパイラでしたが、現在は、C++、Java、Fortranなど多くの言語に対応しています。
ソースファイルを展開します。
cd $MYLINUX/sources tar xvf gcc-4.9.2.tar.bz2 cd gcc-4.9.2
展開したソースファイルを修正します。
sed -i -e '/^# Test for stack protector support in target C library/agcc_cv_libc_provides_ssp=yes' gcc/configure for file in $(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h) ; do sed -i -e 's,/lib\(64\)\?\(32\)\?/ld,/tools&,g' -e 's,/usr,/tools,g' $file echo ' #undef STANDARD_STARTFILE_PREFIX_1 #undef STANDARD_STARTFILE_PREFIX_2 #define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/" #define STANDARD_STARTFILE_PREFIX_2 ""' >> $file done
展開したソースファイルに他のソフトウェアのソースファイルを追加します。
tar xvf ../gmp-5.1.3.tar.xz mv gmp-5.1.3 gmp tar xvf ../mpfr-3.1.2.tar.xz mv mpfr-3.1.2 mpfr tar xvf ../mpc-1.0.3.tar.gz mv mpc-1.0.3 mpc
ビルド用ディレクトリを準備します。
mkdir -vp ../gcc-build cd ../gcc-build
configureを実行します。
../gcc-4.9.2/configure \ --target=$MYLINUX_TARGET \ --prefix=/tools \ --enable-languages=c,c++ \ --disable-nls \ --disable-shared \ --disable-multilib \ --disable-decimal-float \ --disable-threads \ --disable-libatomic \ --disable-libgomp \ --disable-libitm \ --disable-libquadmath \ --disable-libsanitizer \ --disable-libssp \ --disable-libvtv \ --disable-libcilkrts \ --disable-libstdc++-v3 \ --with-newlib \ --with-sysroot=$MYLINUX \ --with-local-prefix=/tools \ --with-native-system-header-dir=/tools/include \ --without-headers > ../../logs/configurelog.gcc 2>&1
configureが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。
cat ../../logs/configurelog.gcc
インストールを行います。
make install
インストールが終了したら、画面に出力された内容を参照し、正常に終了したことを確認します。
ディスクを圧迫しないよう、ビルド用のディレクトリを削除します。
cd .. rm -fr gcc-4.9.2 rm -fr gcc-build