今回MinGWをすべて自分でビルドするにあたってのコンセプト
新MSYSがなんとか動くようになりましたが、MSYS 本来の目的であるところのビルドがまだできない状態です。
そこで今回からGNU MAKE のビルドに挑みたいと思いますが、make-3.82.tar.gz をダウンロードしに行く服はあっても、ダウンロードするツールがありません。これはどうにかしなければ!
と、わざとらしい前フリはさておき、今回はダウンロードツール、wgetのビルドを目指します。
wget のビルドにはGnuTLS かOpenSSL のどちらかが必要になりますが、MSYS で採用されているOpenSSL を選択します。
3-6. OpenSSLのインストール (リスト番号72,102)
目標その1. ビルドに必要な開発補助ツール・ライブラリなども可能な限りソースからコンパイルする。現在の達成状況はこちら→mingw32編、msys編。
目標その2. 可能な限り最新版ソースを使用する。(svn、git利用も含む)
目標その3. UNIXからの移植がしやすいmingw-w64を使用。ただし32bitマシン上のネイティブ環境ですべてコンパイルすること。クロスコンパイル(Cygwinを含む)は無しの方向。
新MSYSがなんとか動くようになりましたが、MSYS 本来の目的であるところのビルドがまだできない状態です。
そこで今回からGNU MAKE のビルドに挑みたいと思いますが、make-3.82.tar.gz をダウンロードしに行く服はあっても、ダウンロードするツールがありません。これはどうにかしなければ!
と、わざとらしい前フリはさておき、今回はダウンロードツール、wgetのビルドを目指します。
wget のビルドにはGnuTLS かOpenSSL のどちらかが必要になりますが、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」と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 でビルドします。
「--disable-ipv6」はIPv6 のエラーを修正する手間よりも、IPv6 の価値は低いと判断したため無効にしています。
というか、MinGW の初期状態ではwget がインストールされていないことが書いていて気づきました。ともあれ、早速make のソースをwget だぜ!
ダウンロード成功。ソースwget だぜ!
しかし、またしても問題が・・・・・・。
目標達成率 = 73 / 115 (残り 42) mingw32編、msys編
今回 +2
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
コメント