#!/bin/sh makefile_config="Makefile.config" # コマンドライン引数の処理 for arg in "$@" do name=`echo $arg | cut -d "=" -f 1` value=`echo $arg | cut -d "=" -f 2` case $name in --with-headers) include_path=$value ;; --with-libraries) library_path=$value ;; --help) echo "configure options:" echo "--help" echo " display this information" echo "--with-headers=" echo " specify the directory of Boost headers" echo "--with-libraries=" echo " specify the directory of Boost libraries" exit ;; esac done # Boost C++ Librariesのヘッダファイルがあるディレクトリをサーチ for dir in $include_path "/usr/local/include" "/opt/local/include" "/opt/include" "/usr/include" "/mingw/include" do ls $dir/boost* 2> /dev/null > /dev/null if test $? -eq 0 then boost_dir=`ls -d $dir/boost* | sort -r | head -1` if test $boost_dir = $dir/boost then include_path=$dir else include_path=$boost_dir fi break fi done # Boost C++ Librariesのライブラリファイルがあるディレクトリをサーチ for dir in $library_path "/usr/local/lib" "/opt/local/lib" "/opt/lib" "/usr/lib" "/lib" "/mingw/lib" do ls $dir/libboost* 2> /dev/null > /dev/null if test $? -eq 0 then library_path=$dir break fi done ##### 以下、Makefile.configを生成する ##### rm Makefile.config 2> /dev/null # Boost C++ Librariesのバージョンを調べる boost_version=`echo "#include echo BOOST_VERSION" | g++ -E -I$include_path -L$library_path - | sh` boost_lib_version=`echo "#include echo BOOST_LIB_VERSION" | g++ -E -I$include_path -L$library_path - | sh` # ライブラリファイルの添字を調べる # 環境によって、-gcc-mt-s, -mt-s, -gcc42-mt-sなど、添字が異なるため libboost_regex_filename=`ls $library_path/libboost_regex*-s.* 2> /dev/null | head -1` if test -z $libboost_regex_filename then libboost_regex_filename=`ls $library_path/libboost_regex*.* | head -1` fi libboost_suffix=`echo $libboost_regex_filename | sed -e s/.*libboost_regex//g -e s/\.[a-z]*$//g` echo "LIBBOOST_SUFFIX=$libboost_suffix" >> $makefile_config # 各種変数を出力 echo BOOST_VERSION=$boost_lib_version >> $makefile_config echo BOOST_DIR=$include_path >> $makefile_config echo LIBBOOST_DIR=$library_path >> $makefile_config echo OPTIONS=$options >> $makefile_config # 生成結果を表示 cat Makefile.config # 終わり