64bit 開発環境ビルド準備

ソースコード

ビルドするんだから最新をリポジトリから取得、とか言うとバージョン管理博覧会になるです。
それに、リポジトリからソースを取得した場合、configureスクリプトがないことがあります。autoconfとautomakeで作らなきゃいけなくなるんで、最小限にしましょ。

使うバージョン、バージョン管理ソフトについては続きに。

バージョン管理 必須 メモ 使用バージョン
Binutils CVS アセンブラ、リンカなどバイナリコードを扱う 2.21.51
GCC Subversion コンパイラ 4.6branch
GMP Mercurial 多倍長演算ライブラリ 5.0.1
Mpfr Subversion 浮動小数点による多倍長演算 2.4.1〜
MPC Subversion 多倍長演算 0.9
PPL Git オプション ループ最適化 (なし)
CLooG/PPL Git オプション ループ最適化 (なし)


今回はgccだけリポジトリから取ります。
マイナーバージョンがリリースされたばっかりだから。
なのでクライアントを用意するのはSubversionだけです。

Windows 64bit用のSubversionクライアント

Windows環境ではSubversionクライアントはGUIが一般的と思います。
TortoiseSVNとか、EclipseSubversiveプラグインみたいにIDEに組み込みのものです。

けど今回は、コマンドライン版か、GUIでもJava実装を探しました。

TortoiseSVN

GCCは大量のファイルがあるので、TortoiseSVNだとPC全体が遅くなったりします。アイコンオーバーレイのために再帰的にフォルダツリーたどってキャッシュに放り込んでます。再帰オプションはオフにできますし、アイコンオーバーレイを止めてもいいんですが…
ファイル数が多いせいでハングするとエクスプローラが固まるんで怖い。

IDE組み込み

IDEだとプロジェクトにする必要があったりして、後のビルドがやりにくくなります。プロジェクト用のファイルとか作られちゃいますし。
よほど使い慣れたIDEがあって、コマンドラインに馴染みがない人でもない限り、わざわざIDEを使うのは面倒なだけ…

コマンドライン

http://subversion.apache.org/packages.html#windowsにバイナリパッケージがありますが、64bitネイティブとなると選択肢は少ないです。

  • CollabNet のは32bitだけです*1
  • SlikSVN は64bit ネイティブがあります
  • VisualSVN Server*2も32bitだけっぽいし、サーバ部分が邪魔
  • Win32Svnは名前どおり32bit

なおWANdisco は登録していないのでわかりません。
というわけで、オフィシャルで記載されているパッケージのうち、SlikSVNしかないのでした。
SlikSVN使い始めたばかりなので、安定性はまだよくわかりません。

Java実装1 SVNKit :: Subversion for Java

Javaの場合、JVMが64bitならそれでいいので、一応探しました。
ただ、ネイティブコードに比べると、どうしても遅くなりがち*3ですので、次善の選択肢です。
Pure Javaコマンドラインから使えるSubversionクライアントは、このSVNKitになるかと。
EclipseSubversiveプラグインで使われているので、安定してます。

Java実装2 SmartSVN – SVN Client

こちらはGUI。64bitのエクスプローラに組み込むことも可能…ですけど、それならTortoiseSVN使えばいいよね。

メリットとしては、開発社の製品にSmartCVSSmartGit – Git Client for Windows, macOS, Linuxがあるので、統一したインターフェースになってるんじゃないかな、と。
*4

SmartSVNとSmartCVSは同じようなライセンスで、ダウンロードできるFoundation版が無料、Professional版が有料です。
SmartGitは非商用が無料、商用が有料で、SVN/CVSとは違うライセンス体系なのでご注意を*5

他にもいろいろ一般的な条件が書いてあるので、ライセンスはちゃんと読もうということで。

*1:サーバ向けに64bitのパッケージがありますが、ソフト自体は32bit

*2:VisualSVNクライアントはVisualStudio用です

*3:JRubyみたいにうまく実装されてれば速くなることもあるらしい。

*4:GCCのビルドにはGUI必要としないんでまだ使ってないんです

*5:SmartSynchronizeというのもあって、これは無料では使用できません。