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

[debian-users:45708] Re: クロスコンパイル環境の構築について



山本です。

確認に手間取り、返事が遅くなってすみません。


Yoichi Yuasa wrote:

>クロスコンパイラのパッケージは使っていませんが、
>クロスコンパイラの構築ではsys-includeはGCCのconfigure実行時ににコピーされます。
>
>configureを実行するユーザによってはパーミッションの関係でコピーされません。
>このためsys-includeディレクトリが無いのだと思われます。
>  
>

なるほど、sys-include の記述をソースから探したところ、gcc-cross-3.3-3.3-
3.3.3/gcc-3.3.3/configure.in の中に見出されました。

(snip)

copy_dirs=

# Handle --with-headers=XXX. If the value is not "yes", the contents of
# the named directory are copied to $(tooldir)/sys-include.
if test x"${with_headers}" != x ; then
if test x${is_cross_compiler} = xno ; then
echo 1>&2 '***' --with-headers is only supported when cross compiling
exit 1
fi
if test x"${with_headers}" != xyes ; then
case "${exec_prefixoption}" in
"") x=${prefix} ;;
*) x=${exec_prefix} ;;
esac
copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
fi
fi

# Handle --with-libs=XXX. If the value is not "yes", the contents of
# the name directories are copied to $(tooldir)/lib. Multiple directories
# are permitted.
if test x"${with_libs}" != x ; then
if test x${is_cross_compiler} = xno ; then
echo 1>&2 '***' --with-libs is only supported when cross compiling
exit 1
fi
if test x"${with_libs}" != xyes ; then
# Copy the libraries in reverse order, so that files in the first named
# library override files in subsequent libraries.
case "${exec_prefixoption}" in
"") x=${prefix} ;;
*) x=${exec_prefix} ;;
esac
for l in ${with_libs}; do
copy_dirs="$l $x/${target_alias}/lib ${copy_dirs}"
done
fi
fi

# Handle ${copy_dirs}
set fnord ${copy_dirs}
shift
while test $# != 0 ; do
if test -f $2/COPIED && test x"`cat $2/COPIED`" = x"$1" ; then
:
else
echo Copying $1 to $2copy_dirs=

# Handle --with-headers=XXX. If the value is not "yes", the contents of
# the named directory are copied to $(tooldir)/sys-include.
if test x"${with_headers}" != x ; then
if test x${is_cross_compiler} = xno ; then
echo 1>&2 '***' --with-headers is only supported when cross compiling
exit 1
fi
if test x"${with_headers}" != xyes ; then
case "${exec_prefixoption}" in
"") x=${prefix} ;;
*) x=${exec_prefix} ;;
esac
copy_dirs="${copy_dirs} ${with_headers} $x/${target_alias}/sys-include"
fi
fi


(snip)


ビルド時に全くパーミッションエラーなどが出なかったので、全く気がついてい
ませんでした。

必要なら、自分の手で root 権限を用い、sys-include ディレクトリをつくるた
め、頑張って追跡してみましたが、余りにも深いところで、しかもマルチアーキ
テクチャ (alpha、arm、hppa、ia64、m68k、mips、mipsel、powerpc64、
powerpc、s390、sparc64、 sparc、x86-64) に対応したソースなので、実際、ど
のディレクトリがここで sys-include ディレクトリにコピーされたのか、良く
は分かりませんでした。
できれば dpkg の管理体制は崩したくないので、作業履歴が取れる、手作業を、
と考えたのですが、、、

スキルが余りにも低すぎて、誠にすみません。

----------
yama1066@xxxxxxxxxxxxxxx