* nof/libgcc_s.so installed instead of libgcc_s.so on powerpc
@ 2009-06-15 14:34 Matteo Fortini
2009-06-15 15:03 ` Leon Woestenberg
0 siblings, 1 reply; 9+ messages in thread
From: Matteo Fortini @ 2009-06-15 14:34 UTC (permalink / raw)
To: openembedded-devel@openembedded.org
I'm building the Angstrom console-image on a powerpc (mpc5121) with
stable/2009.
the gcc version which is built by default is 4.2.4R5
I specified TARGET_FPU="hard" in the machine description recipe.
However, the libgcc_s.so version which is packaged is from the nof/ dir,
so that I get funny errors runtime for functions which were referenced
in the code and were linked ok as external at compile time, but can't be
found in the nof version of the lib.
Why is it behaving like this?
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: nof/libgcc_s.so installed instead of libgcc_s.so on powerpc
2009-06-15 14:34 nof/libgcc_s.so installed instead of libgcc_s.so on powerpc Matteo Fortini
@ 2009-06-15 15:03 ` Leon Woestenberg
2009-06-15 15:21 ` Matteo Fortini
0 siblings, 1 reply; 9+ messages in thread
From: Leon Woestenberg @ 2009-06-15 15:03 UTC (permalink / raw)
To: openembedded-devel; +Cc: openembedded-devel@openembedded.org
Hello Matteo,
On Mon, Jun 15, 2009 at 4:34 PM, Matteo Fortini<matteo.fortini@mta.it> wrote:
> I'm building the Angstrom console-image on a powerpc (mpc5121) with
> stable/2009.
>
Just to be sure: You are building OpenEmbedded *on* a MPC5121 platform?
For what machine are you building?
Regards,
Leon.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: nof/libgcc_s.so installed instead of libgcc_s.so on powerpc
2009-06-15 15:03 ` Leon Woestenberg
@ 2009-06-15 15:21 ` Matteo Fortini
2009-06-18 6:09 ` Khem Raj
0 siblings, 1 reply; 9+ messages in thread
From: Matteo Fortini @ 2009-06-15 15:21 UTC (permalink / raw)
To: openembedded-devel@openembedded.org
I'm building on i686 a cross compiler for the mpc5121.
The machine description I'm using is:
TARGET_ARCH = "powerpc"
TARGET_FPU = "hard"
PREFERRED_PROVIDER_virtual/kernel = "linux-${MACHINE}"
PREFERRED_PROVIDER_virtual/kernel = "linux"
MACHINE_FEATURES = "kernel26 usbhost alsa touchscreen"
#don't try to access tty1
USE_VT = "0"
SERIAL_CONSOLE = "115200 ttyPSC0"
EXTRA_IMAGECMD_jffs2 = "--pad --big-endian --eraseblock=0x020000 -v -x lzo"
#tune for the MPC5121e cpu
require conf/machine/include/tune-ppce300c3.inc
Leon Woestenberg ha scritto:
> Hello Matteo,
>
> On Mon, Jun 15, 2009 at 4:34 PM, Matteo Fortini<matteo.fortini@mta.it> wrote:
>
>> I'm building the Angstrom console-image on a powerpc (mpc5121) with
>> stable/2009.
>>
>>
> Just to be sure: You are building OpenEmbedded *on* a MPC5121 platform?
>
> For what machine are you building?
>
> Regards,
>
> Leon.
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>
>
-
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: nof/libgcc_s.so installed instead of libgcc_s.so on powerpc
2009-06-15 15:21 ` Matteo Fortini
@ 2009-06-18 6:09 ` Khem Raj
2009-06-18 15:17 ` Matteo Fortini
0 siblings, 1 reply; 9+ messages in thread
From: Khem Raj @ 2009-06-18 6:09 UTC (permalink / raw)
To: openembedded-devel; +Cc: openembedded-devel@openembedded.org
On Monday 15 June 2009 08:21:09 am Matteo Fortini wrote:
> I'm building on i686 a cross compiler for the mpc5121.
>
> The machine description I'm using is:
>
> TARGET_ARCH = "powerpc"
> TARGET_FPU = "hard"
Seems like we are missing right multilib option. Can you post
your complete gcc build log and configure options.
Thx
-Khem
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: nof/libgcc_s.so installed instead of libgcc_s.so on powerpc
2009-06-18 6:09 ` Khem Raj
@ 2009-06-18 15:17 ` Matteo Fortini
2009-06-27 0:59 ` Khem Raj
0 siblings, 1 reply; 9+ messages in thread
From: Matteo Fortini @ 2009-06-18 15:17 UTC (permalink / raw)
To: Khem Raj; +Cc: openembedded-devel@openembedded.org
[-- Attachment #1: Type: text/plain, Size: 99025 bytes --]
Here it is
Thx,
Matteo
Khem Raj ha scritto:
> On Monday 15 June 2009 08:21:09 am Matteo Fortini wrote:
>
>> I'm building on i686 a cross compiler for the mpc5121.
>>
>> The machine description I'm using is:
>>
>> TARGET_ARCH = "powerpc"
>> TARGET_FPU = "hard"
>>
>
> Seems like we are missing right multilib option. Can you post
> your complete gcc build log and configure options.
>
> Thx
>
> -Khem
> .
>
>
--
#!/bin/sh -e
export localstatedir="/opt/OE/build/tmp.1/cross/ppce300c3/var"
export prefix="/opt/OE/build/tmp.1/cross/ppce300c3"
export CPP="gcc -E"
export mandir="/opt/OE/build/tmp.1/cross/ppce300c3/share/man"
export STRIP="strip"
export STAGING_SIPDIR="/opt/OE/build/tmp.1/staging/i686-linux/usr/share/sip"
export CONFIG_SITE="/opt/OE/org.cnh_fred.dev/site/endian-little /opt/OE/org.cnh_fred.dev/site/common-linux /opt/OE/org.cnh_fred.dev/site/common-glibc /opt/OE/org.cnh_fred.dev/site/ix86-common /opt/OE/org.cnh_fred.dev/site/common /opt/OE/org.cnh_fred.dev/site/common"
export BUILD_CXXFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2 -fpermissive"
export OBJCOPY="objcopy"
export AR="ar"
export AS="as"
export PSTAGING_ACTIVE="1"
export libexecdir="/opt/OE/build/tmp.1/cross/ppce300c3/libexec"
export RANLIB="ranlib"
export QTDIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux/qt2"
export datadir="/opt/OE/build/tmp.1/cross/ppce300c3/share"
export BUILD_CXX="ccache g++"
export SDK_LDFLAGS="-L/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-O1"
export LD="ld"
export LDFLAGS="-L/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-O1"
export TARGET_CXXFLAGS="-isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2 -fpermissive"
export MAKE="make"
export includedir="/opt/OE/build/tmp.1/cross/ppce300c3/include"
export TARGET_CPPFLAGS="-isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include"
export BUILD_CC="ccache gcc"
export BUILD_LDFLAGS="-L/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-O1"
unset TARGET_ARCH
export CXXFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2"
export STAGING_IDLDIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/idl"
export BUILD_F77="ccache g77"
export bindir="/opt/OE/build/tmp.1/cross/ppce300c3/bin"
export OBJDUMP="objdump"
export BUILD_LD="ld"
export exec_prefix="/opt/OE/build/tmp.1/cross/ppce300c3"
export oldincludedir="/opt/OE/build/tmp.1/cross/ppce300c3/include"
export CCLD="ccache gcc"
export SHELLCMDS="bash --rcfile $TERMRCFILE"
export QPEDIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux"
export BUILD_CCLD="gcc"
export base_libdir="/opt/OE/build/tmp.1/cross/ppce300c3/lib"
export PATH="/opt/OE/build/tmp.1/staging/i686-linux/usr/bin/ppce300c3-linux:/opt/OE/build/tmp.1/staging/i686-linux/usr/bin/ppce300c3-linux:/opt/OE/build/tmp.1/staging/i686-linux/usr/sbin:/opt/OE/build/tmp.1/staging/i686-linux/usr/bin:/opt/OE/build/tmp.1/cross/ppce300c3/bin:/opt/OE/build/tmp.1/staging/i686-linux/sbin:/opt/OE/build/tmp.1/staging/i686-linux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
export TARGET_CFLAGS="-isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2"
export base_bindir="/opt/OE/build/tmp.1/cross/ppce300c3/bin"
export servicedir="/opt/OE/build/tmp.1/cross/ppce300c3/srv"
export BUILD_CPP="cpp"
export SDK_CXXFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2 -fpermissive"
export sbindir="/opt/OE/build/tmp.1/cross/ppce300c3/bin"
export SDK_CFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2"
export BUILD_AR="ar"
export sharedstatedir="/opt/OE/build/tmp.1/cross/ppce300c3/com"
export F77="ccache g77"
export XDG_DATA_DIRS="/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share"
export BUILD_CFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2"
export QMAKE_MKSPEC_PATH="/opt/OE/build/tmp.1/staging/i686-linux/usr/share/qmake"
export PKG_CONFIG_DIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/pkgconfig"
export infodir="/opt/OE/build/tmp.1/cross/ppce300c3/share/info"
export libdir="/opt/OE/build/tmp.1/cross/ppce300c3/lib"
export OPIEDIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux"
export base_prefix="/opt/OE/build/tmp.1/cross/ppce300c3"
export CC="ccache gcc"
export TARGET_LDFLAGS="-L/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib -Wl,-O1 -Wl,--hash-style=gnu"
export docdir="/opt/OE/build/tmp.1/cross/ppce300c3/share/doc"
export palmqtdir="/opt/OE/build/tmp.1/cross/ppce300c3/lib/opie"
unset DISTRO
export base_sbindir="/opt/OE/build/tmp.1/cross/ppce300c3/bin"
export CXX="ccache g++"
export PKG_CONFIG_DISABLE_UNINSTALLED="yes"
export PKG_CONFIG_SYSROOT_DIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux"
export PKG_CONFIG_PATH="/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/pkgconfig:/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/pkgconfig"
unset MACHINE
export palmtopdir="/opt/OE/build/tmp.1/cross/ppce300c3/lib/opie"
export PATCH_GET="0"
export MANIFEST="/opt/OE/org.cnh_fred.dev/recipes/gcc/gcc-4.2.4/manifest"
export SDK_CPPFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include"
export BUILD_STRIP="strip"
export CFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2"
export BUILD_RANLIB="ranlib"
export sysconfdir="/opt/OE/build/tmp.1/cross/ppce300c3/etc"
export BUILD_CPPFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include"
do_fetchall() {
base_do_fetchall
}
base_do_checkuriall() {
:
}
populate_staging_preamble() {
if [ "$PSTAGING_ACTIVE" = "1" ]; then
stage-manager -p /opt/OE/build/tmp.1/staging -c /opt/OE/build/tmp.1/deploy/pstage/stamp-cache-staging -u || true
stage-manager -p /opt/OE/build/tmp.1/cross/ppce300c3 -c /opt/OE/build/tmp.1/deploy/pstage/stamp-cache-cross -u || true
fi
}
base_do_install() {
:
}
do_stage() {
oe_runmake install
for d in info man share/doc share/locale ; do
rm -rf /opt/OE/build/tmp.1/cross/ppce300c3/$d
done
# Fix a few include links so cross builds are happier
if [ ! -e /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include/c++ ]; then
mkdir -p /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include
mkdir -p /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/include/c++
ln -sf /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/include/c++ \
/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include/
fi
# We use libiberty from binutils
rm -f /opt/OE/build/tmp.1/cross/ppce300c3/lib/libiberty.a
# We probably don't need these
rmdir /opt/OE/build/tmp.1/cross/ppce300c3/include || :
# We don't really need to keep this around
# rm -rf /opt/OE/build/tmp.1/cross/ppce300c3/share but leave java there
for d in share/man share/info;
do
rm -rf /opt/OE/build/tmp.1/cross/ppce300c3/$d
done
#fix up libsupc++ and libstdc++ la files
for d in lib lib/nof; do
sed -i "s|dependency_libs\s*=\s*.*|dependency_libs='-L/opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/$d -lgcc_s -lc -lm '|" /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/$d/libsupc++.la || true
sed -i "s|dependency_libs\s*=\s*.*|dependency_libs='-L/opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/$d -lgcc_s -lc -lm '|" /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/$d/libstdc++.la || true
done
}
base_do_package() {
:
}
autotools_do_install() {
oe_runmake 'DESTDIR=/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image' install
}
oe_machinstall() {
# Purpose: Install machine dependent files, if available
# If not available, check if there is a default
# If no default, just touch the destination
# Example:
# $1 $2 $3 $4
# oe_machinstall -m 0644 fstab /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/etc/fstab
#
# TODO: Check argument number?
#
filename=`basename $3`
dirname=`dirname $3`
for o in `echo task-compile:local:mpc5121:fred:linux:powerpc:build-linux:fail-fast:pn-gcc-cross | tr ':' ' '`; do
if [ -e $dirname/$o/$filename ]; then
oenote $dirname/$o/$filename present, installing to $4
install $1 $2 $dirname/$o/$filename $4
return
fi
done
# oenote overrides specific file NOT present, trying default=$3...
if [ -e $3 ]; then
oenote $3 present, installing to $4
install $1 $2 $3 $4
else
oenote $3 NOT present, touching empty $4
touch $4
fi
}
package_stagefile_shell() {
if [ "$PSTAGING_ACTIVE" = "1" ]; then
srcfile=$1
destfile=`echo $srcfile | sed s#/opt/OE/build/tmp.1#/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg#`
destdir=`dirname $destfile`
mkdir -p $destdir
cp -dp $srcfile $destfile
fi
}
die() {
oefatal "$*"
}
base_do_buildall() {
:
}
do_configure() {
# Setup these vars for cross building only
# ... because foo_FOR_TARGET apparently gets misinterpreted inside the
# gcc build stuff when the build is producing a cross compiler - i.e.
# when the 'current' target is the 'host' system, and the host is not
# the target (because the build is actually making a cross compiler!)
if [ "i686-linux" != "i686-linux" ]; then
export CC_FOR_TARGET="ccache gcc "
export GCC_FOR_TARGET="ccache gcc "
export CXX_FOR_TARGET="ccache g++ "
export AS_FOR_TARGET="as"
export LD_FOR_TARGET="ld"
export NM_FOR_TARGET="nm"
export AR_FOR_TARGET="ar"
export GFORTRAN_FOR_TARGET="gfortran"
export RANLIB_FOR_TARGET="ranlib"
fi
export CC_FOR_BUILD="ccache gcc "
export CXX_FOR_BUILD="ccache g++ "
export CFLAGS_FOR_BUILD="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2"
export CPPFLAGS_FOR_BUILD="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include"
export CXXFLAGS_FOR_BUILD="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2 -fpermissive"
export LDFLAGS_FOR_BUILD="-L/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-O1"
export ARCH_FLAGS_FOR_TARGET="-mcpu=e300c3 -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include"
(cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4 && gnu-configize) || die "failure running gnu-configize"
# splice our idea of where the headers live into gcc's world
echo "NATIVE_SYSTEM_HEADER_DIR = /usr/include" > /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp/t-oe
sed 's%^tmake_file=.*$%& /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp/t-oe%' < /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/Makefile.in >/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/Makefile.in.new
mv /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/Makefile.in.new /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/Makefile.in
echo "#define STANDARD_INCLUDE_DIR \"/usr/include\"" >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/defaults.h
oe_runconf
}
oe_runconf() {
if [ -x /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure ] ; then
cfgcmd="/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure \
--build=i686-linux \
--host=i686-linux \
--target=powerpc-linux \
--prefix=/opt/OE/build/tmp.1/cross/ppce300c3 \
--exec_prefix=/opt/OE/build/tmp.1/cross/ppce300c3 \
--bindir=/opt/OE/build/tmp.1/cross/ppce300c3/bin \
--sbindir=/opt/OE/build/tmp.1/cross/ppce300c3/bin \
--libexecdir=/opt/OE/build/tmp.1/cross/ppce300c3/libexec \
--datadir=/opt/OE/build/tmp.1/cross/ppce300c3/share \
--sysconfdir=/opt/OE/build/tmp.1/cross/ppce300c3/etc \
--sharedstatedir=/opt/OE/build/tmp.1/cross/ppce300c3/com \
--localstatedir=/opt/OE/build/tmp.1/cross/ppce300c3/var \
--libdir=/opt/OE/build/tmp.1/cross/ppce300c3/lib \
--includedir=/opt/OE/build/tmp.1/cross/ppce300c3/include \
--oldincludedir=/opt/OE/build/tmp.1/cross/ppce300c3/include \
--infodir=/opt/OE/build/tmp.1/cross/ppce300c3/share/info \
--mandir=/opt/OE/build/tmp.1/cross/ppce300c3/share/man \
--with-gnu-ld --enable-shared --enable-target-optspace --enable-languages=c,c++,objc --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --program-prefix=powerpc-linux- --enable-libssp --disable-bootstrap --enable-libgomp --disable-libmudflap --with-local-prefix=/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr --with-gxx-include-dir=/opt/OE/build/tmp.1/staging/ppce300c3-linux//usr/include/c++ --with-sysroot=/opt/OE/build/tmp.1/staging/ppce300c3-linux --with-build-sysroot=/opt/OE/build/tmp.1/staging/ppce300c3-linux --disable-libunwind-exceptions --with-mpfr=/opt/OE/build/tmp.1/staging/i686-linux/usr --enable-__cxa_atexit \
$@"
oenote "Running $cfgcmd..."
$cfgcmd || oefatal "oe_runconf failed"
else
oefatal "no configure script found"
fi
}
base_do_compile() {
if [ -e Makefile -o -e makefile ]; then
oe_runmake || die "make failed"
else
oenote "nothing to compile"
fi
}
oewarn() {
echo "WARNING:" "$*"
}
autotools_stage_includes() {
if [ "${INHIBIT_AUTO_STAGE_INCLUDES}" != "1" ]
then
rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
make DESTDIR="/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging" install
cp -pPR /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/include/* /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include
rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
fi
}
oe_libinstall() {
# Purpose: Install a library, in all its forms
# Example
#
# oe_libinstall libltdl /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/
# oe_libinstall -C src/libblah libblah /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image//opt/OE/build/tmp.1/cross/ppce300c3/lib/
dir=""
libtool=""
silent=""
require_static=""
require_shared=""
staging_install=""
while [ "$#" -gt 0 ]; do
case "$1" in
-C)
shift
dir="$1"
;;
-s)
silent=1
;;
-a)
require_static=1
;;
-so)
require_shared=1
;;
-*)
oefatal "oe_libinstall: unknown option: $1"
;;
*)
break;
;;
esac
shift
done
libname="$1"
shift
destpath="$1"
if [ -z "$destpath" ]; then
oefatal "oe_libinstall: no destination path specified"
fi
if echo "$destpath/" | egrep '^/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/' >/dev/null
then
staging_install=1
fi
__runcmd () {
if [ -z "$silent" ]; then
echo >&2 "oe_libinstall: $*"
fi
$*
}
if [ -z "$dir" ]; then
dir=`pwd`
fi
dotlai=$libname.lai
# Sanity check that the libname.lai is unique
number_of_files=`(cd $dir; find . -name "$dotlai") | wc -l`
if [ $number_of_files -gt 1 ]; then
oefatal "oe_libinstall: $dotlai is not unique in $dir"
fi
dir=$dir`(cd $dir;find . -name "$dotlai") | sed "s/^\.//;s/\/$dotlai\$//;q"`
olddir=`pwd`
__runcmd cd $dir
lafile=$libname.la
# If such file doesn't exist, try to cut version suffix
if [ ! -f "$lafile" ]; then
libname1=`echo "$libname" | sed 's/-[0-9.]*$//'`
lafile1=$libname.la
if [ -f "$lafile1" ]; then
libname=$libname1
lafile=$lafile1
fi
fi
if [ -f "$lafile" ]; then
# libtool archive
eval `cat $lafile|grep "^library_names="`
libtool=1
else
library_names="$libname.so* $libname.dll.a"
fi
__runcmd install -d $destpath/
dota=$libname.a
if [ -f "$dota" -o -n "$require_static" ]; then
__runcmd install -m 0644 $dota $destpath/
fi
if [ -f "$dotlai" -a -n "$libtool" ]; then
if test -n "$staging_install"
then
# stop libtool using the final directory name for libraries
# in staging:
__runcmd rm -f $destpath/$libname.la
__runcmd sed -e 's/^installed=yes$/installed=no/' \
-e '/^dependency_libs=/s,/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/\1,g' \
-e "/^dependency_libs=/s,\([[:space:]']\)/opt/OE/build/tmp.1/cross/ppce300c3/lib,\1/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib,g" \
$dotlai >$destpath/$libname.la
else
__runcmd install -m 0644 $dotlai $destpath/$libname.la
fi
fi
for name in $library_names; do
files=`eval echo $name`
for f in $files; do
if [ ! -e "$f" ]; then
if [ -n "$libtool" ]; then
oefatal "oe_libinstall: $dir/$f not found."
fi
elif [ -L "$f" ]; then
__runcmd cp -P "$f" $destpath/
elif [ ! -L "$f" ]; then
libfile="$f"
__runcmd install -m 0755 $libfile $destpath/
fi
done
done
if [ -z "$libfile" ]; then
if [ -n "$require_shared" ]; then
oefatal "oe_libinstall: unable to locate shared library"
fi
elif [ -z "$libtool" ]; then
# special case hack for non-libtool .so.#.#.# links
baselibfile=`basename "$libfile"`
if (echo $baselibfile | grep -qE '^lib.*\.so\.[0-9.]*$'); then
sonamelink=`readelf -d $libfile |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'`
solink=`echo $baselibfile | sed -e 's/\.so\..*/.so/'`
if [ -n "$sonamelink" -a x"$baselibfile" != x"$sonamelink" ]; then
__runcmd ln -sf $baselibfile $destpath/$sonamelink
fi
__runcmd ln -sf $baselibfile $destpath/$solink
fi
fi
__runcmd cd "$olddir"
}
base_do_configure() {
:
}
oe_soinstall() {
# Purpose: Install shared library file and
# create the necessary links
# Example:
#
# oe_
#
#oenote installing shared library $1 to $2
#
libname=`basename $1`
install -m 755 $1 $2/$libname
sonamelink=`readelf -d $1 |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'`
solink=`echo $libname | sed -e 's/\.so\..*/.so/'`
ln -sf $libname $2/$sonamelink
ln -sf $libname $2/$solink
}
do_install() {
oe_runmake 'DESTDIR=/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image' install
# Move libgcc_s into /lib
mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib
if [ -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib/libgcc_s.so.? ]; then
# Already in the right location
:
elif [ -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/lib/libgcc_s.so.? ]; then
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/lib/libgcc_s.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib || true
elif [ -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libgcc_s.so.? ]; then
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libgcc_s.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib
else
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libgcc_s.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib || true
fi
# Move libstdc++ and libg2c into libdir (resetting our prefix to /usr
mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib
if [ -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libstdc++.so ]; then
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libstdc++.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libg2c.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libgfortran*.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libssp*.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
else
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libstdc++.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libg2c.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libgfortran*.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libssp*.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
fi
# Manually run the target stripper since we won't get it run by
# the packaging.
if [ "x" != "x1" ]; then
powerpc-linux-strip /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib/libstdc++.so.*
powerpc-linux-strip /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib/libg2c.so.* || true
powerpc-linux-strip /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib/libgcc_s.so.* || true
powerpc-linux-strip /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib/libgfortran*.so* || true
fi
# Link gfortran to g77 to satisfy not-so-smart configure or hard coded g77
# gfortran is fully backwards compatible. This is a safe and practical solution.
if [ -f /opt/OE/build/tmp.1/cross/ppce300c3/bin/powerpc-linux-gfortran ]; then
currdir="$PWD"
cd /opt/OE/build/tmp.1/cross/ppce300c3/bin/
ln -sf powerpc-linux-gfortran powerpc-linux-g77 || true
cd /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/bin/
ln -sf gfortran g77 || true
cd $currdir
fi
for i in `find /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image -name "*.la"` ; do \
sed -i -e '/^dependency_libs=/s,/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),/opt/OE/build/tmp.1/cross/ppce300c3/lib/\1,g' $i
sed -i -e s:/opt/OE/build/tmp.1/cross/ppce300c3/i686-linux::g $i
sed -i -e s:/opt/OE/build/tmp.1/cross/ppce300c3::g $i
sed -i -e s:/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib:/opt/OE/build/tmp.1/cross/ppce300c3/lib:g $i
sed -i -e s:/opt/OE/build/tmp.1/staging/ppce300c3-linux::g $i
sed -i -e s:/opt/OE/build/tmp.1/staging::g $i
sed -i -e s:/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4::g $i
sed -i -e s:/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp::g $i
sed -i -e s:/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image::g $i
done
}
oenote() {
echo "NOTE:" "$*"
}
package_update_index_ipk() {
set -x
ipkgarchs="all any noarch powerpc ppce300c3 mpc5121"
if [ ! -z "${DEPLOY_KEEP_PACKAGES}" ]; then
return
fi
touch /opt/OE/build/tmp.1/deploy/ipk/Packages
ipkg-make-index -r /opt/OE/build/tmp.1/deploy/ipk/Packages -p /opt/OE/build/tmp.1/deploy/ipk/Packages -l /opt/OE/build/tmp.1/deploy/ipk/Packages.filelist -m /opt/OE/build/tmp.1/deploy/ipk
for arch in $ipkgarchs; do
if [ -e /opt/OE/build/tmp.1/deploy/ipk/$arch/ ] ; then
touch /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages
ipkg-make-index -r /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages -p /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages -l /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages.filelist -m /opt/OE/build/tmp.1/deploy/ipk/$arch/
fi
if [ -e /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/ ] ; then
touch /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages
ipkg-make-index -r /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages -p /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages -l /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages.filelist -m /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/
fi
if [ -e /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/ ] ; then
touch /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages
ipkg-make-index -r /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages -p /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages -l /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages.filelist -m /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/
fi
done
}
do_package_write() {
:
}
package_generate_ipkg_conf() {
mkdir -p /opt/OE/build/tmp.1/staging/i686-linux/etc/
echo "src oe file:/opt/OE/build/tmp.1/deploy/ipk" > /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg.conf
echo "src oe file:/opt/OE/build/tmp.1/deploy/ipk" > /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-sdk.conf
echo "src oe file:/opt/OE/build/tmp.1/deploy/ipk" > /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-canadian-sdk.conf
ipkgarchs="all any noarch powerpc ppce300c3 mpc5121"
priority=1
for arch in $ipkgarchs; do
echo "arch $arch $priority" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg.conf
echo "arch i686-$arch-sdk $priority" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-sdk.conf
echo "arch i686-linux-sdk-$arch $priority" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-canadian-sdk.conf
priority=$(expr $priority + 5)
if [ -e /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages ] ; then
echo "src oe-$arch file:/opt/OE/build/tmp.1/deploy/ipk/$arch" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg.conf
fi
if [ -e /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages ] ; then
echo "src oe-i686-$arch-sdk file:/opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-sdk.conf
fi
if [ -e /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages ] ; then
echo "src oe-i686-linux-sdk-$arch file:/opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-canadian-sdk.conf
fi
done
}
base_do_fetchall() {
:
}
staging_packager() {
mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL
mkdir -p /opt/OE/build/tmp.1/deploy/pstage/fred/2/.1/-opt-OE-build-tmp.1
echo "Package: staging-gcc-cross-ppce300c3-linux" > /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
echo "Version: 4.2.4-r5" >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
echo "Description: The GNU cc and gcc C compilers." >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
echo "Section: devel" >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
echo "Priority: Optional" >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
echo "Maintainer: OpenEmbedded Team <openembedded-devel@lists.openembedded.org>" >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
echo "Architecture: i686-linux" >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
# Protect against empty SRC_URI
if [ "ftp://ftp.gnu.org/gnu/gcc/gcc-4.2.4/gcc-4.2.4.tar.bz2 file://100-uclibc-conf.patch;patch=1 file://103-uclibc-conf-noupstream.patch;patch=1 file://200-uclibc-locale.patch;patch=1 file://203-uclibc-locale-no__x.patch;patch=1 file://204-uclibc-locale-wchar_fix.patch;patch=1 file://205-uclibc-locale-update.patch;patch=1 file://300-libstdc++-pic.patch;patch=1 file://301-missing-execinfo_h.patch;patch=1 file://302-c99-snprintf.patch;patch=1 file://303-c99-complex-ugly-hack.patch;patch=1 file://304-index_macro.patch;patch=1 file://305-libmudflap-susv3-legacy.patch;patch=1 file://306-libstdc++-namespace.patch;patch=1 file://307-locale_facets.patch;patch=1 file://402-libbackend_dep_gcov-iov.h.patch;patch=1 file://602-sdk-libstdc++-includes.patch;patch=1 file://740-sh-pr24836.patch;patch=1 file://800-arm-bigendian.patch;patch=1 file://801-arm-bigendian-eabi.patch;patch=1 file://904-flatten-switch-stmt-00.patch;patch=1 file://arm-nolibfloat.patch;patch=1 file://arm-softfloat.patch;patch=1 file://gcc41-configure.in.patch;patch=1 file://arm-thumb.patch;patch=1 file://arm-thumb-cache.patch;patch=1 file://ldflags.patch;patch=1 file://zecke-xgcc-cpp.patch;patch=1 file://unbreak-armv4t.patch;patch=1 file://fix-ICE-in-arm_unwind_emit_set.diff;patch=1 file://cache-amnesia.patch;patch=1 file://gfortran.patch;patch=1 file://gcc-4.0.2-e300c2c3.patch;patch=1 file://fortran-static-linking.patch;patch=1 file://intermask-bigendian.patch;patch=1 file://zecke-no-host-includes.patch;patch=1 " != "" ] ; then
echo "Source: ftp://ftp.gnu.org/gnu/gcc/gcc-4.2.4/gcc-4.2.4.tar.bz2 file://100-uclibc-conf.patch;patch=1 file://103-uclibc-conf-noupstream.patch;patch=1 file://200-uclibc-locale.patch;patch=1 file://203-uclibc-locale-no__x.patch;patch=1 file://204-uclibc-locale-wchar_fix.patch;patch=1 file://205-uclibc-locale-update.patch;patch=1 file://300-libstdc++-pic.patch;patch=1 file://301-missing-execinfo_h.patch;patch=1 file://302-c99-snprintf.patch;patch=1 file://303-c99-complex-ugly-hack.patch;patch=1 file://304-index_macro.patch;patch=1 file://305-libmudflap-susv3-legacy.patch;patch=1 file://306-libstdc++-namespace.patch;patch=1 file://307-locale_facets.patch;patch=1 file://402-libbackend_dep_gcov-iov.h.patch;patch=1 file://602-sdk-libstdc++-includes.patch;patch=1 file://740-sh-pr24836.patch;patch=1 file://800-arm-bigendian.patch;patch=1 file://801-arm-bigendian-eabi.patch;patch=1 file://904-flatten-switch-stmt-00.patch;patch=1 file://arm-nolibfloat.patch;patch=1 file://arm-softfloat.patch;patch=1 file://gcc41-configure.in.patch;patch=1 file://arm-thumb.patch;patch=1 file://arm-thumb-cache.patch;patch=1 file://ldflags.patch;patch=1 file://zecke-xgcc-cpp.patch;patch=1 file://unbreak-armv4t.patch;patch=1 file://fix-ICE-in-arm_unwind_emit_set.diff;patch=1 file://cache-amnesia.patch;patch=1 file://gfortran.patch;patch=1 file://gcc-4.0.2-e300c2c3.patch;patch=1 file://fortran-static-linking.patch;patch=1 file://intermask-bigendian.patch;patch=1 file://zecke-no-host-includes.patch;patch=1 " >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
else
echo "Source: OpenEmbedded" >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
fi
stage-manager-ipkg-build -o 0 -g 0 /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg /opt/OE/build/tmp.1/deploy/pstage/fred/2/.1/-opt-OE-build-tmp.1
}
autotools_do_configure() {
case gcc-cross in
autoconf*)
;;
automake*)
;;
*)
# WARNING: gross hack follows:
# An autotools built package generally needs these scripts, however only
# automake or libtoolize actually install the current versions of them.
# This is a problem in builds that do not use libtool or automake, in the case
# where we -need- the latest version of these scripts. e.g. running a build
# for a package whose autotools are old, on an x86_64 machine, which the old
# config.sub does not support. Work around this by installing them manually
# regardless.
( for ac in `find /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4 -name configure.in -o -name configure.ac`; do
rm -f `dirname $ac`/configure
done )
if [ -e /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure.in -o -e /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure.ac ]; then
olddir=`pwd`
cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4
if [ x"default" = xdefault ]; then
acpaths=
for i in `find /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4 -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
grep -v 'acinclude.m4' | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do
acpaths="$acpaths -I $i"
done
else
acpaths="default"
fi
AUTOV=`automake --version |head -n 1 |sed "s/.* //;s/\.[0-9]\+$//"`
automake --version
echo "AUTOV is $AUTOV"
install -d /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/aclocal
install -d /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/aclocal-$AUTOV
acpaths="$acpaths -I/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/aclocal-$AUTOV -I /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/aclocal"
# autoreconf is too shy to overwrite aclocal.m4 if it doesn't look
# like it was auto-generated. Work around this by blowing it away
# by hand, unless the package specifically asked not to run aclocal.
if ! echo --exclude=autopoint | grep -q "aclocal"; then
rm -f aclocal.m4
fi
if [ -e configure.in ]; then
CONFIGURE_AC=configure.in
else
CONFIGURE_AC=configure.ac
fi
if grep "^AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
if grep "sed.*POTFILES" $CONFIGURE_AC >/dev/null; then
: do nothing -- we still have an old unmodified configure.ac
else
oenote Executing glib-gettextize --force --copy
echo "no" | glib-gettextize --force --copy
fi
fi
if grep "^[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC >/dev/null; then
oenote Executing intltoolize --copy --force --automake
intltoolize --copy --force --automake
fi
oenote Executing autoreconf --verbose --install --force --exclude=autopoint $acpaths
mkdir -p m4
autoreconf -Wcross --verbose --install --force --exclude=autopoint $acpaths || oefatal "autoreconf execution failed."
cd $olddir
fi
;;
esac
if [ -e /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure ]; then
oe_runconf $@
else
oenote "nothing to configure"
fi
}
base_do_stage() {
:
}
autotools_stage_dir() {
from="$1"
to="$2"
# This will remove empty directories so we can ignore them
rmdir "$from" 2> /dev/null || true
if [ -d "$from" ]; then
mkdir -p "$to"
cp -fpPR "$from"/* "$to"
fi
}
autotools_stage_all() {
if [ "${INHIBIT_AUTO_STAGE}" = "1" ]
then
return
fi
rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
oe_runmake DESTDIR="/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging" install
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/include /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include
if [ "i686-linux" = "i686-linux" ]; then
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/bin /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/bin
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/bin /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/sbin
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/bin /opt/OE/build/tmp.1/staging/ppce300c3-linux/bin
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/bin /opt/OE/build/tmp.1/staging/ppce300c3-linux/sbin
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/libexec /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/libexec
if [ "/opt/OE/build/tmp.1/cross/ppce300c3/lib" != "/opt/OE/build/tmp.1/cross/ppce300c3/lib" ]; then
# python puts its files in here, make sure they are staged as well
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib
fi
fi
if [ -d /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib ]
then
olddir=`pwd`
cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib
las=$(find . -name \*.la -type f)
cd $olddir
echo "Found la files: $las"
for i in $las
do
sed -e 's/^installed=yes$/installed=no/' \
-e '/^dependency_libs=/s,/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*.la\),/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/\1,g' \
-e '/^dependency_libs=/s,/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib,g' \
-e "/^dependency_libs=/s,\([[:space:]']\)/opt/OE/build/tmp.1/cross/ppce300c3/lib,\1/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib,g" \
-i /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib/$i
done
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib
fi
# Ok, this is nasty. pkgconfig.bbclass is usually used to install .pc files,
# however some packages rely on the presence of .pc files to enable/disable
# their configurataions in which case we better should not install everything
# unconditionally, but rather depend on the actual results of make install.
# The good news though: a) there are not many packages doing this and
# b) packaged staging will fix that anyways. :M:
if [ "${AUTOTOOLS_STAGE_PKGCONFIG}" = "1" ]
then
if [ -e /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib/pkgconfig/ ] ; then
echo "cp -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib/pkgconfig/*.pc /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/pkgconfig/"
cp -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib/pkgconfig/*.pc /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/pkgconfig/
fi
fi
rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/share/man || true
rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/share/info || true
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/share /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share
rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
}
ldconfig_postinst_fragment() {
if [ x"$D" = "x" ]; then
if [ -e /etc/ld.so.conf ] ; then
[ -x /sbin/ldconfig ] && /sbin/ldconfig
fi
fi
}
do_compile() {
export CC="ccache gcc "
export AR_FOR_TARGET="powerpc-linux-ar"
export RANLIB_FOR_TARGET="powerpc-linux-ranlib"
export LD_FOR_TARGET="powerpc-linux-ld"
export NM_FOR_TARGET="powerpc-linux-nm"
export CC_FOR_TARGET="ccache powerpc-linux-gcc -mcpu=e300c3"
base_do_compile
}
staging_helper() {
# Assemble appropriate opkg.conf
conffile=/opt/OE/build/tmp.1/deploy/pstage/opkg.conf
mkdir -p /opt/OE/build/tmp.1/deploy/pstage/pstaging_lists
if [ ! -e $conffile ]; then
ipkgarchs="i686-linux"
priority=1
for arch in $ipkgarchs; do
echo "arch $arch $priority" >> $conffile
priority=$(expr $priority + 5)
done
echo "dest root /" >> $conffile
fi
if [ ! -e /opt/OE/build/tmp.1/usr/lib/opkg/info/ ]; then
mkdir -p /opt/OE/build/tmp.1/usr/lib/opkg/info/
fi
if [ ! -e /opt/OE/build/tmp.1/usr/lib/ipkg/ ]; then
cd /opt/OE/build/tmp.1/usr/lib/
ln -sf opkg/ ipkg
fi
}
populate_staging_postamble() {
if [ "$PSTAGING_ACTIVE" = "1" ]; then
# list the packages currently installed in staging
# stage-manager-ipkg -f /opt/OE/build/tmp.1/deploy/pstage/opkg.conf -o /opt/OE/build/tmp.1 list_installed | awk '{print $1}' > /opt/OE/build/tmp.1/deploy/pstage/installed-list
# exitcode == 5 is ok, it means the files change
set +e
stage-manager -p /opt/OE/build/tmp.1/staging -c /opt/OE/build/tmp.1/deploy/pstage/stamp-cache-staging -u -d /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/staging
exitcode=$?
if [ "$exitcode" != "5" -a "$exitcode" != "0" ]; then
exit $exitcode
fi
stage-manager -p /opt/OE/build/tmp.1/cross/ppce300c3 -c /opt/OE/build/tmp.1/deploy/pstage/stamp-cache-cross -u -d /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/cross
if [ "$exitcode" != "5" -a "$exitcode" != "0" ]; then
exit $exitcode
fi
set -e
fi
}
oedebug() {
test $# -ge 2 || {
echo "Usage: oedebug level \"message\""
exit 1
}
test ${OEDEBUG:-0} -ge $1 && {
shift
echo "DEBUG:" $*
}
}
oe_runmake() {
if [ x"$MAKE" = x ]; then MAKE=make; fi
oenote make -j 6 ARCH_FLAGS_FOR_TARGET='-mcpu=e300c3 -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include' "$@"
make -j 6 ARCH_FLAGS_FOR_TARGET='-mcpu=e300c3 -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include' "$@" || die "oe_runmake failed"
}
do_package_stage_all() {
:
}
staging_package_installer() {
#stage-manager-ipkg -f /opt/OE/build/tmp.1/deploy/pstage/opkg.conf -force-depends -o /opt/OE/build/tmp.1 install /opt/OE/build/tmp.1/deploy/pstage/fred/2/.1/-opt-OE-build-tmp.1/staging-gcc-cross-ppce300c3-linux_4.2.4-r5_i686-linux.ipk
STATUSFILE=/opt/OE/build/tmp.1/usr/lib/opkg/status
echo "Package: staging-gcc-cross-ppce300c3-linux" >> $STATUSFILE
echo "Version: 4.2.4-r5" >> $STATUSFILE
echo "Status: install user installed" >> $STATUSFILE
echo "Architecture: i686-linux" >> $STATUSFILE
echo "" >> $STATUSFILE
CTRLFILE=/opt/OE/build/tmp.1/usr/lib/opkg/info/staging-gcc-cross-ppce300c3-linux.control
echo "Package: staging-gcc-cross-ppce300c3-linux" > $CTRLFILE
echo "Version: 4.2.4-r5" >> $CTRLFILE
echo "Architecture: i686-linux" >> $CTRLFILE
cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg
find -type f | grep -v ./CONTROL | sed -e 's/^\.//' > /opt/OE/build/tmp.1/usr/lib/opkg/info/staging-gcc-cross-ppce300c3-linux.list
}
oefatal() {
echo "FATAL:" "$*"
exit 1
}
MIRRORS() {
ftp://ftp.gnu.org/gnu/gcc/releases/ ftp://gcc.gnu.org/pub/gcc/releases/
ftp://ftp.gnu.org/gnu/gcc/ http://mirrors.rcn.net/pub/sourceware/gcc/releases/
ftp://ftp.gnu.org/gnu/gcc/releases/ http://gcc.get-software.com/releases/
ftp://ftp.gnu.org/gnu/gcc/ http://gcc.get-software.com/releases/
ftp://ftp.debian.org/debian/pool/main http://snapshot.debian.net/archive/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.de.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.au.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.cl.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.hr.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.fi.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.hk.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.hu.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.ie.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.it.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.jp.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.no.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.pl.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.ro.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.si.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.es.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.se.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.tr.debian.org/debian/pool
ftp://ftp.gnu.org/gnu ftp://mirrors.kernel.org/gnu
ftp://ftp.gnu.org/gnu ftp://ftp.matrix.com.br/pub/gnu
ftp://ftp.gnu.org/gnu ftp://ftp.cs.ubc.ca/mirror2/gnu
ftp://ftp.gnu.org/gnu ftp://sunsite.ust.hk/pub/gnu
ftp://ftp.gnu.org/gnu ftp://ftp.ayamura.org/pub/gnu
http://kernel.org http://www.kernel.org/pub
http://kernel.org ftp://ftp.us.kernel.org/pub
http://kernel.org ftp://ftp.uk.kernel.org/pub
http://kernel.org ftp://ftp.hk.kernel.org/pub
http://kernel.org ftp://ftp.au.kernel.org/pub
http://kernel.org ftp://ftp.jp.kernel.org/pub
ftp://ftp.gnupg.org/gcrypt/ ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/
ftp://ftp.gnupg.org/gcrypt/ ftp://ftp.surfnet.nl/pub/security/gnupg/
ftp://ftp.gnupg.org/gcrypt/ http://gulus.USherbrooke.ca/pub/appl/GnuPG/
ftp://dante.ctan.org/tex-archive ftp://ftp.fu-berlin.de/tex/CTAN
ftp://dante.ctan.org/tex-archive http://sunsite.sut.ac.jp/pub/archives/ctan/
ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/
ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.gnutls.org/pub/gnutls/
ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.gnupg.org/gcrypt/gnutls/
ftp://ftp.gnutls.org/pub/gnutls http://www.mirrors.wiretapped.net/security/network-security/gnutls/
ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.mirrors.wiretapped.net/pub/security/network-security/gnutls/
ftp://ftp.gnutls.org/pub/gnutls http://josefsson.org/gnutls/releases/
http://ftp.info-zip.org/pub/infozip/src/ http://mirror.switch.ch/ftp/mirror/infozip/src/
http://ftp.info-zip.org/pub/infozip/src/ ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tau.ac.il/pub/unix/admin/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cert.dfn.de/pub/tools/admin/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.kaizo.org/pub/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tu-darmstadt.de/pub/sysadmin/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tux.org/pub/sites/vic.cc.purdue.edu/tools/unix/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://gd.tuwien.ac.at/utils/admin-tools/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://sunsite.ualberta.ca/pub/Mirror/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://the.wiretapped.net/pub/security/host-security/lsof/
http://www.apache.org/dist http://archive.apache.org/dist
}
cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/build.i686-linux.powerpc-linux
do_compile
#!/bin/sh -e
export localstatedir="/opt/OE/build/tmp.1/cross/ppce300c3/var"
export prefix="/opt/OE/build/tmp.1/cross/ppce300c3"
export CPP="gcc -E"
export mandir="/opt/OE/build/tmp.1/cross/ppce300c3/share/man"
export STRIP="strip"
export STAGING_SIPDIR="/opt/OE/build/tmp.1/staging/i686-linux/usr/share/sip"
export CONFIG_SITE="/opt/OE/org.cnh_fred.dev/site/endian-little /opt/OE/org.cnh_fred.dev/site/common-linux /opt/OE/org.cnh_fred.dev/site/common-glibc /opt/OE/org.cnh_fred.dev/site/ix86-common /opt/OE/org.cnh_fred.dev/site/common /opt/OE/org.cnh_fred.dev/site/common"
export BUILD_CXXFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2 -fpermissive"
export OBJCOPY="objcopy"
export AR="ar"
export AS="as"
export PSTAGING_ACTIVE="1"
export libexecdir="/opt/OE/build/tmp.1/cross/ppce300c3/libexec"
export RANLIB="ranlib"
export QTDIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux/qt2"
export datadir="/opt/OE/build/tmp.1/cross/ppce300c3/share"
export BUILD_CXX="ccache g++"
export SDK_LDFLAGS="-L/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-O1"
export LD="ld"
export LDFLAGS="-L/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-O1"
export TARGET_CXXFLAGS="-isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2 -fpermissive"
export MAKE="make"
export includedir="/opt/OE/build/tmp.1/cross/ppce300c3/include"
export TARGET_CPPFLAGS="-isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include"
export BUILD_CC="ccache gcc"
export BUILD_LDFLAGS="-L/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-O1"
unset TARGET_ARCH
export CXXFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2"
export STAGING_IDLDIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/idl"
export BUILD_F77="ccache g77"
export bindir="/opt/OE/build/tmp.1/cross/ppce300c3/bin"
export OBJDUMP="objdump"
export BUILD_LD="ld"
export exec_prefix="/opt/OE/build/tmp.1/cross/ppce300c3"
export oldincludedir="/opt/OE/build/tmp.1/cross/ppce300c3/include"
export CCLD="ccache gcc"
export SHELLCMDS="bash --rcfile $TERMRCFILE"
export QPEDIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux"
export BUILD_CCLD="gcc"
export base_libdir="/opt/OE/build/tmp.1/cross/ppce300c3/lib"
export PATH="/opt/OE/build/tmp.1/staging/i686-linux/usr/bin/ppce300c3-linux:/opt/OE/build/tmp.1/staging/i686-linux/usr/bin/ppce300c3-linux:/opt/OE/build/tmp.1/staging/i686-linux/usr/sbin:/opt/OE/build/tmp.1/staging/i686-linux/usr/bin:/opt/OE/build/tmp.1/cross/ppce300c3/bin:/opt/OE/build/tmp.1/staging/i686-linux/sbin:/opt/OE/build/tmp.1/staging/i686-linux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
export TARGET_CFLAGS="-isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2"
export base_bindir="/opt/OE/build/tmp.1/cross/ppce300c3/bin"
export servicedir="/opt/OE/build/tmp.1/cross/ppce300c3/srv"
export BUILD_CPP="cpp"
export SDK_CXXFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2 -fpermissive"
export sbindir="/opt/OE/build/tmp.1/cross/ppce300c3/bin"
export SDK_CFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include -fexpensive-optimizations -frename-registers -fomit-frame-pointer -O2"
export BUILD_AR="ar"
export sharedstatedir="/opt/OE/build/tmp.1/cross/ppce300c3/com"
export F77="ccache g77"
export XDG_DATA_DIRS="/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share"
export BUILD_CFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2"
export QMAKE_MKSPEC_PATH="/opt/OE/build/tmp.1/staging/i686-linux/usr/share/qmake"
export PKG_CONFIG_DIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/pkgconfig"
export infodir="/opt/OE/build/tmp.1/cross/ppce300c3/share/info"
export libdir="/opt/OE/build/tmp.1/cross/ppce300c3/lib"
export OPIEDIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux"
export base_prefix="/opt/OE/build/tmp.1/cross/ppce300c3"
export CC="ccache gcc"
export TARGET_LDFLAGS="-L/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib -Wl,-O1 -Wl,--hash-style=gnu"
export docdir="/opt/OE/build/tmp.1/cross/ppce300c3/share/doc"
export palmqtdir="/opt/OE/build/tmp.1/cross/ppce300c3/lib/opie"
unset DISTRO
export base_sbindir="/opt/OE/build/tmp.1/cross/ppce300c3/bin"
export CXX="ccache g++"
export PKG_CONFIG_DISABLE_UNINSTALLED="yes"
export PKG_CONFIG_SYSROOT_DIR="/opt/OE/build/tmp.1/staging/ppce300c3-linux"
export PKG_CONFIG_PATH="/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/pkgconfig:/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/pkgconfig"
unset MACHINE
export palmtopdir="/opt/OE/build/tmp.1/cross/ppce300c3/lib/opie"
export PATCH_GET="0"
export MANIFEST="/opt/OE/org.cnh_fred.dev/recipes/gcc/gcc-4.2.4/manifest"
export SDK_CPPFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include"
export BUILD_STRIP="strip"
export CFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2"
export BUILD_RANLIB="ranlib"
export sysconfdir="/opt/OE/build/tmp.1/cross/ppce300c3/etc"
export BUILD_CPPFLAGS="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include"
do_fetchall() {
base_do_fetchall
}
base_do_checkuriall() {
:
}
populate_staging_preamble() {
if [ "$PSTAGING_ACTIVE" = "1" ]; then
stage-manager -p /opt/OE/build/tmp.1/staging -c /opt/OE/build/tmp.1/deploy/pstage/stamp-cache-staging -u || true
stage-manager -p /opt/OE/build/tmp.1/cross/ppce300c3 -c /opt/OE/build/tmp.1/deploy/pstage/stamp-cache-cross -u || true
fi
}
base_do_install() {
:
}
do_stage() {
oe_runmake install
for d in info man share/doc share/locale ; do
rm -rf /opt/OE/build/tmp.1/cross/ppce300c3/$d
done
# Fix a few include links so cross builds are happier
if [ ! -e /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include/c++ ]; then
mkdir -p /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include
mkdir -p /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/include/c++
ln -sf /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/include/c++ \
/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include/
fi
# We use libiberty from binutils
rm -f /opt/OE/build/tmp.1/cross/ppce300c3/lib/libiberty.a
# We probably don't need these
rmdir /opt/OE/build/tmp.1/cross/ppce300c3/include || :
# We don't really need to keep this around
# rm -rf /opt/OE/build/tmp.1/cross/ppce300c3/share but leave java there
for d in share/man share/info;
do
rm -rf /opt/OE/build/tmp.1/cross/ppce300c3/$d
done
#fix up libsupc++ and libstdc++ la files
for d in lib lib/nof; do
sed -i "s|dependency_libs\s*=\s*.*|dependency_libs='-L/opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/$d -lgcc_s -lc -lm '|" /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/$d/libsupc++.la || true
sed -i "s|dependency_libs\s*=\s*.*|dependency_libs='-L/opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/$d -lgcc_s -lc -lm '|" /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/$d/libstdc++.la || true
done
}
base_do_package() {
:
}
autotools_do_install() {
oe_runmake 'DESTDIR=/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image' install
}
oe_machinstall() {
# Purpose: Install machine dependent files, if available
# If not available, check if there is a default
# If no default, just touch the destination
# Example:
# $1 $2 $3 $4
# oe_machinstall -m 0644 fstab /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/etc/fstab
#
# TODO: Check argument number?
#
filename=`basename $3`
dirname=`dirname $3`
for o in `echo task-configure:local:mpc5121:fred:linux:powerpc:build-linux:fail-fast:pn-gcc-cross | tr ':' ' '`; do
if [ -e $dirname/$o/$filename ]; then
oenote $dirname/$o/$filename present, installing to $4
install $1 $2 $dirname/$o/$filename $4
return
fi
done
# oenote overrides specific file NOT present, trying default=$3...
if [ -e $3 ]; then
oenote $3 present, installing to $4
install $1 $2 $3 $4
else
oenote $3 NOT present, touching empty $4
touch $4
fi
}
package_stagefile_shell() {
if [ "$PSTAGING_ACTIVE" = "1" ]; then
srcfile=$1
destfile=`echo $srcfile | sed s#/opt/OE/build/tmp.1#/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg#`
destdir=`dirname $destfile`
mkdir -p $destdir
cp -dp $srcfile $destfile
fi
}
die() {
oefatal "$*"
}
base_do_buildall() {
:
}
do_configure() {
# Setup these vars for cross building only
# ... because foo_FOR_TARGET apparently gets misinterpreted inside the
# gcc build stuff when the build is producing a cross compiler - i.e.
# when the 'current' target is the 'host' system, and the host is not
# the target (because the build is actually making a cross compiler!)
if [ "i686-linux" != "i686-linux" ]; then
export CC_FOR_TARGET="ccache gcc "
export GCC_FOR_TARGET="ccache gcc "
export CXX_FOR_TARGET="ccache g++ "
export AS_FOR_TARGET="as"
export LD_FOR_TARGET="ld"
export NM_FOR_TARGET="nm"
export AR_FOR_TARGET="ar"
export GFORTRAN_FOR_TARGET="gfortran"
export RANLIB_FOR_TARGET="ranlib"
fi
export CC_FOR_BUILD="ccache gcc "
export CXX_FOR_BUILD="ccache g++ "
export CFLAGS_FOR_BUILD="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2"
export CPPFLAGS_FOR_BUILD="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include"
export CXXFLAGS_FOR_BUILD="-isystem/opt/OE/build/tmp.1/staging/i686-linux/usr/include -O2 -fpermissive"
export LDFLAGS_FOR_BUILD="-L/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath-link,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-rpath,/opt/OE/build/tmp.1/staging/i686-linux/usr/lib -Wl,-O1"
export ARCH_FLAGS_FOR_TARGET="-mcpu=e300c3 -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include"
(cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4 && gnu-configize) || die "failure running gnu-configize"
# splice our idea of where the headers live into gcc's world
echo "NATIVE_SYSTEM_HEADER_DIR = /usr/include" > /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp/t-oe
sed 's%^tmake_file=.*$%& /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp/t-oe%' < /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/Makefile.in >/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/Makefile.in.new
mv /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/Makefile.in.new /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/Makefile.in
echo "#define STANDARD_INCLUDE_DIR \"/usr/include\"" >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/gcc/defaults.h
oe_runconf
}
oe_runconf() {
if [ -x /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure ] ; then
cfgcmd="/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure \
--build=i686-linux \
--host=i686-linux \
--target=powerpc-linux \
--prefix=/opt/OE/build/tmp.1/cross/ppce300c3 \
--exec_prefix=/opt/OE/build/tmp.1/cross/ppce300c3 \
--bindir=/opt/OE/build/tmp.1/cross/ppce300c3/bin \
--sbindir=/opt/OE/build/tmp.1/cross/ppce300c3/bin \
--libexecdir=/opt/OE/build/tmp.1/cross/ppce300c3/libexec \
--datadir=/opt/OE/build/tmp.1/cross/ppce300c3/share \
--sysconfdir=/opt/OE/build/tmp.1/cross/ppce300c3/etc \
--sharedstatedir=/opt/OE/build/tmp.1/cross/ppce300c3/com \
--localstatedir=/opt/OE/build/tmp.1/cross/ppce300c3/var \
--libdir=/opt/OE/build/tmp.1/cross/ppce300c3/lib \
--includedir=/opt/OE/build/tmp.1/cross/ppce300c3/include \
--oldincludedir=/opt/OE/build/tmp.1/cross/ppce300c3/include \
--infodir=/opt/OE/build/tmp.1/cross/ppce300c3/share/info \
--mandir=/opt/OE/build/tmp.1/cross/ppce300c3/share/man \
--with-gnu-ld --enable-shared --enable-target-optspace --enable-languages=c,c++,objc --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --program-prefix=powerpc-linux- --enable-libssp --disable-bootstrap --enable-libgomp --disable-libmudflap --with-local-prefix=/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr --with-gxx-include-dir=/opt/OE/build/tmp.1/staging/ppce300c3-linux//usr/include/c++ --with-sysroot=/opt/OE/build/tmp.1/staging/ppce300c3-linux --with-build-sysroot=/opt/OE/build/tmp.1/staging/ppce300c3-linux --disable-libunwind-exceptions --with-mpfr=/opt/OE/build/tmp.1/staging/i686-linux/usr --enable-__cxa_atexit \
$@"
oenote "Running $cfgcmd..."
$cfgcmd || oefatal "oe_runconf failed"
else
oefatal "no configure script found"
fi
}
base_do_compile() {
if [ -e Makefile -o -e makefile ]; then
oe_runmake || die "make failed"
else
oenote "nothing to compile"
fi
}
oewarn() {
echo "WARNING:" "$*"
}
autotools_stage_includes() {
if [ "${INHIBIT_AUTO_STAGE_INCLUDES}" != "1" ]
then
rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
make DESTDIR="/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging" install
cp -pPR /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/include/* /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include
rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
fi
}
oe_libinstall() {
# Purpose: Install a library, in all its forms
# Example
#
# oe_libinstall libltdl /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/
# oe_libinstall -C src/libblah libblah /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image//opt/OE/build/tmp.1/cross/ppce300c3/lib/
dir=""
libtool=""
silent=""
require_static=""
require_shared=""
staging_install=""
while [ "$#" -gt 0 ]; do
case "$1" in
-C)
shift
dir="$1"
;;
-s)
silent=1
;;
-a)
require_static=1
;;
-so)
require_shared=1
;;
-*)
oefatal "oe_libinstall: unknown option: $1"
;;
*)
break;
;;
esac
shift
done
libname="$1"
shift
destpath="$1"
if [ -z "$destpath" ]; then
oefatal "oe_libinstall: no destination path specified"
fi
if echo "$destpath/" | egrep '^/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/' >/dev/null
then
staging_install=1
fi
__runcmd () {
if [ -z "$silent" ]; then
echo >&2 "oe_libinstall: $*"
fi
$*
}
if [ -z "$dir" ]; then
dir=`pwd`
fi
dotlai=$libname.lai
# Sanity check that the libname.lai is unique
number_of_files=`(cd $dir; find . -name "$dotlai") | wc -l`
if [ $number_of_files -gt 1 ]; then
oefatal "oe_libinstall: $dotlai is not unique in $dir"
fi
dir=$dir`(cd $dir;find . -name "$dotlai") | sed "s/^\.//;s/\/$dotlai\$//;q"`
olddir=`pwd`
__runcmd cd $dir
lafile=$libname.la
# If such file doesn't exist, try to cut version suffix
if [ ! -f "$lafile" ]; then
libname1=`echo "$libname" | sed 's/-[0-9.]*$//'`
lafile1=$libname.la
if [ -f "$lafile1" ]; then
libname=$libname1
lafile=$lafile1
fi
fi
if [ -f "$lafile" ]; then
# libtool archive
eval `cat $lafile|grep "^library_names="`
libtool=1
else
library_names="$libname.so* $libname.dll.a"
fi
__runcmd install -d $destpath/
dota=$libname.a
if [ -f "$dota" -o -n "$require_static" ]; then
__runcmd install -m 0644 $dota $destpath/
fi
if [ -f "$dotlai" -a -n "$libtool" ]; then
if test -n "$staging_install"
then
# stop libtool using the final directory name for libraries
# in staging:
__runcmd rm -f $destpath/$libname.la
__runcmd sed -e 's/^installed=yes$/installed=no/' \
-e '/^dependency_libs=/s,/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/\1,g' \
-e "/^dependency_libs=/s,\([[:space:]']\)/opt/OE/build/tmp.1/cross/ppce300c3/lib,\1/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib,g" \
$dotlai >$destpath/$libname.la
else
__runcmd install -m 0644 $dotlai $destpath/$libname.la
fi
fi
for name in $library_names; do
files=`eval echo $name`
for f in $files; do
if [ ! -e "$f" ]; then
if [ -n "$libtool" ]; then
oefatal "oe_libinstall: $dir/$f not found."
fi
elif [ -L "$f" ]; then
__runcmd cp -P "$f" $destpath/
elif [ ! -L "$f" ]; then
libfile="$f"
__runcmd install -m 0755 $libfile $destpath/
fi
done
done
if [ -z "$libfile" ]; then
if [ -n "$require_shared" ]; then
oefatal "oe_libinstall: unable to locate shared library"
fi
elif [ -z "$libtool" ]; then
# special case hack for non-libtool .so.#.#.# links
baselibfile=`basename "$libfile"`
if (echo $baselibfile | grep -qE '^lib.*\.so\.[0-9.]*$'); then
sonamelink=`readelf -d $libfile |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'`
solink=`echo $baselibfile | sed -e 's/\.so\..*/.so/'`
if [ -n "$sonamelink" -a x"$baselibfile" != x"$sonamelink" ]; then
__runcmd ln -sf $baselibfile $destpath/$sonamelink
fi
__runcmd ln -sf $baselibfile $destpath/$solink
fi
fi
__runcmd cd "$olddir"
}
base_do_configure() {
:
}
oe_soinstall() {
# Purpose: Install shared library file and
# create the necessary links
# Example:
#
# oe_
#
#oenote installing shared library $1 to $2
#
libname=`basename $1`
install -m 755 $1 $2/$libname
sonamelink=`readelf -d $1 |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'`
solink=`echo $libname | sed -e 's/\.so\..*/.so/'`
ln -sf $libname $2/$sonamelink
ln -sf $libname $2/$solink
}
do_install() {
oe_runmake 'DESTDIR=/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image' install
# Move libgcc_s into /lib
mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib
if [ -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib/libgcc_s.so.? ]; then
# Already in the right location
:
elif [ -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/lib/libgcc_s.so.? ]; then
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/lib/libgcc_s.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib || true
elif [ -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libgcc_s.so.? ]; then
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libgcc_s.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib
else
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libgcc_s.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib || true
fi
# Move libstdc++ and libg2c into libdir (resetting our prefix to /usr
mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib
if [ -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libstdc++.so ]; then
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libstdc++.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libg2c.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libgfortran*.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/nof/libssp*.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
else
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libstdc++.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libg2c.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libgfortran*.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
mv -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/opt/OE/build/tmp.1/cross/ppce300c3/*/lib/libssp*.so* /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib || true
fi
# Manually run the target stripper since we won't get it run by
# the packaging.
if [ "x" != "x1" ]; then
powerpc-linux-strip /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib/libstdc++.so.*
powerpc-linux-strip /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib/libg2c.so.* || true
powerpc-linux-strip /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/lib/libgcc_s.so.* || true
powerpc-linux-strip /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image/usr/lib/libgfortran*.so* || true
fi
# Link gfortran to g77 to satisfy not-so-smart configure or hard coded g77
# gfortran is fully backwards compatible. This is a safe and practical solution.
if [ -f /opt/OE/build/tmp.1/cross/ppce300c3/bin/powerpc-linux-gfortran ]; then
currdir="$PWD"
cd /opt/OE/build/tmp.1/cross/ppce300c3/bin/
ln -sf powerpc-linux-gfortran powerpc-linux-g77 || true
cd /opt/OE/build/tmp.1/cross/ppce300c3/powerpc-linux/bin/
ln -sf gfortran g77 || true
cd $currdir
fi
for i in `find /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image -name "*.la"` ; do \
sed -i -e '/^dependency_libs=/s,/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),/opt/OE/build/tmp.1/cross/ppce300c3/lib/\1,g' $i
sed -i -e s:/opt/OE/build/tmp.1/cross/ppce300c3/i686-linux::g $i
sed -i -e s:/opt/OE/build/tmp.1/cross/ppce300c3::g $i
sed -i -e s:/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib:/opt/OE/build/tmp.1/cross/ppce300c3/lib:g $i
sed -i -e s:/opt/OE/build/tmp.1/staging/ppce300c3-linux::g $i
sed -i -e s:/opt/OE/build/tmp.1/staging::g $i
sed -i -e s:/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4::g $i
sed -i -e s:/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp::g $i
sed -i -e s:/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/image::g $i
done
}
oenote() {
echo "NOTE:" "$*"
}
package_update_index_ipk() {
set -x
ipkgarchs="all any noarch powerpc ppce300c3 mpc5121"
if [ ! -z "${DEPLOY_KEEP_PACKAGES}" ]; then
return
fi
touch /opt/OE/build/tmp.1/deploy/ipk/Packages
ipkg-make-index -r /opt/OE/build/tmp.1/deploy/ipk/Packages -p /opt/OE/build/tmp.1/deploy/ipk/Packages -l /opt/OE/build/tmp.1/deploy/ipk/Packages.filelist -m /opt/OE/build/tmp.1/deploy/ipk
for arch in $ipkgarchs; do
if [ -e /opt/OE/build/tmp.1/deploy/ipk/$arch/ ] ; then
touch /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages
ipkg-make-index -r /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages -p /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages -l /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages.filelist -m /opt/OE/build/tmp.1/deploy/ipk/$arch/
fi
if [ -e /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/ ] ; then
touch /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages
ipkg-make-index -r /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages -p /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages -l /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages.filelist -m /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/
fi
if [ -e /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/ ] ; then
touch /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages
ipkg-make-index -r /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages -p /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages -l /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages.filelist -m /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/
fi
done
}
do_package_write() {
:
}
package_generate_ipkg_conf() {
mkdir -p /opt/OE/build/tmp.1/staging/i686-linux/etc/
echo "src oe file:/opt/OE/build/tmp.1/deploy/ipk" > /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg.conf
echo "src oe file:/opt/OE/build/tmp.1/deploy/ipk" > /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-sdk.conf
echo "src oe file:/opt/OE/build/tmp.1/deploy/ipk" > /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-canadian-sdk.conf
ipkgarchs="all any noarch powerpc ppce300c3 mpc5121"
priority=1
for arch in $ipkgarchs; do
echo "arch $arch $priority" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg.conf
echo "arch i686-$arch-sdk $priority" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-sdk.conf
echo "arch i686-linux-sdk-$arch $priority" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-canadian-sdk.conf
priority=$(expr $priority + 5)
if [ -e /opt/OE/build/tmp.1/deploy/ipk/$arch/Packages ] ; then
echo "src oe-$arch file:/opt/OE/build/tmp.1/deploy/ipk/$arch" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg.conf
fi
if [ -e /opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk/Packages ] ; then
echo "src oe-i686-$arch-sdk file:/opt/OE/build/tmp.1/deploy/ipk/i686-$arch-sdk" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-sdk.conf
fi
if [ -e /opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch/Packages ] ; then
echo "src oe-i686-linux-sdk-$arch file:/opt/OE/build/tmp.1/deploy/ipk/i686-linux-sdk-$arch" >> /opt/OE/build/tmp.1/staging/i686-linux/etc/opkg-canadian-sdk.conf
fi
done
}
base_do_fetchall() {
:
}
staging_packager() {
mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL
mkdir -p /opt/OE/build/tmp.1/deploy/pstage/fred/2/.1/-opt-OE-build-tmp.1
echo "Package: staging-gcc-cross-ppce300c3-linux" > /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
echo "Version: 4.2.4-r5" >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
echo "Description: The GNU cc and gcc C compilers." >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
echo "Section: devel" >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
echo "Priority: Optional" >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
echo "Maintainer: OpenEmbedded Team <openembedded-devel@lists.openembedded.org>" >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
echo "Architecture: i686-linux" >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
# Protect against empty SRC_URI
if [ "ftp://ftp.gnu.org/gnu/gcc/gcc-4.2.4/gcc-4.2.4.tar.bz2 file://100-uclibc-conf.patch;patch=1 file://103-uclibc-conf-noupstream.patch;patch=1 file://200-uclibc-locale.patch;patch=1 file://203-uclibc-locale-no__x.patch;patch=1 file://204-uclibc-locale-wchar_fix.patch;patch=1 file://205-uclibc-locale-update.patch;patch=1 file://300-libstdc++-pic.patch;patch=1 file://301-missing-execinfo_h.patch;patch=1 file://302-c99-snprintf.patch;patch=1 file://303-c99-complex-ugly-hack.patch;patch=1 file://304-index_macro.patch;patch=1 file://305-libmudflap-susv3-legacy.patch;patch=1 file://306-libstdc++-namespace.patch;patch=1 file://307-locale_facets.patch;patch=1 file://402-libbackend_dep_gcov-iov.h.patch;patch=1 file://602-sdk-libstdc++-includes.patch;patch=1 file://740-sh-pr24836.patch;patch=1 file://800-arm-bigendian.patch;patch=1 file://801-arm-bigendian-eabi.patch;patch=1 file://904-flatten-switch-stmt-00.patch;patch=1 file://arm-nolibfloat.patch;patch=1 file://arm-softfloat.patch;patch=1 file://gcc41-configure.in.patch;patch=1 file://arm-thumb.patch;patch=1 file://arm-thumb-cache.patch;patch=1 file://ldflags.patch;patch=1 file://zecke-xgcc-cpp.patch;patch=1 file://unbreak-armv4t.patch;patch=1 file://fix-ICE-in-arm_unwind_emit_set.diff;patch=1 file://cache-amnesia.patch;patch=1 file://gfortran.patch;patch=1 file://gcc-4.0.2-e300c2c3.patch;patch=1 file://fortran-static-linking.patch;patch=1 file://intermask-bigendian.patch;patch=1 file://zecke-no-host-includes.patch;patch=1 " != "" ] ; then
echo "Source: ftp://ftp.gnu.org/gnu/gcc/gcc-4.2.4/gcc-4.2.4.tar.bz2 file://100-uclibc-conf.patch;patch=1 file://103-uclibc-conf-noupstream.patch;patch=1 file://200-uclibc-locale.patch;patch=1 file://203-uclibc-locale-no__x.patch;patch=1 file://204-uclibc-locale-wchar_fix.patch;patch=1 file://205-uclibc-locale-update.patch;patch=1 file://300-libstdc++-pic.patch;patch=1 file://301-missing-execinfo_h.patch;patch=1 file://302-c99-snprintf.patch;patch=1 file://303-c99-complex-ugly-hack.patch;patch=1 file://304-index_macro.patch;patch=1 file://305-libmudflap-susv3-legacy.patch;patch=1 file://306-libstdc++-namespace.patch;patch=1 file://307-locale_facets.patch;patch=1 file://402-libbackend_dep_gcov-iov.h.patch;patch=1 file://602-sdk-libstdc++-includes.patch;patch=1 file://740-sh-pr24836.patch;patch=1 file://800-arm-bigendian.patch;patch=1 file://801-arm-bigendian-eabi.patch;patch=1 file://904-flatten-switch-stmt-00.patch;patch=1 file://arm-nolibfloat.patch;patch=1 file://arm-softfloat.patch;patch=1 file://gcc41-configure.in.patch;patch=1 file://arm-thumb.patch;patch=1 file://arm-thumb-cache.patch;patch=1 file://ldflags.patch;patch=1 file://zecke-xgcc-cpp.patch;patch=1 file://unbreak-armv4t.patch;patch=1 file://fix-ICE-in-arm_unwind_emit_set.diff;patch=1 file://cache-amnesia.patch;patch=1 file://gfortran.patch;patch=1 file://gcc-4.0.2-e300c2c3.patch;patch=1 file://fortran-static-linking.patch;patch=1 file://intermask-bigendian.patch;patch=1 file://zecke-no-host-includes.patch;patch=1 " >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
else
echo "Source: OpenEmbedded" >> /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/CONTROL/control
fi
stage-manager-ipkg-build -o 0 -g 0 /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg /opt/OE/build/tmp.1/deploy/pstage/fred/2/.1/-opt-OE-build-tmp.1
}
autotools_do_configure() {
case gcc-cross in
autoconf*)
;;
automake*)
;;
*)
# WARNING: gross hack follows:
# An autotools built package generally needs these scripts, however only
# automake or libtoolize actually install the current versions of them.
# This is a problem in builds that do not use libtool or automake, in the case
# where we -need- the latest version of these scripts. e.g. running a build
# for a package whose autotools are old, on an x86_64 machine, which the old
# config.sub does not support. Work around this by installing them manually
# regardless.
( for ac in `find /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4 -name configure.in -o -name configure.ac`; do
rm -f `dirname $ac`/configure
done )
if [ -e /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure.in -o -e /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure.ac ]; then
olddir=`pwd`
cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4
if [ x"default" = xdefault ]; then
acpaths=
for i in `find /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4 -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
grep -v 'acinclude.m4' | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do
acpaths="$acpaths -I $i"
done
else
acpaths="default"
fi
AUTOV=`automake --version |head -n 1 |sed "s/.* //;s/\.[0-9]\+$//"`
automake --version
echo "AUTOV is $AUTOV"
install -d /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/aclocal
install -d /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/aclocal-$AUTOV
acpaths="$acpaths -I/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/aclocal-$AUTOV -I /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share/aclocal"
# autoreconf is too shy to overwrite aclocal.m4 if it doesn't look
# like it was auto-generated. Work around this by blowing it away
# by hand, unless the package specifically asked not to run aclocal.
if ! echo --exclude=autopoint | grep -q "aclocal"; then
rm -f aclocal.m4
fi
if [ -e configure.in ]; then
CONFIGURE_AC=configure.in
else
CONFIGURE_AC=configure.ac
fi
if grep "^AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
if grep "sed.*POTFILES" $CONFIGURE_AC >/dev/null; then
: do nothing -- we still have an old unmodified configure.ac
else
oenote Executing glib-gettextize --force --copy
echo "no" | glib-gettextize --force --copy
fi
fi
if grep "^[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC >/dev/null; then
oenote Executing intltoolize --copy --force --automake
intltoolize --copy --force --automake
fi
oenote Executing autoreconf --verbose --install --force --exclude=autopoint $acpaths
mkdir -p m4
autoreconf -Wcross --verbose --install --force --exclude=autopoint $acpaths || oefatal "autoreconf execution failed."
cd $olddir
fi
;;
esac
if [ -e /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/configure ]; then
oe_runconf $@
else
oenote "nothing to configure"
fi
}
base_do_stage() {
:
}
autotools_stage_dir() {
from="$1"
to="$2"
# This will remove empty directories so we can ignore them
rmdir "$from" 2> /dev/null || true
if [ -d "$from" ]; then
mkdir -p "$to"
cp -fpPR "$from"/* "$to"
fi
}
autotools_stage_all() {
if [ "${INHIBIT_AUTO_STAGE}" = "1" ]
then
return
fi
rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
mkdir -p /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
oe_runmake DESTDIR="/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging" install
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/include /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include
if [ "i686-linux" = "i686-linux" ]; then
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/bin /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/bin
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/bin /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/sbin
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/bin /opt/OE/build/tmp.1/staging/ppce300c3-linux/bin
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/bin /opt/OE/build/tmp.1/staging/ppce300c3-linux/sbin
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/libexec /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/libexec
if [ "/opt/OE/build/tmp.1/cross/ppce300c3/lib" != "/opt/OE/build/tmp.1/cross/ppce300c3/lib" ]; then
# python puts its files in here, make sure they are staged as well
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib
fi
fi
if [ -d /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib ]
then
olddir=`pwd`
cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib
las=$(find . -name \*.la -type f)
cd $olddir
echo "Found la files: $las"
for i in $las
do
sed -e 's/^installed=yes$/installed=no/' \
-e '/^dependency_libs=/s,/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*.la\),/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/\1,g' \
-e '/^dependency_libs=/s,/opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5[[:alnum:]/\._+-]*/\([[:alnum:]\._+-]*\),/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib,g' \
-e "/^dependency_libs=/s,\([[:space:]']\)/opt/OE/build/tmp.1/cross/ppce300c3/lib,\1/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib,g" \
-i /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib/$i
done
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib
fi
# Ok, this is nasty. pkgconfig.bbclass is usually used to install .pc files,
# however some packages rely on the presence of .pc files to enable/disable
# their configurataions in which case we better should not install everything
# unconditionally, but rather depend on the actual results of make install.
# The good news though: a) there are not many packages doing this and
# b) packaged staging will fix that anyways. :M:
if [ "${AUTOTOOLS_STAGE_PKGCONFIG}" = "1" ]
then
if [ -e /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib/pkgconfig/ ] ; then
echo "cp -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib/pkgconfig/*.pc /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/pkgconfig/"
cp -f /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/lib/pkgconfig/*.pc /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/lib/pkgconfig/
fi
fi
rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/share/man || true
rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/share/info || true
autotools_stage_dir /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging//opt/OE/build/tmp.1/cross/ppce300c3/share /opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/share
rm -rf /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/temp-staging
}
ldconfig_postinst_fragment() {
if [ x"$D" = "x" ]; then
if [ -e /etc/ld.so.conf ] ; then
[ -x /sbin/ldconfig ] && /sbin/ldconfig
fi
fi
}
do_compile() {
export CC="ccache gcc "
export AR_FOR_TARGET="powerpc-linux-ar"
export RANLIB_FOR_TARGET="powerpc-linux-ranlib"
export LD_FOR_TARGET="powerpc-linux-ld"
export NM_FOR_TARGET="powerpc-linux-nm"
export CC_FOR_TARGET="ccache powerpc-linux-gcc -mcpu=e300c3"
base_do_compile
}
staging_helper() {
# Assemble appropriate opkg.conf
conffile=/opt/OE/build/tmp.1/deploy/pstage/opkg.conf
mkdir -p /opt/OE/build/tmp.1/deploy/pstage/pstaging_lists
if [ ! -e $conffile ]; then
ipkgarchs="i686-linux"
priority=1
for arch in $ipkgarchs; do
echo "arch $arch $priority" >> $conffile
priority=$(expr $priority + 5)
done
echo "dest root /" >> $conffile
fi
if [ ! -e /opt/OE/build/tmp.1/usr/lib/opkg/info/ ]; then
mkdir -p /opt/OE/build/tmp.1/usr/lib/opkg/info/
fi
if [ ! -e /opt/OE/build/tmp.1/usr/lib/ipkg/ ]; then
cd /opt/OE/build/tmp.1/usr/lib/
ln -sf opkg/ ipkg
fi
}
populate_staging_postamble() {
if [ "$PSTAGING_ACTIVE" = "1" ]; then
# list the packages currently installed in staging
# stage-manager-ipkg -f /opt/OE/build/tmp.1/deploy/pstage/opkg.conf -o /opt/OE/build/tmp.1 list_installed | awk '{print $1}' > /opt/OE/build/tmp.1/deploy/pstage/installed-list
# exitcode == 5 is ok, it means the files change
set +e
stage-manager -p /opt/OE/build/tmp.1/staging -c /opt/OE/build/tmp.1/deploy/pstage/stamp-cache-staging -u -d /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/staging
exitcode=$?
if [ "$exitcode" != "5" -a "$exitcode" != "0" ]; then
exit $exitcode
fi
stage-manager -p /opt/OE/build/tmp.1/cross/ppce300c3 -c /opt/OE/build/tmp.1/deploy/pstage/stamp-cache-cross -u -d /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg/cross
if [ "$exitcode" != "5" -a "$exitcode" != "0" ]; then
exit $exitcode
fi
set -e
fi
}
oedebug() {
test $# -ge 2 || {
echo "Usage: oedebug level \"message\""
exit 1
}
test ${OEDEBUG:-0} -ge $1 && {
shift
echo "DEBUG:" $*
}
}
oe_runmake() {
if [ x"$MAKE" = x ]; then MAKE=make; fi
oenote make ARCH_FLAGS_FOR_TARGET='-mcpu=e300c3 -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include' "$@"
make ARCH_FLAGS_FOR_TARGET='-mcpu=e300c3 -isystem/opt/OE/build/tmp.1/staging/ppce300c3-linux/usr/include' "$@" || die "oe_runmake failed"
}
do_package_stage_all() {
:
}
staging_package_installer() {
#stage-manager-ipkg -f /opt/OE/build/tmp.1/deploy/pstage/opkg.conf -force-depends -o /opt/OE/build/tmp.1 install /opt/OE/build/tmp.1/deploy/pstage/fred/2/.1/-opt-OE-build-tmp.1/staging-gcc-cross-ppce300c3-linux_4.2.4-r5_i686-linux.ipk
STATUSFILE=/opt/OE/build/tmp.1/usr/lib/opkg/status
echo "Package: staging-gcc-cross-ppce300c3-linux" >> $STATUSFILE
echo "Version: 4.2.4-r5" >> $STATUSFILE
echo "Status: install user installed" >> $STATUSFILE
echo "Architecture: i686-linux" >> $STATUSFILE
echo "" >> $STATUSFILE
CTRLFILE=/opt/OE/build/tmp.1/usr/lib/opkg/info/staging-gcc-cross-ppce300c3-linux.control
echo "Package: staging-gcc-cross-ppce300c3-linux" > $CTRLFILE
echo "Version: 4.2.4-r5" >> $CTRLFILE
echo "Architecture: i686-linux" >> $CTRLFILE
cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/staging-pkg
find -type f | grep -v ./CONTROL | sed -e 's/^\.//' > /opt/OE/build/tmp.1/usr/lib/opkg/info/staging-gcc-cross-ppce300c3-linux.list
}
oefatal() {
echo "FATAL:" "$*"
exit 1
}
MIRRORS() {
ftp://ftp.gnu.org/gnu/gcc/releases/ ftp://gcc.gnu.org/pub/gcc/releases/
ftp://ftp.gnu.org/gnu/gcc/ http://mirrors.rcn.net/pub/sourceware/gcc/releases/
ftp://ftp.gnu.org/gnu/gcc/releases/ http://gcc.get-software.com/releases/
ftp://ftp.gnu.org/gnu/gcc/ http://gcc.get-software.com/releases/
ftp://ftp.debian.org/debian/pool/main http://snapshot.debian.net/archive/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.de.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.au.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.cl.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.hr.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.fi.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.hk.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.hu.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.ie.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.it.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.jp.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.no.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.pl.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.ro.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.si.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.es.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.se.debian.org/debian/pool
ftp://ftp.debian.org/debian/pool ftp://ftp.tr.debian.org/debian/pool
ftp://ftp.gnu.org/gnu ftp://mirrors.kernel.org/gnu
ftp://ftp.gnu.org/gnu ftp://ftp.matrix.com.br/pub/gnu
ftp://ftp.gnu.org/gnu ftp://ftp.cs.ubc.ca/mirror2/gnu
ftp://ftp.gnu.org/gnu ftp://sunsite.ust.hk/pub/gnu
ftp://ftp.gnu.org/gnu ftp://ftp.ayamura.org/pub/gnu
http://kernel.org http://www.kernel.org/pub
http://kernel.org ftp://ftp.us.kernel.org/pub
http://kernel.org ftp://ftp.uk.kernel.org/pub
http://kernel.org ftp://ftp.hk.kernel.org/pub
http://kernel.org ftp://ftp.au.kernel.org/pub
http://kernel.org ftp://ftp.jp.kernel.org/pub
ftp://ftp.gnupg.org/gcrypt/ ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/
ftp://ftp.gnupg.org/gcrypt/ ftp://ftp.surfnet.nl/pub/security/gnupg/
ftp://ftp.gnupg.org/gcrypt/ http://gulus.USherbrooke.ca/pub/appl/GnuPG/
ftp://dante.ctan.org/tex-archive ftp://ftp.fu-berlin.de/tex/CTAN
ftp://dante.ctan.org/tex-archive http://sunsite.sut.ac.jp/pub/archives/ctan/
ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/
ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.gnutls.org/pub/gnutls/
ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.gnupg.org/gcrypt/gnutls/
ftp://ftp.gnutls.org/pub/gnutls http://www.mirrors.wiretapped.net/security/network-security/gnutls/
ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.mirrors.wiretapped.net/pub/security/network-security/gnutls/
ftp://ftp.gnutls.org/pub/gnutls http://josefsson.org/gnutls/releases/
http://ftp.info-zip.org/pub/infozip/src/ http://mirror.switch.ch/ftp/mirror/infozip/src/
http://ftp.info-zip.org/pub/infozip/src/ ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tau.ac.il/pub/unix/admin/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cert.dfn.de/pub/tools/admin/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.fu-berlin.de/pub/unix/tools/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.kaizo.org/pub/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tu-darmstadt.de/pub/sysadmin/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.tux.org/pub/sites/vic.cc.purdue.edu/tools/unix/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://gd.tuwien.ac.at/utils/admin-tools/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://sunsite.ualberta.ca/pub/Mirror/lsof/
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://the.wiretapped.net/pub/security/host-security/lsof/
http://www.apache.org/dist http://archive.apache.org/dist
}
cd /opt/OE/build/tmp.1/work/ppce300c3-linux/gcc-cross-4.2.4-r5/gcc-4.2.4/build.i686-linux.powerpc-linux
do_configure
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: nof/libgcc_s.so installed instead of libgcc_s.so on powerpc
2009-06-18 15:17 ` Matteo Fortini
@ 2009-06-27 0:59 ` Khem Raj
2009-11-30 1:15 ` Jeremy Williams
0 siblings, 1 reply; 9+ messages in thread
From: Khem Raj @ 2009-06-27 0:59 UTC (permalink / raw)
To: Matteo Fortini; +Cc: openembedded-devel@openembedded.org
[-- Attachment #1: Type: Text/Plain, Size: 191 bytes --]
On Thursday 18 June 2009 08:17:24 am Matteo Fortini wrote:
> Here it is
Thanks. It might be problem in install section of our recipes.
Can you post log.do_compile file
Thx
-Khem
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 204 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: nof/libgcc_s.so installed instead of libgcc_s.so on powerpc
2009-06-27 0:59 ` Khem Raj
@ 2009-11-30 1:15 ` Jeremy Williams
2009-11-30 18:45 ` Khem Raj
0 siblings, 1 reply; 9+ messages in thread
From: Jeremy Williams @ 2009-11-30 1:15 UTC (permalink / raw)
To: openembedded-devel
Khem Raj <raj.khem <at> gmail.com> writes:
>
> Thanks. It might be problem in install section of our recipes.
> Can you post log.do_compile file
>
> Thx
>
> -Khem
This is a bump. I am still seeing this issue. I'm assuming that the OP did not
provide a do_compile log which is why this thread died. I am willing to provide
the necessary information but I have noticed that the problem does not exist in
the image directory when the gcc-sdk package is created. Is this file perhaps
included from some other package that gets installed to the rootfs?
-jeremy
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: nof/libgcc_s.so installed instead of libgcc_s.so on powerpc
2009-11-30 1:15 ` Jeremy Williams
@ 2009-11-30 18:45 ` Khem Raj
2009-12-02 18:04 ` Jeremy Williams
0 siblings, 1 reply; 9+ messages in thread
From: Khem Raj @ 2009-11-30 18:45 UTC (permalink / raw)
To: openembedded-devel
On Sun, Nov 29, 2009 at 5:15 PM, Jeremy Williams <jerm7861@yahoo.com> wrote:
> Khem Raj <raj.khem <at> gmail.com> writes:
>
>
>>
>> Thanks. It might be problem in install section of our recipes.
>> Can you post log.do_compile file
>>
>> Thx
>>
>> -Khem
>
> This is a bump. I am still seeing this issue. I'm assuming that the OP did not
> provide a do_compile log which is why this thread died. I am willing to provide
> the necessary information
thanks that will help to diagnose it further
but I have noticed that the problem does not exist in
> the image directory when the gcc-sdk package is created. Is this file perhaps
> included from some other package that gets installed to the rootfs?
could be that its from one of intermediate gcc stages.
>
> -jeremy
>
>
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: nof/libgcc_s.so installed instead of libgcc_s.so on powerpc
2009-11-30 18:45 ` Khem Raj
@ 2009-12-02 18:04 ` Jeremy Williams
0 siblings, 0 replies; 9+ messages in thread
From: Jeremy Williams @ 2009-12-02 18:04 UTC (permalink / raw)
To: openembedded-devel
Khem Raj <raj.khem <at> gmail.com> writes:
>
> could be that its from one of intermediate gcc stages.
>
libgcc_s.so.1 is provided by both the host package gcc-cross-sdk and the target
package libgcc1, both installed to the same place.
[root@msvm1 powerpc-angstrom-linux]# opkg files gcc-cross-sdk | grep libgcc
/usr/local/angstrom/powerpc/powerpc-angstrom-linux/lib/libgcc_s.so
/usr/local/angstrom/powerpc/powerpc-angstrom-linux/lib/nof/libgcc_s.so.1
/usr/local/angstrom/powerpc/lib/gcc/powerpc-angstrom-linux/4.3.3/libgcc.a
/usr/local/angstrom/powerpc/powerpc-angstrom-linux/lib/libgcc_s.so.1
/usr/local/angstrom/powerpc/powerpc-angstrom-linux/lib/nof/libgcc_s.so
/usr/local/angstrom/powerpc/lib/gcc/powerpc-angstrom-linux/4.3.3/libgcc_eh.a
[root@msvm1 powerpc-angstrom-linux]# opkg-target files libgcc1
Package libgcc1 (4.3.3-r7.1.4) is installed on root and has the following files:
/usr/local/angstrom/powerpc/powerpc-angstrom-linux/lib/libgcc_s.so.1
Since the files in the image directory of gcc-cross-sdk are correct, I suspect
that it is the fault of libgcc1. I am looking into this further today...after I
get past the latest meta-toolchain build issue... :)
-jeremy
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2009-12-02 18:06 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-15 14:34 nof/libgcc_s.so installed instead of libgcc_s.so on powerpc Matteo Fortini
2009-06-15 15:03 ` Leon Woestenberg
2009-06-15 15:21 ` Matteo Fortini
2009-06-18 6:09 ` Khem Raj
2009-06-18 15:17 ` Matteo Fortini
2009-06-27 0:59 ` Khem Raj
2009-11-30 1:15 ` Jeremy Williams
2009-11-30 18:45 ` Khem Raj
2009-12-02 18:04 ` Jeremy Williams
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.