URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [rtos/] [rtems/] [scripts-ada/] [buildall.in] - Rev 601
Go to most recent revision | Compare with Previous | Blame | View Log
#! /bin/sh
#
# Generate all the specs and then cycle through building them.
#
RTEMS_DIR=`dirname $0`
CFG=./setup.cache
dst=@RPM_SPECSdir@
usage()
{
echo "$0 [options] <target_alias>"
echo " options:"
echo " -cfg <setup.cache>"
echo " -o <rpm-spec-dir>"
exit 1 ;
}
while test $# -ge 1; do
case $1 in
-cfg)
test $# -ge 2 || usage
shift
CFG=$1
shift
;;
-o)
test $# -ge 2 || usage
shift
dst=$1
shift
;;
-*)
echo "invalid option $1";
usage
;;
*)
TARGETS="${TARGETS} $1"
shift
;;
esac
done
# 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.
if [ "X${TARGETS}" = "X" ] ; then
TARGETS="i386-rtems i960-rtems m68k-rtems \
mips64orion-rtems powerpc-rtems sh-rtems sparc-rtems"
fi
. $CFG
binutils=${binutils_version}
gcc=${gcc_version}
gnat=${gnat_version}
gdb=${gdb_version}
newlib=${newlib_version}
# also use binutils_rpm_release
buildroot=/tmp
testing=no
do_binutils=no # binutils included in gnatnewlib
do_gnatnewlib=yes
do_gdb=yes
#
# Now get started
#
start=`date`
echo PATH=$PATH
if [ ${testing} = yes ] ; then
ECHO=echo
fi
installed_count=`rpm -q -g gnatrtems | 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
echo Copying specs files.
if [ ${testing} = no ] ; then
cd ${RTEMS_DIR}
# ./configure || exit 1
make || exit 1
# Now generate all the specs
for target in ${TARGETS}
do
tspecs=`find . -name "${target}*"`
if [ "X${tspecs}" = "X" ] ; then
echo RPM specifications were not generated for ${tspec}.
exit 1
fi
${ECHO} cp -r ${tspecs} ${dst}
done
fi
# clean up a bit before we start
cd ${dst}
test -d log || mkdir log
# do all the tools
for target in ${TARGETS}
do
if [ ${do_binutils} = yes ] ; then
logfile=log/${target}-binutils
specfile=${dst}/${target}-gnat-${gnat}-binutils-${binutils}.spec
echo "rpm -ba ${specfile} >${logfile} 2>&1"
if [ ${testing} = no ] ; then
rpm -ba ${specfile} >${logfile} 2>&1
fi
${ECHO} rm -rf ${dst}/../BUILD/${target}-binutils*
${ECHO} rm -rf ${buildroot}/opt/gnatrtems
else
echo Skipping binutils for ${target}
fi
#
# build gcc/newlib
#
if [ ${do_gnatnewlib} = yes ] ; then
# now build gcc/newlib
# NOTE: This requires having binutils installed and we immediately
# remove it once finished.
# base_binutils_rpm=${dst}/../RPMS/i386/rtems-base-binutils-${binutils}-${binutils_rpm_release}.i386.rpm
# binutils_rpm=${dst}/../RPMS/i386/${target}-binutils-${binutils}-${binutils_rpm_release}.i386.rpm
# if [ ! -f ${binutils_rpm} ] ; then
# echo There is no RPM for binutils for ${target}.
# echo Looked for ${binutils_rpm}.
# fi
# ${ECHO} rpm -i ${base_binutils_rpm}
# ${ECHO} rpm -i ${binutils_rpm}
logfile=log/${target}-gnatnewlib
specfile=${dst}/${target}-gnat-${gnat}-newlib-${newlib}.spec
echo "rpm -ba ${specfile} >${logfile} 2>&1"
if [ ${testing} = no ] ; then
rpm -ba ${specfile} >${logfile} 2>&1
fi
${ECHO} rm -rf ${dst}/../BUILD/${target}-gcc*
${ECHO} rm -rf ${buildroot}/opt/gnatrtems
# echo uninstalling binutils for ${target}
# if [ ${testing} = no ] ; then
# rpm -e `rpm -qa | grep rtems`
# rm -rf /opt/gnatrtems/*
# fi
else
echo Skipping gcc/newlib for ${target}
fi
#
# build gdb
#
if [ ${do_gdb} = yes ] ; then
# now build gdb
logfile=log/${target}-gdb
specfile=${dst}/${target}-gnat-${gnat}-gdb-${gdb}.spec
echo "rpm -ba ${specfile} >${logfile} 2>&1"
if [ ${testing} = no ] ; then
rpm -ba ${specfile} >${logfile} 2>&1
fi
${ECHO} rm -rf ${dst}/../BUILD/${target}-gdb*
${ECHO} rm -rf ${buildroot}/opt/gnatrtems
else
echo Skipping gdb for ${target}
fi
done
# Now we are done
stop=`date`
echo
echo "Started: " $start
echo "Finished: " $stop
exit 0
Go to most recent revision | Compare with Previous | Blame | View Log