2016年8月11日木曜日

ARMクロスコンパイル用clang その2

ARMクロスコンパイル用clangの続き

普段使っているのがWindowsなのでWindows上でもARMクロスコンパイルclangを作成して見る
自作OS向けなのでベアメタルビルドでOK。
ライブラリ無しのコンパイラのみなのでビルドはシンプル。

■準備
msys2 32bit版を導入

(1) https://msys2.github.io/ から msys2-i686-[hhhhmmdd].exe をダウンロードして実行する
(2) メニューからMinGW-w64 Win32 shellを選択してターミナルを出す
(3) ターミナルからシステムアップグレード
     pacman -Syu --noconfirm

(4) ターミナルを1度閉じる
(5) エクスプローラから C:\msys32\mingw32.exe を実行する
  アップグレードするとメニューからのターミナル起動ショートカットがなぜか効かなくなるので直接実行

(6) clangビルドに必要なパッケージをインストール
     pacman -S base-devel mingw-w64-i686-toolchain python --noconfirm

■binutils, clangをビルド
   ビルド用スクリプトbuild-arm-clang.shを用意

(使用方法)
  build-arm-clang.sh [binutilsバージョン] [llvm/clangバージョン]
  何も指定しないとbinutils-2.27, llvm-3.8.1 になる