#! /bin/sh # make.makefile for yamsweeper # # $Id: configure.euc,v 1.7 1994/11/03 00:18:42 hirofumi Rel hirofumi $ # # check built-in echo if echo "Hello \c" | grep c > /dev/null; then ECHO=echo ECHOn="echo -n" ECHOt= else ECHO=echo ECHOn=echo ECHOt="\c" fi case `basename $0` in configure) MSG=e;; configure.euc) MSG=j;; esac $ECHO case $MSG in e) $ECHO "********* YAMSWEEPER CONFIGURE SCRIPT *********" $ECHO ;; j) cat <<'EOF' ********* YAMSWEEPER コンフィグレーション ********* EOF esac case $MSG in e) $ECHO "This script will build an Imakefile and a Makefile for yamsweeper." $ECHOn "Press RETURN to continue. > " $ECHOt;; j) cat <<'EOF' このスクリプトは、ImakefileとMakefileを作成します。 リターンキーを押して下さい。 EOF $ECHOn "> " $ECHOt;; esac read ans $ECHO case $MSG in e) $ECHO "I will ask you some questions about your system and configuration." $ECHO "If you do not know the answer to any question," $ECHO "just press RETURN and I will choose a default for you." $ECHOn "Press RETURN now. > " $ECHOt;; j) cat <<'EOF' これから、いくつか質問を行います。答がはっきり分からなかったら、とりあ えずリターンキーを押して先へ進んで下さい。 リターンキーを押して下さい。 EOF $ECHOn '> ' $ECHOt esac read ans $ECHO def=/usr/local/bin LMPlace=$def case $MSG in e) $ECHO "Where do you want to place the load module of Yamsweeper ?";; j) cat <<'EOF' Yamsweeperをインストールする場所は? EOF esac $ECHOn "[$def] > " $ECHOt read ans case X$ans in X) ;; *) LMPlace=$ans;; esac $ECHO def=/usr/local/man/man1 ManPlace=$def case $MSG in e) $ECHO "Where do you want to place the man page of Yamsweeper ?";; j) cat <<'EOF' マニュアルページをインストールする場所は? EOF esac $ECHOn "[$def] > " $ECHOt read ans case X$ans in X) ;; *) ManPlace=$ans;; esac $ECHO def=yes HasRandom=1 case $MSG in e) $ECHO "Typically, BSD system has random(), while System V" $ECHO "provides rand(). My experience says that BSD usually has" $ECHO "poor rand() routine, and it screws up yamsweeper." $ECHO "If you are using a BSD system, you should use random()" $ECHO "rather than rand(). To do so, answer \"yes\" to the question." $ECHO "If you are using a System V system, answer \"no.\"" $ECHO "If you are using Linux, answer \"yes.\"" $ECHO $ECHOn "Does your system have random() routine ? [$def] > " $ECHOt;; j) cat <<'EOF' BSDシステムはrandom()も持っていますが、System Vはrand()を使います。BSD のrand()はあまり良くないことがあるようです。BSDを使っていれば、rand() よりもrandom()を使った方が良いでしょう。この場合、次の質問に"yes"と答 えて下さい。もしSystem Vを使用していれば、"no"と答えて下さい。Linuxを お使いなら、"yes"と答えて下さい。 あなたのシステムは、random()ルーチンを持っていますか? EOF $ECHOn "[$def] > " $ECHOt esac read ans $ECHO case X$ans in X[Yy]*) HasRandom=1;; X[Nn]*) HasRandom=0;; esac def=no LogUser=0 case $MSG in e) $ECHO "You should read \"INSTALL\" carefully to log users." $ECHOn "Do you want to log users? [$def] > " $ECHOt;; j) cat <<'EOF' ユーザのログを採るには、"INSTALL"をよく読んで下さい。 ユーザのログを採りますか? EOF $ECHOn "[$def] > " $ECHOt esac read ans case X$ans in X[Yy]*) LogUser=1;; X[Nn]*) LogUser=0;; esac $ECHO def=yes HighScore=1 case $MSG in e) $ECHOn "Do you want High-Scoring ? [$def] > " $ECHOt;; j) cat <<'EOF' ハイスコア機能を有効にしますか? EOF $ECHOn "[$def] > " $ECHOt esac read ans case X$ans in X[Yy]*) HighScore=1;; X[Nn]*) HighScore=0;; esac $ECHO def=/usr/local/.log/game/yams.hi HighScoreFile=$def case $HighScore in 1) case $MSG in e) $ECHO "It is recommended that you make an user who owns the high-score file." $ECHOn "Hit return. > " $ECHOt;; j) cat <<'EOF' ハイスコアファイルのオーナーとなるユーザを新たに作成することを推奨しま す。 リターンキーを押して下さい。 EOF $ECHOn "> " $ECHOt esac read ans $ECHO case $MSG in e) $ECHO $ECHO "You can customise the location of the high score file." $ECHO "Just hit return if the default is acceptable.";; j) cat <<'EOF' ハイスコアファイルの場所を指定できます。デフォルトでよければ、そのまま リターンキーを押して下さい。 EOF esac $ECHOn "[$def] > " $ECHOt read ans case X$ans in X) ;; *) HighScoreFile=$ans;; esac case $MSG in e) $ECHO "High score file will be placed as $HighScoreFile.";; j) cat <<'EOF' ハイスコアファイルは、 EOF $ECHO $HighScoreFile cat <<'EOF' として設定されます。 EOF esac esac $ECHO UNAME=`uname` case X$UNAME in X[Ll]inux*) NoFdSet=0;; *) case $MSG in e) $ECHO $ECHO "According to the research, for example, Sun UNIX 4.2 Release 3.5EXPORT" $ECHO "does not have FD_* macros in any include files." $ECHO "In case your system doesn't have FD_* macros, yamsweeper provides" $ECHO "a sample implementation of FD_*, but there may be incompatibilities." $ECHO "If you want to use yamsweeper's sample FD_*, answer \"yes\" to the question." $ECHO "Otherwise, just type return." $ECHO $ECHO "I'm checking if your system has FD_SET in /usr/include/sys/*." $ECHO "Just a moment..." $ECHO;; j) cat <<'EOF' 調査によると、例えば Sun UNIX 4.2 Release 3.5EXPORTは、インクルードファ イル中にFD_* マクロを持たないことが分かっています。もしあなたのシステ ムがFD_*マクロを持たない場合に備えて、yamsweeperはFD_*のサンプルを用意 しています。しかし、これはすべてのシステムで使用可能とは限りません。も しyamsweeperの用意したサンプルのFD_*マクロを使用するなら、次の質問に "yes"と答えて下さい。そうでなければ、リターンキーを押して下さい。 これから、あなたのシステムが/usr/include/sys/*にFD_SETマクロを持ってい るかどうかチェックします。 しばらくお待ち下さい.... EOF ;; esac LASTPWD=`pwd` cd /usr/include/sys if grep FD_SET * >/dev/null 2>&1; then def=no case $MSG in e) $ECHO "Your system has FD_SET macro.";; j) cat <<'EOF' あなたのシステムは、FD_SETマクロを持っています。 EOF esac NoFdSet=0 else def=yes case $MSG in e) $ECHO "Your system does not have FD_SET macro.";; j) cat <<'EOF' あなたのシステムは、FD_SETマクロを持っていません。 EOF esac NoFdSet=1 fi cd $LASTPWD $ECHO case $MSG in e) $ECHOn "Do you want to use the sample FD_* macros? [$def] > " $ECHOt;; j) cat <<'EOF' サンプルのFD_*マクロを使いますか? EOF $ECHOn "[$def] > " $ECHOt esac read ans $ECHO case X$ans in X[Yy]*) NoFdSet=1;; X[Nn]*) NoFdSet=0;; esac;; esac TemplateFile=imake.src case $MSG in e) $ECHO "Summary of your choice:";; j) cat <<'EOF' 今までの選択のサマリです。 EOF esac $ECHO "yamsweeper : $LMPlace" $ECHO "man page : $ManPlace" $ECHO "has random() : $HasRandom" $ECHO "log users : $LogUser" $ECHO "high scoring : $HighScore" $ECHO "hi-score file: $HighScoreFile" $ECHO "NoFdSet : $NoFdSet" $ECHO case $MSG in e) $ECHO "This is the last chance to quit." $ECHOn "Hit Return to continue. > " $ECHOt;; j) cat <<'EOF' これが、途中で終了できる最後のチャンスです。 リターンキーを押せば次へ進みます。 EOF $ECHOn "> " $ECHOt esac read ans HighScoreFileDir=`dirname $HighScoreFile` if sed -e "s/xxHasRandom/$HasRandom/" -e "s/xxNoFdSet/$NoFdSet/" \ -e "s/xxLogUser/$LogUser/" \ -e "s:xxHighScoreFileDir:$HighScoreFileDir:" \ -e "s:xxHighScoreFile:$HighScoreFile:" -e "s/xxHighScore/$HighScore/" \ -e "s:xxLMPlace:$LMPlace:" -e "s:xxManPlace:$ManPlace:" \ $TemplateFile > Imakefile; then : else case $MSG in e) $ECHO "Imakefile can't be made." $ECHO "Check to see all the neccessary files, or" $ECHO "Contact the auther." ;; j) cat <<'EOF' Imakefileの作成ができません。それぞれのファイルをチェックするか、作者 に連絡をして下さい。 EOF esac exit 1 fi $ECHO if xmkmf; then : else case $MSG in e) $ECHO "Error found. Cannot make Makefile with xmkmf." $ECHO "Consult the system manager, or contact the auther.";; j) cat <<'EOF' エラーが発生しました。xmkmfを使って、Makefileの作成ができません。シス テム管理者に相談するか、作者に連絡をして下さい。 EOF esac exit 1 fi case $MSG in e) $ECHO $ECHO "The Imakefile and Makefile have been built." $ECHO "You should check them before making anything." $ECHO "When you are satisfied with the makefile, just type \"make\"" $ECHO "and \"yamsweeper\" will be built." $ECHO "See \"INSTALL\" or \"INSTALL.euc\" for more information." $ECHO ;; j) cat <<'EOF' Imakefileと、Makefileが作成されました。実際のmakeを行う前に、これらの ファイルをチェックして下さい。 Makefileの確認ができたら、makeするだけでyamsweeperは作成されます。なお、 インストールの詳細については、"INSTALL"または"INSTALL.euc"を御覧下さい。 EOF esac