コンピュータ系/ソフトウェア/gcc

2018-04-16 (月) 15:53:00 (1287d)

コンピュータ系/ソフトウェア



GCCとは

  • GNU Projectのつくったコンパイラ

準備

fs-usr4

  • 使用Ver.:4.1.2

fs-usr5

  • 使用Ver.:4.1.3
    • for i386(c, コマンド:gcc)
      • OS付属
    • for i386(c++, コマンド:c++)
      • OS付属
  • 使用Ver.:4.1.2
    • for speecys(c, コマンド:ppcgcc)
      • 手動インストール

関連ソフトウェア

  • binutils
    • 自マシン用にはデフォルトで入っていることが多い.クロスコンパイルするなら絶対必要.普通のインストールでも新しいものを入れておいたほうが吉.
    • クロスコンパイルするためには,ターゲットのinclude,libをbinutilsインストールディレクトリに入れておく
  • gmake
  • Ver.4.3.0

インストール

ソースからインストール

  • tar xzf gcc-4.1.2.tar.bz2
  • cd gcc-4.1.2
  • ./configure
    • --target=***

      • 対象アーキテクチャを指定(クロスコンパイルする場合に)
      • ***:powerpc-netbsd
    • --enable-languages=*

      • コンパイラの種類指定(複数指定は","で区切る)
      • *:指定なし:全てのコンパイラをインストール
      • *:c:C言語
      • *:c++:C++言語
    • --prefix=PREFIX

      • インストール先
      • ただし変なところにするとmachine/ansi.hがないと怒られる.これは/usr/includeにあるのだが,参照するディレクトリがPREFIX/includeとなるので設定の仕方でmachine/ansi.hが見えなくなるためと思われる.
    • --host=*

      • hostの指定.NetBSD5からこれがないとコンパイルに失敗するっぽい
  • gmake
  • gmake install
  • その他

4.3.0

pkgsrcからインストール

設定

設定ファイル

運用

諸情報

注意

  • kshでなければインストールに不具合が出る可能性が高い

コンパイラ特有の工夫・インストール

  • 自分のパソコン用にコンパイルするためのgccの作成(つまり普通に使う場合)は以下の手順で.
    • 古いバージョンのgccで新しいgccをインストール
    • 新しいバージョンになったgccでもう一度gccをインストール
  • 他のアーキテクチャ用にコンパイルするためのgccの作成(クロスコンパイル用)は以下の手順で.
    • 新しいgccでクロスコンパイル用のgccをインストール
      • 該当アーキテクチャ用の名前で作成されるので使いやすい名前でシンボリックリンクを張る(例:PowerPC用:ppcgcc)

sandpoint用のgcc作成について

  • ターゲット環境用のヘッダ・ライブラリが必要(クロスコンパイラ全般)
    • sandpointのバイナリであるbase.tgz,comp.tgz,etc.tgzの中にあるinclude・libをbinutilsでインストールしたディレクトリ(/usr/local/powerpc-netbsd/)にコピーしておくこと