blob: 4da2e25b977634db67f9d4f42f3c2374ce2cd915 (
plain) (
tree)
|
|
#! /bin/sh
#
# Generate all the specs and then cycle through building them.
#
RTEMS_DIR=`dirname $0`
# This is the full list .. hppa1.1 does not build now.
#ALL_TARGETS="hppa1.1-rtems i386-rtems i960-rtems m68k-rtems \
# m68k-rtemself mips64orion-rtems \
# powerpc-rtems sh-rtems sh-rtemself sparc-rtems"
# This is the full buildable set.
ALL_TARGETS="i386-rtems i960-rtems m68k-rtems \
m68k-rtemself mips64orion-rtems \
powerpc-rtems sh-rtems sh-rtemself sparc-rtems"
# This is what we are building this time
#TARGETS=${ALL_TARGETS}
TARGETS="sh-rtems"
testing=no
binutils=990901
gcc=2.95.1
gdb=4.18
newlib=1.8.2
buildroot=/opt/tmp
#
# Now get started
#
start=`date`
echo PATH=$PATH
if [ ${testing} = yes ] ; then
ECHO=echo
fi
installed_count=`rpm -qa | grep rtems | wc -l`
if [ ${installed_count} -ne 0 ] ; then
echo This script should be run with NO rtems RPMs installed.
echo It appears that the following rtems RPMs are installed:
echo
rpm -qa | grep rtems
echo
echo Please remove these and restart this script.
exit 1
fi
# Some linux distributions use /usr/src/packages
# redhat uses /usr/src/redhat
# others might use /usr/src
if test -d /usr/src/packages/SPECS;
then
dst=/usr/src/packages/SPECS;
elif test -d /usr/src/redhat/SPECS;
then
dst=/usr/src/redhat/SPECS;
elif test -d /usr/src/SPECS/;
then
dst=/usr/src/SPECS;
fi
# Now generate all the specs
for target in ${TARGETS}
do
${ECHO} ${RTEMS_DIR}/mkspec ${target}
done
# clean up a bit before we start
cd ${dst}
test -d log || mkdir log
# do all the tools
for target in ${TARGETS}
do
logfile=log/${target}-binutils
specfile=${dst}/${target}-binutils-${binutils}.spec
echo "rpm -ba --buildroot=${buildroot} ${specfile} >${logfile} 2>&1"
if [ ${testing} = no ] ; then
rpm -ba --buildroot=${buildroot} ${specfile} >${logfile} 2>&1
fi
${ECHO} rm -rf ${dst}/../BUILD/${target}-binutils*
${ECHO} rm -rf ${buildroot}/opt
# now build gdb
logfile=log/${target}-gdb
specfile=${dst}/${target}-gdb-${gdb}.spec
echo "rpm -ba --buildroot=${buildroot} ${specfile} >${logfile} 2>&1"
if [ ${testing} = no ] ; then
rpm -ba --buildroot=${buildroot} ${specfile} >${logfile} 2>&1
fi
${ECHO} rm -rf ${dst}/../BUILD/${target}-gdb*
${ECHO} rm -rf ${buildroot}/opt
# now build gcc/newlib
# NOTE: This requires having binutils installed and we immediately
# remove it once finished.
${ECHO} rpm -i ${dst}/../RPMS/i386/${target}-binutils-${binutils}-0.i386.rpm
logfile=log/${target}-gccnewlib
specfile=${dst}/${target}-gcc-${gcc}-newlib-${newlib}.spec
echo "rpm -ba --buildroot=${buildroot} ${specfile} >${logfile} 2>&1"
if [ ${testing} = no ] ; then
rpm -ba --buildroot=${buildroot} ${specfile} >${logfile} 2>&1
fi
${ECHO} rm -rf ${dst}/../BUILD/${target}-gcc*
${ECHO} rm -rf ${buildroot}/opt
echo uninstalling binutils for ${target}
if [ ${testing} = no ] ; then
rpm -e `rpm -qa | grep rtems`
fi
done
staging_dir=/usr3/rtems_cds/test_cd/linux
${ECHO} mkdir ${staging_dir}
${ECHO} mkdir ${staging_dir}/RPMS
${ECHO} mkdir ${staging_dir}/SRPMS
echo Moving RPMs to CD staging directory
for file in `ls -1 ${dst}/../RPMS/i386/*.rpm 2>/dev/null`
do
${ECHO} mv ${file} ${staging_dir}/RPMS
done
echo Moving SRPMs to CD staging directory
for file in `ls -1 ${dst}/../SRPMS/*.rpm 2>/dev/null`
do
${ECHO} mv ${file} ${staging_dir}/SRPMS
done
# Now we are done
stop=`date`
echo
echo "Started: " $start
echo "Finished: " $stop
exit 0
|