summaryrefslogtreecommitdiffstats
path: root/scripts/buildall
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/buildall')
-rw-r--r--scripts/buildall113
1 files changed, 113 insertions, 0 deletions
diff --git a/scripts/buildall b/scripts/buildall
new file mode 100644
index 0000000000..5792e80e26
--- /dev/null
+++ b/scripts/buildall
@@ -0,0 +1,113 @@
+#! /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
+
+echo PATH=$PATH
+
+if [ ${testing} = yes ] ; then
+ ECHO=echo
+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
+
+binutils=990901
+gcc=2.95.1
+gdb=4.18
+newlib=1.8.2
+
+# do all the binutils
+for target in ${TARGETS}
+do
+ echo "rpm -ba --buildroot=/opt/tmp \
+ ${dst}/${target}-binutils-${binutils}.spec >log/${target}-binutils 2>&1"
+ if [ ${testing} = no ] ; then
+ rpm -ba --buildroot=/opt/tmp \
+ ${dst}/${target}-binutils-${binutils}.spec >log/${target}-binutils 2>&1
+ fi
+ ${ECHO} rm -rf ${dst}/../BUILD/${target}-binutils*
+ ${ECHO} rm -rf /opt/tmp/opt
+
+ # now build gdb
+ echo "rpm -ba --buildroot=/opt/tmp \
+ ${dst}/${target}-gdb-${gdb}.spec >log/${target}-gdb 2>&1"
+ if [ ${testing} = no ] ; then
+ rpm -ba --buildroot=/opt/tmp \
+ ${dst}/${target}-gdb-${gdb}.spec >log/${target}-gdb 2>&1
+ fi
+ ${ECHO} rm -rf ${dst}/../BUILD/${target}-gdb*
+ ${ECHO} rm -rf /opt/tmp/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
+
+ echo "rpm -ba --buildroot=/opt/tmp \
+ ${dst}/${target}-gcc-${gcc}-newlib-${newlib}.spec >log/${target}-gccnewlib 2>&1"
+ if [ ${testing} = no ] ; then
+ rpm -ba --buildroot=/opt/tmp \
+ ${dst}/${target}-gcc-${gcc}-newlib-${newlib}.spec >log/${target}-gccnewlib 2>&1
+ fi
+ ${ECHO} rm -rf ${dst}/../BUILD/${target}-gcc*
+ ${ECHO} rm -rf /opt/tmp/opt
+
+ echo uninstalling binutils for ${target}
+ if [ ${testing} = no ] ; then
+ rpm -e `rpm -qa | grep rtems`
+ fi
+done
+
+echo Moving RPMs to CD staging directory
+for file in `ls -1 ${dst}/../RPMS/i386/*.rpm 2>/dev/null`
+do
+ ${ECHO} mv ${file} /usr3/rtems_cds/test_cd/RPMS
+done
+
+echo Moving SRPMs to CD staging directory
+for file in `ls -1 ${dst}/../SRPMS/*.rpm 2>/dev/null`
+do
+ ${ECHO} mv ${file} /usr3/rtems_cds/test_cd/SRPMS
+done
+
+exit 0