SCM/Git/build

SCM?/Git/build

古めの cygwin でビルドする

cygwin 1.5.22 あたりよりも前の古い cygwin 環境で git をビルドする場合、そのまま configure をかましてもうまくいかない。いくつか Makefile 向けのマクロを追加定義する必要がある。

ふつうに configure かましてから、生成された config.mak.autogen あたりに以下のものを追記すればいいみたい。

NO_PERL_MAKEMAKER=UnfortunatelyYes
NO_PREAD=UnfortunatelyYes
NO_INET_NTOP=UnfortunatelyYes
NO_INET_PTON=UnfortunatelyYes

んでてきとうにつくってみたスクリプト

#!/bin/sh

#disp cygwin version
#cygcheck -s | egrep "^cygwin[[:space:][:cntrl:]]"

export CC="gcc -std=gnu99"
export CXX="g++"
export CXXFLAGS="-O2 -Wall"
export CFLAGS="$CXXFLAGS -pedantic"
export LDFLAGS="-s"

./configure \
  --enable-pthreads="-lpthread" \
  --with-tcltk=no \
  --prefix=/usr/local/git

cp -fp config.mak.autogen config.mak.bak
echo 'NO_PERL_MAKEMAKER=UnfortunatelyYes' >> config.mak.autogen
echo 'NO_PREAD=UnfortunatelyYes' >> config.mak.autogen
echo 'NO_INET_NTOP=UnfortunatelyYes' >> config.mak.autogen
echo 'NO_INET_PTON=UnfortunatelyYes' >> config.mak.autogen

まあ素直に cygwin をアップデートすべきなんだとは思いますが…。