[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: cross compile



<3737B8B2.4E72@ibm.net>の記事において
mgoto@ibm.netさんは書きました。

> > USR_OBJMACHINE=yes
> > OBJMACHINE=yes
> 
>  ここに関しては、OBJMACHINE が定義されていれば obj.<arch> という
> objdirs を作成するということのようです。多分。
>  1999.02.12 の変更なのでしょうか。

1.3 の頃は OBJMACHINE だけで
/usr/src/foo/bar/obj.${MACHINE} -> /usr/obj.${MACHINE}/foo/bar
を作ってくれてましたが、手元の 1.4 のソースだと
OBJMACHINE だけだと
/usr/src/foo/bar/obj.${MACHINE} -> /usr/obj/foo/bar.${MACHINE}
となるようです。いつ頃の変更かは確認してませんが。

OBJMACHINE を設定しないで cross するときだけ /usr/obj の
シンボリックリンク先を変える、という方法もあります。

> 「egcs の 1.1.2 より古いバ−ジョンのクロス環境はおかしい」という
> 噂も気になったりしています。(pkgsrc のものは 1.1.1 ベ−スです)

よくよく見ると cross ld の -nostdlib が -o stdlib と解釈されて
しまっているような感じがしますけど、どうなんでしょう。
ほかの lib のディレクトリで stdlib なんてファイルができてたりします?

ところで最新の pkgsrc を sup したら cross/binutils が
make できない…。bsd.pkg.mk の EXTRACT_CMD が変ですよね?

--- bsd.pkg.mk.orig	Wed May  5 20:30:20 1999
+++ bsd.pkg.mk	Tue May 11 01:52:27 1999
@@ -294,7 +294,7 @@
 .if defined(EXTRACT_USING_PAX)
 EXTRACT_CMD?=		(${DECOMPRESS_CMD} ${DOWNLOADED_DISTFILE} ; dd if=/dev/zero bs=10k count=2) | ${PAX} -r ${EXTRACT_ELEMENTS}
 .else
-EXTRACT_CMD?=		${DECOMPRESS_CMD} ${DOWNLOADED_DISTFILE} | /usr/bin/tar xf - ${EXTRACT_ELEMENTS}
+EXTRACT_CMD?=		${DECOMPRESS_CMD} ${DOWNLOADED_DISTFILE} | /usr/bin/tar -x ${EXTRACT_ELEMENTS} -f -
 .endif
 
 # Figure out where the local mtree file is

>  わたしがクロスコンパイルに固執しているのは、B&W G3 以外に PowerPC
> マシンを持っていないからなのです。(泣笑)

私は kernel その他の作らないとどうやっても先に進めないバイナリだけ
cross で作ってあとは snapshot その他で何とかしてしました。
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp