Cygwinでのcfg(1.9.0)のビルドについて
Cygwinはパッケージをある程度ダウンロードできるのでcfgのビルドもそんなに難しくはないだろうということで一応まとめておくことにします。
CygwinはLinuxのディストリビューションと同じで、作成したcfgを他のバージョン(端末)のCygwinに持っていっても動作しない可能性がありますので、複数のCygwin環境の場合は個々につくるか、Cygwinの環境を合わせた方がよいです。
Cygwinのインストール
標準パッケージ+Develパッケージを全てインストールしました。
インストール後に以下の作業を行ってください
- boostで検索し、libboost-develを追加インストールしてください。
- xercesで検索し、xercesとxerces-develをアンインストールしてください。*1
Xerces-cのビルドとインストール(HAS_CFG_XML=1の時のみ)
XMLのパースにXerces-cを使っているので構築します。*2
Cygwinのパッケージに入っているXercesが3.0.0と古いのでソースからビルドすることにします。
Xerces-cの3.1.1をダウンロードして、やっぱりconfigureを一部修正して、xerces_cv_icu_presentの値を強制的にYESにする必要がありそうです。
$ ../configure --disable-pretty-make --disable-network --enable-transcoder-icu --disable-shared CFLAGS=-O3 CXXFLAGS=-O3
そうすると以下のような設定が表示されました。
configure: Report: configure: File Manager: POSIX configure: Mutex Manager: Windows configure: Transcoder: icu configure: NetAccessor: disabled configure: Message Loader: inmemory
あとは
$ make;make install
だけです。
cfgのビルド
ATK2をビルド(HAS_CFG_XML=1)するのであれば、
$ ./configure LIBBOOST_SUFFIX=-mt BOOST_VERSION=1_48 BOOST_DIR=/usr/include XERCES_DIR=/usr/include LIBBOOST_DIR=/usr/lib LIBXERCES_DIR=/usr/lib OPTIONS= HAS_CFG_XML=1
しないのであれば、
$ ./configure --without-xml LIBBOOST_SUFFIX=-mt BOOST_VERSION=1_48 BOOST_DIR=/usr/include XERCES_DIR=/usr/include LIBBOOST_DIR=/usr/lib LIBXERCES_DIR=/usr/lib OPTIONS=
で
$ make
とすればcft.exeの出来上がりです。ちなみに出来上がったcfgのサイズは以下のとおりでした。
今回使った環境は
でした