計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)
Solaris8 上で Forte6 コンパイラを使って binutils 2.22 を構築する
ソース
http://ftp.gnu.org/gnu/binutils/
作業環境
UltraSPARC-IIe v9 の Sun Blade 100 と Sun Blade 150
-xarch=v8plus オプションで構築する
環境変数の設定
PATH
/usr/ucb を外す
/usr/ccs/bin を加える
/usr/local/bin は最後に移して検索順位を下げる
ソース展開
gtar xvfz binutils-2.22.tar.gz
cd binutils-2.22
ソース編集
binutils/ar.c で変数宣言の前に実行式があるのを修正
*** binutils/ar.c.orig Wed Jan 25 15:07:40 2012
--- binutils/ar.c Wed Jan 25 15:08:05 2012
***************
*** 246,253 ****
{
FILE *s;
- s = help ? stdout : stderr;
-
#if BFD_SUPPORTS_PLUGINS
/* xgettext:c-format */
const char *command_line
--- 246,251 ----
***************
*** 260,265 ****
--- 258,265 ----
= _("Usage: %s [emulation options] [-]{dmpqrstx}[abcDfilMNoPsSTuvV]"
" [member-name] [count] archive-file file...\n");
#endif
+
+ s = help ? stdout : stderr;
fprintf (s, command_line, program_name);
/* xgettext:c-format */
コンフィグレーション
ソースと別の場所に作業ディレクトリを作って移動
mkdir ../binutils
cd ../binutils
Forte6 では __FUNCTION__ マクロは存在しないかわりに __func__ マクロを使う
CC=cc CFLAGS="-xarch=v8plus -D__FUNCTION__=__func__" \
CXX=CC CXXFLAGS="-xarch=v8plus -D__FUNCTION__=__func__" \
CPPFLAGS="-D__FUNCTION__=__func__" \
LDFLAGS="-L/usr/local/lib" \
../binutils-2.22/configure \
--with-mpc=/usr/local --with-mpfr=/usr/local --with-gmp=/usr/local
※ ここでは gmp, mpfr, mpc を使う(任意)
メイク
GNU make を使うこと
gmake
インストール
gmake install
計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)