今回MinGWをすべて自分でビルドするにあたってのコンセプト
目標その1. ビルドに必要な開発補助ツール・ライブラリなども可能な限りソースからコンパイルする。現在の達成状況はこちら→mingw32編msys編
目標その2. 可能な限り最新版ソースを使用する。(svn、git利用も含む)
目標その3. UNIXからの移植がしやすいmingw-w64を使用。ただし32bitマシン上のネイティブ環境ですべてコンパイルすること。クロスコンパイル(Cygwinを含む)は無しの方向。

新MSYSがなんとか動くようになりましたが、MSYS 本来の目的であるところのビルドがまだできない状態です。
そこで今回からGNU MAKE のビルドに挑みたいと思いますが、make-3.82.tar.gz をダウンロードしに行く服はあっても、ダウンロードするツールがありません。これはどうにかしなければ!

と、わざとらしい前フリはさておき、今回はダウンロードツール、wgetのビルドを目指します。
wget のビルドにはGnuTLSOpenSSL のどちらかが必要になりますが、MSYS で採用されているOpenSSL を選択します。


3-6. OpenSSLのインストール
(リスト番号72,102)

url : http://www.openssl.org/
release : 1.0.1c
git : git://git.openssl.org/openssl.git

OpenSSL はOpenSSH ではありません。
git ソースはエラーが出るので、1.0.1c を元のMSYS + mingw-gcc でビルド。

./config shared --prefix=/mingw
make
make install

シェルスクリプト「config」とPERL スクリプト「Configure」がありますが、後者はうまくいかなかったので、ここはやはりINSTALL.W32 に書いてある通り、「config」を利用。リンクもmingw の流れに乗ってshared を指定。というか、次のwget でstatic ビルドがうまくできませんでした。
また、msys-1.0.dll は使っていませんので、prefix は/mingw を指定しています。msys-1.0.dll とリンクする(=msys-gcc を使う)場合は、/usr (MSYS のroot)をして指定していきます。(→理由)
今後もこのポリシーで行きます。


3-7. wget のインストール (リスト番号-)

url : http://www.gnu.org/software/wget/
release : 1.14
git : git://git.savannah.gnu.org/wget.git

wget はUNIX の定番ダウンロードソフトです。
こちらもgit ソースはうまくコンパイルできなかったので、リリース版1.14 のソースを、mingw-gcc でビルドします。

./configure --prefix=/mingw --with-ssl=openssl --disable-ipv6
make
make install-strip

「--disable-ipv6」はIPv6 のエラーを修正する手間よりも、IPv6 の価値は低いと判断したため無効にしています。
というか、MinGW の初期状態ではwget がインストールされていないことが書いていて気づきました。ともあれ、早速make のソースをwget だぜ!

wget http://ftp.gnu.org/gnu/make/make-3.82.tar.gz

ダウンロード成功。ソースwget だぜ!
しかし、またしても問題が・・・・・・。


目標達成率 = 73 / 115 (残り 42) mingw32編msys編
今回 +2