mingw+gitコンパイル
http://www.kantenna.com/info/2012/01/mingwminttygit.php を見てなんとなくmingwでgitコンパイルに挑戦してみた。
tcltkを入れていないので、git-guiは無視。
必要なライブラリをインストールする。(ほかにも必要かもしれないけど忘れた)
http://mingw.cvs.sourceforge.net/viewvc/mingw/catgetsからcatgetsのソースコードを取得&コンパイル&インストールして、langinfo.oを作っておく。
https://github.com/msysgit/git からgitのソースコードを取得、上記で作ったlanginfo.oと一緒に下記コマンドでビルドする。gitのフォルダ名は適当に読み替えること。prefixは適当に。(多分もっと簡単な方法があるのだろう)
インストールは下記のようにする。INSTALLファイルの名前を変えておくこと。
問題点
commitしようとすると以下のエラーが出る。当分は-mを使うことにする…
tcltkを入れていないので、git-guiは無視。
必要なライブラリをインストールする。(ほかにも必要かもしれないけど忘れた)
$ mingw-get mingw32-libintl mingw32-libiconv mingw32-libz
http://mingw.cvs.sourceforge.net/viewvc/mingw/catgetsからcatgetsのソースコードを取得&コンパイル&インストールして、langinfo.oを作っておく。
$ cd catgets
$ configure; make ; make install
$ gcc -c repl/langinfo.c -I/usr/local/include
https://github.com/msysgit/git からgitのソースコードを取得、上記で作ったlanginfo.oと一緒に下記コマンドでビルドする。gitのフォルダ名は適当に読み替えること。prefixは適当に。(多分もっと簡単な方法があるのだろう)
cd msysgit-git-v1.7.10-rc0-5759-g87c2b03/msysgit-git-87c2b03
$ mv ~/catgets/langinfo.o .
$ make prefix=$HOME/Git NO_TCLTK=1 SNPRINTF_RETURNS_BOGUS=1 CFLAGS="-I/usr/include -I/usr/local/include" LIBS="libgit.a xdiff/lib.a langinfo.o -L/mingw/lib -L/usr/lib -L/usr/local/lib -lcatgets -lintl -liconv -lz -lws2_32"
インストールは下記のようにする。INSTALLファイルの名前を変えておくこと。
$ mv INSTALL INSTALL_
$ mv gitweb/INSTALL gitweb/INSTALL_
$ make prefix=$HOME/Git NO_TCLTK=1 SNPRINTF_RETURNS_BOGUS=1 CFLAGS="-I/usr/include -I/usr/local/include" LIBS="libgit.a xdiff/lib.a langinfo.o -L/mingw/lib -L/usr/lib -L/usr/local/lib -lcatgets -lintl -liconv -lz -lws2_32" install
問題点
commitしようとすると以下のエラーが出る。当分は-mを使うことにする…
$ EDITOR=vim git commit
fatal: BUG: your vsnprintf is broken (returned -1)