[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