SETTINGUP_TREE 4.97 KB

	ソースツリーのセットアップ方法


1. 必要なソフトのインストール

 作業にはいる前に、あらかじめ下記のソフトがインストールされているかを
確認してください。

 (IRIX 5.3 の場合)
	・eoe2.sw.rcs (1.2Mbyte)
	・ViewKit_eoe
	   (CDROM)IRIX5.3 FOR INDY R4000,R4400,R4600 100-200MHz

	・c++_dev
	・ViewKit_dev
	   (以上CDROM)C++ Translator 4.0

	・dwb.sw(documenters workbench) (2.1Mbyte)
	   (CDROM)Documenter's Workbench 4.1.3

	・x_dev
	・motif_dev
	・dmedia_dev
	   (以上CDROM)IRIS Development Option 5.3

	・sgiperl
	   (CDROM)Desktop Special Edition 1.1

	・sgi_tcl(dev + sw)
	   (HD)/hosts/lupin/disk2/reality/Dev/u64dev-v2.0g/sgitcl
	   (オートインストールではdevはインストールされないので注意)

	・inventor_dev (16Mbyte)
	   (CDROM)Open Inventor 2.1.1

	・RapidApp.sw (10Mbyte)
	   (CDROM)RapidApp 1.1
	   (RapidAppはinventor_devに依存しているので、先にinventorをイ
	   ンストールしてください)

 (IRIX 6.X の場合は、コンパイラ等の環境は全て IRIX 5.3 のものを全てリ
ンクで使用します。したがって、ソフトは特にインストールする必要はありま
せん。)


2. SGI2NCL

	i) /hosts/cocaine/usr/people/nightly/mdev2/PR/admin/tools/SGI2NCL
	 をローカルツリーのどこかにコピーします。

	ii) CVS をインストールします。CVS は SGI2NCL/cvsinstall.tar と
	 して固められているので、
		su
		tar xvf cvsinstall.tar
	 でインストールすることができます。

	iii) 仮想ルート用のディレクトリを作っておきます。
	 (命名に困った方は「(ユーザー名)mdev2」が無難な線です(例えば、
	 hasmdev2など)。もちろん、名前は自由ですが。)

	iv) ~/.cshrcに以下の環境変数をセットしておきます。
		CVSROOT
		マスターソースの仮想ルートをセットします。
		/hosts/liberte/disk6/Master/cvsmdev2 にしてください。

		ROOT
		仮想ルートをセットします。

		WORKAREA
		同じく仮想ルートをセットします。

		PRODUCT
		4DACE1をセットします。

		CVSEDITOR
		好みのエディタを指定しておくと、CVS でログを入力する際
		にそのエディタを立ち上げてくれます。

		TOOLROOT
		IRIX 6.X のときのみ、/hosts/cocaine を指定してください。
		IRIX 5.3 のときは指定しないでください。

		例)
		setenv CVSROOT /hosts/liberte/disk6/Master/cvsmdev2
		setenv ROOT /disk7/hasmdev2
		setenv WORKAREA $ROOT
		setenv PRODUCT 4DACE1
		setenv CVSEDITOR mule
		(setenv TOOLROOT /hosts/cocaine)

	v) SGI2NCL/.cvsrc をホームディレクトリにコピーします。
		(手順)
		cp ***/SGI2NCL/.cvsrc ~

	vi) SGI2NCL/CHANGEME ファイルを変更します。このファイルは 
	 SGI2NCL/ のスクリプトファイルから参照されます。
		CVSROOT=/hosts/liberte/disk6/Master/cvsmdev2
			——— マスターの仮想ルートです。
		PREXTRA=/hosts/liberte/disk6/Master/PRextra
			——— extraファイルの格納先です。
		TREE_BINS=.....
			——— SGI2NCLをコピーした先(自分のマシン上の)
			を指定します。
		ROOT=.....
			——— 仮想ルートを指定します。

	vii) PRextra から / に($ROOT ではない)必要ファイルをコピーしま
	 す。これらは後に rootusr5_3 を実行したときに $ROOT/usr にリン
	 クをはられることになります。
		(手順)
		su
		install_in_root
		exit (super userからlogout)

	viii) /usr/include,/usr/lib にあるファイルを $ROOT/usr/include,
	 $ROOT/usr/lib にリンクします。この作業以降はスーパユーザでは
	 なく、自分のアカウントで行なってください。なお、後のコンパイ
	 ル作業時に何かソフトが足らないことが分かり新たにインストール
	 した場合、当然そのソフトのヘッダファイル、ライブラリは $ROOT/ 
	 にリンクされていないことになります。その場合は rootusr5_3 を
	 もう一度実行するのではなく、手作業でリンクするようにした方が
	 賢明です(rootusr5_3 を再実行すると時間がかかります)。
		(手順)
		rootusr5_3 (IRIX 6.X のときは rootusr5_3.sp)

	 (誤ってスーパユーザでこれを実行してしまった場合、
		chown -Rh (ユーザ名) usr/
	 を実行してください。)

	ix) チェックアウト(マスターからファイルを取得)をします。
		(手順)
		cd $ROOT
		cvs checkout PR
		(40分ほどかかります(174MHz, R4400の場合、以下  同様)) 

	x) コンパイルをします。
		(手順)
		cd $ROOT/PR
		make startversion
		make headers
		make exports
		(50分ほどかかります)

	xi) リンクを手で張らなければいけない部分があるので、しておきま
	 す。
		(手順)
		cd $ROOT/PR/kern
		mkdir IP22bootarea
		cd IP22bootarea
		ln -s ../sys/u64gio.h .
		ln -s ../sys/u64driver.h .

	xii) コンパイル(続き)をします。
		(手順)
		cd $ROOT/PR; make


3. ナイトリービルドの設定

夜のうちにマスターから最新のソースを持ってきて、コンパイルを済ませてお
くと、朝出社した時点から最新の環境が利用できるので便利です。

このような、夜中に行う一連の作業を「ナイトリービルド」といいます。

ナイトリービルドを行うためのスクリプトファイルは SGI2NCL/nightly です。
これを cron を用いて夜に起動します。

設定をする前に、SGI2NCL/nightly の中で設定されている環境変数(CVSROOT,
ROOT, WORKAREA, PRODUCT, PATH, HOST. IRIX 6.X のときはこれに加えて 
TOOLROOT) を適切なものに変更しておきます。そのうえで例えば、

	$ crontab
	$ 0 2 * * * *****/SGI2NCL/nightly

とすると、毎朝2時に nightly が起動されます。(0 2 * * * の意味は、前か
ら順に、0分、2時、*日、*月、*曜日で、日、月、曜日を * にすることで「毎
日」の意味になります)。

ナイトリービルドをしたくない日には、

	$ touch $ROOT/skip

としておくとよいです。つまり、$ROOT/skip が存在すれば、ナイトリーが実
行されます。またしたくなったときには、

	$ rm $ROOT/skip 

としておくとよいです。