|
MKOBJ= yes MKOBJDIRS= yes USETOOLS?= yes MKTOOLS?= yes
を /etc/mk.conf に書いておく。
#!/bin/sh export LANG=C portname=sparc export MAKEOBJDIRPREFIX=/usr/obj/${portname} export DESTDIR=/usr/cross/${portname}/dest export TOOLDIR=/usr/tools/${portname} [ ! -d $DESTDIR ] && mkdir -p $DESTDIR [ ! -d $TOOLDIR ] && mkdir -p $TOOLDIR [ ! -d /usr/obj/${portname} ] && mkdir -p /usr/obj/${portname} ./build.sh -d -m ${portname} -R /usr/cross/${portname}/release
を走らせる。 4/30 の NetBSD current では dreamcast と playstation2 は make release まで完了。 sparc は make build までは OK だけど make release が miniroot 作成のところで NG。
/etc/mk.conf に
MKOBJ= yes MKOBJDIRS= yes USETOOLS?= yes MKTOOLS?= yes TOOLDIR?= /usr/tools/sparc
と書き、あらかじめ tools を build しておく。 USETOOLS=no では make install が途中で止まってしまうため。
# mount host:/usr/src /usr/src # mount host:/usr/obj /usr/obj # cd /usr/src # make MKTOOLS=no MAKEOBJDIRPREFIX=/usr/obj/sparc includes # make MKTOOLS=no MAKEOBJDIRPREFIX=/usr/obj/sparc install
MKTOOLS=no は tools を build し直すのを防ぐため。
#!/bin/sh export LANG=C export MACHINE=sparc export MACHINE_ARCH=sparc TARGET=/usr/tools/sparc/bin/sparc--netbsdelf export AR=${TARGET}-ar export AS=${TARGET}-as export CC=${TARGET}-gcc export CPP=${TARGET}-cpp export CXX=${TARGET}-c++ export LD=${TARGET}-ld export NM=${TARGET}-nm export RANLIB=${TARGET}-ranlib export SIZE=${TARGET}-size export STRIP=${TARGET}-strip export OBJCOPY=${TARGET}-objcopy make $*
というスクリプト (/foo/sparcmake.sh) を用意しておく。ホストマシンで
# cd /usr/src/sys/arch/sparc/conf # config MYKERNEL # cd ../compile/MYKERNEL # /foo/sparcmake.sh depend # /foo/sparcmake.sh
を実行。ターゲットでは普通に make install するだけ。
に書く内容と某所に書く内容との区別がちょっとわかりにくいかもしれません。
という感じで使い分けて *1いるつもりです。
近所の本屋にて。
江洲さんも 書いているけど、最近のカレカノは今一つという気がする。
www/en/cgi/cvsweb.conf rev 1.20の commit log で指摘されている、 CVSweb で $FreeBSD$ タグの展開がおかしくなる件について調べてみた。
してある状態で、
% cvs -R -d /home/ncvs co src/Makefile % head -2 src/Makefile # # $FreeBSD: src/Makefile,v 1.253 2002/04/30 11:50:01 ru Exp $ <-- 正常 % cvs -R -d /home/ncvs -q co -p src/Makefile | head -2 # # $FreeBSD: /foo/ncvs/src/Makefile,v 1.253 2002/04/30 11:50:01 ru Exp $ <-- symlink 先を -d で指定して cvs co -p すると変 % cvs -R -d /foo/ncvs -q co -p src/Makefile | head -2 # # $FreeBSD: src/Makefile,v 1.253 2002/04/30 11:50:01 ru Exp $ <-- symlink 先でなければ cvs co -p でも大丈夫
-p を指定するかしないかで $FreeBSD$ (や CVSHeader) の展開が変わって しまうのは CVS のバグだろう。
CVSweb 側の対策としては symlink 先を指定しなければいいので、 cvs -d $cvsroot co -p する個所で
use Cwd 'abs_path'; exec($CMD{cvs}, @cvs_options, '-d', abs_path($cvsroot), 'co', '-p', $revopt, $where);
とすれば大丈夫そう。
五反田さんとこのネタ。聖蹟桜ヶ丘は京王がショッピングセンター *1作る前からそれなりに乗降客が多かった記憶があります。多摩ニュータウン北部に行く バスターミナルとして機能していたからでしょう。京王線が特急運転開始した当時 *2から特急が停車するなど昔から優等列車が停車しているのは、 駅の東側にある多摩川の橋の部分が単線だった *3ためかな。
とのこと。 1,583 ポイントあるので 7/31 までに使わなければならないなぁ。
回りで作業ちょこちょこ。
src/contrib/cvs/src/rcs.cの RCS_check_tag() より:
である文字列。 CVSweb で表示するときに特別な意味をもつ文字列 *1でも CVS 的には許される。