ag のビルド
ackより速いagを試してみる - secretbase.log
MinGWでSilver Searcher(ag.exe)をビルドする方法。 #Windows #MinGW - Qiita
chocolatey install
mingw を簡単にインストールしようと思って chocolatey 導入。
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin
ag build
git clone git://github.com/ggreer/the_silver_searcher.git cd the_silver_searcher.git git co c9c2b5b
MinGWでSilver Searcher(ag.exe)をビルドする方法。 #Windows #MinGW - Qiita だと zlib もバイナリを入れているけれど、 mingw-get list で libz が見つかったので、そちらを使用。
mingw-get install mingw32-libz
pcre-x86-mingw4-8.21-src.tar.bz2
pcre-x86-mingw4-8.21-bin.tar.bz2
- pcre-x86-mingw4-8.21-src.tar.bz2内のpcre.h.genericとconfig.h.genericを.genericを外してthe_silver_searcher/src内にコピーする。
- pcre-x86-mingw4-8.21-bin.tar.bz2内のbin/libpcre.dllをthe_silver_searcher内にコピーする。
- the_silver_searcher/Makefile.w32を以下のように書き換える。
+ LDFLAGS = -static -static-libgcc - LIBS = -lz -lpthread -lpcre -lshlwapi + LIBS = ./libpcre.dll -lz -lpthread -lshlwapi
- gcc -o $@ $(OBJS) $(LIBS) + gcc $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
mingw32-make -f Makefile.w32
mingw 外で使うには以下のファイルも必要。
- libpcre.dll
- pthreadGC2.dll
蛇足
LDFLAGS = -static で libz-1.dll は不要になった。
libgcc_s_dw2-1.dll も不要になったみたい。
pthreadGC2.dll も外したいけど、どうしたらいいんだ?
pcre
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.tar.bz2
./configure mingw32-make.exe mingw32-make.exe install
gcc に -I を指定したり -L を指定したりしたけど、使ってくれなかったみたい。