MacでTOPPERS/aspのコンフィギュレータを作成

TOPPERS/aspの環境を作るに当たり、まずコンフィギュレータをコンパイルする必要があるけど、これが一筋縄ではいかないので、そのメモ。

まず、コンパイルに必要なBOOSTはMacPortsからインストールしておく。MacPortsからインストールしたものは/opt/local/以下に配置されることを確認。

次に、http://www.toppers.jp/asp-kernel.html から該当CPUの簡易パッケージをダウンロードして、適当なフォルダに展開する。展開して出来たフォルダ内asp/cfg/cfg/Makefileを書き換える。16行目から20行目が次のようになっていると思う。

ifeq ($(OSTYPE),msys)
BOOST_LIBFILES = /mingw/lib/libboost_filesystem-mgw-mt-s.lib /mingw/lib/libboost_program_options-mgw-mt-s.lib
else
BOOST_LIBFILES = -lboost_filesystem$(LIBBOOST_SUFFIX) -lboost_program_options$(LIBBOOST_SUFFIX)
endif

これを次のように書き換える。

BOOST_LIBDIR = /opt/local/lib/
ifeq ($(OSTYPE),msys)
BOOST_LIBFILES = /mingw/lib/libboost_filesystem-mgw-mt-s.lib /mingw/lib/libboost_program_options-mgw-mt-s.lib
else
BOOST_LIBFILES =  $(BOOST_LIBDIR)/libboost_system$(LIBBOOST_SUFFIX).a $(BOOST_LIBDIR)libboost_filesystem$(LIBBOOST_SUFFIX).a $(BOOST_LIBDIR)libboost_program_options$(LIBBOOST_SUFFIX).a
endif

BOOST_LIBFILESが見つからなくてエラーになるので、絶対パスで指定することと、libboost_systemが見つからないことでエラーになるのを回避するために書き換えている。後述でコンパイル時にLIBBOOST_SUFIIXを指定するのでここでは書いているけど、直接書いてもOK。

で、次のようにmakeする。

make BOOST_DIR="/opt/local/include" LIBBOOST_SUFFIX="-mt-s" depend
make BOOST_DIR="/opt/local/include" LIBBOOST_SUFFIX="-mt-s"

すると、asp/cfg/cfg/内にcfgファイルが作成される。