summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--scripts/.cvsignore22
-rw-r--r--scripts/ChangeLog1738
-rw-r--r--scripts/Makefile.am34
-rw-r--r--scripts/README255
-rw-r--r--scripts/README.cdn-X122
-rw-r--r--scripts/TODO7
-rw-r--r--scripts/acinclude.m420
-rw-r--r--scripts/autotools/.cvsignore4
-rw-r--r--scripts/autotools/Makefile.am25
-rw-r--r--scripts/autotools/autoconf.add91
-rw-r--r--scripts/autotools/automake.add96
-rw-r--r--scripts/autotools/header.add3
-rw-r--r--scripts/binutils/.cvsignore6
-rw-r--r--scripts/binutils/HISTORY29
-rw-r--r--scripts/binutils/Makefile.am74
-rw-r--r--scripts/binutils/base-binutils.add56
-rw-r--r--scripts/binutils/binutils.add118
-rw-r--r--scripts/binutils/header.add4
-rw-r--r--scripts/binutils/mkspec.in65
-rw-r--r--scripts/binutils/target-binutils.add57
-rwxr-xr-xscripts/brp-rtems-compress.in53
-rwxr-xr-xscripts/brp-rtems-strip.in19
-rwxr-xr-xscripts/buildall.in210
-rw-r--r--scripts/buildalltar.in348
-rw-r--r--scripts/common/.cvsignore1
-rw-r--r--scripts/common/clean.add.in3
-rw-r--r--scripts/common/common.add.in25
-rw-r--r--scripts/common/common.am4
-rw-r--r--scripts/configure.ac89
-rw-r--r--scripts/cpukit/.cvsignore5
-rw-r--r--scripts/cpukit/Makefile.am57
-rw-r--r--scripts/cpukit/header.add4
-rw-r--r--scripts/cpukit/mkspec.in55
-rw-r--r--scripts/cpukit/rtems-cpukit.add71
-rw-r--r--scripts/cpukit/target-cpukit.add10
-rw-r--r--scripts/gccnewlib/.cvsignore8
-rw-r--r--scripts/gccnewlib/Makefile.am84
-rw-r--r--scripts/gccnewlib/README8
-rw-r--r--scripts/gccnewlib/base-g77.add35
-rw-r--r--scripts/gccnewlib/base-gcc.add69
-rw-r--r--scripts/gccnewlib/base-gcj.add68
-rw-r--r--scripts/gccnewlib/base-gfortran.add34
-rw-r--r--scripts/gccnewlib/base-gnat.add40
-rw-r--r--scripts/gccnewlib/gccnewlib.add404
-rw-r--r--scripts/gccnewlib/header.add14
-rw-r--r--scripts/gccnewlib/mkspec.in74
-rw-r--r--scripts/gccnewlib/target-c++.add39
-rw-r--r--scripts/gccnewlib/target-g77.add28
-rw-r--r--scripts/gccnewlib/target-gcc.add46
-rw-r--r--scripts/gccnewlib/target-gcj.add52
-rw-r--r--scripts/gccnewlib/target-gfortran.add32
-rw-r--r--scripts/gccnewlib/target-gnat.add33
-rw-r--r--scripts/gccnewlib/target-libc.add22
-rw-r--r--scripts/gccnewlib/target-objc.add26
-rw-r--r--scripts/gdb/.cvsignore6
-rw-r--r--scripts/gdb/HISTORY23
-rw-r--r--scripts/gdb/Makefile.am83
-rw-r--r--scripts/gdb/base-gdb.add67
-rw-r--r--scripts/gdb/gdb.add154
-rw-r--r--scripts/gdb/header.add4
-rw-r--r--scripts/gdb/mkspec.in67
-rw-r--r--scripts/gdb/target-gdb.add37
-rwxr-xr-xscripts/mkrpms32
-rwxr-xr-xscripts/mkspec20
-rw-r--r--scripts/rtems/.cvsignore5
-rw-r--r--scripts/rtems/Makefile.am48
-rw-r--r--scripts/rtems/README3
-rw-r--r--scripts/rtems/header.add3
-rw-r--r--scripts/rtems/mkspec.in62
-rw-r--r--scripts/rtems/rtems-source.add35
-rw-r--r--scripts/rtems/rtems.add43
-rw-r--r--scripts/rtems/target-rtems.add3
-rw-r--r--scripts/rtemsdoc/.cvsignore29
-rw-r--r--scripts/rtemsdoc/Makefile.am45
-rw-r--r--scripts/rtemsdoc/README10
-rw-r--r--scripts/rtemsdoc/header.add4
-rw-r--r--scripts/rtemsdoc/rtemsdoc.add86
-rw-r--r--scripts/rtemsdoc/supplement.add.in36
-rw-r--r--scripts/rtemsdoc/templ.add.in35
-rwxr-xr-xscripts/setup117
-rw-r--r--scripts/setup.def22
81 files changed, 5975 insertions, 0 deletions
diff --git a/scripts/.cvsignore b/scripts/.cvsignore
new file mode 100644
index 0000000000..2abb04a254
--- /dev/null
+++ b/scripts/.cvsignore
@@ -0,0 +1,22 @@
+aclocal.m4
+autom4te*.cache
+buildall
+buildalltar
+config.cache
+config.guess
+config.log
+config.status
+config.sub
+configure
+depcomp
+install-sh
+Makefile
+Makefile.in
+missing
+mkbinutilspec
+mkbspspec
+mkgcc3newlibspec
+mkgccnewlibspec
+mkgdbspec
+mkinstalldirs
+setup.cache
diff --git a/scripts/ChangeLog b/scripts/ChangeLog
new file mode 100644
index 0000000000..2501212a40
--- /dev/null
+++ b/scripts/ChangeLog
@@ -0,0 +1,1738 @@
+2005-11-21 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/gccnewlib.add: Rename src.rpm back to
+ gcc-newlib.src.rpm. Misc fixups.
+ * gccnewlib/target-c++.add, gccnewlib/target-g77.add,
+ gccnewlib/target-gcc.add, gccnewlib/target-gcj.add,
+ gccnewlib/target-gfortran.add, gccnewlib/target-gnat.add
+ gccnewlib/target-objc.add: Add License.
+ * gccnewlib/base-g77.add, gccnewlib/base-gcc.add,
+ gccnewlib/base-gcj.add, gccnewlib/base-gfortran.add,
+ gccnewlib/base-gnat.add: Add License.
+
+2005-10-31 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/gccnewlib.add: Rename src.rpm to *-gcc.src.rpm.
+ * gccnewlib/target-gcc.add: Reflect changes above.
+ * gccnewlib/Makefile.am: Re-sort sub-package fragments.
+
+2005-09-15 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/gccnewlib.add: Pass CC="%__cc $RPM_OPT_FLAGS" to
+ configure.
+
+2005-09-15 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/gccnewlib.add, gdb/gdb.add: Append %_bindir to PATH
+ only if %_prefix != /usr.
+
+2005-09-15 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * configure.ac: Remove GCC3NEWLIBVERS, BINUTILSVERS, GDBVERS.
+ * binutils/Makefile.am: Generate unversioned *binutils.spec.
+ * gccnewlib/Makefile.am: Generate unversioned *gcc-newlib.spec.
+ * gdb/Makefile.am: Generate unversioned *gdb.spec.
+
+2005-09-05 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/target-binutils.add: Don't own %{_mandir}/man1 for
+ %_prefix == /usr.
+
+2005-09-03 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/binutils.add: Remove dlltool, nlmconv, windres man pages.
+
+2005-09-02 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * common/common.add.in: Remove Vendor:. Remove Distribution:.
+ * Makefile.am, autotools/Makefile.am, binutils/Makefile.am
+ cpukit/Makefile.am, gccnewlib/Makefile.am, gdb/Makefile.am
+ rtems/Makefile.am: Rename *.spec into @rpmprefix@*.spec.
+ * binutils/base-binutils.add, binutils/binutils.add,
+ binutils/target-binutils.add, common/common.add.in,
+ cpukit/rtems-cpukit.add, cpukit/target-cpukit.add,
+ gccnewlib/base-g77.add, gccnewlib/base-gcc.add,
+ gccnewlib/base-gcj.add, gccnewlib/base-gfortran.add,
+ gccnewlib/base-gnat.add, gccnewlib/gccnewlib.add,
+ gccnewlib/target-c++.add, gccnewlib/target-g77.add,
+ gccnewlib/target-gcc.add, gccnewlib/target-gcj.add,
+ gccnewlib/target-gfortran.add, gccnewlib/target-gnat.add,
+ gccnewlib/target-libc.add, gccnewlib/target-objc.add,
+ gdb/base-gdb.add, gdb/gdb.add, gdb/target-gdb.add,
+ rtemsdoc/rtemsdoc.add, rtemsdoc/supplement.add.in,
+ rtemsdoc/templ.add.in, rtems/rtems-source.add:
+ Replace %{rpmprefix} with @rpmprefix@.
+ * cpukit/mkspec.in, rtems/mkspec.in: Propagate @rpmprefix@.
+
+2005-09-02 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/Makefile.am: Use target-libc.add
+ * gccnewlib/gccnewlib.add, gccnewlib/target-gcc.add,
+ gccnewlib/target-libc.add: Misc. fixes.
+
+2005-09-01 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gdb/gdb.add: Remove Packager:.
+
+2005-09-01 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/base-g77.add, gccnewlib/base-gcc.add,
+ gccnewlib/base-gcj.add, gccnewlib/target-c++.add,
+ gccnewlib/target-g77.add, gccnewlib/target-gcc.add,
+ gccnewlib/target-gcj.add, gccnewlib/target-gfortran.add,
+ gccnewlib/target-gnat.add, gccnewlib/target-objc.add:
+ Switch to using %gcc_version.
+
+2005-09-01 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/target-c++.add, gccnewlib/target-g77.add,
+ gccnewlib/target-gcj.add, gccnewlib/target-gfortran.add,
+ gccnewlib/target-gnat.add, gccnewlib/target-objc.add:
+ Fix directory ownerships.
+ * binutils/binutils.add: Remove Packager:.
+ * binutils/target-binutils.add: Further adaptations to /usr.
+
+2005-08-31 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/target-libc.add: New.
+
+2005-08-30 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/target-gcc.add: Add Requires/Provides *-newlib/*-libc.
+
+2005-08-30 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/base-g77.add, gccnewlib/base-gcc.add,
+ gccnewlib/gccnewlib.add, gccnewlib/target-c++.add,
+ gccnewlib/target-g77.add, gccnewlib/target-gcj.add,
+ gccnewlib/target-gfortran.add, gccnewlib/target-gnat.add,
+ gccnewlib/target-objc.add: Use gccnewlib_version.
+ Cosmetics. Minor cleanups.
+
+2005-08-30 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/base-gcc.add: Remove %_includedir.
+ * gccnewlib/base-g77.add: Remove %_mandir.
+ Remove %{gcc_target}-g77.1.
+ * gccnewlib/base-gfortran.add: Remove %_mandir.
+ Remove %{gcc_target}-gfortran.1.
+ * gccnewlib/gccnewlib.add: Remove Packager:.
+ Add %gccnewlib_version.
+ * gccnewlib/target-c++.add: Remove %_bindir.
+ * gccnewlib/target-g77.add: Add %{gcc_target}-g77.1.
+ * gccnewlib/target-gcj.add: Remove %_bindir.
+ Remove %_mandir.
+ * gccnewlib/target-gfortran.add: Remove %_bindir.
+ Add %{gcc_target}-gfortran.1.
+ * gccnewlib/target-gnat.add: Remove %_bindir.
+
+2005-08-29 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def, gdb/gdb.add: Use DESTDIR as override with gdb 6.3.
+
+2005-08-25 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/gccnewlib.add: Remove vxaddr2line.
+ Further minor cleanup.
+
+2005-08-16 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/binutils.add:
+ Special-case _prefix=/usr.
+ * gccnewlib/base-g77.add, gccnewlib/base-gcc.add,
+ gccnewlib/base-gcj.add, gccnewlib/base-gfortran.add,
+ gccnewlib/base-gnat.add, gccnewlib/gccnewlib.add:
+ Special-case _prefix=/usr.
+
+2005-08-15 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/Makefile.am: Remove h8300-rtemscoff.
+ * binutils/Makefile.am: Remove h8300-rtemscoff.
+
+2005-07-28 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * autotools/automake.add: Update to automake-1.9.6.
+ * brp-rtems-strip.in: New.
+ * brp-rtems-compress.in: New.
+ * binutils/binutils.add: Reflect using brp-rtems*.
+ * gccnewlib/gccnewlib.add: Reflect using brp-rtems*.
+
+2005-07-06 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/binutils.add: Take out -D_FORTIFY_SOURCE from CFLAGS
+ to prevent fortify from rendering ar unusable.
+
+2005-07-05 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/mkspec.in, gccnewlib/mkspec.in, gdb/mkspec.in:
+ Use ',' as sed pattern delimiter.
+ * autotools/automake.add: Add %{?dist}.
+ * autotools/autoconf.add: Add %{?dist}.
+ Replace Copyright: by Licence:.
+ * gccnewlib/gccnewlib.add: Remove Epoch.
+
+2005-05-20 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/base-binutils.add, gccnewlib/base-g77.add,
+ gccnewlib/base-gcc.add, gccnewlib/base-gcj.add,
+ gccnewlib/base-gfortran.add, gccnewlib/base-gnat.add,
+ gdb/base-gdb.add: install-info --info-dir=.
+
+2005-05-18 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/mkspec.in: Correct patch handling magic.
+ * gccnewlib/gccnewlib.add: Reflect changes to mkspec.in.
+ Use --with/--without, rework logic for building optional languages.
+ * gccnewlib/header.add: Document --with/--without.
+
+2005-05-10 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/Makefile.am: Add h8300-rtemscoff*.
+ * gccnewlib/gccnewlib.add: Let building gnat require gcc.
+ Allow building arm-rtems*-gnat.
+
+2005-05-05 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/gccnewlib.add: Further clean up of tools not supported
+ by individual targets. Add %build_libgcj.
+ * gccnewlib/target-gcc.add: Remove dep to base-gcc.
+
+2005-05-03 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/gccnewlib.add: Suppress building tools not supported by
+ avr, h8300 and mips.
+ * rtemsdoc/supplement.add.in, rtemsdoc/templ.add.in: Misc.
+ %infodir/dir handling changes.
+ * rtemsdoc/rtemsdoc.add: Use BuildRequires instead of BuildPreReq
+ (rpm anachronism).
+ * gdb/base-gdb.add, gdb/gdb.add: Misc. %infodir/dir handling
+ changes.
+ * gccnewlib/base-g77.add, gccnewlib/base-gcc.add,
+ gccnewlib/base-gcj.add, gccnewlib/base-gfortran.add,
+ gccnewlib/base-gnat.add: Misc. %infodir/dir handling changes.
+ * common/common.add.in: Use FC compliant BuildRoot.
+ * gccnewlib/gccnewlib.add: Remove gnatgcc hacks.
+ Misc %infodir/dir handling changes.
+ * gccnewlib/target-c++.add, gccnewlib/target-g77.add,
+ gccnewlib/target-gcj.add, gccnewlib/target-gfortran.add,
+ gccnewlib/target-gnat.add, gccnewlib/target-objc.add:
+ Requires: %{rpmprefix}%{gcc_target}-gcc = %{version}-%{release}.
+
+2005-05-02 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/base-binutils.add, binutils/binutils.add:
+ Misc %infodir/dir handling changes.
+
+2005-05-02 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * configure.ac: Reflect changes to autotools/*.
+ * autotools/Makefile.am: Update.
+
+2005-05-02 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * autotools/automake-rtems.spec.in, autotools/autoconf-rtems.spec.in:
+ Remove.
+ * autotools/automake.add, autotools/autoconf.add,
+ autotools/header.add: New.
+ * autotools/Makefile.am: Streamline specs generation with other
+ tools.
+
+2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/gccnewlib.add: Don't build mips-gcj. Further gnat
+ cleanup.
+ * rtemsdoc/supplement.add.in, rtemsdoc/templ.add.in: Misc. info
+ fixes.
+
+2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/base-gnat.add, gccnewlib/gccnewlib.add,
+ gccnewlib/target-gnat.add: Abandon Gnat for gcc < 4.0
+
+2005-04-27 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/base-gfortran.add: Fix broken install-info.
+ * gccnewlib/base-gnat.add, gccnewlib/target-gnat.add: Adaptations
+ to gcc-4.0.0. Install infos using FC conventions.
+
+2005-04-26 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * autotools/automake-rtems.spec.in,
+ autotools/autoconf-rtems.spec.in: Remove rpm anachronisms.
+
+2005-04-26 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/binutils.add: Install infos using FC conventions.
+ * binutils/base-binutils.add: Install infos using FC conventions.
+ * gdb/base-gdb.add: Install infos using FC conventions.
+
+2005-04-26 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/base-gcc.add: Install infos using FC conventions.
+ * gccnewlib/base-gcj.add: Install infos using FC conventions.
+ Various minor fixes.
+ * gccnewlib/base-gfortran.add: Install infos using FC conventions.
+ * gccnewlib/target-gcj.add: Various minor fixes.
+
+2005-04-25 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/binutils.add: Use BuildRequires instead of BuildPreReq.
+ * gccnewlib/gccnewlib.add: Use BuildRequires instead of BuildPreReq.
+ * gdb/gdb.add: Use BuildRequires instead of BuildPreReq.
+ * gccnewlib/gccnewlib.add: Remove Source0-magic for gcc < 3.0.
+ * gccnewlib/gccnewlib.add: Abandon c4x-*.
+
+2005-04-23 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/gccnewlib.add: Use %_bindir, %_libdir, %_includedir.
+ * gccnewlib/target-gfortran.add: Let package obsolete g77.
+ * gccnewlib/target-objc.add: Reflect new location of cc1obj.
+
+2005-04-23 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gdb/gdb.add: Propagate RPM_OPT_FLAGS to configure.
+
+2005-04-22 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/Makefile.am: Add h8300-rtemscoff.
+ Remove or32-rtems.
+ * binutils/binutils.add: Propagate RPM_OPT_FLAGS to configure.
+
+2005-04-22 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/base-gfortran.add, gccnewlib/target-gfortran.add: New.
+ * gccnewlib/Makefile.am: Reflect addition of gfortran.
+ * gccnewlib/base-g77.add, gccnewlib/base-gcc.add, gccnewlib/base-gcj.add,
+ gccnewlib/base-gnat.add, gccnewlib/target-g++.add, gccnewlib/target-g77.add,
+ gccnewlib/target-gcc.add, gccnewlib/target-gcj.add,
+ gccnewlib/target-gnat.add:
+ Remove RPM_INSTALL_PREFIX. Remove superfluous
+ %doc directives. Use %_infodir, %_includedir, %_bindir, %_libdir.
+ * gccnewlib/gccnewlib.add: Ditto.
+ Add further BR's, Reflect addition of gfortran.
+ Reflect gcc's changes to "version_string".
+
+2005-04-20 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/base-binutils.add, binutils/binutils.add,
+ binutils/target-binutils.add: Introduce %{_includedir}, %{_libdir},
+ %{_bindir}. Remove superfluous %doc. Misc. fixes.
+
+2005-04-20 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gdb/base-gdb.add, gdb/gdb.add, gdb/target-gdb.add:
+ Use mkdir -p. Introduce %{_includedir}, %{_libdir}. Remove
+ superfluous %doc.
+
+2005-04-20 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * configure.ac: chmod +x rtems/mkspec.
+ * binutils/binutils.add: Remove Prefix.
+ Use mkdir -p.
+ * cpukit/rtems-cpukit.add: Fix Source URL.
+ * rtems/Makefile.am: Append @osversion@ to rules.
+ * rtems/rtems.add: Fix Source URL. Misc cosmetics.
+
+2005-04-14 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gdb/mkspec.in: Remove extra_configure_arguments (Unused).
+ * cpukit/rtems-cpukit.add, cpukit/target-cpukit.add: Bring this rpm
+ functional, again.
+
+2005-04-13 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * rtems/Makefile.am: Reworked.
+ * setup.def: Update rtems_version. Remove rpm_build_root.
+
+2005-04-13 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * rtems/mkspec.in: New.
+ * mkbspspec.in: Remove.
+ * Makefile.am: Reflect changes above.
+ * configure.ac: Reflect changes above.
+
+2005-04-13 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * common/clean.add.in: Always rm -rf $RPM_BUILD_ROOT.
+
+2005-04-13 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gdb/base-gdb.add, gdb/gdb.add, gdb/target-gdb.add: Various
+ changes and hacks.
+
+2005-04-13 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/mkspec.in: Remove rpm_build_root.
+ * common/common.add.in: Remove _defaultbuildroot.
+ * cpukit/mkspec.in: Remove rpm_build_root.
+ * gccnewlib/mkspec.in: Remove rpm_build_root.
+ * gdb/mkspec.in: Remove rpm_build_root.
+ * gccnewlib/gccnewlib.add: Let %install rm -f $RPM_BUILD_ROOT.
+ * binutils/binutils.add: Let %install rm -f $RPM_BUILD_ROOT.
+
+2005-04-13 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gdb/Makefile.am: Remove obsolete targets.
+ * gdb/gdb.add: Pass bindir, infodir, mandir to configure.
+
+2005-04-13 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/Makefile.am, gdb/Makefile.am: Move target-*.add before
+ base*.add.
+ * gdb/gdb.add, gdb/target-gdb.add: Introduce %{_infodir}, %{_mandir},
+ %{_bindir}. Various minor fixes.
+ Rename src.rpm into <target>-gdb.
+ Disable sim for avr.
+
+2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * setup.def, gdb/gdb.add: Add gdb_suffix.
+
+2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gcc3newlib/HISTORY, gcc3newlib/Makefile.am, gcc3newlib/README,
+ gcc3newlib/base-g77.add, gcc3newlib/base-gcc.add,
+ gcc3newlib/base-gcj.add, gcc3newlib/base-gnat.add,
+ gcc3newlib/gccnewlib.add, gcc3newlib/header.add,
+ gcc3newlib/mkspec.in, gcc3newlib/target-c++.add,
+ gcc3newlib/target-g77.add, gcc3newlib/target-gcc.add,
+ gcc3newlib/target-gcj.add, gcc3newlib/target-gnat.add,
+ gcc3newlib/target-objc.add: Remove.
+
+2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/mkspec.in: Use gccnewlib/ instead of gcc3newlib/.
+
+2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * Makefile.am, configure.ac: Use gccnewlib/ instead of gcc3newlib/.
+ * README.cdn-X: Minor updates.
+
+2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gccnewlib/.cvsignore, gccnewlib/Makefile.am,
+ gccnewlib/README, gccnewlib/base-g77.add,
+ gccnewlib/base-gcc.add, gccnewlib/base-gcj.add,
+ gccnewlib/base-gnat.add, gccnewlib/gccnewlib.add,
+ gccnewlib/header.add, gccnewlib/mkspec.in,
+ gccnewlib/target-c++.add, gccnewlib/target-g77.add,
+ gccnewlib/target-gcc.add, gccnewlib/target-gcj.add,
+ gccnewlib/target-gnat.add, gccnewlib/target-objc.add:
+ New.
+
+2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * cpukit/rtems-cpukit.add, gdb/gdb.add:
+ Fix my email address, cosmetics.
+
+2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * setup, setup.def, gcc3newlib/mkspec.in:
+ s/gcc3newlib_rpm_release/gccnewlib_rpm_release/g.
+
+2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * setup: Fixup messages.
+
+2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/target-binutils.add, cpukit/rtems-cpukit.add,
+ gcc3newlib/gccnewlib.add, gdb/gdb.add, rtemsdoc/rtemsdoc.add:
+ Remove Autoreqprov-tag.
+
+2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gcc3newlib/gccnewlib.add: Default to not building gcj for all gcc
+ versions. Cleanup comments.
+
+2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * configure.ac, setup, setup.def, gcc3newlib/mkspec.in:
+ Use newlib_* instead of gcc3newlib_* for setup.* values.
+
+2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * configure.ac, setup, setup.def, gcc3newlib/mkspec.in:
+ Use gcc_* instead of gcc3_* for setup.* values.
+
+2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/binutils.add, gdb/gdb.add: Sync %setup with gcc/gcc.add
+ for consistency.
+
+2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/binutils.add, gcc3newlib/gccnewlib.add, gdb/gdb.add:
+ Apply patches in tool subdirs.
+
+2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/binutils.add, binutils/mkspec.in:
+ Eliminate @PATCH2@.
+ * gcc3newlib/gccnewlib.add, gcc3newlib/mkspec.in:
+ Eliminate @PATCH2@, @PATCH4@.
+ * gdb/gdb.add, gdb/mkspec.in:
+ Eliminate @PATCH2@.
+
+2005-04-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/binutils.add, gcc3newlib/gccnewlib.add,
+ gdb/gdb.add: Add support for rpmbuild --with sources.
+
+2005-03-17 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gdb/Makefile.am: Add avr, mips64.
+ Cosmetics.
+ * gdb/base-gdb.add: Reflect gdb-6.3 not shipping mmalloc.info*.
+ * gdb/target-gdb.add: Add support for gcc-6.3's gdbtui.
+ * gdb/mkspec.in: Add PATCH-magic.
+ Add gdb_suffix.
+
+2005-03-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * binutils/binutils.add, binutils/mkspec.in, setup.def:
+ Add binutils_suffix.
+ * binutils/target-binutils.add: Preparations for binutils-2.16.
+
+2005-02-24 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gcc3newlib/gccnewlib.add, gcc3newlib/mkspec.in, setup.def:
+ Add gcc_suffix. Add newlib_suffix.
+
+2005-02-16 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * autotools/automake-rtems.spec.in: automake-1.9.5.
+
+2005-02-04 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gcc3newlib/Makefile.am: Remove sh-rtemself. Add sh-rtemscoff.
+
+2005-01-17 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gcc3newlib/gccnewlib.add: Disable Ada (Stil broken with GCC-4.0.0).
+
+2005-01-12 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * gcc3newlib/gccnewlib.add: Change my email address.
+ Add tic4x-*.
+
+2005-01-05 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * autotools/automake-rtems.spec.in: automake-1.9.4.
+
+2004-11-02 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Include PowerPC patch to make C++ global constructors work
+ -- gcc 3.3.5/newlib-1.12.0 revision 2.
+
+2004-10-29 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Update gcc to 3.3.5 and binutils to 2.15.
+ * autotools/autoconf-rtems.spec.in: Temporarily do not include
+ some of the documentation since it causes the RPM build to fail.
+ * binutils/Makefile.am, gcc3newlib/Makefile.am: Add mips64-rtems.
+
+2004-09-29 Joel Sherrill <joel@OARcorp.com>
+
+ * buildall.in, buildalltar.in, binutils/Makefile.am,
+ cpukit/Makefile.am, gcc3newlib/Makefile.am, gcc3newlib/gccnewlib.add,
+ gdb/Makefile.am, rtems/Makefile.am, rtemsdoc/.cvsignore,
+ rtemsdoc/Makefile.am: i960 obsoleted.
+
+2004-09-24 Ralf Corsepius <ralf_corsepius@rtems.org>
+
+ * configure.ac: Require automake > 1.9.
+
+2004-09-23 Ralf Corsepius <ralf_corsepius@rtems.org>
+
+ * binutils/binutils.add: Rename package from binutils-collection to
+ binutils. Cleanups.
+ * binutils/target-binutils.add: Reflect changes above.
+ * binutils/Makefile.am: Add avr. Reflect changes above.
+ * autotools/autoconf-rtems.spec.in: Cleanup for chroot'ed builds.
+ * autotools/automake-rtems.spec.in: automake-1.9.2.
+ Cleanup for chroot'ed builds.
+ * gcc3newlib/Makefile.am: Add avr-rtems*gcc.
+ * gcc3newlib/gccnewlib.add: Disable c++ for avr.
+
+2004-07-29 Ralf Corsepius <ralf_corsepius@rtems.org>
+
+ * autotools/automake.spec.in: automake-1.9.
+
+2004-05-23 Joel Sherrill <joel@OARcorp.com>
+
+ * gcc3newlib/gccnewlib.add: gcc 3.4.0 is broken for embedded SPARC and
+ Ada. Until we can fix it, it is disabled.
+
+2004-05-23 Joel Sherrill <joel@OARcorp.com>
+
+ * gcc3newlib/target-gnat.add: Fix path to gnat1.
+
+2004-05-18 Ralf Corsepius <ralf_corsepius@rtems.org>
+
+ * binutils/Makefile.am: Add sh-rtemscoff.
+ Remove sh-rtemself.
+ * binutils/binutils.add: BuildRequires flex.
+ * autotools/automake-rtems.spec.in: Automake 1.8.5.
+
+2004-04-29 Ralf Corsepius <ralf_corsepius@rtems.org>
+
+ * gcc3newlib/gccnewlib.add: Another attempt to make *info.gz
+ handling more robust.
+
+2004-04-26 Ralf Corsepius <ralf_corsepius@rtems.org>
+
+ * autotools/automake-rtems.spec.in: Upgrade to 1.8.4.
+
+2004-03-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * Index: base-g77.add, base-gcc.add, base-gcj.add, base-gnat.add,
+ gccnewlib.add, target-c++.add, target-gcc.add, target-gcj.add:
+ Apply _infodir, _mandir. Gzip man pages.
+ Reflect gcc having fixed gccinstall.info.
+
+2004-03-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * binutils/base-binutils.add: Apply _infodir.
+ Don't install libiberty. Misc. cleanups.
+ * binutils/binutils.add: Apply _infodir, _mandir.
+ Don't install libiberty. Gzip man pages. Misc. cleanups.
+ * binutils/target-binutils.add: Apply _mandir.
+
+2004-03-25 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * autotools/automake-rtems.spec.in: Upgrade to 1.8.3.
+
+2004-03-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/gccnewlib.add: Disable gnats.
+ Further preparations for gcc-3.4.0
+ * gcc3newlib/base-gcc.add, gcc3newlib/target-gnat.add,
+ gcc3newlib/base-gcj.add, gcc3newlib/target-gcj.add:
+ Reflect changes to gcc3newlib/gccnewlib.add.
+
+2004-03-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/base-gcc.add, gcc3newlib/target-g77.add,
+ gcc3newlib/target-objc.add: Preps for gcc-3.4.0.
+ Reflect changes to gcc3newlib/gccnewlib.add.
+
+2004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/target-gcc.add, gcc3newlib/target-c++.add:
+ Reflect changes to gcc3newlib/gccnewlib.add.
+
+2004-03-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/gccnewlib.add: Preps. for gcc-3.4.0.
+ Add %gcclib, %gccexec.
+
+2004-03-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * binutils/base-binutils.add: Preparations for binutils-2.15.
+
+2004-02-24 Joel Sherrill <joel@OARcorp.com>
+
+ PR 580/tools
+ * setup.def: Fix setup.def to match current reality.
+
+2004-02-23 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gdb/base-gdb.add: Add annotate.info.
+ * gdb/gdb.add: Remove info/dir.
+
+2004-02-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * Makefile.am, gdb/Makefile.am: Cosmetics.
+
+2004-02-19 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def, gdb/gdb.add: gdb 6.0 RPMs built.
+
+2004-02-19 Joel Sherrill <joel@OARcorp.com>
+
+ * ChangeLog: Replace RTEMS user account with Joel.
+
+2004-02-17 Joel Sherrill <joel@oarcorp.com>
+
+ * setup.def, gdb/base-gdb.add, gdb/gdb.add: Building a gcc 3.2.3 i960
+ gcc and updating gdb to 5.3.
+
+2004-02-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * configure.ac, setup, setup.def: Remove now unused vars.
+
+2004-02-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * mkgccnewlibspec.in, gccnewlib/.cvsignore, gccnewlib/HISTORY,
+ gccnewlib/Makefile.am, gccnewlib/README, gccnewlib/base-chill.add,
+ gccnewlib/base-g77.add, gccnewlib/base-gcc.add, gccnewlib/base-gcj.add,
+ gccnewlib/gccnewlib.add, gccnewlib/header.add,
+ gccnewlib/target-chill.add, gccnewlib/target-g77.add,
+ gccnewlib/target-gcc.add, gccnewlib/target-gcj.add,
+ gccnewlib/target-objc.add: Remove (Obsolete).
+ * configure.ac, Makefile.am: Reflect changes above.
+
+2004-02-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/gcc3newlib.add: Remove info/dir.
+ Cosmetics.
+
+2004-02-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * setup.def: Adapt to what Joel already ships -
+ gcc3_version=3.3.2, gcc3_patch_version=20031216,
+ gcc3newlib_rpm_release=3
+
+2004-02-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * configure.ac: Remove rtemsdoc/mkspec. Add RTEMS_RPM_RELEASE.
+ * rtemsdoc/.cvsignore: Reformat.
+ * Makefile.am: Reformat. Add RTEMS_RPM_RELEASE support to
+ rtems-source.add, Use rtems_source_spec_DEPS instead of
+ rtems_source_spec_DEPENDENCIES (Conflicts with automake internals).
+ * rtems/rtems-source.add: Add RTEMS_RPM_RELEASE.
+ * rtemsdoc/mkspec.in: Remove.
+ * rtemsdoc/Makefile.am: Reworked.
+ * rtemsdoc/header.add: Update Copyright notice.
+ * rtemsdoc/rtemsdoc.add: Add RTEMS_RPM_RELEASE.
+ Add %{rpmgroup}. Remove bzip-ing *.ps.
+ * rtemsdoc/supplement.add.in: Add %{rpmgroup}.
+ * rtemsdoc/templ.add.in: Add %{rpmgroup}.
+
+2004-02-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * rtems/rtems-source.add: Require automake-1.8.2, autoconf-2.59.
+
+2004-02-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * rtems/rtems-source.add: New.
+ * Makefile.am: Add rtems/rtems-source.spec handling.
+ * configure.ac: AC_SUBST(RTEMS_VERSION,[_RTEMS_VERSION]).
+ * common/common.add.in: Use www.rtems.com as Vendor.
+
+2004-02-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * configure.ac: Use RTEMS_ENABLE_RPMPREFIX.
+
+2004-01-28 Joel Sherrill <joel@oarcorp.com>
+
+ * buildall.in, buildalltar.in, binutils/Makefile.am,
+ cpukit/Makefile.am, gcc3newlib/Makefile.am, gccnewlib/Makefile.am,
+ gdb/Makefile.am: Attempt to convert all c4x-rtems references to
+ tic4x-rtems. Left the rtems documentation alone.
+
+2004-01-28 Joel Sherrill <joel@oarcorp.com>
+
+ * configure.ac: Enable OS versioning by default for 4.7 branch.
+ * setup.def: Update binutils RPM version and build new gcc 3.2.3 RPMs.
+ * autotools/autoconf-rtems.spec.in, autotools/automake-rtems.spec.in:
+ Update for new tool spin.
+
+2004-01-13 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * scripts/automake.spec.in: 1.8.2.
+
+2004-01-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * scripts/automake.spec.in: 1.8.1.
+ Add Patch0 automake-1.8.1-rtems-20040112-1.diff.
+ Add defattr, URL:-tag.
+
+2004-01-08 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Update gcc/newlib for 4.7 series to 3.3.2 with 20031216
+ gcc patch (RPM revision 4.7-2).
+
+2004-01-07 Joel Sherrill <joel@OARcorp.com>
+
+ * buildall.in, buildalltar.in, binutils/Makefile.am,
+ cpukit/Makefile.am, gcc3newlib/Makefile.am, gccnewlib/Makefile.am,
+ gdb/Makefile.am, rtems/Makefile.am, rtemsdoc/.cvsignore,
+ rtemsdoc/Makefile.am: mips64orion port removed as mips port more
+ completely covers the MIPS family.
+
+2003-12-16 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Update gcc/newlib for 4.7 series to 3.3.2 with 20031022
+ gcc patch (RPM revision 4.7-1).
+
+2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * configure.ac: Require automake >= 1.8, autoconf >= 2.59.
+
+2003-12-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * Makefile.am: Cosmetics.
+ * autotools/Makefile.am: Cosmetics.
+ * autotools/autoconf-rtems.spec.in: 2.59.
+ * autotools/automake-rtems.spec.in: 1.8, Require autoconf-2.59.
+ * binutils/Makefile.am: Cosmetics.
+ * cpukit/Makefile.am: Cosmetics.
+ * gcc3newlib/Makefile.am: Cosmetics.
+ * gccnewlib/Makefile.am: Cosmetics.
+ * gdb/Makefile.am: Cosmetics.
+ * rtems/Makefile.am: Cosmetics.
+ * rtemsdoc/Makefile.am: Cosmetics.
+
+2003-11-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/gccnewlib.add: Add hacks to make gnatlib
+ buildable.
+ * gcc3newlib/base-gnat.add: Add info files.
+
+2003-10-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/gccnewlib.add: Make not building gnat and gcj the
+ default for gcc-3.3.
+
+2003-10-23 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * binutils/Makefile.am: Add tic4x.
+ * binutils/mkspec.in: Remove duplicate rpmgroup.
+
+2003-10-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/Makefile.am: Add tic4x.
+ * gcc3newlib/gccnewlib.add: Don't install install-tools for
+ gcc >= 3.3.
+
+2003-10-22 Joel Sherrill <joel@OARcorp.com>
+
+ * configure.ac, setup.def: Update to binutils 2.14 adn gcc/newlib to
+ 3.2.3 with 20030826 gcc patch.
+
+2003-10-07 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * cpukit/target-cpukit.add: New.
+ * cpukit/Makefile.am: Reflect having added target-cpukit.add.
+ Acknowledge osversion.
+ * cpukit/mkspec.in: Acknowledge osversion and rpmgroup.
+ * cpukit/rtems-cpukit.add: Reflect new RTEMS spec conventions.
+
+2003-10-07 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * autotools/automake-rtems.spec.in: Automake-1.7.8.
+
+2003-09-26 Joel Sherrill <joel@OARcorp.com>
+
+ * buildall.in, buildalltar.in, binutils/Makefile.am,
+ cpukit/Makefile.am, gcc3newlib/Makefile.am, gccnewlib/Makefile.am,
+ gdb/Makefile.am, rtems/Makefile.am, rtemsdoc/.cvsignore,
+ rtemsdoc/Makefile.am: Obsoleting HP PA-RISC port.
+
+2003-09-24 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * autotools/automake-rtems.spec.in: Automake-1.7.7.
+
+2003-09-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/gccnewlib.add: Fix duplicate removal of c++filt.
+ * gcc3newlib/base-gcj.add: Add fastjar.info, jar.1, grepjar.1.
+ * setup.def: gcc3newlib_rpm_release=4.
+
+2003-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * binutils/base-binutils.add: Add osversion support.
+ * binutils/binutils.add: Add osversion support.
+ %setup -n %{name}-%{version}.
+ Don't remove c++filt.
+ * binutils/target-binutils.add: Add osversion support.
+ Pickup c++filt.
+ * gcc3newlib/base-g77.add: Add osversion support.
+ * gcc3newlib/base-gcc.add: Add osversion support.
+ * gcc3newlib/base-gcj.add: Add osversion support.
+ * gcc3newlib/base-gnat.add: Add osversion support.
+ * gcc3newlib/gccnewlib.add: Add osversion support.
+ Remove c++filt,
+ %setup -n -n %{name}-%{version}.
+ * gcc3newlib/target-c++.add: Add osversion support.
+ Don't pickup c++filt.
+ * gcc3newlib/target-g77.add: Add osversion support.
+ * gcc3newlib/target-gcc.add: Add osversion support.
+ * gcc3newlib/target-gcj.add: Add osversion support.
+ * gcc3newlib/target-gnat.add: Add osversion support.
+ * gccnewlib/gccnewlib.add: %setup -n %{name}-%{version}.
+ * gdb/base-gdb.add: Add osversion support, rpmgroup, rpmprefix,
+ gdb_version, gdb_target.
+ * gdb/target-gdb.add: Ditto.
+ * gdb/gdb.add: Ditto.
+ %setup -n -n %{name}-%{version}.
+
+2003-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * binutils/Makefile.am: Fix osversion support for sh-rtemself.
+ * gcc3newlib/Makefile.am: Fix osversion support for sh-rtemself.
+
+2003-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * configure.ac: Add --enable-osversions (OS-versioned RPMS support).
+ * binutils/Makefile.am: Add osversion support.
+ * binutils/mkspec.in: Add osversion support.
+ * gcc3newlib/Makefile.am: Add osversion support.
+ * gcc3newlib/mkspec.in: Add osversion support.
+ * gdb/Makefile.am: Add osversion support.
+ * gdb/mkspec.in: Add osversion support.
+ Add rpmprefix, rpmgroup.
+
+2003-09-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * Makefile.am, configure.ac,
+ autotools/autoconf-rtems.spec.in, autotools/automake-rtems.spec.in,
+ binutils/Makefile.am, binutils/base-binutils.add,
+ binutils/binutils.add, binutils/mkspec.in,
+ binutils/target-binutils.add,
+ common/common.add.in,
+ cpukit/Makefile.am,
+ gcc3newlib/Makefile.am, gcc3newlib/base-g77.add,
+ gcc3newlib/base-gcc.add, gcc3newlib/base-gcj.add,
+ gcc3newlib/base-gnat.add, gcc3newlib/gccnewlib.add,
+ gcc3newlib/mkspec.in, gcc3newlib/target-c++.add,
+ gcc3newlib/target-g77.add, gcc3newlib/target-gcc.add,
+ gcc3newlib/target-gcj.add, gcc3newlib/target-gnat.add,
+ gcc3newlib/target-objc.add,
+ gccnewlib/Makefile.am,
+ gdb/Makefile.am,
+ rtems/Makefile.am,
+ rtemsdoc/Makefile.am:
+ Merger from rtems-4-6-branch.
+ * common/common.am: New.
+
+2003-08-23 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * common/common.add.in: s/www.oarcorp.com/www.rtems.com/.
+ Add %define __os_install_post %{nil} to prevent RH-9's rpm-brp-strip
+ from running (Chokes on foreign object formats).
+ * gcc3newlib/base-g77.add:
+ Use %{gcc_version} instead of @gcc_version@.
+ * gcc3newlib/gccnewlib.add:
+ Use %{gcc_version} instead of @gcc_version@.
+ Reflect gcc >= 3.3 shipping monolytic infos.
+ * gcc3newlib/target-c++.add:
+ Use %{gcc_version} instead of @gcc_version@.
+ Don't pickup c++filt.
+ * gcc3newlib/target-g77.add:
+ Use %{gcc_version} instead of @gcc_version@.
+ * gcc3newlib/target-gcc.add:
+ Use %{gcc_version} instead of @gcc_version@.
+ * gcc3newlib/target-gcj.add:
+ Use %{gcc_version} instead of @gcc_version@.
+ * gcc3newlib/target-gnat.add:
+ Use %{gcc_version} instead of @gcc_version@.
+ * gcc3newlib/target-objc.add:
+ Use %{gcc_version} instead of @gcc_version@.
+
+2003-08-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * binutils/binutils.add: Preps for 2.14.
+ Use %{binutils_version} instead of @binutils_version@.
+ * binutils/base_binutils.add: Preps for 2.14.
+
+2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * configure.ac: Use rtems-bugs@rtems.com as bug report email address.
+
+2003-07-13 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * autotools/automake-rtems.spec.in: Automake-1.7.6.
+
+2003-06-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * autotools/automake-rtems.spec.in: Automake-1.7.5.
+
+2003-06-02 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Updated for RPM revision 3 of gcc3.2.3 and newlib1.11.0.
+
+2003-05-07 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Update to gcc3.2.3newlib1.11.0-1.
+ * gcc3newlib/gccnewlib.add: We used .bz2 files.
+
+2003-04-18 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Update to gcc3.2.2newlib1.11.0-2.
+ * gcc3newlib/gccnewlib.add: We used .bz2 files.
+
+2003-02-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/gccnewlib.add: Add %gcc_version, %newlib_version.
+ Apply %gcc_version, %newlib_version.
+ * gcc3newlib/target-c++.add: Apply %gcc_version, %newlib_version.
+ * gcc3newlib/target-g77.add: Apply %gcc_version, %newlib_version.
+ * gcc3newlib/target-gcc.add: Apply %gcc_version, %newlib_version.
+ * gcc3newlib/target-gcj.add: Apply %gcc_version, %newlib_version.
+ * gcc3newlib/target-gnat.add: Apply %gcc_version, %newlib_version.
+ * gcc3newlib/target-objc.add: Apply %gcc_version, %newlib_version.
+
+2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * configure.ac: AM_INIT_AUTOMAKE([1.7.2]).
+
+2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * configure.ac: AC_PREREQ(2.57).
+
+2003-02-10 Joel Sherrill <joel@OARcorp.com>
+
+ * gdb/gdb.add, gdb/mkspec.in, gdb/target-gdb.add: Use RPM logic to
+ determine which targets have simulators, configure with appropriate
+ arguments, and package the correct files.
+
+2003-02-07 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/target-gcc.add: Remove %{_exeext} from gccbug.
+ * gcc3newlib/gccnewlib.add: Add %gcj to support to disabling building
+ gcj from rpmbuild command line.
+ Copy gsyslimits.h for CDN-X compilation.
+
+2003-01-31 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * README.cdn-X: New.
+ * binutils/binutils.add: Add --build=%_build --host=%_host.
+ * cpukit/.cvsignore: Add *.spec.in.
+ * gcc3newlib/gccnewlib.add: Add --build=%_build --host=%_host.
+ * gdb/gdb.add: Add --build=%_build --host=%_host.
+ * rtemsdoc/.cvsignore: Add *.spec.in.
+
+2003-01-31 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/gccnewlib.add: Remove Buildroot.
+ * common/.cvsignore: New.
+
+2003-01-31 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * common/common.add.in: Add Vendor, Distribution, BuildRoot.
+ * binutils/Makefile.am: Fix path to clean.add.
+ * binutils/binutils.add: Remove BuildRoot.
+ * cpukit/Makefile.am: Use $(top_builddir)/common/common.add,
+ $(top_builddir)/common/clean.add, header.add.
+ Generate rtems-cpukit.spec.in.
+ * cpukit/header.add: New.
+ * cpukit/rtems-cpukit.spec.in: Remove.
+ * cpukit/rtems-cpukit.add: New.
+ * gccnewlib/gccnewlib.add: Remove Buildroot.
+ * gdb/gdb.add: Remove Buildroot.
+ * rtemsdoc/rtemsdoc.add: Remove BuildRoot.
+
+2003-01-31 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * rtemsdoc/Makefile.am: Use $(top_builddir)/common/common.add,
+ $(top_builddir)/common/clean.add, header.add.
+ Generate rtemsdoc.spec.in.
+ * rtemsdoc/mkspec.in: Remove exe_ext.
+ * rtemsdoc/rtemsdoc.spec.in: Remove.
+ * gccnewlib/Makefile.am: Use $(top_builddir)/common/common.add,
+ $(top_builddir)/common/clean.add, header.add.
+ * gccnewlib/base-gcc.m4: Replace @exe_ext@ with %{_exeext}.
+ * gccnewlib/base-gcj.add: Replace @exe_ext@ with %{_exeext}.
+ * gccnewlib/gccnewlib.add: Replace @exe_ext@ with %{_exeext}.
+ Remove header, broken cdn-X configuration, %clean.
+ * gccnewlib/target-g77.add: Replace @exe_ext@ with %{_exeext}.
+ * gccnewlib/target-gcc.add: Replace @exe_ext@ with %{_exeext}.
+ * gccnewlib/target-gcj.add: Replace @exe_ext@ with %{_exeext}.
+ * gccnewlib/target-objc.add: Replace @exe_ext@ with %{_exeext}.
+
+2003-01-31 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gdb/gdb.add: Remove header, broken cdn-X configuration,
+ %clean, Replace @exe_ext@ with %{_exeext}.
+ * gdb/mkspec.in: Remove exe_ext.
+ * gdb/target-gdb.add: Replace @exe_ext@ with %{_exeext}.
+ * gdb/Makefile.am: Use $(top_builddir)/common/common.add,
+ $(top_builddir)/common/clean.add, header.add.
+ * gcc3newlib/base-gcj.add: Replace @exe_ext@ with %{_exeext}.
+ * cpukit/mkspec.in: Remove exe_ext.
+ * binutils/Makefile.am: Use $(top_builddir)/common/common.add,
+ $(top_builddir)/common/clean.add, header.add.
+
+2003-01-31 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/gccnewlib.add: Remove header, broken cdn-X configuration,
+ %clean, Replace @exe_ext@ with %{_exeext}.
+ * gcc3newlib/mkspec.in: Remove exe_ext.
+ * gcc3newlib/target-c++.add: Replace @exe_ext@ with %{_exeext}.
+ * gcc3newlib/target-g77.add: Replace @exe_ext@ with %{_exeext}.
+ * gcc3newlib/target-gcc.add: Replace @exe_ext@ with %{_exeext}.
+ * gcc3newlib/target-gcj.add: Replace @exe_ext@ with %{_exeext}.
+ * gcc3newlib/target-gnat.add: Replace @exe_ext@ with %{_exeext}.
+ * gcc3newlib/target-objc.add: Replace @exe_ext@ with %{_exeext}.
+ * gcc3newlib/Makefile.am: Use $(top_builddir)/common/common.add,
+ $(top_builddir)/common/clean.add, header.add.
+
+2003-01-31 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * Makefile.am: Remove reference to mkbinutilsspec.
+ * configure.ac: Remove EXEEXT check.
+ Add common/clean.add, common/common.add.
+
+2003-01-31 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * binutils/binutils.add: Remove header, broken cdn-X configuration,
+ %clean.
+ * binutils/mkspec.in: Remove exe_ext, build_alias, host_alias.
+ * binutils/target-binutils.add: Replace @exe_ext@ with %{_exeext}.
+
+2003-01-31 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/header.add: New.
+ * gccnewlib/header.add: New.
+ * binutils/header.add: New.
+ * gdb/header.add: New.
+ * rtemsdoc/header.add: New.
+ * rtemsdoc/rtemsdoc.add: New.
+ * common/clean.add.in: New.
+ * common/common.add.in: New.
+
+2003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * binutils/mkspec.in: New.
+ * binutils/.cvsignore: Add mkspec.
+ * mkbinutilspec.in: Remove.
+ * gdb/Makefile.am: Depend on mkspec.
+ * binutils/binutils.add: Add @exe_ext@ to c++filt.
+ Add %_defaultbuildroot.
+ * configure.ac: Reflect changes above.
+ * binutils/Makefile.am: Reflect changes above.
+ * Makefile.am: Remove mkbinutilspec.
+
+2003-01-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gdb/.cvsignore: Add mkspec.
+
+2003-01-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * ChangeLog: Fix yesterday's entry.
+ * gdb/target-gdb.add: %defattr(-,root,root).
+ Use %{_prefix} instead of /opt/rtems.
+ Misc. minor changes.
+ * gdb/gdb.add: Use %{_prefix} instead of /opt/rtems.
+ Remove stray unpackaged files.
+ Use %{_defaultbuildroot} instead of hard-coded values.
+ configure --disable-nls.
+ Misc. minor changes.
+ Add BuildPreReq: ncurses-devel.
+ * gdb/base-gdb.add: %defattr(-,root,root).
+ Use %{_prefix} instead of /opt/rtems.
+ Misc. minor changes.
+ * gdb/mkspec.in: New.
+ * gdb/Makefile.am: Reflect addition of gdb/mkspec.in.
+ * gcc3newlib/mkspec.in: Fix usage.
+ * gcc3newlib/gccnewlib.add: Use %{_defaultbuildroot} instead of
+ hard-coded values. Update copyright notice.
+ * mkgdbspec.in: Removed.
+ * Makefile.am: Remove mkgdbspec.
+ * configure.ac: Remove mkgdbspec.
+ Add gdb/mkspec.
+
+2003-01-28 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/gccnewlib.add: Add various BuildPreReq.
+ Add %defattr(-,root,root) to "dir".
+ * gcc3newlib/base-g77.add: %defattr(-,root,root).
+ * gcc3newlib/base-gcc.add %defattr(-,root,root).
+ * gcc3newlib/base-gcj.add %defattr(-,root,root).
+ * gcc3newlib/base-gnat.add %defattr(-,root,root).
+ * gcc3newlib/target-c++.add %defattr(-,root,root).
+ * gcc3newlib/target-g77.add %defattr(-,root,root).
+ * gcc3newlib/target-gcc.add %defattr(-,root,root).
+ * gcc3newlib/target-gcj.add %defattr(-,root,root).
+ * gcc3newlib/target-gnat.add %defattr(-,root,root).
+ * gcc3newlib/target-objc.add %defattr(-,root,root).
+
+2003-01-28 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * setup.def: binutils_rpm_release=2.
+ * binutils/base-binutils.add: %defattr(-,root,root).
+ * binutils/target-binutils.add: Ditto.
+ * binutils/binutils.add: BuildPreReq: texinfo >= 4.2.
+
+2003-01-27 Joel Sherrill <joel@OARcorp.com>
+
+ * buildalltar.in, setup.def: Tool update including binaries for Cygwin
+ with a special RTEMS user account.
+
+2003-01-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * configure.ac: Add rtemsdoc.
+ * Makefile.ac: Add rtemsdoc.
+ * rtemsdoc/README: New.
+ * rtemsdoc/.cvsignore: New.
+
+2003-01-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * rtemsdoc/Makefile.am: New.
+ * rtemsdoc/mkspec.in: New.
+ * rtemsdoc/rtemsdoc.spec.in: New.
+ * rtemsdoc/supplement.add.in: New.
+ * rtemsdoc/templ.add.in: New.
+
+2002-12-16 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Updated gcc 3.2.1newlib1.10.0 RPM to revision 4
+ to include m68k crti.o/crtn.o multilib patch.
+
+2002-12-07 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * autotools/automake-rtems.spec.in: Update to automake-1.7.2.
+ * autotools/autoconf-rtems.spec.in: Update to autoconf-2.57.
+
+2002-12-06 Joel Sherrill <joel@OARcorp.com>
+
+ * ChangeLog: Removed duplicate entry.
+
+2002-12-06 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Updated patch to fix m68k cut and paste bug which turned
+ a tab into spaces in a Makefile fragment.
+ * gcc3newlib/gccnewlib.add: If building gnat for the mips, the library
+ must be built with a -G0 option.
+
+2002-12-02 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def, gcc3newlib/gccnewlib.add: Updated to gcc 3.2.1 RPM revision
+ 2 which enabled the mips-rtems gnat using gcc 3.2.1 patch 20021129.
+
+2002-11-29 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Updated to gcc-3.2.1.
+
+2002-11-28 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Updated to gcc-3.2 and newlib1.1.0 RPM version 6.
+ * gcc3newlib/gccnewlib.add: Reenabled i386-rtems gnat.
+
+2002-11-25 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/gccnewlib.add:
+ Remove *.la's to make rpm-4.1/RH-8.0 happy.
+ Remove libiberty.a to make rpm-4.1/RH-8.0 happy.
+ Change gcc/version.c to reflect us having patched gcc.
+
+2002-11-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * binutils/binutils.add: Add BuildPreReq: /sbin/install-info.
+ Disable nls.
+ Apply gzip -9qf to compress *infos and *mans.
+ Apply /sbin/install-info.
+ Remove *c++-filt.
+ * binutils/base-binutils.add: Add PreReq: /sbin/install-info.
+ Apply /sbin/install-info.
+ Package as.info-*.gz.
+ * binutils/target-binutils.add:
+ Package man1/*.1*.
+
+2002-11-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * autotool/autoconf-rtems.spec.in: Fix @prefix@.
+
+2002-11-13 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Switched to binutils 2.13.1
+ * binutils/Makefile.am: Remove a29k-rtems.
+
+2002-11-11 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def, gcc3newlib/gccnewlib.add: Patch includes updates
+ which were patch changes for -3 and -4 RPM revisions. Disabled
+ build of gnat for i386-rtems as it failed to build.
+
+2002-10-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/gccnewlib.add: Remove %{target} != %{build} comment
+ (RH-8.0/rpm-4.1 bogusly expands the macros and chokes.)
+ * binutils/binutils.add: Remove %{target} != %{build} comment
+ (RH-8.0/rpm-4.1 bogusly expands the macros and chokes.).
+ Comment out CONFIGURE_ARGS (RH-8.0/rpm-4.1 is broken wrt. _build_os
+ and _target_os)
+ * gcc3newlib/base-gcc.add: Add gccint*infos.
+ * gcc3newlib/base-gcj.add: Add gcj*infos.
+ Mark manpages as %doc and pickup the gzipped versions.
+
+2002-10-25 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * autotools/automake-rtems.spec.in: Fix my address. Set up PATH
+ before running configure (Prep. for automake >= 1.7).
+
+2002-10-25 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * autotools/autoconf-rtems.spec.in: New.
+ Remove Provides: autoconf (Conflicts with RH-8.0).
+ * autotools/autoconf-rtems.spec: Remove.
+ * autotools/automake-rtems.spec.in:
+ Remove Provides: automake (Conflicts with RH-8.0).
+ * gcc3newlib/Makefile.am: Remove references to mkgcc3newlibspec.
+ * Makefile.am: Ditto.
+ * configure.ac: Add autotools/autoconf-rtems.spec.in.
+
+2002-10-24 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Update gcc 3.2 pathc to includ epatch for gcc PR8314.
+ * gcc3newlib/gccnewlib.add: Don't build mips/gnat as we do not
+ currently include the patch referenced in PR8344.
+
+2002-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * .cvsignore: Reformat.
+ Add autom4te*cache.
+ Remove autom4te.cache.
+
+2002-09-14 Joel Sherrill <joel@OARcorp.com>
+
+ * gcc3newlib/base-gcj.add, gcc3newlib/gccnewlib.add,
+ gcc3newlib/target-gcj.add: First attempt at enabling Java support.
+
+2002-08-21 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def, gcc3newlib/gccnewlib.add: Updated the tools for
+ gcc 3.2 and Ada.
+
+2002-08-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/gccnewlib.add: Re-add i386-rtems Ada.
+ Add %_gnat and --define 'gnat [0|1]' support.
+ Enable gnat for gcc-3.2/Disable for gcc-3.1.
+ Add hacks to build gnatlib.
+ Re-activate commented out fragments for old gcc versions.
+ Add @target_alias@-gnatgcc.
+
+2002-08-15 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: New gcc 3.1 RPMs (-7).
+ * gcc3newlib/gccnewlib.add: i386-rtems doesn't build Ada.
+
+2002-08-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/Makefile.am: Remove c_only remnants.
+ * gcc3newlib/gccnewlib.add: Reflect gcc-3.2 putting c++
+ headers into c++ instead of g++.
+ * gcc3newlib/target-c++.add: Ditto.
+
+2002-08-13 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/base-gnat.add: Don't use %{%prefix}/bin/gnat*.
+ * gcc3newlib/Makefile.am: Use mkspec for c4x.
+ * gcc3newlib/gccnewlib.add: Rework processing of %if %build_XXX.
+ Rework handing Ada.
+ Don't put adalib and adainclude into files.gcc.
+ * gcc3newlib/target-gnat.add: Add adalib.
+ Add adainclude.
+
+2002-08-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/base-gnat.add: Use -n rtems-base-gnat.
+
+2002-08-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/.cvsignore: Add mkspec.
+
+2002-08-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * mkgcc3newlibspec.in: Remove
+ * gcc3newlib/mkspec.in: New.
+ * configure.ac: Reflect changes above.
+ * gcc3newlib/gccnewlib.add: Add build_XXX defines.
+ Add preliminary gnat support.
+ * gcc3newlib/base-g77.add: Add build_g77.
+ * gcc3newlib/base-gcj.add: Add build_gcj.
+ * gcc3newlib/base-gnat.add: New.
+ * gcc3newlib/target-c++.add: Add build_cxx.
+ * gcc3newlib/target-g77.add: Add build_g77.
+ * gcc3newlib/target-gcj.add: Add build_gcj.
+ * gcc3newlib/target-objc.add: Add build_objc.
+ * gcc3newlib/target-gnat.add: New.
+ * gcc3newlib/Makefile.am: Use ./mkspec. Use unified spec.
+
+2002-08-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * setup.def: Increment release for gcc3newlib.
+ * gcc3newlib/gccnewlib.add: Do not put cc1plus into gcc-rpm.
+
+2002-08-08 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def, binutils/base-binutils.add, binutils/target-binutils.add:
+ Updated to binutils 2.13 which has no known issues.
+
+2002-08-06 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Updating gcc3/newlib patches and tool versions. The
+ focus of this round of patches was ot eliminate header file name
+ conflicts between RTEMS and newlib.
+
+2002-07-30 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Updated to gcc3.1/newlib 1.10.0 RPM revision 5 with
+ the gcc3 patch 20020730a and newlib 1.10.0 patch 20020726.
+
+2002-07-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * autotools/automake-rtems.spec.in: Automake-1.6.3.
+ * cpukit/.cvsignore: Add mkspec. Remove rtems.spec.
+
+2002-07-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * configure.ac: Use AC_CONFIG_FILES(script, chmod +x script)
+ to generate mk*spec scripts.
+ * mkbspspec.in: Use ',' as pattern delimiter in sed expression
+ for $rpm_build_root.
+ * mkbinutilsspec.in: Use ',' as pattern delimiter in sed
+ expression for $rpm_build_root.
+ * cpukit/mkspec.in: Cosmetical changes.
+
+2002-07-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * ChangeLog: Fix 2002-07-22 ChangeLog entry bogusly referring to
+ Joel.
+ * cpukit/Makefile.am: New.
+ * cpukit/mkspec.in: New.
+ * cpukit/rtems-cpukit.spec.in: New.
+ * cpukit/.cvsignore: New.
+ * configure.ac: Add cpukit.
+ Add RTEMS_TOP to pickup _RTEMS_VERSION (required by cpukit).
+ * Makefile.am: Add cpukit. Add ACLOCAL_AMFLAGS (required to pickup
+ RTEMS_VERSION).
+ * setup.def: Use %{_tmppath} as default for $rpm_build_root.
+ * mkbinutilsspec.in: Use ',' as pattern delimiter in sed expression
+ for $rpm_build_root.
+ * mkgccnewlibspec.in: Use ',' as pattern delimiter in sed
+ expression for $rpm_build_root.
+ * mkgcc3newlibspec.in: Use ',' as pattern delimiter in sed
+ expression for $rpm_build_root.
+ * mkgdbspec.in: Use ',' as pattern delimiter in sed expression for
+ $rpm_build_root.
+
+2002-07-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * binutils/Makefile.am: Add or32-rtems-binutils.
+
+2002-07-19 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Updated newlib patch to get sh and hppa crt0 mods.
+
+2002-07-01 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Update gcc3 RPMs for new patches.
+
+2002-06-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * autotools/automake-rtems.spec.in: Update to automake-1.6.2.
+
+2002-06-14 Joel Sherrill <joel@OARcorp.com>
+
+ * mkgdbspec.in, setup.def, gcc3newlib/gccnewlib.add, gdb/gdb.add:
+ Updated to gcc 3.1 and gdb 5.2.
+
+2001-05-29 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Updated to binutils 2.12.1.
+ * rtems/Makefile.am: Remove m68k-rtemself references.
+
+2002-06-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * mkgcc3newlibspec.in: Remove SETUP (bogus).
+ * gcc3newlib/target-c++.add: New.
+ * gcc3newlib/Makefile.am: Add target-c++.add.
+ * gcc3newlib/base-g77.add: Adapt to gcc-3.1.
+ Reflect having split out c++. Various minor fixes.
+ * gcc3newlib/base-gcc.add: Ditto.
+ * gcc3newlib/gccnewlib.add: Ditto.
+ * gcc3newlib/target-gcc.add: Ditto.
+
+2002-04-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/gccnewlib.add: Add gcc_update --touch to fix
+ timestamps.
+
+2001-04-16 Joel Sherrill <joel@OARcorp.com>
+
+ * .cvsignore: Added files added by automake 1.6.1.
+ * setup.def: New shot at gcc 3.0.4 RPMs.
+ * binutils/Makefile.am, gdb/Makefile.am, rtems/Makefile.am:
+ Deleted m68k-rtemself.
+ * gcc3newlib/gccnewlib.add: Commented out host/target OS check.
+
+2002-04-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * autotools/automake-rtems.spec.in: Update to automake-1.6.1.
+ Use *.tar.bz2.
+
+2002-04-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * mkbinutilspec.in: Fix PATCH2.
+
+2002-04-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/gccnewlib.add: Add -Bgcc/ when collecting multilibs.
+
+2002-04-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gcc3newlib/gccnewlib.spec.in: Removed from CVS.
+
+
+2002-04-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * mkbinutilspec.in: Add support for empty patch-version (no patch).
+ * mkgcc3newlibspec.in: Ditto.
+ * setup: Fix gcc3*_versions handling.
+ * setup.def: binutils_patch_version=.
+ * binutils/binutils.add: Reflect changes to mkbinutilspec.in,
+ Use "%{_target_os}" != "%{_build_os}" to detect cross-building.
+ * binutils/target-binutils.add: Comment out c++filt.
+ * gcc3newlib/base-gcc.add: Remove duplicate libm.info.
+ * gcc3newlib/gccnewlib.add: Reflect changes to mkgcc3newlibspec.in.
+ Use "%{_target_os}" != "%{_build_os}" to detect cross-building.
+ Comment out gcc-2.95.x hacks.
+ Remove *.la from installed files.
+ * gcc3newlib/gccnewlib_c_only.spec.in: Remove.
+
+2001-04-02 Joel Sherrill <joel@OARcorp.com>
+
+ * buildall.in: Correct logic for detecting 0 RTEMS RPMS installed.
+
+2001-03-29 Joel Sherrill <joel@OARcorp.com>
+
+ * .cvsignore: Added mkgcc3newlib.
+
+2001-03-29 Joel Sherrill <joel@OARcorp.com>
+
+ * gcc3newlib/.cvsignore: New file.
+
+2001-03-28 Joel Sherrill <joel@OARcorp.com>
+
+ * Per PR64 added support for gcc 3.x RPMs
+ * Makefile.am, configure.ac, mkspec, setup, setup.def: Modified.
+ * mkgcc3newlibspec.in: New file.
+ * gcc3newlib: New subdirectory.
+ * base-g77.add, base-gcc.add, base-gcj.add, gccnewlib.add,
+ gccnewlib_c_only.spec.in, gccnewlib.spec.in, HISTORY, Makefile.am,
+ README, target-g77.add, target-gcc.add, target-gcj.add,
+ target-objc.add: New files.
+
+2001-03-28 Joel Sherrill <joel@OARcorp.com>
+
+ * binutils/binutils.add: Commented out patch since binutils 2.12
+ does not require one.
+
+2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * configure.ac:
+ AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS).
+ AM_INIT_AUTOMAKE([no-define foreign 1.6]).
+ * autotools/Makefile.am: Remove AUTOMAKE_OPTIONS.
+ * Makefile.am: Remove AUTOMAKE_OPTIONS.
+ * binutils/Makefile.am: Remove AUTOMAKE_OPTIONS.
+ * gccnewlib/Makefile.am: Remove AUTOMAKE_OPTIONS.
+ * gdb/Makefile.am: Remove AUTOMAKE_OPTIONS.
+ * rtems/Makefile.am: Remove AUTOMAKE_OPTIONS.
+
+2002-03-06 Ralf Corsepius <corsepiu@faw-uni-ulm.de>
+
+ * PR151
+ * autotools/automake-rtems.spec.in: New.
+ * autotools/automake-rtems.spec: Removed.
+ * configure.ac: Reflect changes above.
+
+2001-02-27 Joel Sherrill <joel@OARcorp.com>
+
+ * configure.ac: Be a little more lenient in matching sparc-solaris.
+
+2002-01-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * mkbinutilspec.in, mkgccnewlibspec.in, gccnewlib/base-chill.add,
+ gccnewlib/base-g77.add, gccnewlib/base-gcc.add,
+ gccnewlib/base-gcj.add, gccnewlib/gccnewlib.add,
+ gccnewlib/target-chill.add, gccnewlib/target-g77.add,
+ gccnewlib/target-gcc.add, gccnewlib/target-gcj.add,
+ gccnewlib/target-objc.add: Added more support for Canadian Cross
+ building.
+
+2001-01-30 Joel Sherrill <joel@OARcorp.com>
+
+ * buildall.in: Corrected logic for detecting when no RPMs are installed.
+
+2001-01-24 Joel Sherrill <joel@OARcorp.com>
+
+ * README: Added Canadian Cross instructions.
+
+2002-01-23 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * configure.ac: Add AC_PREFIX_DEFAULT([/opt/rtems]).
+ * mkbinutilsspec.in: Add propagation of @prefix@.
+ * binutils/base-binutils.add:
+ Let %post and %unpost apply %{_prefix}.
+ Apply %{_prefix} instead of /opt/rtems.
+ * binutils/binutils.add: Update copyright notice.
+ Add _prefix.
+ Apply %{_prefix} instead of /opt/rtems.
+ Remove -a 0 in %setup.
+ Rework hack to SuSE's rpm screwing up %{_target}.
+ Replace ARGS with CONFIGURE_ARGS.
+ * binutils/target-binutils.add:
+ Apply %{_prefix} instead of /opt/rtems.
+
+2002-01-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * binutils/binutils.add: Add initial support for building
+ Canadian cross RPMs. It should work like this:
+ cd rtems/scripts
+ ./configure --build=`../config.guess` --host=i386-cygwin
+ make install
+ rpm --target=i386-cygwin \
+ /usr/src/redhat/SPECS/<target>-binutils-..spec.
+
+ alien -t /usr/src/redhat/RPMS/....i386.rpm
+ .. and voila ... your tarball, with rpm-consistency checks etc. applied.
+
+2001-01-22 Joel Sherrill <joel@OARcorp.com>
+
+ * buildalltar.in: Modified to support Canadian cross builds.
+ It was testing using a RedHat 7.2 host to build *-rtems tools
+ that run on an i386-cygwin host.
+
+2001-11-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * configure.ac: Fix typo to allow custom RPM_SPECSdirs.
+
+2001-10-16 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Bumped the gdb_patch_version to account for a configuration
+ problem on psim where it could not be enabled for powerpc-RTEMS.
+ * gdb/Makefile.am: Add i386-RTEMS and powerpc-RTEMS targets.
+
+2001-10-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * mkbinutilsspec.in: Guard sed-pattern against autoconf.
+ * mkgccnewlibspec.in: Guard sed-pattern against autoconf, remove
+ Target_alias.
+ * mkgdbspec.in: Guard sed-pattern against autoconf.
+ * mkbspspec.in: Guard sed-pattern against autoconf.
+ * configure.ac: Rework check for RPM_SPECSdir.
+ * autotools/automake-rtems.spec: Update to automake-1.5.
+
+2001-10-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * .cvsignore: Add autom4te.cache for autoconf > 2.52.
+ * configure.in: Remove.
+ * configure.ac: New file, generated from configure.in by autoupdate.
+
+2001-09-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gdb/Makefile.am, gccnewlib/Makefile.am, binutils/Makefile.am:
+ Initially setup CLEANFILES using = instead of += to make
+ automake-1.5 happy.
+
+2001-09-13 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def, gccnewlib/gccnewlib.add, gccnewlib/target-gcc.add:
+ Revert changes because of gcc 2.5.x/3.0 transition and continue
+ to support gcc 2.95.x as primary version.
+
+2001-09-13 Joel Sherrill <joel@OARcorp.com>
+
+ * mkgccnewlibspec.in,
+ Use Target_alias not target_alias to avoid conflicts with new autoconf.
+ * setup.def: Changed version numbers in attempt at building gcc 3.0.1.
+ Only sparc and arm built for C/C++ OK. :(
+ * gccnewlib/base-gcc.add: Modifications to reflect files not in gcc 3.x.
+ * gccnewlib/gccnewlib.add: gcc 3.x does not have "everything in the name"
+ * target-gcc.add: Modifications to reflect files not in gcc 3.1
+
+2001-09-13 Joel Sherrill <joel@OARcorp.com>
+
+ * autotools/.cvsignore: New file.
+
+2001-07-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * autotools/Makefile.am, autotools/autoconf-rtems.spec,
+ autotools/automake-rtems.spec: New.
+ * configure.in, Makefile.am: Add autotools/.
+
+2001-08-30 Joel Sherrill <joel@OARcorp.com>
+
+ * .cvsignore: Add buildalltar.
+
+2001-08-30 Joel Sherrill <joel@OARcorp.com>
+
+ * buildalltar.in: New file.
+ * configure.in, Makefile.am: Modified to reflect addition of file.
+
+2001-08-10 Joel Sherrill <joel@OARcorp.com>
+
+ * mkgdbspec.in: Make list of simulators very complete.
+ * setup.def: Update versions.
+
+2001-07-03 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def, binutils.add, gccnewlib.add: Updated to build
+ binutils 2.11.2 (rtems patch 20010622), gcc 2.95.3 (rtems
+ patch a20010622), and newlib 1.9.0 (rtems patch 10020622).
+
+2001-05-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * configure.in: Remove AC_EXEEXT, treat .exe manually.
+ * gccnewlib/base-gcc.add: Remove cpp.
+ * gccnewlib/gccnewlib.add: mv cpp $target_alias-cpp, update
+ copyright.
+
+2001-04-16 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Modified the binutils version to 2.11 and
+ RPM revision 3 to reflect experimentation with new binutils release.
+
+2001-04-11 Joel Sherrill <joel@OARcorp.com>
+
+ * binutils/Makefile.am: Added a29k-rtems.
+ * binutils/binutils.add: Switch to .bz2 extension to reflect
+ real way code is compressed on distribution sites now.
+
+2001-03-19 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Updated version numbers and patches for binutils
+ and gdb. binutils was to get correct patch in field. gdb
+ was to add mipstx39-rtems configurery support.
+
+2001-03-14 Joel Sherrill <joel@OARcorp.com>
+
+ * gdb/Makefile.am, mkgdbspec.in: Added mipstx39-rtems
+ configuration to gdb since this includes the JMR3904 simulator.
+
+2001-01-03 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def, binutils/HISTORY, gccnewlib/HISTORY: Updated
+ binutils HISTORY to reflect new revision. Updated gcc to fix
+ i960 C++ problem. Updated newlib to move to newlib 1.9.0.
+
+2000-11-13 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * gccnewlib/gccnewlib.add: Fix typo in URL.
+
+2000-11-05 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * configure.in: Adapt m4-quoting to autoconf-2.49b, use $host
+ instead of $target to setup RPM_CPU, move chmod 755 buildall to
+ AC_OUTPUT's extra-cmds.
+
+2000-10-30 Joel Sherrill <joel@OARcorp.com>
+
+ * buildall.in, mkgdbspec.in, setup.def, binutils/Makefile.am,
+ gccnewlib/HISTORY, gccnewlib/Makefile.am, gdb/Makefile.am:
+ Added mips-rtems, updated to include new patches and
+ gcc 2.95.2/newlib 1.8.2 revision 11 RPM.
+
+2000-10-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * configure.in: Remove trailing '/'s from setting up RPM_SPECdir.
+
+2000-10-18 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Updating version numbers for gcc/newlib RPM release 10.
+
+2000-08-30 Joel Sherrill <joel@OARcorp.com>
+
+ * setup.def: Updated gcc and newlib patches and bumped RPM revision.
+ Patches primarily add or16/or32 basic support to newlib and
+ i386 multilib improvements to gcc from Ralf Corsepius.
+
+2000-08-10 Joel Sherrill <joel@OARcorp.com>
+
+ * ChangeLog: New file.
diff --git a/scripts/Makefile.am b/scripts/Makefile.am
new file mode 100644
index 0000000000..ce4e2386fe
--- /dev/null
+++ b/scripts/Makefile.am
@@ -0,0 +1,34 @@
+##
+## $Id$
+##
+
+ACLOCAL_AMFLAGS = -I ../aclocal
+
+SUBDIRS = . binutils gccnewlib gdb rtems autotools cpukit
+SUBDIRS += rtemsdoc
+
+noinst_SCRIPTS = setup buildall buildalltar mkrpms mkspec
+
+noinst_DATA = setup.def
+
+EXTRA_DIST = $(noinst_DATA) $(noinst_SCRIPTS)
+
+CONFIG_STATUS_DEPENDENCIES = setup.cache
+setup.cache: setup.def
+ cp setup.def $@
+
+rtems_source_spec_DEPS = common/common.add rtems/rtems-source.add \
+ common/clean.add
+noinst_DATA += rtems/rtems-source.spec
+rtems/rtems-source.spec: $(rtems_source_spec_DEPS)
+ cat $(rtems_source_spec_DEPS) | sed \
+ -e 's,[@]rtems_version[@],$(RTEMS_VERSION),g' \
+ -e 's,[@]rpmprefix[@],$(rpmprefix),g' \
+ -e 's,[@]RTEMS_RPM_RELEASE[@],$(RTEMS_RPM_RELEASE),g' > $@
+
+CLEANFILES = rtems/rtems-source.spec
+
+DISTCLEANFILES = setup.cache
+
+include $(top_srcdir)/../automake/subdirs.am
+include $(top_srcdir)/../automake/local.am
diff --git a/scripts/README b/scripts/README
new file mode 100644
index 0000000000..701d577e4b
--- /dev/null
+++ b/scripts/README
@@ -0,0 +1,255 @@
+
+ RPM support for BSPs
+ ====================
+
+Introduction
+------------
+
+Building an rpm requires to have a tar archive of the sources, and a
+rpm-spec files specifying the details of building.
+
+To support per bsp rpms, one rpm-spec is used per BSP.
+Instead of writing one rpm-spec for each BSP, I have written a shell script
+(mkspec) which generates one *.spec (rtems-<target_alias>-<bsp>.spec) per BSP
+bsp from an rpm-spec template (rtems.spec.in).
+
+A second shell script (mkrpms) is a convienience script which invokes a
+sequence of building rpms for several bsps.
+
+
+mkbinutilspec
+-------------
+
+mkbinutilspec takes two arguments:
+
+$1 ... the target_alias for binutils RPMs of this toolset
+
+Invoking mkbinutilspec will generate a <target_alias>-binutils.spec either in
+
+ /usr/src/packages/SPECS (SuSE convention) or
+ /usr/src/redhat/SPECS (Redhat convention) or
+ /usr/src/SPECS
+
+Eg. ./mkbinutilspec sparc-rtems generates
+
+On SuSE-6.2: /usr/src/packages/SPECS/sparc-rtems-binutils.spec
+On RedHat 6.0: /usr/src/redhat/SPECS/sparc-rtems-binutils.spec
+
+mkgccnewlibspec
+---------------
+
+mkgccnewlibspec takes two arguments:
+
+$1 ... the target_alias for the gcc/newlib RPMs of this toolset
+
+Invoking mkgccnewlibspec will generate a <target_alias>-gccnewlibs.spec
+either in:
+
+ /usr/src/packages/SPECS (SuSE convention) or
+ /usr/src/redhat/SPECS (Redhat convention) or
+ /usr/src/SPECS
+
+Eg. ./mkgccnewlibspec sparc-rtems generates
+
+On SuSE-6.2: /usr/src/packages/SPECS/sparc-rtems-gcc_newlib.spec
+On RedHat 6.0: /usr/src/redhat/SPECS/sparc-rtems-gcc_newlib.spec
+
+mkgdbspec
+---------
+
+mkgdbspec takes two arguments:
+
+$1 ... the target_alias for the gdb RPMs of this toolset
+
+Invoking mkgdbspec will generate a <target_alias>-gdb.spec
+either in:
+
+ /usr/src/packages/SPECS (SuSE convention) or
+ /usr/src/redhat/SPECS (Redhat convention) or
+ /usr/src/SPECS
+
+Eg. ./mkgdbspec sparc-rtems generates
+
+On SuSE-6.2: /usr/src/packages/SPECS/sparc-rtems-gcc_newlib.spec
+On RedHat 6.0: /usr/src/redhat/SPECS/sparc-rtems-gcc_newlib.spec
+
+
+# XXX BSPs not tested yet by Joel
+#
+# mkbspspec
+# ---------
+#
+# mkbspspec takes two arguments:
+# $1 ... the target_alias this bsp belongs to
+# $2 ... the bsp to be built
+#
+# Invoking mkbspspec will generate a rtems-<target_alias>-<bsp>.spec either in
+# /usr/src/packages/SPECS (SuSE convention) or
+# /usr/src/redhat/SPECS (Redhat convention) or
+# /usr/src/SPECS
+#
+# Eg. ./mkspec gensh1 sh-rtemself generates
+# /usr/src/packages/SPECS/rtems-sh-rtemself-gensh1.spec on SuSE-6.2.
+
+mkspec
+---------
+
+mkspec takes two arguments:
+
+$1 ... the target_alias for the RPMs composing this toolset
+$2 ... the bsp to be built
+
+Invoking mkspec will generate a set of spec files either in:
+
+ /usr/src/packages/SPECS (SuSE convention) or
+ /usr/src/redhat/SPECS (Redhat convention) or
+ /usr/src/SPECS
+
+Eg. ./mkspec sparc-rtems erc32 generates
+
+On SuSE-6.2: /usr/src/packages/SPECS/sparc-rtems-binutils.spec
+ /usr/src/packages/SPECS/sparc-rtems-gcc_newlib.spec
+ /usr/src/packages/SPECS/sparc-rtems-gdb.spec
+On RedHat 6.0: /usr/src/packages/SPECS/sparc-rtems-binutils.spec
+ /usr/src/packages/SPECS/sparc-rtems-gcc_newlib.spec
+ /usr/src/packages/SPECS/sparc-rtems-gdb.spec
+
+
+Building binutils-rpms
+----------------------
+
+0. Login as root.
+
+1. Install a tarball of the various tool sources (with the
+version number attached!) to /usr/src/[packages|redhat]/SOURCES
+
+ cd /usr/src/[packages|redhat]/SOURCES
+ cp .../binutils-<VERSION> .
+ cp .../binutils-<VERSION>-rtems-<DATE>.diff .
+
+2. Generate and install the required rpm-spec file[s]
+
+cd rtems-<VERSION>/scripts/
+mkbinutilspec <target_alias>
+
+where target_alias is of the form sparc-rtems or sh-rtems-elf.
+
+3. Build the rpms
+
+Building a binary rpm:
+
+rpm -bb /usr/src/[packages|redhat]/SPECS/rtems-<target_alias>-binutils.spec
+
+Building a source and binary rpm
+rpm -ba /usr/src/[packages|redhat]/SPECS/rtems-<target_alias>-binutils.spec
+
+XXX Note: a BSP's src.rpm contains its spec-file and the tar-archive of the
+sources (approx. 4-5MB per BSP).
+
+Building TOOL-rpms
+------------------
+
+0. Login as root.
+
+1. Install a tarball of the various tool sources (with the
+version number attached!) to /usr/src/[packages|redhat]/SOURCES
+
+ cd /usr/src/[packages|redhat]/SOURCES
+ cp .../binutils-<VERSION> .
+ cp .../gcc-<VERSION> .
+ cp .../newlib-<VERSION> .
+
+2. Generate and install the required rpm-spec file[s]
+
+cd rtems-<VERSION>/scripts/
+mktoolspec <target_alias>
+
+3. Build the rpms
+
+Building a binary rpm:
+rpm -bb /usr/src/[packages|redhat]/SPECS/rtems-<target_alias>.spec
+
+Building a source and binary rpm
+rpm -ba /usr/src/[packages|redhat]/SPECS/rtems-<target_alias>.spec
+
+XXX Note: a BSP's src.rpm contains its spec-file and the tar-archive of the
+sources (approx. 4-5MB per BSP).
+
+Building BSP-rpms
+-----------------
+
+0. Login as root.
+
+1. Install a tarball of RTEMS's sources (with version number attached!) to
+/usr/src/[packages|redhat]/SOURCES
+Eg.
+tar czvf /usr/src/packages/SOURCES/rtems-<VERSION>.tar.gz rtems-<VERSION>
+
+2. Generate and install the required rpm-spec file[s]
+cd rtems-<VERSION>/scripts/
+mkspec <bsp> <target_alias>
+
+3. Build the rpms
+Building a binary rpm:
+rpm -bb /usr/src/[packages|redhat]/SPECS/rtems-<target_alias>-<bsp>.spec
+
+Building a source and binary rpm
+rpm -ba /usr/src/[packages|redhat]/SPECS/rtems-<target_alias>-<bsp>.spec
+
+Note: a BSP's src.rpm contains its spec-file and the tar-archive of the
+sources (approx. 4-5MB per BSP).
+
+Canadian Cross RPMS
+-------------------
+Normally one uses a GNU/Linux host computer to produce RPMs that are
+to be installed and run on another GNU/Linux host computer. When
+building Canadian Cross RPMs, we build *-rtems tools that are to be
+installed on a non-GNU/Linux host.
+
+To build cygwin-rpms on a GNU/Linux host, you will to have a GNU/Linux ->
+i386-cygwin cross-toolset installed and in your PATH before executing the
+following commands:
+
+ cd scripts
+ ./configure --build=`../config.guess` --host=i386-cygwin \
+ --target=<target>
+ make
+ rpm --target=<i386-cygwin> -b[b|a] binutils/<target>-....spec
+
+Known Bugs/Deficiencies
+-----------------------
+
+* All files mentioned in here are in its early infancy ;-)
+
+* Building for a single bsp requires an own copy of the source tree inside
+rpm's build directory.
+* Building inside the RTEMS source tree doesn't work.
+* Dependencies on toolchain-rpms not yet supported in rtems.spec.in.
+* Installing multiple binary bsp rpms for the same target can cause
+warnings from rpm, because these bsp-rpms share files.
+* rtems.spec.in is prepared for rpm relocation support, but RTEMS is not
+relocatible (yet?)
+* rtems.spec.in deserves to be extended (description, authors etc)
+* The final packaging stage to build a binary rpm takes an awful lot of
+time - deserves to be investigated.
+* Some RTEMS's cross executables (eg. hello.exe for sparc-rtems/erc32) cause
+warnings from rpm and/or objdump. AFAIS, this is a bug in rpm.
+* Probably many more ...
+
+* Last but not least: RTEMS should be split.
+
+Remarks
+-------
+* It would make sense to split RTEMS host/cross-tools and files depending on
+the target only (<target_alias>/make/*.cfg -- Whow, RTEMS really has files
+which depend on the target only :) into separate rpms.
+* Instead of using a single rpm-spec for each bsp, RTEMS could also use a
+single rpm-spec for all (or at least a given subset of all) bsps of a target.
+* rpm -b[b|a] leaves its built trees unpacked in
+/usr/src/[packages|redhat]/BUILD. Therefore you will rather soon run out of disc
+space if not removing them. (Use rpm --clean -b[a|b] for cleaning them up
+automatically after building)
+* The size of binary rpms can differ up to one magnitude depending on the
+target/bsp (eg. sh-rtems/gensh1 ~10MB vs. sh-rtemself/gensh1 ~32MB)
+
+Ralf Corsepius, 1999/10/14
diff --git a/scripts/README.cdn-X b/scripts/README.cdn-X
new file mode 100644
index 0000000000..6393195961
--- /dev/null
+++ b/scripts/README.cdn-X
@@ -0,0 +1,122 @@
+Applying RTEMS-toolchain RPM-specs for Canadian Cross Compilation
+=================================================================
+
+Example: Building a Cygwin-based xxx-rtems toolchain under Linux:
+
+Quickstart
+----------
+The command to invoke rpm for building RTEMS's gnu toolchain cdn. cross
+under Linux is:
+rpmbuild -ba xxx-rtems-yyy.spec \
+--define='_build i686-pc-linux-gnu'
+--define='_host i686-pc-cygwin' \
+--target=i686-pc-cygwin
+
+[If using rpm < 4.1, use "rpm" instead of "rpmbuild".]
+
+
+If you don't understand this, read on ... :-)
+
+1. Prerequisites
+----------------
+* a native Linux-toolchain (eg. gcc, binutils).
+Prebuild binaries should come with any Linux distribution.
+We further on assume this toolchain to be installed in /usr, such that
+/usr/bin/gcc is supposed to be your native CC.
+
+* a Linux -> Cygwin cross-toolchain
+RPM-specs are available in the contrib/cygwin directory in RTEMS's sourcetree.
+Prebuild binaries should be available from
+ ftp://ftp.OARCorp.com
+ http://packman.links2linux.de
+
+We further on assume this toolchain to be installed in /opt/i686-pc-cygwin,
+i.e. /opt/i686-pc-cygwin/bin/i686-pc-cygwin-gcc is assumed to be the linux->cygwin
+cross compiler.
+
+2. Preparations
+---------------
+
+* Make sure to have /usr/bin and /opt/i686-pc-cygwin/bin in $PATH.
+
+* Download the source-tarballs and patches. Put them into a directory where
+rpm can pick them up (/usr/src/redhat/SOURCES under RH)
+
+* configure this directory
+./configure
+[Many files being generated]
+
+Among these files the rpm.specs will be generated, one per tool in its
+corresponding subdirectory.
+
+The spec-files you are looking for are:
+binutils/xxx-rtems-binutils.spec
+gccnewlib/xxx-rtems-gccnewlib.spec
+gdb/xxx-rtems-gdb.spec
+
+[You must have appropriate versions of autoconf and
+automake installed.]
+
+3. Building
+-----------
+
+rpmbuild -ba binutils/xxx-rtems-binutils-<binutilsvers>.spec \
+--define='_build=i686-pc-linux-gnu' \
+--define='_host=i686-pc-cygwin' \
+--target=i686-pc-cygwin
+
+rpmbuild -ba gccnewlib/xxx-rtems-gcc-<gccvers>-newlib-<newlibvers>.spec \
+--define='_build=i686-pc-linux-gnu' \
+--define='_host=i686-pc-cygwin' \
+--target=i686-pc-cygwin
+
+rpmbuild -ba
+gdb/xxx-rtems-gdb-<gdbvers>.spec \
+--define='_build=i686-pc-linux-gnu' \
+--define='_host=i686-pc-cygwin' \
+--target=i686-pc-cygwin
+
+Each of these commands builds several corresponding rpms.
+[Beware: This can take several hours.]
+
+NOTE: These packages will be packaged as Linux' rpms, but contain Cygwin
+binaries. If using the default rpm-directories, this will put the rpms into
+your linux RPM-directories, i.e. pollute these directories with foreign
+RPMs.
+
+To avoid this, I recommend to set up RPM's internal variable %_rpmdir to
+point to a different directory than the default or to use a different root for the cygwin
+RPM directory tree, i.e. to set %_topdir. [1]
+
+4. Repackaging the RPMS into tarballs
+-------------------------------------
+
+Basically, there exist two ways:
+
+* Applying "alien".
+I highly recommend using this, but unfortunately alien is not
+shipped with all Linux distributions.
+[alien can also be applied to repackage the rpms into other packaging
+formats.]
+
+* Manual unpacking and tar-ing
+cd <empty-directory>
+rpmcpio xxx-rtems-yyy.<arch>.rpm | cpio -i --make-directories
+tar cjvf <where-ever>/xxx-rtems-yyy.<arch>.tar.bz2 opt/rtems
+rm -rf opt/rtems
+
+NOTE: You might want to consider performing repackaging as root to avoid
+loosing file permissions.
+
+5. Other platforms
+------------------
+The procedure to build for other platforms (Solaris, ...) is analogous. Just
+replace i686-pc-cygwin with your target, eg sun-sparc-solaris2.8
+
+Ralf Corsepius 2003-01-31
+
+[1] Setting up an rpm variable can be done:
+* on the command line:
+rpmbuild --define='_topdir /home/user/src/cygwin' ...
+* from a user's ~/.rpmmacros
+_topdir /home/user/src/cygwin
diff --git a/scripts/TODO b/scripts/TODO
new file mode 100644
index 0000000000..98970c979b
--- /dev/null
+++ b/scripts/TODO
@@ -0,0 +1,7 @@
+#
+# $Id$
+#
+
+There is plenty left to do on this :)
+
+ + Add GNAT/RTEMS version.
diff --git a/scripts/acinclude.m4 b/scripts/acinclude.m4
new file mode 100644
index 0000000000..bf055e9901
--- /dev/null
+++ b/scripts/acinclude.m4
@@ -0,0 +1,20 @@
+AC_DEFUN([RTEMS_ENABLE_RPMPREFIX],[
+AC_ARG_ENABLE([rpmprefix],
+[ --enable-rpmprefix=<rpmprefix> prefix rpms],
+[case $enable_rpmprefix in
+yes ) rpmprefix="rtems-"]RTEMS_API["-";;
+no ) rpmprefix="";;
+* ) AS_IF([test -z "$enable_rpmprefix"],
+ [rpmprefix=""],
+ [rpmprefix="$enable_rpmprefix"]);;
+esac],
+[rpmprefix="rtems-"]RTEMS_API["-"])
+
+AC_ARG_ENABLE([osversions],
+[ --enable-osversions whether to use version numbers in os-tripples],
+[case $enable_osversions in
+yes ) osversion=RTEMS_API;;
+* ) osversion=;;
+esac],
+[osversion=RTEMS_API])
+])
diff --git a/scripts/autotools/.cvsignore b/scripts/autotools/.cvsignore
new file mode 100644
index 0000000000..91993472f0
--- /dev/null
+++ b/scripts/autotools/.cvsignore
@@ -0,0 +1,4 @@
+*.spec
+*.spec.in
+Makefile
+Makefile.in
diff --git a/scripts/autotools/Makefile.am b/scripts/autotools/Makefile.am
new file mode 100644
index 0000000000..9894ddd416
--- /dev/null
+++ b/scripts/autotools/Makefile.am
@@ -0,0 +1,25 @@
+##
+## $Id$
+##
+
+include $(top_srcdir)/common/common.am
+
+automake-rtems.spec.in: header.add $(top_builddir)/common/common.add automake.add
+ cat $^ > $@
+CLEANFILES = automake-rtems.spec.in
+RPM_SPECS_DATA = @rpmprefix@automake-rtems.spec
+
+autoconf-rtems.spec.in: header.add $(top_builddir)/common/common.add autoconf.add
+ cat $^ > $@
+CLEANFILES += autoconf-rtems.spec.in
+RPM_SPECS_DATA += @rpmprefix@autoconf-rtems.spec
+
+@rpmprefix@autoconf-rtems.spec: autoconf-rtems.spec.in
+ $(top_builddir)/config.status --file=@rpmprefix@autoconf-rtems.spec:autoconf-rtems.spec.in
+
+@rpmprefix@automake-rtems.spec: automake-rtems.spec.in
+ $(top_builddir)/config.status --file=@rpmprefix@automake-rtems.spec:automake-rtems.spec.in
+
+CLEANFILES += $(RPM_SPECS_DATA)
+
+include $(top_srcdir)/../automake/local.am
diff --git a/scripts/autotools/autoconf.add b/scripts/autotools/autoconf.add
new file mode 100644
index 0000000000..e78400cb22
--- /dev/null
+++ b/scripts/autotools/autoconf.add
@@ -0,0 +1,91 @@
+%define rpmvers 2.59
+%define srcvers 2.59
+
+%define _name autoconf
+
+%if "%{_prefix}" != "/usr"
+%define name @rpmprefix@%{_name}-rtems
+%else
+%define name %{_name}
+%endif
+
+
+Name: %{name}
+Packager: Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+License: GPL
+URL: http://www.gnu.org/software/autoconf
+Group: @rpmgroup@
+Version: %{rpmvers}
+Release: 4%{?dist}
+Summary: Tool for automatically generating GNU style Makefile.in's
+BuildArch: noarch
+BuildRequires: perl m4 gawk emacs
+Requires: m4 gawk
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+
+Source: autoconf-%{srcvers}.tar.bz2
+Patch0: autoconf-2.59-quoting-20040817-1.diff
+
+%description
+GNU's Autoconf is a tool for configuring source code and Makefiles.
+Using Autoconf, programmers can create portable and configurable
+packages, since the person building the package is allowed to
+specify various configuration options.
+You should install Autoconf if you are developing software and you'd
+like to use it to create shell scripts which will configure your
+source code packages.
+Note that the Autoconf package is not required for the end user who
+may be configuring software with an Autoconf-generated script;
+Autoconf is only required for the generation of the scripts, not
+their use.
+
+%prep
+%setup -q -n %{_name}-%{srcvers}
+%patch -p0 -P 0
+
+%build
+./configure --prefix=%{_prefix} --infodir=%{_infodir} --mandir=%{_mandir} \
+ --bindir=%{_bindir} --datadir=%{_datadir}
+make
+
+%install
+rm -rf "${RPM_BUILD_ROOT}"
+make DESTDIR=${RPM_BUILD_ROOT} install
+
+# Create this directory to prevent the corresponding line
+# in %%files below to fail
+mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/emacs/site-lisp
+
+rm -f $RPM_BUILD_ROOT%{_infodir}/dir
+touch $RPM_BUILD_ROOT%{_infodir}/dir
+
+gzip -9qf $RPM_BUILD_ROOT%{_infodir}/autoconf.info* 2>/dev/null
+# RTEMS's standards.info comes from binutils
+rm -f $RPM_BUILD_ROOT%{_infodir}/standards.info*
+
+gzip -9qf $RPM_BUILD_ROOT%{_mandir}/man?/* 2>/dev/null
+
+%clean
+ rm -rf "$RPM_BUILD_ROOT"
+
+%post
+install-info --info-dir=%{_infodir} %{_infodir}/autoconf.info.gz
+
+%preun
+if [ $1 -eq 0 ]; then
+ install-info --delete --info-dir=%{_infodir} %{_infodir}/autoconf.info.gz
+fi
+
+%files
+%defattr(-,root,root)
+# %doc AUTHORS COPYING ChangeLog NEWS README THANKS
+%{_bindir}/*
+%dir %{_infodir}
+%ghost %{_infodir}/dir
+
+%{_infodir}/autoconf.info*
+%{_mandir}/man?/*
+%{_datadir}/autoconf
+%exclude %{_datadir}/emacs/site-lisp
diff --git a/scripts/autotools/automake.add b/scripts/autotools/automake.add
new file mode 100644
index 0000000000..6b660764ca
--- /dev/null
+++ b/scripts/autotools/automake.add
@@ -0,0 +1,96 @@
+#
+# spec file for automake
+#
+
+%define rpmvers 1.9.6
+%define srcvers 1.9.6
+%define amvers 1.9
+
+%define _name automake
+
+%if "%{_prefix}" != "/usr"
+%define name @rpmprefix@%{_name}-rtems
+%define requirements @rpmprefix@autoconf-rtems >= 2.59
+%else
+%define name %{_name}
+%define requirements autoconf >= 2.59
+%endif
+
+Name: %{name}
+Packager: Ralf Corsepius <ralf_corsepius@rtems.org>
+URL: http://sources.redhat.com/automake
+
+License: GPL
+Group: @rpmgroup@
+
+Version: %{rpmvers}
+Release: 0%{?dist}
+Summary: Tool for automatically generating GNU style Makefile.in's
+BuildArch: noarch
+BuildRequires: %{requirements} perl help2man
+Requires: %{requirements}
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+
+Source: ftp://ftp.gnu.org/gnu/automake/automake-%{srcvers}.tar.bz2
+Patch0: automake-1.8.1-rtems-20040112-1.diff
+
+%description
+Automake is a tool for automatically generating "Makefile.in"s from
+files called "Makefile.am". "Makefile.am" is basically a series of
+"make" macro definitions (with rules being thrown in occasionally).
+The generated "Makefile.in"s are compatible to the GNU Makefile
+standards.
+
+%prep
+%setup -q -n %{_name}-%{srcvers}
+%patch0 -p0
+
+%build
+PATH=%{_prefix}/bin:$PATH
+./configure --prefix=%{_prefix} --infodir=%{_infodir} --mandir=%{_mandir} \
+ --bindir=%{_bindir} --datadir=%{_datadir}
+make
+
+%install
+rm -rf "$RPM_BUILD_ROOT"
+make DESTDIR=${RPM_BUILD_ROOT} install
+
+install -m 755 -d $RPM_BUILD_ROOT/%{_mandir}/man1
+for i in $RPM_BUILD_ROOT%{_bindir}/aclocal \
+ $RPM_BUILD_ROOT%{_bindir}/automake ;
+do
+ perllibdir=$RPM_BUILD_ROOT/%{_datadir}/automake-%{amvers} \
+ help2man $i > `basename $i`.1
+ install -m 644 `basename $i`.1 $RPM_BUILD_ROOT/%{_mandir}/man1
+done
+
+gzip -9qf $RPM_BUILD_ROOT%{_infodir}/*.info* 2>/dev/null
+gzip -9qf $RPM_BUILD_ROOT%{_mandir}/man?/* 2>/dev/null
+
+rm -f $RPM_BUILD_ROOT%{_infodir}/dir
+touch $RPM_BUILD_ROOT%{_infodir}/dir
+
+%clean
+ rm -rf "$RPM_BUILD_ROOT"
+
+%post
+install-info --info-dir=%{_infodir} %{_infodir}/automake.info.gz
+
+%preun
+if [ $1 -eq 0 ]; then
+ install-info --delete --info-dir=%{_infodir} %{_infodir}/automake.info.gz
+fi
+
+%files
+%defattr(-,root,root)
+%doc AUTHORS COPYING ChangeLog NEWS README THANKS
+%{_bindir}/aclocal*
+%{_bindir}/automake*
+%dir %{_infodir}
+%ghost %{_infodir}/dir
+%{_infodir}/automake.info*.gz
+%{_mandir}/man?/*
+%{_datadir}/aclocal-%{amvers}
+%{_datadir}/automake-%{amvers}
+
diff --git a/scripts/autotools/header.add b/scripts/autotools/header.add
new file mode 100644
index 0000000000..960409dc2a
--- /dev/null
+++ b/scripts/autotools/header.add
@@ -0,0 +1,3 @@
+#
+# Copyright (c) 2005 Ralf Corsepius, Ulm/Germany
+#
diff --git a/scripts/binutils/.cvsignore b/scripts/binutils/.cvsignore
new file mode 100644
index 0000000000..75693ef12c
--- /dev/null
+++ b/scripts/binutils/.cvsignore
@@ -0,0 +1,6 @@
+*.spec
+Makefile
+Makefile.in
+binutils.spec
+binutils.spec.in
+mkspec
diff --git a/scripts/binutils/HISTORY b/scripts/binutils/HISTORY
new file mode 100644
index 0000000000..09bdc63a45
--- /dev/null
+++ b/scripts/binutils/HISTORY
@@ -0,0 +1,29 @@
+#
+# History of the binutils RPMs
+#
+# $Id$
+#
+
+RPM Version binutils-2.10-3
+===========================
++ Add reloc16.c fix for H8.
+
+binutils-2.10-rtems-20001102.diff
+ - adds reloc16.c patch from Nick Clifton <nickc@redhat.com>
+
+RPM Version binutils-2.10-1
+===========================
++ Add initial support for the ARM.
++ Adds support for the h8300.
+
+binutils-2.10-rtems-20000628.diff
+ - adds h8300 support.
+
+RPM Version binutils-2.9.5.0.24-1
+=================================
++ Corrects the object format for numerous RTEMS targets. Released with
+ RTEMS 4.5.0-beta3a.
+
+binutils-2.9.5.0.24-rtems-20000207.diff
+ - base line
+
diff --git a/scripts/binutils/Makefile.am b/scripts/binutils/Makefile.am
new file mode 100644
index 0000000000..ad25c93d51
--- /dev/null
+++ b/scripts/binutils/Makefile.am
@@ -0,0 +1,74 @@
+##
+## $Id$
+##
+
+include $(top_srcdir)/common/common.am
+
+MKBINUTILSSPEC = $(SHELL) ./mkspec
+
+SUBPACKAGES = header.add
+SUBPACKAGES += $(top_builddir)/common/common.add binutils.add
+SUBPACKAGES += $(top_builddir)/common/clean.add
+SUBPACKAGES += target-binutils.add
+SUBPACKAGES += base-binutils.add
+
+binutils.spec.in: $(SUBPACKAGES)
+ cat $^ > $@
+CLEANFILES = binutils.spec.in
+RPM_SPECS_DATA =
+
+MKBINUTILSSPEC_DEPS = mkspec binutils.spec.in $(top_builddir)/setup.cache
+
+@rpmprefix@arm-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
+ $(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache arm-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@arm-rtems@osversion@-binutils.spec
+
+@rpmprefix@h8300-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
+ $(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache h8300-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@h8300-rtems@osversion@-binutils.spec
+
+@rpmprefix@i386-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
+ $(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache i386-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@i386-rtems@osversion@-binutils.spec
+
+@rpmprefix@m68k-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
+ $(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache m68k-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@m68k-rtems@osversion@-binutils.spec
+
+@rpmprefix@mips-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
+ $(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache mips-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@mips-rtems@osversion@-binutils.spec
+
+@rpmprefix@mips64-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
+ $(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache mips64-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@mips64-rtems@osversion@-binutils.spec
+
+@rpmprefix@powerpc-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
+ $(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache powerpc-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@powerpc-rtems@osversion@-binutils.spec
+
+@rpmprefix@sh-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
+ $(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache sh-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@sh-rtems@osversion@-binutils.spec
+
+@rpmprefix@sh-rtemscoff@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
+ $(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache sh-rtemscoff@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@sh-rtemscoff@osversion@-binutils.spec
+
+@rpmprefix@sparc-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
+ $(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache sparc-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@sparc-rtems@osversion@-binutils.spec
+
+@rpmprefix@tic4x-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
+ $(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache tic4x-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@tic4x-rtems@osversion@-binutils.spec
+
+@rpmprefix@avr-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
+ $(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache avr-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@avr-rtems@osversion@-binutils.spec
+
+CLEANFILES += $(RPM_SPECS_DATA)
+
+EXTRA_DIST = $(SUBPACKAGES)
+
+include $(top_srcdir)/../automake/local.am
diff --git a/scripts/binutils/base-binutils.add b/scripts/binutils/base-binutils.add
new file mode 100644
index 0000000000..9960e0641f
--- /dev/null
+++ b/scripts/binutils/base-binutils.add
@@ -0,0 +1,56 @@
+%if "%{_prefix}" != "/usr"
+# ==============================================================
+# rtems-base-binutils
+# ==============================================================
+%package -n @rpmprefix@rtems@osversion@-base-binutils
+Summary: base package for rtems binutils
+Group: %{rpmgroup}
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+
+%description -n @rpmprefix@rtems@osversion@-base-binutils
+
+RTEMS is an open source operating system for embedded systems.
+
+This is the base for binutils regardless of target CPU.
+
+%post -n @rpmprefix@rtems@osversion@-base-binutils
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/standards.info.gz
+%if "%{binutils_version}" < "2.13"
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gasp.info.gz
+%endif
+
+%preun -n @rpmprefix@rtems@osversion@-base-binutils
+if [ $1 -eq 0 ]; then
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/standards.info.gz
+%if "%{binutils_version}" < "2.13"
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gasp.info.gz
+%endif
+fi
+
+%files -n @rpmprefix@rtems@osversion@-base-binutils
+%defattr(-,root,root)
+%dir %{_infodir}
+%ghost %{_infodir}/dir
+%{_infodir}/as.info*
+%{_infodir}/bfd.info*
+%{_infodir}/binutils.info*
+%{_infodir}/ld.info*
+%{_infodir}/standards.info*
+
+%if "%{binutils_version}" < "2.13"
+%{_infodir}/gasp.info*
+%endif
+
+%dir %{_prefix}/share
+%dir %{_prefix}/share/locale
+%endif
+
diff --git a/scripts/binutils/binutils.add b/scripts/binutils/binutils.add
new file mode 100644
index 0000000000..2298f011a3
--- /dev/null
+++ b/scripts/binutils/binutils.add
@@ -0,0 +1,118 @@
+
+%define binutils_version @binutils_version@
+%define binutils_target @target_alias@
+
+Name: @rpmprefix@%{binutils_target}-binutils
+Summary: binutils for target %{binutils_target}
+Group: %{rpmgroup}
+Release: @Release@
+License: GPL/LGPL
+
+BuildRequires: /sbin/install-info
+BuildRequires: texinfo >= 4.2
+BuildRequires: flex
+
+Version: %{binutils_version}
+Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-%{binutils_version}@binutils_suffix@
+@PATCH1@
+
+Source98: brp-rtems-strip.in
+Source99: brp-rtems-compress.in
+
+%define __os_install_post ./brp-rtems-compress && ./brp-rtems-strip
+
+#
+# The original sources are not included in the source RPM.
+# If we included them, then the source RPMs for each target
+# would duplicate MBs of source unnecessarily. This is
+# a duplication of over 30 MBs of source for each of
+# the more than 10 targets it is possible to build.
+#
+# You can get them yourself from the Internet and copy them to
+# your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR).
+# Or you can try the ftp options of rpm :-)
+#
+%{?!_with_sources:NoSource: 0}
+
+# %description
+#
+# RTEMS is an open source operating system for embedded systems.
+#
+# This is binutils sources with patches for RTEMS.
+
+%prep
+%setup -c -T -n %{name}-%{version} -a0
+
+sed 's,@BRPSTRIPPATH@,.%_bindir .%_prefix/%binutils_target/bin,' \
+ %SOURCE98 > brp-rtems-strip
+chmod +x brp-rtems-strip
+
+sed 's,@BRPCOMPRESSPATH@,.%_mandir/man* .%_infodir,' \
+ %SOURCE99 > brp-rtems-compress
+chmod +x brp-rtems-compress
+
+cd binutils-%{version}
+%{?PATCH0:%patch0 -p1}
+cd ..
+
+ mkdir -p build
+
+%build
+ cd build
+ CFLAGS="$RPM_OPT_FLAGS" \
+ ../binutils-%{binutils_version}/configure \
+ --build=%_build --host=%_host \
+ --target=%{binutils_target} \
+ --verbose --disable-nls \
+ --prefix=%{_prefix} --bindir=%{_bindir} \
+ --includedir=%{_includedir} --libdir=%{_libdir} \
+ --mandir=%{_mandir} --infodir=%{_infodir} \
+
+ make all
+ make info
+
+
+%install
+ rm -rf $RPM_BUILD_ROOT
+
+ cd build
+ make prefix=$RPM_BUILD_ROOT%{_prefix} \
+ bindir=$RPM_BUILD_ROOT%{_bindir} \
+ includedir=$RPM_BUILD_ROOT%{_includedir} \
+ libdir=$RPM_BUILD_ROOT%{_libdir} \
+ infodir=$RPM_BUILD_ROOT%{_infodir} \
+ mandir=$RPM_BUILD_ROOT%{_mandir} \
+ install
+ make prefix=$RPM_BUILD_ROOT%{_prefix} \
+ bindir=$RPM_BUILD_ROOT%{_bindir} \
+ includedir=$RPM_BUILD_ROOT%{_includedir} \
+ libdir=$RPM_BUILD_ROOT%{_libdir} \
+ infodir=$RPM_BUILD_ROOT%{_infodir} \
+ mandir=$RPM_BUILD_ROOT%{_mandir} \
+ install-info
+
+# A bug in binutils: binutils does not install share/locale
+# however it uses it
+ mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/locale
+
+%if "%{binutils_version}" < "2.9.5"
+ rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info*
+%endif
+
+ rm -f $RPM_BUILD_ROOT%{_infodir}/dir
+ touch $RPM_BUILD_ROOT%{_infodir}/dir
+
+%if "%{_prefix}" == "/usr"
+# Conflict with a native binutils' infos
+ rm -rf $RPM_BUILD_ROOT%{_infodir}
+%endif
+
+# We don't ship host files
+ rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty*
+
+# manpages without corresponding tools
+ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/%{binutils_target}-dlltool*
+ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/%{binutils_target}-nlmconv*
+ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/%{binutils_target}-windres*
+
+ cd ..
diff --git a/scripts/binutils/header.add b/scripts/binutils/header.add
new file mode 100644
index 0000000000..715401c6a2
--- /dev/null
+++ b/scripts/binutils/header.add
@@ -0,0 +1,4 @@
+#
+# spec file for binutils package targetting @target_alias@
+#
+# Copyright (c) 1999,2000,2002 OARCorp, Huntsville, AL
diff --git a/scripts/binutils/mkspec.in b/scripts/binutils/mkspec.in
new file mode 100644
index 0000000000..7a9513ec73
--- /dev/null
+++ b/scripts/binutils/mkspec.in
@@ -0,0 +1,65 @@
+#!/bin/sh
+#
+# Usage: mkspec CPU
+#
+
+RTEMS_DIR=`dirname $0`/@top_srcdir@
+
+CFG=../setup.cache
+
+specsrc=${RTEMS_DIR}/binutils/binutils.spec.in
+
+usage()
+{
+ echo "$0 [options] <target_alias>"
+ echo " options:"
+ echo " -cfg <setup.cache>"
+ echo " -a <alternate specs.in>"
+ exit 1 ;
+}
+
+while test $# -ge 2; do
+case $1 in
+-cfg)
+ shift
+ CFG=$1
+ shift
+ ;;
+-a)
+ shift
+ specsrc=$1
+ shift
+ ;;
+-*)
+ echo "invalid option $1";
+ usage
+ ;;
+esac
+done
+
+if test ! $# -eq 1;
+then
+ echo "Invalid number of arguments"
+ usage
+fi
+
+# target to build for
+target_alias=$1
+
+. ./$CFG
+
+if test -n "${binutils_patch_version}"; then
+PATCH1="Patch0: binutils-${binutils_version}-rtems-${binutils_patch_version}.diff"
+fi
+
+sed -e "s,@Release\@,${binutils_rpm_release},g" \
+ -e "s,@target_alias\@,${target_alias},g" \
+ -e "s,@prefix\@,@prefix@,g" \
+ -e "s,@rpmprefix\@,@rpmprefix@,g" \
+ -e "s,@rpmgroup\@,@rpmgroup@,g" \
+ -e "s,@osversion\@,@osversion@,g" \
+ -e "s,@binutils_version\@,${binutils_version},g" \
+ -e "s,@binutils_patch_version\@,${binutils_patch_version},g" \
+ -e "s,@binutils_suffix\@,${binutils_suffix},g" \
+ -e "s,@PATCH1\@,${PATCH1}," \
+< ${specsrc}
diff --git a/scripts/binutils/target-binutils.add b/scripts/binutils/target-binutils.add
new file mode 100644
index 0000000000..dad23dc98f
--- /dev/null
+++ b/scripts/binutils/target-binutils.add
@@ -0,0 +1,57 @@
+# ==============================================================
+# %{binutils_target}-binutils
+# ==============================================================
+# %package -n @rpmprefix@%{binutils_target}-binutils
+# Summary: rtems binutils for %{binutils_target}
+# Group: %{rpmgroup}
+# Requires: @rpmprefix@rtems@osversion@-base-binutils
+
+%description -n @rpmprefix@%{binutils_target}-binutils
+
+RTEMS is an open source operating system for embedded systems.
+
+This is the GNU binutils for RTEMS targetting %{binutils_target}.
+
+%files -n @rpmprefix@%{binutils_target}-binutils
+%defattr(-,root,root)
+%if "%{_prefix}" != "/usr"
+%dir %{_mandir}
+%dir %{_mandir}/man1
+%endif
+%{_mandir}/man1/%{binutils_target}-*.1*
+
+%if "%{_prefix}" != "/usr"
+%dir %{_bindir}
+%endif
+%{_bindir}/%{binutils_target}-addr2line%{_exeext}
+%{_bindir}/%{binutils_target}-ar%{_exeext}
+%{_bindir}/%{binutils_target}-as%{_exeext}
+%{_bindir}/%{binutils_target}-c++filt%{_exeext}
+%if "%{binutils_version}" < "2.13"
+# deleted as of 2.13
+%{_bindir}/%{binutils_target}-gasp%{_exeext}
+%endif
+%{_bindir}/%{binutils_target}-ld%{_exeext}
+%{_bindir}/%{binutils_target}-nm%{_exeext}
+%{_bindir}/%{binutils_target}-objcopy%{_exeext}
+%{_bindir}/%{binutils_target}-objdump%{_exeext}
+%{_bindir}/%{binutils_target}-ranlib%{_exeext}
+%{_bindir}/%{binutils_target}-readelf%{_exeext}
+%{_bindir}/%{binutils_target}-size%{_exeext}
+%{_bindir}/%{binutils_target}-strings%{_exeext}
+%{_bindir}/%{binutils_target}-strip%{_exeext}
+
+%dir %{_prefix}/%{binutils_target}
+%dir %{_prefix}/%{binutils_target}/bin
+%{_prefix}/%{binutils_target}/bin/ar%{_exeext}
+%{_prefix}/%{binutils_target}/bin/as%{_exeext}
+%{_prefix}/%{binutils_target}/bin/ld%{_exeext}
+%{_prefix}/%{binutils_target}/bin/nm%{_exeext}
+%{_prefix}/%{binutils_target}/bin/ranlib%{_exeext}
+%{_prefix}/%{binutils_target}/bin/strip%{_exeext}
+%if "%{binutils_version}" >= "2.16"
+%{_prefix}/%{binutils_target}/bin/objdump%{_exeext}
+%endif
+
+%dir %{_prefix}/%{binutils_target}/lib
+%{_prefix}/%{binutils_target}/lib/ldscripts
diff --git a/scripts/brp-rtems-compress.in b/scripts/brp-rtems-compress.in
new file mode 100755
index 0000000000..d25ca7cc5d
--- /dev/null
+++ b/scripts/brp-rtems-compress.in
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# If using normal root, avoid changing anything.
+if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then
+ exit 0
+fi
+
+cd $RPM_BUILD_ROOT
+
+# Compress man pages
+COMPRESS="gzip -9 -n"
+COMPRESS_EXT=.gz
+
+for d in @BRPCOMPRESSPATH@
+do
+ [ -d $d ] || continue
+ for f in `find $d -type f`
+ do
+ [ -f "$f" ] || continue
+ [ "`basename $f`" = "dir" ] && continue
+
+ case "$f" in
+ *.Z) gunzip $f; b=`echo $f | sed -e 's/\.Z$//'`;;
+ *.gz) gunzip $f; b=`echo $f | sed -e 's/\.gz$//'`;;
+ *.bz2) bunzip2 $f; b=`echo $f | sed -e 's/\.bz2$//'`;;
+ *) b=$f;;
+ esac
+
+ $COMPRESS $b </dev/null 2>/dev/null || {
+ inode=`ls -i $b | awk '{ print $1 }'`
+ others=`find $d -type f -inum $inode`
+ if [ -n "$others" ]; then
+ for afile in $others ; do
+ [ "$afile" != "$b" ] && rm -f $afile
+ done
+ $COMPRESS -f $b
+ for afile in $others ; do
+ [ "$afile" != "$b" ] && ln $b$COMPRESS_EXT $afile$COMPRESS_EXT
+ done
+ else
+ $COMPRESS -f $b
+ fi
+ }
+ done
+
+ for f in `find $d -type l`
+ do
+ l=`ls -l $f | sed -e 's/.* -> //' -e 's/\.gz$//' -e 's/\.bz2$//' -e 's/\.Z$//'`
+ rm -f $f
+ b=`echo $f | sed -e 's/\.gz$//' -e 's/\.bz2$//' -e 's/\.Z$//'`
+ ln -sf $l$COMPRESS_EXT $b$COMPRESS_EXT
+ done
+done
diff --git a/scripts/brp-rtems-strip.in b/scripts/brp-rtems-strip.in
new file mode 100755
index 0000000000..58f215551b
--- /dev/null
+++ b/scripts/brp-rtems-strip.in
@@ -0,0 +1,19 @@
+#!/bin/sh
+# If using normal root, avoid changing anything.
+if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then
+ exit 0
+fi
+
+cd "$RPM_BUILD_ROOT"
+
+[ -z "$STRIP" -a -n "$1" ] && STRIP="$1"
+[ -z "$STRIP" ] && STRIP=strip
+
+# Strip native binaries
+for f in `find @BRPSTRIPPATH@ \
+ -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
+ grep -v "^./\?usr/lib/debug" | \
+ grep -v ' shared object,' | \
+ sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped/\1/p'`; do
+ $STRIP -g $f || :
+done
diff --git a/scripts/buildall.in b/scripts/buildall.in
new file mode 100755
index 0000000000..904cf1c482
--- /dev/null
+++ b/scripts/buildall.in
@@ -0,0 +1,210 @@
+#! /bin/sh
+#
+# Generate all the specs and then cycle through building them.
+#
+
+RTEMS_DIR=`dirname $0`
+CFG=./setup.cache
+dst=@RPM_SPECSdir@
+target=@target@
+rpm_cpu=@RPM_CPU@
+
+usage()
+{
+ echo "$0 [options] <target_alias>"
+ echo " options:"
+ echo " -b -- build binutils"
+ echo " -g -- build gcc/newlib"
+ echo " -d -- build gdb"
+ echo " -t -- enable test/debug mode"
+ echo " -cfg <setup.cache>"
+ echo " -o <rpm-spec-dir>"
+ exit 1 ;
+}
+
+testing=no
+do_binutils=no
+do_gccnewlib=no
+do_gdb=no
+
+while test $# -ge 1; do
+ case $1 in
+ -b) do_binutils=yes ; shift;;
+ -g) do_gccnewlib=yes ; shift;;
+ -d) do_gdb=yes ; shift;;
+ -t) do_test=yes ; shift;;
+ -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
+
+if test ${do_binutils} = no -a ${do_gccnewlib} = no -a ${do_gdb} = no ; then
+ echo "You must request building binutils, gcc/newlib, or gdb."
+ usage
+fi
+
+
+# This is the full list .. some may not build at any given time.
+#ALL_TARGETS="i386-rtems m68k-rtems \
+# m68k-rtemself mips-rtems \
+# powerpc-rtems sh-rtems sh-rtemself sparc-rtems"
+
+# This is the full buildable set.
+if [ "X${TARGETS}" = "X" ] ; then
+ # do not include tic4x as primary targets
+ # do not include sh-elf or secondary targets
+ TARGETS="arm-rtems h8300-rtems i386-rtems m68k-rtems \
+ mips-rtems powerpc-rtems sh-rtems sparc-rtems"
+fi
+
+. $CFG
+
+binutils=${binutils_version}
+gcc=${gcc_version}
+gdb=${gdb_version}
+newlib=${newlib_version}
+# also use binutils_rpm_release
+buildroot=/tmp
+
+#
+# Now get started
+#
+start=`date`
+
+echo PATH=$PATH
+
+if [ ${testing} = yes ] ; then
+ ECHO=echo
+fi
+
+installed_count=`rpm -q -g rtems | grep -v "auto" | grep -v "does not contain" | 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}-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/rtems
+ else
+ echo Skipping binutils for ${target}
+ fi
+
+ #
+ # build gcc/newlib
+ #
+
+ if [ ${do_gccnewlib} = yes ] ; then
+ # now build gcc/newlib
+ # NOTE: This requires having binutils installed and we immediately
+ # remove it once finished.
+ base_binutils_rpm=${dst}/../RPMS/${rpm_cpu}/rtems-base-binutils-${binutils}-${binutils_rpm_release}.${rpm_cpu}.rpm
+ binutils_rpm=${dst}/../RPMS/${rpm_cpu}/${target}-binutils-${binutils}-${binutils_rpm_release}.${rpm_cpu}.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}-gccnewlib
+ specfile=${dst}/${target}-gcc-${gcc}-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/rtems
+
+ echo uninstalling binutils for ${target}
+ if [ ${testing} = no ] ; then
+ rpm -e `rpm -qa | grep rtems`
+ rm -rf /opt/rtems/*
+ 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}-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/rtems
+ else
+ echo Skipping gdb for ${target}
+ fi
+
+done
+
+# Now we are done
+
+stop=`date`
+
+echo
+echo "Started: " $start
+echo "Finished: " $stop
+exit 0
diff --git a/scripts/buildalltar.in b/scripts/buildalltar.in
new file mode 100644
index 0000000000..ba78a69d30
--- /dev/null
+++ b/scripts/buildalltar.in
@@ -0,0 +1,348 @@
+#! /bin/sh
+#
+# Generate all the specs and then cycle through building them.
+#
+
+RTEMS_DIR=`dirname $0`
+CFG=./setup.cache
+#dst=/usr/src/redhat/SPECS
+dst=`pwd`
+target=@target@
+rpm_cpu=i386
+
+usage()
+{
+ echo "$0 [options] <target_alias>"
+ echo " options:"
+ echo " -b -- build binutils"
+ echo " -g -- build gcc/newlib"
+ echo " -d -- build gdb"
+ echo " -C HOST -- build canadian cross for HOST "
+ echo " -t -- enable test/debug mode"
+ echo " -cfg <setup.cache>"
+ echo " -o <rpm-spec-dir>"
+ exit 1 ;
+}
+
+#
+# Checks the status returned by executables and exits if it is non-zero.
+#
+check_fatal()
+{
+ if [ $1 -ne 0 ] ; then
+ shift
+ echo "ERROR: $*" >&2
+ exit 1
+ fi
+ #echo
+ #echo "End of $*"
+ #echo -n "Press return to continue> "
+ #echo
+ #read line
+}
+
+testing=no
+do_binutils=no
+do_gccnewlib=no
+do_gdb=no
+cdn_cross=no
+
+while test $# -ge 1; do
+ case $1 in
+ -b) do_binutils=yes ; shift;;
+ -g) do_gccnewlib=yes ; shift;;
+ -d) do_gdb=yes ; shift;;
+ -t) do_test=yes ; shift;;
+ -cfg)
+ test $# -ge 2 || usage
+ shift
+ CFG=$1
+ shift
+ ;;
+ -o)
+ test $# -ge 2 || usage
+ shift
+ dst=$1
+ shift
+ ;;
+ -C)
+ test $# -ge 2 || usage
+ shift
+ build=$1
+ shift
+ if ! test -x ${RTEMS_DIR}/../config.guess ; then
+ echo "Missing ${RTEMS_DIR}/../config.guess!"
+ exit 1
+ fi
+ CDN_ARGS="--build=`${RTEMS_DIR}/../config.guess` --host=${build}"
+ cdn_cross=yes
+ ;;
+ -*)
+ echo "invalid option $1";
+ usage
+ ;;
+ *)
+ TARGETS="${TARGETS} $1"
+ shift
+ ;;
+ esac
+done
+
+if test ${do_binutils} = no -a ${do_gccnewlib} = no -a ${do_gdb} = no ; then
+ echo "You must request building binutils, gcc/newlib, or gdb."
+ usage
+fi
+
+
+# This is the full list .. some may not build at any given time.
+#ALL_TARGETS="i386-rtems m68k-rtems \
+# m68k-rtemself mips-rtems \
+# powerpc-rtems sh-rtems sh-rtemself sparc-rtems"
+
+# This is the full buildable set.
+if [ "X${TARGETS}" = "X" ] ; then
+ # do not include tic4x as primary targets
+ # do not include sh-elf or secondary targets
+ TARGETS="arm-rtems h8300-rtems i386-rtems \
+ m68k-rtems mips-rtems powerpc-rtems \
+ sh-rtems sh-rtemself sparc-rtems"
+fi
+
+. $CFG
+
+# override the one from $CFG since it likely has a % in it to use the
+# .rpmrc setting which we can't use
+rpm_build_root=${HOME}/tmp
+
+binutils=${binutils_version}
+gcc=${gcc3_version}
+gdb=${gdb_version}
+newlib=${gcc3newlib_version}
+# also use binutils_rpm_release
+
+#
+# Now get started
+#
+start=`date`
+
+echo PATH=$PATH
+
+if [ ${testing} = yes ] ; then
+ ECHO=echo
+fi
+
+#installed_count=`rpm -q -g 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
+
+#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
+
+if [ "X${rpm_build_root}" = "X" ] ; then
+ echo rpm_build_root NOT set!
+ exit 1
+fi
+
+CWD=`pwd`
+test -d tarballs || mkdir tarballs
+
+OUT=${CWD}/tarballs
+
+# do all the tools
+for target in ${TARGETS}
+do
+ bintarfile=${OUT}/${target}-binutils-${binutils}-${binutils_rpm_release}.tar
+ if [ ${do_binutils} = yes ] ; then
+ logfile=${CWD}/log/${target}-binutils
+ # this part is for tar.bz2
+ cd ${CWD}
+ if [ ! -d binutils-${binutils} ] ; then
+ echo Could not find binutils-${binutils}!
+ exit 1
+ fi
+ rm -rf b-${target}-bin
+ mkdir b-${target}-bin
+ cd b-${target}-bin
+ echo "Building binutils-${binutils} for ${target}"
+ ../binutils-${binutils}/configure ${CDN_ARGS} --target=${target} \
+ --verbose --prefix=/opt/rtems >${logfile} 2>&1
+ check_fatal $? "binutils configure"
+
+ make all >>${logfile} 2>&1
+ check_fatal $? "make all"
+
+ make info >>${logfile} 2>&1
+ check_fatal $? "make info"
+
+ make prefix=${rpm_build_root}/opt/rtems install >>${logfile} 2>&1
+ check_fatal $? "make install"
+
+ make prefix=${rpm_build_root}/opt/rtems install-info >>${logfile} 2>&1
+ check_fatal $? "make install-info"
+
+ cd ${rpm_build_root}
+ tar cjf ${bintarfile}.bz2 opt
+ cd ${CWD}
+ rm -rf b-${target}-bin
+ ${ECHO} rm -rf ${rpm_build_root}/opt
+ rm -rf ${rpm_build_root}/opt
+ else
+ echo Skipping binutils for ${target}
+ fi
+
+ #
+ # build gcc/newlib
+ #
+
+ if [ ${do_gccnewlib} = yes ] ; then
+ logfile=${CWD}/log/${target}-gccnewlib
+ # now build gcc/newlib
+ # this part is for tar.bz2
+
+ gcctarfile=${OUT}/${target}-gcc-${gcc}-newlib-${newlib}-${gccnewlib_rpm_release}.tar
+ if [ ${cdn_cross} = "no" ] ; then
+ bintarfile=${dst}/binaries/binutils-${binutils}-${binutils_rpm_release}/${target}-binutils-${binutils}-${binutils_rpm_release}.tar
+ rm -rf ${rpm_build_root}/opt/*
+ tar xjf ${bintarfile}.bz2
+ fi
+
+ cd ${CWD}
+ if [ ! -d gcc-${gcc} ] ; then
+ echo Could not find gcc-${gcc}!
+ exit 1
+ fi
+ if [ ! -d gcc-${gcc}/newlib ] ; then
+ echo Could not find gcc-${gcc}/newlib!
+ exit 1
+ fi
+ rm -rf b-${target}-gccnewlib
+ mkdir b-${target}-gccnewlib
+ cd b-${target}-gccnewlib
+ echo "Building gcc-${gcc} for ${target}"
+ ../gcc-${gcc}/configure ${CDN_ARGS} --target=${target} \
+ --with-gnu-as --with-gnu-ld --with-newlib --verbose \
+ --with-system-zlib --disable-nls \
+ --enable-version-specific-runtime-libs \
+ --enable-threads=rtems \
+ --prefix=/opt/rtems '--enable-languages=c,c++' >${logfile} 2>&1
+ check_fatal $? "gcc configure"
+
+ make all >>${logfile} 2>&1
+ check_fatal $? "make all"
+
+ make info >>${logfile} 2>&1
+ check_fatal $? "make info"
+
+ make prefix=${rpm_build_root}/opt/rtems install >>${logfile} 2>&1
+ check_fatal $? "make install"
+
+ cd ${target}/newlib
+ make prefix=${rpm_build_root}/opt/rtems install-info >>${logfile} 2>&1
+ check_fatal $? "newlib make install-info"
+
+ cd ${rpm_build_root}
+ tar cjf ${gcctarfile}.bz2 opt
+ cd ${CWD}
+ rm -rf ${rpm_build_root}/opt
+ rm -rf ${rpm_build_root}/opt/rtems
+ rm -rf b-${target}-gccnewlib
+ else
+ echo Skipping gcc/newlib for ${target}
+ fi
+
+ #
+ # build gdb
+ #
+
+ if [ ${do_gdb} = yes ] ; then
+ # now build gdb
+ gdbtarfile=${OUT}/${target}-gdb-${gdb}-${gdb_rpm_release}.tar
+ logfile=${CWD}/log/${target}-gdb
+
+ # this part is for tar.bz2
+
+ if [ ! -d gdb-${gdb} ] ; then
+ echo Could not find gdb-${gdb}!
+ exit 1
+ fi
+ mkdir b-${target}-gdb
+ cd b-${target}-gdb
+ case ${target} in
+ arm* | d10v* | d30v* | erc32* | fr30* | h8300* | h8500* | \
+ m32r* | mcore* | mips* | mn10200* | mn10300* | sh* | sparc*| v850* | \
+ w65* | z8k*)
+ extra_configure_arguments="--enable-sim"
+ ;;
+ powerpc*)
+ extra_configure_arguments="--enable-sim --enable-sim-powerpc --enable-sim-timebase --enable-sim-hardware"
+ # Enabling this causes the program image to be huge and causes
+ # some gcc/hosts combinations to run out of memory.
+ # --enable-sim-inline
+ ;;
+ *)
+ ;;
+esac
+ echo "Building gdb-${gdb}/configure ${CDN_ARGS} --target=${target}"
+ ../gdb-${gdb}/configure ${CDN_ARGS} --target=${target} \
+ ${extra_configure_arguments} --verbose --prefix=/opt/rtems >${logfile} 2>&1
+ check_fatal $? "make info"
+
+ make all >>${logfile} 2>&1
+ check_fatal $? "make all"
+
+ make info >>${logfile} 2>&1
+ check_fatal $? "make info"
+
+ make prefix=${rpm_build_root}/opt/rtems install >>${logfile} 2>&1
+ check_fatal $? "make install"
+
+ make prefix=${rpm_build_root}/opt/rtems install-info >>${logfile} 2>&1
+ check_fatal $? "make install-info"
+
+ cd ${rpm_build_root}
+ tar cjf ${gdbtarfile}.bz2 opt
+ cd ${CWD}
+ ${ECHO} rm -rf ${rpm_build_root}/opt
+ rm -rf ${rpm_build_root}/opt/rtems
+ rm -rf b-${target}-gdb
+ else
+ echo Skipping gdb for ${target}
+ fi
+
+done
+
+# Now we are done
+
+stop=`date`
+
+echo
+echo "Started: " $start
+echo "Finished: " $stop
+exit 0
diff --git a/scripts/common/.cvsignore b/scripts/common/.cvsignore
new file mode 100644
index 0000000000..126f7e25d7
--- /dev/null
+++ b/scripts/common/.cvsignore
@@ -0,0 +1 @@
+*.add
diff --git a/scripts/common/clean.add.in b/scripts/common/clean.add.in
new file mode 100644
index 0000000000..476559051e
--- /dev/null
+++ b/scripts/common/clean.add.in
@@ -0,0 +1,3 @@
+%clean
+ rm -rf $RPM_BUILD_ROOT
+
diff --git a/scripts/common/common.add.in b/scripts/common/common.add.in
new file mode 100644
index 0000000000..9a09d90266
--- /dev/null
+++ b/scripts/common/common.add.in
@@ -0,0 +1,25 @@
+#
+# Please send bugfixes or comments to
+# http://www.rtems.com/cgi-bin/gnatweb.pl
+# or mailto:@PACKAGE_BUGREPORT@
+#
+
+%define _prefix @prefix@
+%if "%{_prefix}" != "/usr"
+%define _infodir %{_prefix}/info
+%define _mandir %{_prefix}/man
+%endif
+
+%define rpmgroup @rpmgroup@
+
+%ifos cygwin cygwin32
+%define _exeext .exe
+%else
+%define _exeext %{nil}
+%endif
+
+# Work around to a bug in rpm-4.2
+%define __os_install_post %{nil}
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
diff --git a/scripts/common/common.am b/scripts/common/common.am
new file mode 100644
index 0000000000..a1c6b651a2
--- /dev/null
+++ b/scripts/common/common.am
@@ -0,0 +1,4 @@
+$(top_builddir)/common/common.add: $(top_builddir)/config.status $(top_srcdir)/common/common.add.in
+ cd $(top_builddir) && $(SHELL) ./config.status common/common.add
+$(top_builddir)/common/clean.add: $(top_builddir)/config.status $(top_srcdir)/common/clean.add.in
+ cd $(top_builddir) && $(SHELL) ./config.status common/clean.add
diff --git a/scripts/configure.ac b/scripts/configure.ac
new file mode 100644
index 0000000000..9d09e36fcf
--- /dev/null
+++ b/scripts/configure.ac
@@ -0,0 +1,89 @@
+## $Id$
+
+AC_PREREQ(2.59)
+AC_INIT([rtems-scripts],[_RTEMS_VERSION],[rtems-bugs@rtems.com])
+AC_CONFIG_SRCDIR([binutils])
+RTEMS_TOP([..])
+
+AM_INIT_AUTOMAKE([no-define foreign 1.9])
+
+AC_CANONICAL_HOST
+
+test -f ./setup.cache || cp ${srcdir}/setup.def ./setup.cache
+. ./setup.cache
+
+RTEMS_ENABLE_RPMPREFIX
+
+AC_MSG_CHECKING(for rpm SPECS directory)
+# Allow users to override RPM_SPECSdir from the environment.
+if test -z "$RPM_SPECSdir" ;
+then
+# SuSE uses /usr/src/packages
+# redhat uses /usr/src/redhat
+# MDK is reported to use /usr/src/RPM
+# others might use /usr/src
+ rpmpath="/usr:/usr/local"
+ rpmdirs="src/packages:src/redhat:src/RPM:src"
+ save_IFS="$IFS"; IFS=":"
+ for d in $rpmdirs; do
+ for p in $rpmpath; do
+ list="$p/$d:$list"
+ done
+ done
+ for d in $list; do
+ if test -d $d/SPECS; then
+ RPM_SPECSdir="$d/SPECS";
+ break;
+ fi
+ done
+ IFS="$save_IFS"
+fi
+
+if test x"$RPM_SPECSdir" = x"" ; then
+AC_MSG_ERROR([not found])
+fi
+AC_MSG_RESULT($RPM_SPECSdir)
+AC_SUBST(RPM_SPECSdir)
+
+AC_MSG_CHECKING(for RPM CPU type)
+case "$host" in
+ i?86-*linux*) RPM_CPU=i386 ;;
+ i?86-*cygwin*) RPM_CPU=i386 ;;
+ sparc-*solaris*) RPM_CPU=sparc ;;
+ *)
+ AC_MSG_ERROR([RPM CPU for ${host} is unknown])
+ ;;
+esac
+AC_MSG_RESULT($RPM_CPU)
+
+BSPVERS="${rtems_version}"
+AC_SUBST(RTEMS_VERSION,[_RTEMS_VERSION])
+AC_SUBST(BSPVERS)
+AC_SUBST(RPM_CPU)
+AC_SUBST(rpmprefix,$rpmprefix)
+AC_SUBST(rpmgroup,[RTEMS/][RTEMS_API])
+AC_SUBST(RTEMS_RPM_RELEASE,$rtems_rpm_release)
+AC_SUBST(osversion,$osversion)
+AC_CONFIG_FILES([Makefile
+binutils/Makefile
+gccnewlib/Makefile
+gdb/Makefile
+rtems/Makefile
+autotools/Makefile
+cpukit/Makefile
+rtemsdoc/Makefile
+])
+
+AC_CONFIG_FILES([common/common.add common/clean.add])
+AC_CONFIG_FILES([buildalltar],[chmod +x buildalltar])
+AC_CONFIG_FILES([buildall],[chmod +x buildall])
+AC_CONFIG_FILES([gdb/mkspec],[chmod +x gdb/mkspec])
+AC_CONFIG_FILES([binutils/mkspec],[chmod +x binutils/mkspec])
+AC_CONFIG_FILES([gccnewlib/mkspec],[chmod +x gccnewlib/mkspec])
+AC_CONFIG_FILES([cpukit/mkspec],[chmod +x cpukit/mkspec])
+AC_CONFIG_FILES([rtems/mkspec],[chmod +x rtems/mkspec])
+
+AC_CONFIG_COMMANDS([default],[[chmod 755 buildall
+chmod 755 buildalltar
+]],[[]])
+AC_OUTPUT
diff --git a/scripts/cpukit/.cvsignore b/scripts/cpukit/.cvsignore
new file mode 100644
index 0000000000..dda2e8fd09
--- /dev/null
+++ b/scripts/cpukit/.cvsignore
@@ -0,0 +1,5 @@
+*.spec
+Makefile
+Makefile.in
+mkspec
+*.spec.in
diff --git a/scripts/cpukit/Makefile.am b/scripts/cpukit/Makefile.am
new file mode 100644
index 0000000000..4c6ac14225
--- /dev/null
+++ b/scripts/cpukit/Makefile.am
@@ -0,0 +1,57 @@
+##
+## $Id$
+##
+
+include $(top_srcdir)/common/common.am
+
+MKSPEC = $(SHELL) ./mkspec
+
+SUBPACKAGES = header.add
+SUBPACKAGES += $(top_builddir)/common/common.add
+SUBPACKAGES += rtems-cpukit.add
+SUBPACKAGES += $(top_builddir)/common/clean.add
+SUBPACKAGES += target-cpukit.add
+
+MKSPEC_DEPS = mkspec rtems-cpukit.spec.in $(top_builddir)/setup.cache
+
+rtems-cpukit.spec.in: $(SUBPACKAGES)
+ cat $^ > $@
+CLEANFILES = rtems-cpukit.spec.in
+
+@rpmprefix@h8300-rtems@osversion@-cpukit.spec: $(MKSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache -o . h8300-rtems@osversion@ > $@
+RPM_SPECS_DATA = @rpmprefix@h8300-rtems@osversion@-cpukit.spec
+
+@rpmprefix@i386-rtems@osversion@-cpukit.spec: $(MKSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache -o . i386-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@i386-rtems@osversion@-cpukit.spec
+
+@rpmprefix@m68k-rtems@osversion@-cpukit.spec: $(MKSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache -o . m68k-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@m68k-rtems@osversion@-cpukit.spec
+
+@rpmprefix@mips-rtems@osversion@-cpukit.spec: $(MKSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache -o . mips-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@mips-rtems@osversion@-cpukit.spec
+
+@rpmprefix@powerpc-rtems@osversion@-cpukit.spec: $(MKSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache -o . powerpc-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@powerpc-rtems@osversion@-cpukit.spec
+
+@rpmprefix@sh-rtems@osversion@-cpukit.spec: $(MKSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache -o . sh-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@sh-rtems@osversion@-cpukit.spec
+
+@rpmprefix@sparc-rtems@osversion@-cpukit.spec: $(MKSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@sparc-rtems@osversion@-cpukit.spec
+
+@rpmprefix@tic4x-rtems@osversion@-cpukit.spec: $(MKSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache -o . tic4x-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@tic4x-rtems@osversion@-cpukit.spec
+
+EXTRA_DIST = $(SUBPACKAGES)
+
+CLEANFILES += $(RPM_SPECS_DATA)
+
+include $(top_srcdir)/../automake/local.am
diff --git a/scripts/cpukit/header.add b/scripts/cpukit/header.add
new file mode 100644
index 0000000000..ab6bc693e0
--- /dev/null
+++ b/scripts/cpukit/header.add
@@ -0,0 +1,4 @@
+#
+# spec file for package rtems-cpukit
+#
+# Copyright (c) 2002 Ralf Corsepius, Ulm, Germany
diff --git a/scripts/cpukit/mkspec.in b/scripts/cpukit/mkspec.in
new file mode 100644
index 0000000000..abc0be969e
--- /dev/null
+++ b/scripts/cpukit/mkspec.in
@@ -0,0 +1,55 @@
+#! /bin/sh
+
+RTEMS_DIR=`dirname $0`/@top_srcdir@
+RTEMS_VERSION=@VERSION@
+RPM_VERSION=`echo ${RTEMS_VERSION} | tr - _`
+
+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 3; do
+case $1 in
+-cfg)
+ shift
+ CFG=$1
+ shift
+ ;;
+-o)
+ shift
+ dst=$1
+ shift
+ ;;
+-*)
+ echo "invalid option $1";
+ usage
+ ;;
+esac
+done
+
+if test ! $# -eq 1;
+then
+ echo "Invalid number of arguments" >&2
+ usage >&2
+fi
+
+# target to build for
+target_alias=$1
+
+. ./$CFG
+
+sed -e "s%@Release\@%${rtems_rpm_release}%g" \
+ -e "s%@rtems_version\@%${RTEMS_VERSION}%g" \
+ -e "s%@rpmgroup\@%@rpmgroup@%g" \
+ -e "s,@rpmprefix\@,@rpmprefix@,g" \
+ -e "s%@osversion\@%@osversion@%g" \
+ -e "s%@target_alias\@%${target_alias}%g" \
+< ${RTEMS_DIR}/cpukit/rtems-cpukit.spec.in
diff --git a/scripts/cpukit/rtems-cpukit.add b/scripts/cpukit/rtems-cpukit.add
new file mode 100644
index 0000000000..4a3b58bf08
--- /dev/null
+++ b/scripts/cpukit/rtems-cpukit.add
@@ -0,0 +1,71 @@
+%define rtems_version @rtems_version@
+%define rtems_target @target_alias@
+%define rpmvers %{expand: %%(echo %rtems_version | tr - _ )}
+
+Name: @rpmprefix@@target_alias@-cpukit
+Release: @Release@
+License: Various, Open Source.
+Group: %{rpmgroup}
+
+Packager: ralf.corsepius@rtems.org and joel@OARcorp.com
+BuildRequires: @rpmprefix@%{rtems_target}-binutils
+BuildRequires: @rpmprefix@%{rtems_target}-gcc
+
+Requires: @rpmprefix@%{rtems_target}-binutils
+Requires: @rpmprefix@%{rtems_target}-gcc
+
+# These are target libs, arch doesn't matter for the host
+BuildArch: noarch
+
+Version: %{rpmvers}
+Summary: A free operating system for embedded systems
+Source: ftp://ftp.rtems.org/pub/rtems/%{version}/rtems-%{rtems_version}.tar.bz2
+
+#
+# The original sources are not included in the source RPM.
+# If we included them, then the source RPMs for each target
+# would duplicate MBs of source unnecessarily. This is
+# a duplication of over 30 MBs of source for each of
+# the more than 10 targets it is possible to build.
+#
+# You can get them yourself from the Internet and copy them to
+# your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR).
+# Or you can try the ftp options of rpm :-)
+#
+%{?!_with_sources:NoSource: 0}
+
+%description
+RTEMS is a free operating system for embedded systems.
+
+This package contains the cpukit for cpu %{rtems_target}.
+
+%prep
+%setup -c -T -n %{name}-%{version} -a0
+ mkdir -p build
+
+%build
+ cd build
+
+ ../rtems-%{rtems_version}/configure \
+ --prefix=%{_prefix} \
+ --target=%{rtems_target} \
+ --enable-multilib \
+ --disable-rtemsbsp \
+ --disable-tests \
+ --disable-deprecated
+ make RTEMS_BSP=
+
+%install
+ rm -rf $RPM_BUILD_ROOT
+
+ cd build
+ make RTEMS_BSP= DESTDIR=${RPM_BUILD_ROOT} install
+
+ # For the moment, we don't want these man pages
+ rm -rf ${RPM_BUILD_ROOT}%{_prefix}/man
+
+ # Obsolete and currently broken
+ rm -rf ${RPM_BUILD_ROOT}%{_prefix}/make
+
+ # host tools
+ rm -rf ${RPM_BUILD_ROOT}%{_prefix}/bin
diff --git a/scripts/cpukit/target-cpukit.add b/scripts/cpukit/target-cpukit.add
new file mode 100644
index 0000000000..13be0841bb
--- /dev/null
+++ b/scripts/cpukit/target-cpukit.add
@@ -0,0 +1,10 @@
+# ==============================================================
+# @target_alias@-cpukit
+# ==============================================================
+# %package -n @rpmprefix@@target_alias@-cpukit
+# Summary: rtems cpukit for @target_alias@
+# Group: %{rpmgroup}
+# Requires: @rpmprefix@@target_alias@-gcc
+
+%files
+%{_prefix}/%{rtems_target}
diff --git a/scripts/gccnewlib/.cvsignore b/scripts/gccnewlib/.cvsignore
new file mode 100644
index 0000000000..ebade4dc78
--- /dev/null
+++ b/scripts/gccnewlib/.cvsignore
@@ -0,0 +1,8 @@
+*.spec
+Makefile
+Makefile.in
+gccnewlib.spec
+gccnewlib.spec.in
+gccnewlib_c_only.spec
+gccnewlib_c_only.spec.in
+mkspec
diff --git a/scripts/gccnewlib/Makefile.am b/scripts/gccnewlib/Makefile.am
new file mode 100644
index 0000000000..32e139c594
--- /dev/null
+++ b/scripts/gccnewlib/Makefile.am
@@ -0,0 +1,84 @@
+##
+## $Id$
+##
+
+include $(top_srcdir)/common/common.am
+
+MKSPEC = $(SHELL) ./mkspec
+
+SUBPACKAGES = header.add
+SUBPACKAGES += $(top_builddir)/common/common.add
+SUBPACKAGES += gccnewlib.add
+SUBPACKAGES += $(top_builddir)/common/clean.add
+SUBPACKAGES += target-gcc.add base-gcc.add
+SUBPACKAGES += target-g77.add base-g77.add
+SUBPACKAGES += target-gcj.add base-gcj.add
+SUBPACKAGES += target-gfortran.add base-gfortran.add
+SUBPACKAGES += target-objc.add
+SUBPACKAGES += target-c++.add
+SUBPACKAGES += target-gnat.add base-gnat.add
+SUBPACKAGES += target-libc.add
+
+noinst_DATA = gccnewlib.spec.in
+
+gccnewlib.spec.in: $(SUBPACKAGES)
+ cat $^ > $@
+CLEANFILES = gccnewlib.spec.in
+
+MKGCCNEWLIBSPEC_DEPS = mkspec gccnewlib.spec.in $(top_builddir)/setup.cache
+
+RPM_SPECS_DATA =
+
+@rpmprefix@arm-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache arm-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@arm-rtems@osversion@-gcc-newlib.spec
+
+@rpmprefix@avr-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache avr-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@avr-rtems@osversion@-gcc-newlib.spec
+
+@rpmprefix@h8300-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache h8300-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@h8300-rtems@osversion@-gcc-newlib.spec
+
+@rpmprefix@i386-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache i386-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@i386-rtems@osversion@-gcc-newlib.spec
+
+@rpmprefix@m68k-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache m68k-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@m68k-rtems@osversion@-gcc-newlib.spec
+
+@rpmprefix@mips-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache mips-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@mips-rtems@osversion@-gcc-newlib.spec
+
+@rpmprefix@mips64-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache mips64-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@mips64-rtems@osversion@-gcc-newlib.spec
+
+@rpmprefix@powerpc-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache powerpc-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@powerpc-rtems@osversion@-gcc-newlib.spec
+
+@rpmprefix@sh-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache sh-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@sh-rtems@osversion@-gcc-newlib.spec
+
+@rpmprefix@sh-rtemscoff@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache sh-rtemscoff@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@sh-rtemscoff@osversion@-gcc-newlib.spec
+
+@rpmprefix@sparc-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache sparc-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@sparc-rtems@osversion@-gcc-newlib.spec
+
+@rpmprefix@tic4x-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache tic4x-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@tic4x-rtems@osversion@-gcc-newlib.spec
+
+CLEANFILES += $(RPM_SPECS_DATA)
+
+EXTRA_DIST = $(SUBPACKAGES)
+
+include $(top_srcdir)/../automake/local.am
diff --git a/scripts/gccnewlib/README b/scripts/gccnewlib/README
new file mode 100644
index 0000000000..db158b93c2
--- /dev/null
+++ b/scripts/gccnewlib/README
@@ -0,0 +1,8 @@
+#
+# $Id$
+#
+
+This directory contains RPM-spec file fragments (*.add) which are used to
+compose the toolchain specs.
+
+Cf. Makefile.am for details on how the toolchain specs get composed.
diff --git a/scripts/gccnewlib/base-g77.add b/scripts/gccnewlib/base-g77.add
new file mode 100644
index 0000000000..eda925a998
--- /dev/null
+++ b/scripts/gccnewlib/base-g77.add
@@ -0,0 +1,35 @@
+%if "%{_prefix}" != "/usr"
+%if %build_g77
+# ==============================================================
+# rtems-base-g77
+# ==============================================================
+%package -n @rpmprefix@rtems@osversion@-base-g77
+Summary: rtems base package for gcc/g77 compiler
+Group: %{rpmgroup}
+Version: %{gcc_version}
+License: GPL
+
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+
+%description -n @rpmprefix@rtems@osversion@-base-g77
+RTEMS is an open source operating system for embedded systems.
+
+This is the files for gcc/g77 that are shared by all targets.
+
+%files -n @rpmprefix@rtems@osversion@-base-g77
+%defattr(-,root,root)
+%dir %{_infodir}
+%ghost %{_infodir}/dir
+%{_infodir}/g77.info*.gz
+
+%post -n @rpmprefix@rtems@osversion@-base-g77
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/g77.info.gz
+
+%preun -n @rpmprefix@rtems@osversion@-base-g77
+if [ $1 -eq 0 ]; then
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/g77.info.gz
+fi
+
+%endif
+%endif
diff --git a/scripts/gccnewlib/base-gcc.add b/scripts/gccnewlib/base-gcc.add
new file mode 100644
index 0000000000..b7be73ce7e
--- /dev/null
+++ b/scripts/gccnewlib/base-gcc.add
@@ -0,0 +1,69 @@
+%if "%{_prefix}" != "/usr"
+# ==============================================================
+# @rpmprefix@rtems@osversion@-base-gcc
+# ==============================================================
+%package -n @rpmprefix@rtems@osversion@-base-gcc
+Summary: base package for rtems gcc and newlib C Library
+Group: %{rpmgroup}
+Version: %{gcc_version}
+License: GPL
+
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+
+%description -n @rpmprefix@rtems@osversion@-base-gcc
+
+RTEMS is an open source operating system for embedded systems.
+
+This is the files for gcc and newlib that are shared by all targets.
+
+%files -n @rpmprefix@rtems@osversion@-base-gcc
+%defattr(-,root,root)
+%dir %{_infodir}
+%ghost %{_infodir}/dir
+%{_infodir}/cpp.info*
+%{_infodir}/cppinternals.info*
+%{_infodir}/gcc.info*
+%{_infodir}/libc.info*
+%{_infodir}/libm.info*
+%{_infodir}/gccint.info*
+%if "%{gcc_version}" >= "3.4"
+%{_infodir}/gccinstall.info*
+%endif
+
+%dir %{_mandir}
+%if "%{gcc_version}" < "3.4"
+%dir %{_mandir}/man1
+%{_mandir}/man1/cpp.1*
+%{_mandir}/man1/gcov.1*
+%endif
+%dir %{_mandir}/man7
+%{_mandir}/man7/fsf-funding.7*
+%{_mandir}/man7/gfdl.7*
+%{_mandir}/man7/gpl.7*
+
+%post -n @rpmprefix@rtems@osversion@-base-gcc
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cpp.info.gz
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gcc.info.gz
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccint.info.gz
+%if "%{gcc_version}" >= "3.4"
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz
+%endif
+
+%preun -n @rpmprefix@rtems@osversion@-base-gcc
+if [ $1 -eq 0 ]; then
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cpp.info.gz
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gcc.info.gz
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccint.info.gz
+%if "%{gcc_version}" >= "3.4"
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz
+%endif
+fi
+
+%endif
diff --git a/scripts/gccnewlib/base-gcj.add b/scripts/gccnewlib/base-gcj.add
new file mode 100644
index 0000000000..7cc06ce293
--- /dev/null
+++ b/scripts/gccnewlib/base-gcj.add
@@ -0,0 +1,68 @@
+%if "%{_prefix}" != "/usr"
+%if %build_gcj
+# ==============================================================
+# rtems-base-gcj
+# ==============================================================
+%package -n @rpmprefix@rtems@osversion@-base-gcj
+Summary: base package for rtems gcc/java compiler (gcj).
+Group: %{rpmgroup}
+Version: %{gcc_version}
+License: GPL
+
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+
+%description -n @rpmprefix@rtems@osversion@-base-gcj
+RTEMS is an open source operating system for embedded systems.
+
+This is the files for gcc/java (gcj) that are shared by all targets.
+
+%files -n @rpmprefix@rtems@osversion@-base-gcj
+%defattr(-,root,root)
+%if "%{gcc_version}" <= "3.4"
+%dir %{_bindir}
+%{_bindir}/jar%{_exeext}
+%{_bindir}/grepjar%{_exeext}
+%endif
+
+%dir %{_infodir}
+%ghost %{_infodir}/dir
+%{_infodir}/gcj.info*
+%if "%{gcc_version}" >= "3.3"
+%{_infodir}/fastjar.info*
+%endif
+
+%if "%{gcc_version}" < "4.0"
+%if "%{gcc_version}" >= "3.3"
+%dir %{_mandir}
+%dir %{_mandir}/man1
+%{_mandir}/man1/gcjh.1*
+%{_mandir}/man1/jv-scan.1*
+%{_mandir}/man1/jcf-dump.1*
+%{_mandir}/man1/gij.1*
+%{_mandir}/man1/jv-convert.1*
+%{_mandir}/man1/rmic.1*
+%{_mandir}/man1/rmiregistry.1*
+%{_mandir}/man1/jar.1*
+%{_mandir}/man1/grepjar.1*
+%endif
+%endif
+
+%post -n @rpmprefix@rtems@osversion@-base-gcj
+/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gcj.info*
+
+%if "%{gcc_version}" >= "3.3"
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/fastjar.info*
+%endif
+
+%preun -n @rpmprefix@rtems@osversion@-base-gcj
+if [ $1 -eq 0 ]; then
+/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gcj.info*
+
+%if "%{gcc_version}" >= "3.3"
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/fastjar.info*
+%endif
+fi
+
+%endif
+%endif
diff --git a/scripts/gccnewlib/base-gfortran.add b/scripts/gccnewlib/base-gfortran.add
new file mode 100644
index 0000000000..4c9d4f5cea
--- /dev/null
+++ b/scripts/gccnewlib/base-gfortran.add
@@ -0,0 +1,34 @@
+%if "%{_prefix}" != "/usr"
+%if %build_f95
+# ==============================================================
+# rtems-base-gfortran
+# ==============================================================
+%package -n @rpmprefix@rtems@osversion@-base-gfortran
+Summary: rtems base package for gcc/gfortran compiler
+Group: %{rpmgroup}
+License: GPL
+
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+
+%description -n @rpmprefix@rtems@osversion@-base-gfortran
+RTEMS is an open source operating system for embedded systems.
+
+This is the files for gcc/gfortran that are shared by all targets.
+
+%files -n @rpmprefix@rtems@osversion@-base-gfortran
+%defattr(-,root,root)
+%dir %{_infodir}
+%ghost %{_infodir}/dir
+%{_infodir}/gfortran.info*.gz
+
+%post -n @rpmprefix@rtems@osversion@-base-gfortran
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz
+
+%preun -n @rpmprefix@rtems@osversion@-base-gfortran
+if [ $1 -eq 0 ]; then
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz
+fi
+
+%endif
+%endif
diff --git a/scripts/gccnewlib/base-gnat.add b/scripts/gccnewlib/base-gnat.add
new file mode 100644
index 0000000000..769f68ac9f
--- /dev/null
+++ b/scripts/gccnewlib/base-gnat.add
@@ -0,0 +1,40 @@
+%if "%{_prefix}" != "/usr"
+%if %build_gnat
+# ==============================================================
+# rtems-base-gnat
+# ==============================================================
+%package -n @rpmprefix@rtems@osversion@-base-gnat
+Summary: gcc/gnat tools
+Group: %{rpmgroup}
+License: GPL
+
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+
+%description -n @rpmprefix@rtems@osversion@-base-gnat
+RTEMS is an open source operating system for embedded systems.
+
+This is the gcc/gnat tools for the gcc/gnat compiler
+
+%files -n @rpmprefix@rtems@osversion@-base-gnat
+%defattr(-,root,root)
+%dir %{_bindir}
+%{_bindir}/vxaddr2line%{_exeext}
+
+%dir %{_infodir}
+%ghost %{_infodir}/dir
+%{_infodir}/gnat*
+
+%post -n @rpmprefix@rtems@osversion@-base-gnat
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gnat_ugn_unw.info.gz
+
+%preun -n @rpmprefix@rtems@osversion@-base-gnat
+if [ $1 -eq 0 ]; then
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gnat_ugn_unw.info.gz
+fi
+%endif
+%endif
diff --git a/scripts/gccnewlib/gccnewlib.add b/scripts/gccnewlib/gccnewlib.add
new file mode 100644
index 0000000000..9980beb721
--- /dev/null
+++ b/scripts/gccnewlib/gccnewlib.add
@@ -0,0 +1,404 @@
+
+%define gcc_version @gcc_version@
+%define newlib_version @newlib_version@
+%define gccnewlib_version gcc%{gcc_version}newlib%{newlib_version}
+
+%define gcc_target @target_alias@
+
+Release: @Release@
+Version: %{gccnewlib_version}
+
+Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}/gcc-%{gcc_version}@gcc_suffix@
+Source1: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_version}@newlib_suffix@
+@PATCH0@
+@PATCH1@
+Source98: brp-rtems-strip.in
+Source99: brp-rtems-compress.in
+
+%define __os_install_post ./brp-rtems-compress && ./brp-rtems-strip
+
+BuildRequires: texinfo >= 4.2
+BuildRequires: @rpmprefix@%{gcc_target}-binutils
+
+Name: @rpmprefix@%{gcc_target}-gcc-newlib
+Summary: gcc and newlib C Library for %{gcc_target}.
+Group: %{rpmgroup}
+License: gcc is GPL/LGPL ; newlib no has restrictions on run-time usage
+
+#
+# The original sources are not included in the source RPM.
+# If we included them, then the source RPMs for each target
+# would duplicate MBs of source unnecessarily. This is
+# a duplication of over 30 MBs of source for each of
+# the more than 10 targets it is possible to build.
+#
+# You can get them yourself from the Internet and copy them to
+# your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR).
+# Or you can try the ftp options of rpm :-)
+#
+%{?!_with_sources:NoSource: 0}
+%{?!_with_sources:NoSource: 1}
+
+%description
+RTEMS is an open source operating system for embedded systems.
+
+This is gcc for %{gcc_target}.
+
+
+# default languages to build
+%define _cxx 1
+%define _fortran 0
+%define _gcj 0
+%define _gnat 0
+%define _objc 0
+%define _libgcj 0
+
+
+# custom defaults for specific targets
+%if "%{gcc_target}" == "arm-rtems@osversion@"
+# Gnat lacks arm support
+%define _gnat 0
+%endif
+
+%if "%{gcc_target}" == "avr-rtems@osversion@"
+%define _cxx 0
+%define _fortran 0
+%define _gcj 0
+%define _gnat 0
+%endif
+
+%if "%{gcc_target}" == "h8300-rtems@osversion@"
+%define _fortran 0
+%define _gcj 0
+%define _gnat 0
+%endif
+
+%if "%{gcc_target}" == "sh-rtems@osversion@"
+# Triggers an ICE in GCC-4.0.0
+%define _gnat 0
+%endif
+
+%if "%{gcc_target}" == "tic4x-rtems@osversion@"
+%define _cxx 0
+%define _gnat 0
+%define _gcj 0
+%define _fortran 0
+%endif
+
+
+# Allow the user to build arbitrary languages
+%{?_with_cxx:%define _cxx 1}
+%{?_with_fortran:%define _fortran 1}
+%{?_with_gcj:%define _gcj 1}
+%{?_with_gnat:%define _gnat 1}
+%{?_with_objc:%define _objc 1}
+%{?_with_libgcj:%define _libgcj 1}
+
+# Allow the user to suppress building languages
+%{?_without_cxx:%define _cxx 0}
+%{?_without_fortran:%define _fortran 0}
+%{?_without_gcj:%define _gcj 0}
+%{?_without_gnat:%define _gnat 0}
+%{?_without_objc:%define _objc 0}
+%{?_without_libgcj:%define _libgcj 0}
+
+%define build_cxx %_cxx
+%if "%{gcc_version}" >= "4.0.0"
+%define build_f95 %_fortran
+%define build_g77 0
+%else
+%define build_f95 0
+%define build_g77 %_fortran
+%endif
+%define build_gnat %_gnat
+%define build_gcj %_gcj
+%define build_objc %_objc
+%define build_libgcj %_libgcj
+
+%if %build_gcj
+# Building gcj requires bison and zlib
+BuildRequires: bison
+%endif
+
+%if "%_vendor" == "redhat"
+%if %build_gcj
+BuildRequires: zlib-devel
+%endif
+%if %build_gnat
+# Building gnat requires gnat
+# This really isn't available until RedHat 8.0. How to conditionalize this?
+BuildRequires: gcc-gnat
+# Urgh, building gnat requires the target c-toolchain
+# BuildRequires: @rpmprefix@%{gcc_target}-gcc < %{gcc_version}-%{release}
+BuildRequires: @rpmprefix@%{gcc_target}-libc < %{newlib_version}-%{release}
+%endif
+%if %build_f95
+BuildRequires: gmp-devel
+%endif
+%endif
+
+%if "%{gcc_version}" >= "3.4"
+%define gcclib %{_libdir}/gcc
+%define gccexec %{_libexecdir}/gcc
+%else
+%define gcclib %{_libdir}/gcc-lib
+%define gccexec %{_libdir}/gcc-lib
+%endif
+
+# %%description
+# RTEMS is an open source operating system for embedded systems.
+#
+# This is gcc's and newlib C Library's sources with patches for RTEMS.
+#
+
+%prep
+# untar the sources inside %{gcc_target}-gcc-newlib
+%setup -c -T -n %{name}-%{version} -a0 -a1
+
+cd gcc-%{gcc_version}
+%{?PATCH0:%patch0 -p1}
+cd ..
+cd newlib-%{newlib_version}
+%{?PATCH1:%patch1 -p1}
+cd ..
+
+sed 's,@BRPSTRIPPATH@,.%_bindir .%_prefix/%gcc_target/bin,' \
+ %SOURCE98 > brp-rtems-strip
+chmod +x brp-rtems-strip
+
+sed 's,@BRPCOMPRESSPATH@,.%_mandir/man* .%_infodir,' \
+ %SOURCE99 > brp-rtems-compress
+chmod +x brp-rtems-compress
+
+ cd gcc-%{gcc_version}
+ sed -e 's/\(version_string.* = \"[^\"]*\)/\1 (RTEMS gcc-%{gcc_version}-@gcc_patch_version@\/newlib-%{newlib_version}-@newlib_patch_version@-@Release@)/' \
+ gcc/version.c > gcc/version.c~
+ mv gcc/version.c~ gcc/version.c
+
+ # Fix timestamps
+ contrib/gcc_update --touch
+ cd ..
+
+ # Copy the C library into gcc's source tree
+ ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_version}
+ mkdir -p build
+
+%build
+ cd build
+
+ languages="c"
+%if %build_cxx
+ languages="$languages,c++"
+%endif
+%if %build_g77
+ languages="$languages,g77"
+%endif
+%if %build_f95
+ languages="$languages,f95"
+%endif
+%if %build_gcj
+ languages="$languages,java"
+%endif
+%if %build_objc
+ languages="$languages,objc"
+%endif
+%if %build_gnat
+ languages="$languages,ada"
+%endif
+%if %build_libgcj
+ optargs="--enable-libgcj"
+%endif
+%if "%{_prefix}" != "/usr"
+ export PATH="%{_bindir}:${PATH}"
+%endif
+
+ CC="%{__cc} ${RPM_OPT_FLAGS}" \
+ ../gcc-%{gcc_version}/configure \
+ --prefix=%{_prefix} \
+ --bindir=%{_bindir} \
+ --includedir=%{_includedir} \
+ --libdir=%{_libdir} \
+ --mandir=%{_mandir} \
+ --infodir=%{_infodir} \
+ --build=%_build --host=%_host \
+ --target=%{gcc_target} \
+ --with-gnu-as --with-gnu-ld --with-newlib --verbose \
+ --with-system-zlib --disable-nls \
+ --enable-version-specific-runtime-libs \
+ --enable-threads=rtems \
+ --enable-languages=$languages $optargs
+
+%if "%_host" != "%_build"
+ # Bug in gcc-3.2.1:
+ # Somehow, gcc doesn't get syslimits.h right for Cdn-Xs
+ mkdir -p gcc/include
+ cp ../gcc-%{gcc_version}/gcc/gsyslimits.h gcc/include/syslimits.h
+%endif
+
+ make all
+ make info
+
+%install
+ export PATH="%{_bindir}:${PATH}"
+ rm -rf $RPM_BUILD_ROOT
+
+ cd build
+# Bug in gcc-2.95.1: It doesn't build this installation directory
+# If it doesn't find it, gcc doesn't install %{gcc_target}/bin/gcc
+%if "%{gcc_version}" < "3.0"
+ mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{gcc_target}/bin
+%endif
+
+ make prefix=$RPM_BUILD_ROOT%{_prefix} \
+ bindir=$RPM_BUILD_ROOT%{_bindir} \
+ libdir=$RPM_BUILD_ROOT%{_libdir} \
+ includedir=$RPM_BUILD_ROOT%{_includedir} \
+ mandir=$RPM_BUILD_ROOT%{_mandir} \
+ infodir=$RPM_BUILD_ROOT%{_infodir} \
+ install
+ cd %{gcc_target}/newlib
+ make prefix=$RPM_BUILD_ROOT%{_prefix} \
+ bindir=$RPM_BUILD_ROOT%{_bindir} \
+ libdir=$RPM_BUILD_ROOT%{_libdir} \
+ includedir=$RPM_BUILD_ROOT%{_includedir} \
+ mandir=$RPM_BUILD_ROOT%{_mandir} \
+ infodir=$RPM_BUILD_ROOT%{_infodir} \
+ install-info
+ # cd back to build/
+ cd ../..
+
+ # Bug in gcc-3.x: It puts the build dirs into *.la files
+
+ # host library
+ rm -f ${RPM_BUILD_ROOT}%{_prefix}/lib/libiberty.a
+
+ # We use the version from binutils
+ rm -f $RPM_BUILD_ROOT%{_bindir}/%{gcc_target}-c++filt%{_exeext}
+
+%if %build_gnat
+ # Seemingly a VAX tool. Not meaningful for RTEMS
+ rm -f $RPM_BUILD_ROOT%{_bindir}/vxaddr2line%{_exeext}
+%endif
+
+ # We don't ship info/dir
+ rm -f $RPM_BUILD_ROOT%{_infodir}/dir
+ touch $RPM_BUILD_ROOT%{_infodir}/dir
+
+%if "%{_prefix}" == "/usr"
+# Conflict with a native GCC's infos
+ rm -rf $RPM_BUILD_ROOT%{_infodir}
+
+# Conflict with a native GCC's man pages
+ rm -rf $RPM_BUILD_ROOT%{_mandir}/man7
+%endif
+
+%if %build_f95
+# # Bug in gcc-4.0.0pre
+# mv $RPM_BUILD_ROOT%{_bindir}/gfortran $RPM_BUILD_ROOT%{_bindir}/%{gcc_target}-gfortran
+%endif
+
+%if "%{gcc_version}" >= "3.4"
+ # Bug in gcc-3.4.0pre
+ rm -f $RPM_BUILD_ROOT%{_bindir}/%{gcc_target}-%{gcc_target}-gcjh%{_exeext}
+%endif
+
+%if "%{gcc_version}" >= "3.3"
+ # Bug in gcc-3.3.x/gcc-3.4.x: Despite we don't need fixincludes, it installs
+ # the fixinclude-install-tools
+ rm -rf ${RPM_BUILD_ROOT}%{gcclib}/%{gcc_target}/%{gcc_version}/install-tools
+ rm -rf ${RPM_BUILD_ROOT}%{gccexec}/%{gcc_target}/%{gcc_version}/install-tools
+%endif
+
+%if "%{gcc_version}" < "3.0"
+ # Bug in gcc-2.95.x: It bogusly tries to share cpp for all targets.
+ # Rename it to target_alias-cpp
+ if test -f $RPM_BUILD_ROOT%{_bindir}/cpp%{_exeext};
+ then
+ mv $RPM_BUILD_ROOT%{_bindir}/cpp%{_exeext} \
+ $RPM_BUILD_ROOT%{_bindir}/%{gcc_target}-cpp%{_exeext}
+ fi
+%endif
+
+ # Collect multilib subdirectories
+ f=`gcc/xgcc -Bgcc/ --print-multi-lib | sed -e 's,;.*$,,'`
+
+ echo "%defattr(-,root,root,-)" > files.libc
+ TGTDIR="%{_prefix}/%{gcc_target}/lib"
+ for i in $f; do
+ case $i in
+ \.) echo "%dir ${TGTDIR}" >> files.libc
+ ;;
+ *) echo "%dir ${TGTDIR}/$i" >> files.libc
+ ;;
+ esac
+ done
+
+ rm -f dirs ;
+ echo "%defattr(-,root,root,-)" >> dirs
+%if "%{_prefix}" != "/usr"
+ echo "%dir %{_prefix}" >> dirs
+ echo "%dir %{_libdir}" >> dirs
+%if "%{gcc_version}" >= "3.4"
+ echo "%dir %{_libexecdir}" >> dirs
+%endif
+%endif
+ echo "%dir %{gcclib}" >> dirs
+ echo "%dir %{gcclib}/%{gcc_target}" >> dirs
+
+ TGTDIR="%{gcclib}/%{gcc_target}/%{gcc_version}"
+ for i in $f; do
+ case $i in
+ \.) echo "%dir ${TGTDIR}" >> dirs
+ ;;
+ *) echo "%dir ${TGTDIR}/$i" >> dirs
+ ;;
+ esac
+ done
+
+ # Collect files to go into different packages
+ cp dirs files.gcc
+ cp dirs files.g77
+ cp dirs files.gfortran
+ cp dirs files.objc
+ cp dirs files.gcj
+ cp dirs files.g++
+
+ TGTDIR="%{gcclib}/%{gcc_target}/%{gcc_version}"
+ f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`;
+ for i in $f; do
+ case $i in
+ *lib*.la) rm ${RPM_BUILD_ROOT}/$i ;; # ignore: gcc produces bogus libtool libs
+ *f771) ;;
+ *f951) ;;
+ *cc1) ;;
+ *cc1obj) ;;
+ *cc1plus) ;; # ignore: explicitly put into rpm elsewhere
+ *collect2) ;;
+ *libobjc*) echo "$i" >> files.objc ;;
+ *include/objc*) ;;
+ *include/g++*);;
+ *include/c++*);;
+ *adainclude*);;
+ *adalib*);;
+ *gnat1);;
+ *jc1) ;;
+ *jvgenmain) ;;
+ *libgfortran*.a) echo "$i" >> files.gfortran ;;
+ *libstdc++.a) echo "$i" >> files.g++ ;;
+ *libsupc++.a) echo "$i" >> files.g++ ;;
+ *) echo "$i" >> files.gcc ;;
+ esac
+ done
+
+ TGTDIR="%{_prefix}/%{gcc_target}/lib"
+ f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`;
+ for i in $f; do
+ case $i in
+ *lib*.la) rm ${RPM_BUILD_ROOT}/$i;; # ignore - gcc produces bogus libtool libs
+ *libiberty.a) rm ${RPM_BUILD_ROOT}/$i ;; # ignore - GPL'ed
+# all other files belong to libc
+ *) echo "$i" >> files.libc ;;
+ esac
+ done
+
+ cd ..
diff --git a/scripts/gccnewlib/header.add b/scripts/gccnewlib/header.add
new file mode 100644
index 0000000000..c9704743e4
--- /dev/null
+++ b/scripts/gccnewlib/header.add
@@ -0,0 +1,14 @@
+#
+# spec file for building gcc for rtems
+#
+# supported --with/--without options:
+# --with sources build src.rpm instead of nosrc.rpm
+#
+# --with fortran force building fortran
+# --with objc force building objc
+# --with cxx force building cxx
+#
+# --without fortran suppress building fortran
+# --without objc suppress building objc
+# --without cxx suppress building cxx
+#
diff --git a/scripts/gccnewlib/mkspec.in b/scripts/gccnewlib/mkspec.in
new file mode 100644
index 0000000000..0c0f287c7b
--- /dev/null
+++ b/scripts/gccnewlib/mkspec.in
@@ -0,0 +1,74 @@
+#!/bin/sh
+#
+# Usage: mkspec CPU
+#
+
+RTEMS_DIR=`dirname $0`/@top_srcdir@
+
+CFG=../setup.cache
+
+usage()
+{
+ echo "$0 [options] <target_alias>"
+ echo " options:"
+ echo " -cfg <setup.cache>"
+ echo " -a <alternate specs.in>"
+ exit 1 ;
+}
+
+specsrc=./gccnewlib.spec.in
+
+while test $# -ge 2; do
+case $1 in
+-cfg)
+ shift
+ CFG=$1
+ shift
+ ;;
+-a) # alternate specs file
+ shift
+ specsrc=$1
+ shift
+ ;;
+-*)
+ echo "invalid option $1";
+ usage
+ ;;
+esac
+done
+
+if test ! $# -eq 1;
+then
+ echo "Invalid number of arguments"
+ usage
+fi
+
+# target to build for
+target_alias=$1
+
+. ./$CFG
+
+if test -n "${gcc_patch_version}"; then
+PATCH0="Patch0: gcc-${gcc_version}-rtems-${gcc_patch_version}.diff"
+fi
+
+if test -n "${newlib_patch_version}"; then
+PATCH1="Patch1: newlib-${newlib_version}-rtems-${newlib_patch_version}.diff"
+fi
+
+# note that the variables in the gccnewlib directory are actually the same
+sed -e "s,@PATCH0\@,${PATCH0}," \
+ -e "s,@PATCH1\@,${PATCH1}," \
+ -e "s,@Release\@,${gccnewlib_rpm_release},g" \
+ -e "s,@target_alias\@,${target_alias},g" \
+ -e "s,@prefix\@,@prefix@,g" \
+ -e "s,@rpmprefix\@,@rpmprefix@,g" \
+ -e "s,@rpmgroup\@,@rpmgroup@,g" \
+ -e "s,@osversion\@,@osversion@,g" \
+ -e "s,@gcc_version\@,${gcc_version},g" \
+ -e "s,@gcc_patch_version\@,${gcc_patch_version},g" \
+ -e "s,@gcc_suffix\@,${gcc_suffix},g" \
+ -e "s,@newlib_version\@,${newlib_version},g" \
+ -e "s,@newlib_patch_version\@,${newlib_patch_version},g" \
+ -e "s,@newlib_suffix\@,${newlib_suffix},g" \
+< ${specsrc}
diff --git a/scripts/gccnewlib/target-c++.add b/scripts/gccnewlib/target-c++.add
new file mode 100644
index 0000000000..5d0dd55847
--- /dev/null
+++ b/scripts/gccnewlib/target-c++.add
@@ -0,0 +1,39 @@
+%if %build_cxx
+# ==============================================================
+# %{gcc_target}-c++
+# ==============================================================
+%package -n @rpmprefix@%{gcc_target}-c++
+Summary: gcc/g++ compiler (c++) for %{gcc_target}
+Group: %{rpmgroup}
+Version: %{gcc_version}
+License: GPL
+
+%if "%{_prefix}" != "/usr"
+Requires: @rpmprefix@rtems@osversion@-base-gcc
+%endif
+Requires: @rpmprefix@%{gcc_target}-gcc = %{gcc_version}-%{release}
+
+%description -n @rpmprefix@%{gcc_target}-c++
+RTEMS is an open source operating system for embedded systems.
+
+This is the gcc/g++ compiler for %{gcc_target}
+
+%files -n @rpmprefix@%{gcc_target}-c++ -f build/files.g++
+%defattr(-,root,root)
+%{_mandir}/man1/%{gcc_target}-g++.1*
+
+%{_bindir}/%{gcc_target}-c++%{_exeext}
+%{_bindir}/%{gcc_target}-g++%{_exeext}
+
+%dir %{gccexec}
+%dir %{gccexec}/%{gcc_target}
+%dir %{gccexec}/%{gcc_target}/%{gcc_version}
+%{gccexec}/%{gcc_target}/%{gcc_version}/cc1plus%{_exeext}
+
+%dir %{gcclib}/%{gcc_target}/%{gcc_version}/include
+%if "%{gcc_version}" >= "3.2"
+%{gcclib}/%{gcc_target}/%{gcc_version}/include/c++
+%else
+%{gcclib}/%{gcc_target}/%{gcc_version}/include/g++
+%endif
+%endif
diff --git a/scripts/gccnewlib/target-g77.add b/scripts/gccnewlib/target-g77.add
new file mode 100644
index 0000000000..ff60fe75ad
--- /dev/null
+++ b/scripts/gccnewlib/target-g77.add
@@ -0,0 +1,28 @@
+%if %build_g77
+# ==============================================================
+# %{gcc_target}-g77
+# ==============================================================
+%package -n @rpmprefix@%{gcc_target}-g77
+Summary: gcc/g77 compiler for %{gcc_target}
+Group: %{rpmgroup}
+Version: %{gcc_version}
+License: GPL
+Requires: @rpmprefix@rtems@osversion@-base-g77
+Requires: @rpmprefix@%{gcc_target}-gcc = %{gcc_version}-%{release}
+
+%description -n @rpmprefix@%{gcc_target}-g77
+RTEMS is an open source operating system for embedded systems.
+
+This is the gcc/g77 compiler for %{gcc_target}
+
+%files -n @rpmprefix@%{gcc_target}-g77 -f build/files.g77
+%defattr(-,root,root)
+%{_bindir}/%{gcc_target}-g77%{_exeext}
+
+%{_mandir}/man1/%{gcc_target}-g77.1*
+
+%dir %{gccexec}
+%dir %{gccexec}/%{gcc_target}
+%dir %{gccexec}/%{gcc_target}/%{gcc_version}
+%{gccexec}/%{gcc_target}/%{gcc_version}/f771%{_exeext}
+%endif
diff --git a/scripts/gccnewlib/target-gcc.add b/scripts/gccnewlib/target-gcc.add
new file mode 100644
index 0000000000..7c6d5a26e5
--- /dev/null
+++ b/scripts/gccnewlib/target-gcc.add
@@ -0,0 +1,46 @@
+# ==============================================================
+# %{gcc_target}-gcc
+# ==============================================================
+%package -n @rpmprefix@%{gcc_target}-gcc
+Summary: gcc for %{gcc_target}
+Group: %{rpmgroup}
+Version: %{gcc_version}
+Requires: @rpmprefix@%{gcc_target}-binutils
+Requires: @rpmprefix@%{gcc_target}-libc = %{newlib_version}-%{release}
+License: GPL
+
+%description -n @rpmprefix@%{gcc_target}-gcc
+RTEMS is an open source operating system for embedded systems.
+
+This is gcc for %{gcc_target}.
+
+%files -n @rpmprefix@%{gcc_target}-gcc -f build/files.gcc
+%defattr(-,root,root)
+%if "%{_prefix}" != "/usr"
+%dir %{_mandir}
+%dir %{_mandir}/man1
+%endif
+%{_mandir}/man1/%{gcc_target}-gcc.1*
+%if "%{gcc_version}" >= "3.4"
+%{_mandir}/man1/%{gcc_target}-cpp.1*
+%{_mandir}/man1/%{gcc_target}-gcov.1*
+%endif
+
+%if "%{_prefix}" != "/usr"
+%dir %{_bindir}
+%endif
+%{_bindir}/%{gcc_target}-cpp%{_exeext}
+%{_bindir}/%{gcc_target}-gcc%{_exeext}
+%if "%{gcc_version}" >= "3.3"
+%{_bindir}/%{gcc_target}-gcc-%{gcc_version}%{_exeext}
+%endif
+%{_bindir}/%{gcc_target}-gcov%{_exeext}
+%{_bindir}/%{gcc_target}-gccbug
+
+%dir %{gcclib}/%{gcc_target}/%{gcc_version}/include
+
+%dir %{gccexec}
+%dir %{gccexec}/%{gcc_target}
+%dir %{gccexec}/%{gcc_target}/%{gcc_version}
+%{gccexec}/%{gcc_target}/%{gcc_version}/cc1%{_exeext}
+%{gccexec}/%{gcc_target}/%{gcc_version}/collect2%{_exeext}
diff --git a/scripts/gccnewlib/target-gcj.add b/scripts/gccnewlib/target-gcj.add
new file mode 100644
index 0000000000..bd58986ede
--- /dev/null
+++ b/scripts/gccnewlib/target-gcj.add
@@ -0,0 +1,52 @@
+%if %build_gcj
+# ==============================================================
+# %{gcc_target}-gcj
+# ==============================================================
+%package -n @rpmprefix@%{gcc_target}-gcj
+Summary: gcc/java compiler (gcj) for %{gcc_target}
+Group: %{rpmgroup}
+Version: %{gcc_version}
+License: GPL
+
+%if "%{_prefix}" != "/usr"
+Requires: @rpmprefix@rtems@osversion@-base-gcj
+%endif
+Requires: @rpmprefix@%{gcc_target}-gcc = %{gcc_version}-%{release}
+
+%description -n @rpmprefix@%{gcc_target}-gcj
+RTEMS is an open source operating system for embedded systems.
+
+This is the gcc/java compiler for %{gcc_target}
+
+%files -n @rpmprefix@%{gcc_target}-gcj -f build/files.gcj
+%defattr(-,root,root)
+%{_bindir}/%{gcc_target}-gcj%{_exeext}
+%{_bindir}/%{gcc_target}-jcf-dump%{_exeext}
+%{_bindir}/%{gcc_target}-jv-scan%{_exeext}
+%{_bindir}/%{gcc_target}-gcjh%{_exeext}
+
+%if "%{gcc_version}" >= "3.4"
+%{_bindir}/%{gcc_target}-*jar%{_exeext}
+
+%{_mandir}/man1/%{gcc_target}-*jar.1*
+%{_mandir}/man1/%{gcc_target}-gcj*.1*
+%{_mandir}/man1/%{gcc_target}-jv-*.1*
+%{_mandir}/man1/%{gcc_target}-jcf-dump.1*
+%{_mandir}/man1/%{gcc_target}-gij.1*
+%endif
+
+%if "%{gcc_version}" >= "4.0"
+%{_mandir}/man1/%{gcc_target}-grmi*.1*
+%else
+%if "%{gcc_version}" >= "3.4"
+%{_mandir}/man1/%{gcc_target}-rmi*.1*
+%endif
+%endif
+
+%dir %{gccexec}
+%dir %{gccexec}/%{gcc_target}
+%dir %{gccexec}/%{gcc_target}/%{gcc_version}
+%{gccexec}/%{gcc_target}/%{gcc_version}/jc1%{_exeext}
+%{gccexec}/%{gcc_target}/%{gcc_version}/jvgenmain%{_exeext}
+
+%endif
diff --git a/scripts/gccnewlib/target-gfortran.add b/scripts/gccnewlib/target-gfortran.add
new file mode 100644
index 0000000000..d8308b888e
--- /dev/null
+++ b/scripts/gccnewlib/target-gfortran.add
@@ -0,0 +1,32 @@
+%if %build_f95
+# ==============================================================
+# %{gcc_target}-gfortran
+# ==============================================================
+%package -n @rpmprefix@%{gcc_target}-gfortran
+Summary: gcc/gfortran compiler for %{gcc_target}
+Group: %{rpmgroup}
+Version: %{gcc_version}
+License: GPL
+
+%if "%{_prefix}" != "/usr"
+Requires: @rpmprefix@rtems@osversion@-base-gfortran
+%endif
+Requires: @rpmprefix@%{gcc_target}-gcc = %{gcc_version}-%{release}
+Obsoletes: @rpmprefix@%{gcc_target}-g77
+
+%description -n @rpmprefix@%{gcc_target}-gfortran
+RTEMS is an open source operating system for embedded systems.
+
+This is the gcc/gfortran compiler for %{gcc_target}
+
+%files -n @rpmprefix@%{gcc_target}-gfortran -f build/files.gfortran
+%defattr(-,root,root)
+%{_bindir}/%{gcc_target}-gfortran%{_exeext}
+
+%{_mandir}/man1/%{gcc_target}-gfortran.1*
+
+%dir %{gccexec}
+%dir %{gccexec}/%{gcc_target}
+%dir %{gccexec}/%{gcc_target}/%{gcc_version}
+%{gccexec}/%{gcc_target}/%{gcc_version}/f951%{_exeext}
+%endif
diff --git a/scripts/gccnewlib/target-gnat.add b/scripts/gccnewlib/target-gnat.add
new file mode 100644
index 0000000000..de40438d87
--- /dev/null
+++ b/scripts/gccnewlib/target-gnat.add
@@ -0,0 +1,33 @@
+%if %build_gnat
+# ==============================================================
+# %{gcc_target}-gnat
+# ==============================================================
+%package -n @rpmprefix@%{gcc_target}-gnat
+Summary: gcc/gnat compiler for %{gcc_target}
+Group: %{rpmgroup}
+Version: %{gcc_version}
+License: GPL
+
+%if "%{_prefix}" != "/usr"
+Requires: @rpmprefix@rtems@osversion@-base-gnat
+%endif
+Requires: @rpmprefix@%{gcc_target}-gcc = %{gcc_version}-%{release}
+
+%description -n @rpmprefix@%{gcc_target}-gnat
+RTEMS is an open source operating system for embedded systems.
+
+This is the gcc/gnat compiler for %{gcc_target}
+
+%files -n @rpmprefix@%{gcc_target}-gnat
+%defattr(-,root,root)
+%{_bindir}/%{gcc_target}-gnat*
+%{_bindir}/%{gcc_target}-gprmake%{_exeext}
+
+%dir %{gccexec}
+%dir %{gccexec}/%{gcc_target}
+%dir %{gccexec}/%{gcc_target}/%{gcc_version}
+%{gccexec}/%{gcc_target}/%{gcc_version}/gnat1%{_exeext}
+
+%{gcclib}/%{gcc_target}/%{gcc_version}/adalib
+%{gcclib}/%{gcc_target}/%{gcc_version}/adainclude
+%endif
diff --git a/scripts/gccnewlib/target-libc.add b/scripts/gccnewlib/target-libc.add
new file mode 100644
index 0000000000..d8777bc95b
--- /dev/null
+++ b/scripts/gccnewlib/target-libc.add
@@ -0,0 +1,22 @@
+# ==============================================================
+# %{gcc_target}-libc
+# ==============================================================
+%package -n @rpmprefix@%{gcc_target}-libc
+Summary: newlib C Library for %{gcc_target}
+Group: %{rpmgroup}
+License: Distributable
+Version: %{newlib_version}
+Provides: @rpmprefix@%{gcc_target}-newlib = %{newlib_version}-%{release}
+
+%description -n @rpmprefix@%{gcc_target}-libc
+RTEMS is an open source operating system for embedded systems.
+
+This is the newlib C Library for %{gcc_target}.
+
+%files -n @rpmprefix@%{gcc_target}-libc -f build/files.libc
+%defattr(-,root,root)
+%if "%{_prefix}" != "/usr"
+%dir %{_prefix}
+%endif
+%dir %{_prefix}/%{gcc_target}
+%{_prefix}/%{gcc_target}/include
diff --git a/scripts/gccnewlib/target-objc.add b/scripts/gccnewlib/target-objc.add
new file mode 100644
index 0000000000..1f61133523
--- /dev/null
+++ b/scripts/gccnewlib/target-objc.add
@@ -0,0 +1,26 @@
+%if %build_objc
+# ==============================================================
+# %{gcc_target}-objc
+# ==============================================================
+%package -n @rpmprefix@%{gcc_target}-objc
+Summary: gcc/objc compiler for %{gcc_target}
+Group: %{rpmgroup}
+Version: %{gcc_version}
+License: GPL
+Requires: @rpmprefix@%{gcc_target}-gcc = %{gcc_version}-%{release}
+
+%description -n @rpmprefix@%{gcc_target}-objc
+RTEMS is an open source operating system for embedded systems.
+
+This is the gcc/objc compiler for %{gcc_target}
+
+%files -n @rpmprefix@%{gcc_target}-objc -f build/files.objc
+%defattr(-,root,root)
+
+%dir %{gccexec}
+%dir %{gccexec}/%{gcc_target}
+%dir %{gccexec}/%{gcc_target}/%{gcc_version}
+%{gccexec}/%{gcc_target}/%{gcc_version}/cc1obj%{_exeext}
+
+%{gcclib}/%{gcc_target}/%{gcc_version}/include/objc
+%endif
diff --git a/scripts/gdb/.cvsignore b/scripts/gdb/.cvsignore
new file mode 100644
index 0000000000..b03111da83
--- /dev/null
+++ b/scripts/gdb/.cvsignore
@@ -0,0 +1,6 @@
+*.spec
+Makefile
+Makefile.in
+gdb.spec
+gdb.spec.in
+mkspec
diff --git a/scripts/gdb/HISTORY b/scripts/gdb/HISTORY
new file mode 100644
index 0000000000..c2e3c68cb1
--- /dev/null
+++ b/scripts/gdb/HISTORY
@@ -0,0 +1,23 @@
+#
+# History of the gdb RPMs
+#
+# $Id$
+#
+
+RPM Version gdb-5.0-1
+=====================
++ Adds remote Ethernet debugging for RTEMS, 167Bug, PPC2Dink, EPPCBUG,
+ numerous RTEMS targets, PSIM enhancements.
+
+
+ - adds h8300 support.
+
+RPM Version gdb-4.18-4
+======================
++ Adds remote Ethernet debugging for RTEMS, 167Bug, PPC2Dink, EPPCBUG,
+ numerous RTEMS targets, PSIM enhancements.
+ Released with RTEMS 4.5.0-beta3a.
+
+gdb-4.18-rtems-20000524.diff
+ - base line
+
diff --git a/scripts/gdb/Makefile.am b/scripts/gdb/Makefile.am
new file mode 100644
index 0000000000..9ff806214c
--- /dev/null
+++ b/scripts/gdb/Makefile.am
@@ -0,0 +1,83 @@
+##
+## $Id$
+##
+
+include $(top_srcdir)/common/common.am
+
+MKSPEC = $(SHELL) ./mkspec
+
+SUBPACKAGES = header.add
+SUBPACKAGES += $(top_builddir)/common/common.add
+SUBPACKAGES += gdb.add
+SUBPACKAGES += $(top_builddir)/common/clean.add
+SUBPACKAGES += target-gdb.add
+SUBPACKAGES += base-gdb.add
+
+noinst_DATA = gdb.spec.in
+
+gdb.spec.in: $(SUBPACKAGES)
+ cat $^ > $@
+CLEANFILES = gdb.spec.in
+
+MKGDBSPEC_DEPS = mkspec gdb.spec.in $(top_builddir)/setup.cache
+
+RPM_SPECS_DATA =
+
+@rpmprefix@arm-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache arm-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@arm-rtems@osversion@-gdb.spec
+
+@rpmprefix@avr-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache avr-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@avr-rtems@osversion@-gdb.spec
+
+@rpmprefix@h8300-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache h8300-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@h8300-rtems@osversion@-gdb.spec
+
+@rpmprefix@i386-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache i386-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@i386-rtems@osversion@-gdb.spec
+
+@rpmprefix@m68k-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache m68k-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@m68k-rtems@osversion@-gdb.spec
+
+@rpmprefix@mips-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache mips-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@mips-rtems@osversion@-gdb.spec
+
+@rpmprefix@mips64-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache mips64-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@mips64-rtems@osversion@-gdb.spec
+
+@rpmprefix@mipstx39-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache mipstx39-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@mipstx39-rtems@osversion@-gdb.spec
+
+@rpmprefix@powerpc-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache powerpc-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@powerpc-rtems@osversion@-gdb.spec
+
+@rpmprefix@sh-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache sh-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@sh-rtems@osversion@-gdb.spec
+
+@rpmprefix@sh-rtemscoff@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache sh-rtemscoff@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@sh-rtemscoff@osversion@-gdb.spec
+
+@rpmprefix@sparc-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
+ $(MKSPEC) -cfg $(top_builddir)/setup.cache sparc-rtems@osversion@ > $@
+RPM_SPECS_DATA += @rpmprefix@sparc-rtems@osversion@-gdb.spec
+
+# does not build with 5.2
+# @rpmprefix@tic4x-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
+# $(MKSPEC) -cfg $(top_builddir)/setup.cache tic4x-rtems@osversion@ > $@
+# RPM_SPECS_DATA += @rpmprefix@tic4x-rtems@osversion@-gdb.spec
+
+CLEANFILES += $(RPM_SPECS_DATA)
+
+EXTRA_DIST = $(SUBPACKAGES)
+
+include $(top_srcdir)/../automake/local.am
diff --git a/scripts/gdb/base-gdb.add b/scripts/gdb/base-gdb.add
new file mode 100644
index 0000000000..84fe2aef4e
--- /dev/null
+++ b/scripts/gdb/base-gdb.add
@@ -0,0 +1,67 @@
+# =====================================================================
+# rtems-base-gdb
+# =====================================================================
+
+%package -n @rpmprefix@rtems@osversion@-base-gdb
+Summary: base package for rtems gdb
+Group: %{rpmgroup}
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+
+%description -n @rpmprefix@rtems@osversion@-base-gdb
+
+RTEMS is an open source operating system for embedded systems.
+
+This is the base for gdb regardless of target CPU.
+
+%files -n @rpmprefix@rtems@osversion@-base-gdb
+%defattr(-,root,root)
+
+%dir %{_infodir}
+%ghost %{_infodir}/dir
+%{_infodir}/gdb.info*
+
+# FIXME: When had mmalloc.info been removed?
+%if "%{gdb_version}" < "6.3"
+%{_infodir}/mmalloc.info*
+%endif
+# FIXME: When had gdbint and stabs been introduced?
+%if "%{gdb_version}" >= "5.0"
+%{_infodir}/gdbint.info*
+%{_infodir}/stabs.info*
+%endif
+
+%if "{gdb_version}" >= "6.0"
+%{_infodir}/annotate.info*
+%endif
+
+%dir %{_mandir}
+%dir %{_mandir}/man1
+
+%post -n @rpmprefix@rtems@osversion@-base-gdb
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz
+%if "%{gdb_version}" < "6.3"
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/mmalloc.info.gz
+%endif
+%if "%{gdb_version}" >= "5.0"
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz
+%endif
+%if "{gdb_version}" >= "6.0"
+ /sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz
+%endif
+
+%preun -n @rpmprefix@rtems@osversion@-base-gdb
+if [ $1 -eq 0 ]; then
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz
+%if "%{gdb_version}" < "6.3"
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/mmalloc.info.gz
+%endif
+%if "%{gdb_version}" >= "5.0"
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz
+%endif
+%if "{gdb_version}" >= "6.0"
+ /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz
+%endif
+fi
diff --git a/scripts/gdb/gdb.add b/scripts/gdb/gdb.add
new file mode 100644
index 0000000000..b89cd71b75
--- /dev/null
+++ b/scripts/gdb/gdb.add
@@ -0,0 +1,154 @@
+
+%define gdb_version @gdb_version@
+%define gdb_target @target_alias@
+
+Name: @rpmprefix@%{gdb_target}-gdb
+Release: @Release@
+License: GPL/LGPL
+Group: %{rpmgroup}
+
+Version: %{gdb_version}
+Summary: gdb for target %{gdb_version}
+
+%if "%{gdb_version}" < "6.0"
+Source0: ftp://ftp.gnu.org/pub/gnu/gdb-%{gdb_version}@gdb_suffix@
+Patch0: gdb-%{gdb_version}-rtems-base-@gdb_patch_version@.diff
+Patch1: gdb-%{gdb_version}-rtems-cg-@gdb_patch_version@.diff
+Patch2: gdb-%{gdb_version}-rtems-rdbg-@gdb_patch_version@.diff
+%else
+Source0: ftp://ftp.gnu.org/pub/gnu/gdb-%{gdb_version}@gdb_suffix@
+@PATCH1@
+%endif
+
+%if "%{_vendor}" == "redhat"
+BuildRequires: ncurses-devel
+%endif
+
+#
+# The original sources are not included in the source RPM.
+# If we included them, then the source RPMs for each target
+# would duplicate MBs of source unnecessarily. This is
+# a duplication of over 30 MBs of source for each of
+# the more than 10 targets it is possible to build.
+#
+# You can get them yourself from the Internet and copy them to
+# your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR).
+# Or you can try the ftp options of rpm :-)
+#
+%{?!_with_sources:NoSource: 0}
+
+# Account as best possible for targets without simulators
+# and targets which require extra arguments.
+%define _sim 1
+
+%if "%{gdb_target}" == "avr-rtems@osversion@"
+%define _sim 0
+%endif
+%if "%{gdb_target}" == "m68k-rtems@osversion@"
+%define _sim 0
+%endif
+%if "%{gdb_target}" == "i386-rtems@osversion@"
+%define _sim 0
+%endif
+%if "%{gdb_target}" == "powerpc-rtems@osversion@"
+%define _sim 1
+%endif
+%if "%{gdb_target}" == "sparc-rtems@osversion@"
+%define _sim 1
+%endif
+
+
+%description
+RTEMS is an open source operating system for embedded systems.
+
+This is the GNU gdb for RTEMS targetting %{gdb_version}.
+
+%prep
+%setup -c -T -n %{name}-%{version} -a0
+
+cd gdb-%{gdb_version}
+%{?PATCH0:%patch0 -p1}
+%{?PATCH1:%patch1 -p1}
+%{?PATCH2:%patch2 -p1}
+cd ..
+
+%build
+%if "%_sim" == "1"
+ simargs="--enable-sim"
+%endif
+
+%if "%{gdb_target}" == "powerpc-rtems@osversion@"
+ simargs="$simargs --enable-sim-timebase --enable-sim-hardware"
+ # Enabling this causes the program image to be huge and causes
+ # some gcc/hosts combinations to run out of memory.
+ # simargs="$simargs --enable-sim-inline"
+%endif
+
+ mkdir -p build
+ cd build
+%if "%{_prefix}" != "/usr"
+ export PATH="%{_bindir}:${PATH}"
+%endif
+ CFLAGS="$RPM_OPT_FLAGS" \
+ ../gdb-%{gdb_version}/configure \
+ --build=%_build --host=%_host \
+ --target=%{gdb_target} \
+ --prefix=%{_prefix} --bindir=%{_bindir} \
+ --includedir=%{_includedir} --libdir=%{_libdir} \
+ --mandir=%{_mandir} --infodir=%{_infodir} \
+ --verbose $simargs \
+ --disable-nls
+
+ make all
+ make info
+
+%install
+ rm -rf $RPM_BUILD_ROOT
+
+ cd build
+%if "%{gdb_version}" >= "6.3"
+ make DESTDIR=$RPM_BUILD_ROOT install
+ make DESTDIR=$RPM_BUILD_ROOT install-info
+%%else
+ make prefix=$RPM_BUILD_ROOT%{_prefix} \
+ bindir=$RPM_BUILD_ROOT%{_bindir} \
+ includedir=$RPM_BUILD_ROOT%{_includedir} \
+ libdir=$RPM_BUILD_ROOT%{_libdir} \
+ infodir=$RPM_BUILD_ROOT%{_infodir} \
+ mandir=$RPM_BUILD_ROOT%{_mandir} \
+ install
+ make prefix=$RPM_BUILD_ROOT%{_prefix} \
+ bindir=$RPM_BUILD_ROOT%{_bindir} \
+ includedir=$RPM_BUILD_ROOT%{_includedir} \
+ libdir=$RPM_BUILD_ROOT%{_libdir} \
+ infodir=$RPM_BUILD_ROOT%{_infodir} \
+ mandir=$RPM_BUILD_ROOT%{_mandir} \
+ install-info
+%endif
+
+ # host files
+ rm -rf $RPM_BUILD_ROOT%{_includedir}/*.h
+ rm -rf $RPM_BUILD_ROOT%{_libdir}/lib*a
+
+ # These come from other packages
+ rm -rf $RPM_BUILD_ROOT%{_infodir}/bfd*
+ rm -rf $RPM_BUILD_ROOT%{_infodir}/configure*
+ rm -rf $RPM_BUILD_ROOT%{_infodir}/standards*
+
+ # gdb 4.18 installed this, later versions don't
+ # Don't care about it, anymore
+ rm -rf $RPM_BUILD_ROOT%{_infodir}/readline.info*
+
+ rm -f $RPM_BUILD_ROOT%{_infodir}/dir
+ touch $RPM_BUILD_ROOT%{_infodir}/dir
+
+ # gzip info files
+ ls $RPM_BUILD_ROOT%{_infodir}/*.info \
+ $RPM_BUILD_ROOT%{_infodir}/*.info-? \
+ $RPM_BUILD_ROOT%{_infodir}/*.info-?? \
+ | while read a; do \
+ gzip -9qf $a 2>/dev/null; \
+ done
+
+ # gzip man pages
+ gzip -9qf $RPM_BUILD_ROOT%{_mandir}/man?/*.? 2>/dev/null
diff --git a/scripts/gdb/header.add b/scripts/gdb/header.add
new file mode 100644
index 0000000000..390f7fdf8c
--- /dev/null
+++ b/scripts/gdb/header.add
@@ -0,0 +1,4 @@
+#
+# spec file for building gdb for rtems
+#
+# Copyright (c) 1999 OARCorp, Huntsville, AL
diff --git a/scripts/gdb/mkspec.in b/scripts/gdb/mkspec.in
new file mode 100644
index 0000000000..81fd076c63
--- /dev/null
+++ b/scripts/gdb/mkspec.in
@@ -0,0 +1,67 @@
+#!/bin/sh
+#
+# Usage: mkspec CPU
+#
+
+RTEMS_DIR=`dirname $0`/@top_srcdir@
+
+CFG=../setup.cache
+
+specsrc=${RTEMS_DIR}/gdb/gdb.spec.in
+
+usage()
+{
+ echo "$0 [options] <target_alias>"
+ echo " options:"
+ echo " -cfg <setup.cache>"
+ echo " -a <alternate specs.in>"
+ exit 1 ;
+}
+
+while test $# -ge 2; do
+case $1 in
+-cfg)
+ shift
+ CFG=$1
+ shift
+ ;;
+-a) # alternate specs file
+ shift
+ specsrc=$1
+ shift
+ ;;
+-*)
+ echo "invalid option $1";
+ usage
+ ;;
+esac
+done
+
+if test ! $# -eq 1;
+then
+ echo "Invalid number of arguments"
+ usage
+fi
+
+# target to build for
+target_alias=$1
+
+. ./$CFG
+
+patchn=-1
+if test -n "${gdb_patch_version}"; then
+patchn=`expr $patchn + 1`
+PATCH1="Patch${patchn}: gdb-${gdb_version}-rtems-${gdb_patch_version}.diff"
+fi
+
+sed -e "s,@PATCH1\@,${PATCH1}," \
+ -e "s,@Release\@,${gdb_rpm_release},g" \
+ -e "s,@prefix\@,@prefix@,g" \
+ -e "s,@target_alias\@,${target_alias},g" \
+ -e "s,@rpmprefix\@,@rpmprefix@,g" \
+ -e "s,@rpmgroup\@,@rpmgroup@,g" \
+ -e "s,@osversion\@,@osversion@,g" \
+ -e "s,@gdb_version\@,${gdb_version},g" \
+ -e "s,@gdb_patch_version\@,${gdb_patch_version},g" \
+ -e "s,@gdb_suffix\@,${gdb_suffix},g" \
+< ${specsrc}
diff --git a/scripts/gdb/target-gdb.add b/scripts/gdb/target-gdb.add
new file mode 100644
index 0000000000..1df94c5b4c
--- /dev/null
+++ b/scripts/gdb/target-gdb.add
@@ -0,0 +1,37 @@
+# =====================================================================
+# %{gdb_target}-gdb
+# =====================================================================
+# %package -n @rpmprefix@%{gdb_target}-gdb
+# Summary: rtems gdb for %{gdb_target}
+# Group: %{rpmgroup}
+# Requires: @rpmprefix@rtems@osversion@-base-gdb
+
+%description -n @rpmprefix@%{gdb_target}-gdb
+
+RTEMS is an open source operating system for embedded systems.
+
+This is the GNU gdb for RTEMS targetting %{gdb_target}.
+
+%files -n @rpmprefix@%{gdb_target}-gdb
+%defattr(-,root,root)
+%{_mandir}/man1/%{gdb_target}-gdb.1*
+%if "%_sim" == "1"
+%{_mandir}/man1/%{gdb_target}-run.1*
+%endif
+%if "%{gdb_version}" >= "6.3"
+%{_mandir}/man1/%{gdb_target}-gdbtui.1*
+%endif
+
+%dir %{_bindir}
+%{_bindir}/%{gdb_target}-gdb%{_exeext}
+%if "%_sim" == "1"
+%{_bindir}/%{gdb_target}-run%{_exeext}
+%endif
+%if "%_sim" == "1"
+%if "%{gdb_target}" == "sparc-rtems@osversion@"
+%{_bindir}/%{gdb_target}-sis%{_exeext}
+%endif
+%endif
+%if "%{gdb_version}" >= "6.3"
+%{_bindir}/%{gdb_target}-gdbtui
+%endif
diff --git a/scripts/mkrpms b/scripts/mkrpms
new file mode 100755
index 0000000000..72e9bae494
--- /dev/null
+++ b/scripts/mkrpms
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+#
+# A simple shell script to build several rpms in a row.
+#
+# Used for testing rtems.spec.in
+#
+
+# 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
+
+./mkspec pc386 i386-rtems
+rpm -ba $dst/rtems-i386-rtems-pc386.spec
+
+./mkspec gensh1 sh-rtemself
+rpm -ba $dst/rtems-sh-rtemself-gensh1.spec
+
+./mkspec mcp750 powerpc-rtems
+rpm -ba $dst/rtems-powerpc-rtems-mcp750.spec
+
+
diff --git a/scripts/mkspec b/scripts/mkspec
new file mode 100755
index 0000000000..963ce0fe77
--- /dev/null
+++ b/scripts/mkspec
@@ -0,0 +1,20 @@
+#!/bin/sh
+#
+
+RTEMS_DIR=`dirname $0`
+RTEMS_VERSION=`grep Version ${RTEMS_DIR}/../VERSION | \
+sed -e 's%RTEMS[ ]*Version[ ]*\(.*\)[ ]*%\1%g'`
+
+target_alias=$1
+bsp=$2
+release=0
+
+#${RTEMS_DIR}/scripts/mkbspspec $bsp $target_alias
+#${RTEMS_DIR}/scripts/mkbinutilspec $target_alias
+#${RTEMS_DIR}/scripts/mkgccnewlibspec $target_alias
+#${RTEMS_DIR}/scripts/mkgdbspec $target_alias
+./mkbinutilspec $target_alias
+./mkgccnewlibspec $target_alias
+./mkgcc4newlibspec $target_alias
+./mkgdbspec $target_alias
+
diff --git a/scripts/rtems/.cvsignore b/scripts/rtems/.cvsignore
new file mode 100644
index 0000000000..f6ba43e469
--- /dev/null
+++ b/scripts/rtems/.cvsignore
@@ -0,0 +1,5 @@
+*.spec
+Makefile
+Makefile.in
+rtems.spec.in
+mkspec
diff --git a/scripts/rtems/Makefile.am b/scripts/rtems/Makefile.am
new file mode 100644
index 0000000000..2ec40215d2
--- /dev/null
+++ b/scripts/rtems/Makefile.am
@@ -0,0 +1,48 @@
+##
+## $Id$
+##
+
+include $(top_srcdir)/common/common.am
+
+SUBPACKAGES = header.add
+SUBPACKAGES += $(top_builddir)/common/common.add
+SUBPACKAGES += rtems.add
+SUBPACKAGES += $(top_builddir)/common/clean.add
+SUBPACKAGES += target-rtems.add
+
+noinst_DATA = rtems.spec.in
+
+rtems.spec.in: $(SUBPACKAGES)
+ cat $^ > $@
+CLEANFILES = rtems.spec.in
+
+MKBSPSPEC = $(SHELL) ./mkspec
+
+MKBSPSPEC_DEPS = $(top_builddir)/mkspec rtems.spec.in \
+ $(top_builddir)/setup.cache
+
+RPM_SPECS_DATA =
+
+@rpmprefix@i386-rtems-pc386-$(BSPVERS).spec: $(MKBSPSPEC_DEPS)
+ $(MKBSPSPEC) -cfg $(top_builddir)/setup.cache -o . i386-rtems@osversion@ pc386
+RPM_SPECS_DATA += @rpmprefix@i386-rtems-pc386-$(BSPVERS).spec
+
+@rpmprefix@m68k-rtems-gen68360-$(BSPVERS).spec: $(MKBSPSPEC_DEPS)
+ $(MKBSPSPEC) -cfg $(top_builddir)/setup.cache -o . m68k-rtems@osversion@ gen68360
+RPM_SPECS_DATA += @rpmprefix@m68k-rtems-gen68360-$(BSPVERS).spec
+
+@rpmprefix@powerpc-rtems-mcp750-$(BSPVERS).spec: $(MKBSPSPEC_DEPS)
+ $(MKBSPSPEC) -cfg $(top_builddir)/setup.cache -o . powerpc-rtems@osversion@ mcp750
+RPM_SPECS_DATA += @rpmprefix@powerpc-rtems-mcp750-$(BSPVERS).spec
+
+@rpmprefix@sh-rtems-gensh1-$(BSPVERS).spec: $(MKBSPSPEC_DEPS)
+ $(MKBSPSPEC) -cfg $(top_builddir)/setup.cache -o . sh-rtems@osversion@ gensh1
+RPM_SPECS_DATA += @rpmprefix@sh-rtems-gensh1-$(BSPVERS).spec
+
+@rpmprefix@sparc-rtems-erc32-$(BSPVERS).spec: $(MKBSPSPEC_DEPS)
+ $(MKBSPSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems@osversion@ erc32
+RPM_SPECS_DATA += @rpmprefix@sparc-rtems-erc32-$(BSPVERS).spec
+
+CLEANFILES += $(RPM_SPECS_DATA)
+
+include $(top_srcdir)/../automake/local.am
diff --git a/scripts/rtems/README b/scripts/rtems/README
new file mode 100644
index 0000000000..1cac6ffa8e
--- /dev/null
+++ b/scripts/rtems/README
@@ -0,0 +1,3 @@
+This all is untested and experimental.
+
+Don't use.
diff --git a/scripts/rtems/header.add b/scripts/rtems/header.add
new file mode 100644
index 0000000000..d5854bf196
--- /dev/null
+++ b/scripts/rtems/header.add
@@ -0,0 +1,3 @@
+#
+# spec file for building an rtems bsp.
+#
diff --git a/scripts/rtems/mkspec.in b/scripts/rtems/mkspec.in
new file mode 100644
index 0000000000..442b3248dd
--- /dev/null
+++ b/scripts/rtems/mkspec.in
@@ -0,0 +1,62 @@
+#!/bin/sh
+#
+
+RTEMS_DIR=`dirname $0`/@top_srcdir@
+RTEMS_VERSION=@RTEMS_VERSION@
+
+CFG=setup.cache
+dst=@RPM_SPECSdir@
+exe_ext=@EXEEXT@
+
+usage()
+{
+ echo "$0 [options] <target_alias> <bsp>"
+ echo " options:"
+ echo " -cfg <setup.cache>"
+ echo " -o <rpm-spec-dir>"
+ exit 1 ;
+}
+
+while test $# -ge 3; do
+case $1 in
+-cfg)
+ shift
+ CFG=$1
+ shift
+ ;;
+-o)
+ shift
+ dst=$1
+ shift
+ ;;
+-*)
+ echo "invalid option $1";
+ usage
+ ;;
+esac
+done
+
+if test ! $# -eq 2;
+then
+ echo "Invalid number of arguments"
+ usage
+fi
+
+# target to build for
+target_alias=$1
+bsp=$2
+
+. ./$CFG
+
+specfile=${dst}/$target_alias-$bsp-${rtems_version}.spec
+
+sed -e "s%@Release\@%${rtems_rpm_release}%g" \
+ -e "s%@bsp\@%${bsp}%g" \
+ -e "s%@rtems_version\@%${rtems_version}%g" \
+ -e "s,@rpmprefix\@,@rpmprefix@,g" \
+ -e "s%@target_alias\@%${target_alias}%g" \
+ -e "s%@exe_ext\@%${exe_ext}%g" \
+< ${RTEMS_DIR}/rtems/rtems.spec.in \
+> ${specfile}
+
+echo Generated ${specfile}
diff --git a/scripts/rtems/rtems-source.add b/scripts/rtems/rtems-source.add
new file mode 100644
index 0000000000..38574442bb
--- /dev/null
+++ b/scripts/rtems/rtems-source.add
@@ -0,0 +1,35 @@
+Name: @rpmprefix@rtems-source
+Version: @rtems_version@
+Release: @RTEMS_RPM_RELEASE@
+Epoch: 0
+Summary: RTEMS source code
+
+Group: %{rpmgroup}
+License: GPL with special exception for linking with application program
+URL: http://www.rtems.com
+Source0: ftp://ftp.rtems.com/pub/rtems/SOURCES/rtems-%{version}.tar.bz2
+Prefix: %{_prefix}/src
+BuildArch: noarch
+#---------------------------------------------------------------------
+
+Requires: @rpmprefix@automake-rtems = 1.8.2
+Requires: @rpmprefix@autoconf-rtems = 2.59
+
+%description
+RTEMS is an open source operating system for embedded systems.
+
+%prep
+%setup -q -c -T -n %{name}-%{version} -a0
+
+%build
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d -m 0755 ${RPM_BUILD_ROOT}%{_prefix}/src
+cp -a rtems-%{version} ${RPM_BUILD_ROOT}%{_prefix}/src
+
+%files
+%defattr(-,root,root,-)
+%doc */LICENSE* */COPYING */README */README.configure
+%{_prefix}/src
+
diff --git a/scripts/rtems/rtems.add b/scripts/rtems/rtems.add
new file mode 100644
index 0000000000..96c359e111
--- /dev/null
+++ b/scripts/rtems/rtems.add
@@ -0,0 +1,43 @@
+Name: rtems-@target_alias@-@bsp@
+Summary: A free operating system for embedded systems
+Group: %{rpmgroup}
+Release: @Release@
+License: Distributable
+
+Version: @rtems_version@
+Source: ftp://ftp.rtems.org/pub/rtems/%{version}/rtems-%{version}.tar.bz2
+
+#
+# The original sources are not included in the source RPM.
+# If we included them, then the source RPMs for each target
+# would duplicate MBs of source unnecessarily.
+#
+%{?!_with_sources:NoSource: 0}
+
+%description
+RTEMS is a free operating system for embedded systems.
+
+%prep
+# untar the sources inside rtems-@target_alias@-@bsp@-@rtems_version@
+%setup -c -T -n rtems-@target_alias@-@bsp@-@rtems_version@ -a0
+
+%build
+# rtems does not support building inside the source tree
+ mkdir -p build
+ cd build
+ ../rtems-@rtems_version@/configure \
+ --target=@target_alias@ \
+ --prefix=%{_prefix}/@target_alias@ \
+ --enable-networking \
+ --enable-posix \
+ --enable-cxx \
+ --disable-tests \
+ --enable-rdbg \
+ --disable-multiprocessing \
+ --disable-itron
+ make RTEMS_BSP=@bsp@
+
+%install
+ rm -rf $RPM_BUILD_ROOT
+ make RTEMS_BSP=@bsp@ DESTDIR=$RPM_BUILD_ROOT install
+
diff --git a/scripts/rtems/target-rtems.add b/scripts/rtems/target-rtems.add
new file mode 100644
index 0000000000..0f43937b34
--- /dev/null
+++ b/scripts/rtems/target-rtems.add
@@ -0,0 +1,3 @@
+%files
+%defattr(-,root,root,-)
+%{_prefix}
diff --git a/scripts/rtemsdoc/.cvsignore b/scripts/rtemsdoc/.cvsignore
new file mode 100644
index 0000000000..86d75f7d30
--- /dev/null
+++ b/scripts/rtemsdoc/.cvsignore
@@ -0,0 +1,29 @@
+ada_user-docs.add
+arm-supplement.add
+bsp_howto-docs.add
+c4x-supplement.add
+c_user-docs.add
+develenv-docs.add
+FAQ-docs.add
+filesystem-docs.add
+i386-supplement.add
+itron-docs.add
+m68k-supplement.add
+Makefile
+Makefile.in
+mips-supplement.add
+networking-docs.add
+new_chapters-docs.add
+porting-docs.add
+posix1003_1-docs.add
+posix_users-docs.add
+powerpc-supplement.add
+relnotes-docs.add
+rgdb_specs-docs.add
+rtems_gdb-docs.add
+sh-supplement.add
+sparc-supplement.add
+*.spec
+*.spec.in
+started_ada-docs.add
+started-docs.add
diff --git a/scripts/rtemsdoc/Makefile.am b/scripts/rtemsdoc/Makefile.am
new file mode 100644
index 0000000000..05ad9d0986
--- /dev/null
+++ b/scripts/rtemsdoc/Makefile.am
@@ -0,0 +1,45 @@
+##
+
+include ${top_srcdir}/common/common.am
+
+CLEANFILES =
+
+SUPPLEMENTS = arm c4x i386 m68k mips powerpc sh sparc
+
+DOCS = ada_user posix1003_1 bsp_howto
+DOCS += c_user posix_users
+DOCS += develenv
+DOCS += FAQ filesystem itron
+DOCS += networking porting new_chapters
+DOCS += relnotes rgdb_specs rtems_gdb
+DOCS += started started_ada
+
+SUBPACKAGES = header.add
+SUBPACKAGES += ../common/common.add
+SUBPACKAGES += rtemsdoc.add
+SUBPACKAGES += ../common/clean.add
+SUBPACKAGES += $(DOCS:%=%-docs.add)
+CLEANFILES += $(DOCS:%=%-docs.add)
+SUBPACKAGES += $(SUPPLEMENTS:%=%-supplement.add)
+CLEANFILES += $(SUPPLEMENTS:%=%-supplement.add)
+
+SUFFIXES = -supplement.add -docs.add
+
+%-supplement.add: supplement.add.in
+ t=`echo $@ | sed -e 's,-supplement.add,,'`; \
+ sed -e s/@target\@/$$t/g < $< >$@
+
+%-docs.add: templ.add.in
+ t=`echo $@ | sed -e 's,-docs.add,,'`; \
+ sed -e s/@target\@/$$t/g < $< >$@
+
+rtemsdoc.spec: $(SUBPACKAGES) Makefile
+ cat $(SUBPACKAGES) | sed \
+ -e 's,[@]rtems_version[@],$(RTEMS_VERSION),g' \
+ -e 's,[@]rtems_rpm_release[@],$(RTEMS_RPM_RELEASE),g' \
+ > $@
+CLEANFILES += rtemsdoc.spec
+
+noinst_DATA = rtemsdoc.spec
+
+include $(top_srcdir)/../automake/local.am
diff --git a/scripts/rtemsdoc/README b/scripts/rtemsdoc/README
new file mode 100644
index 0000000000..d21bccc451
--- /dev/null
+++ b/scripts/rtemsdoc/README
@@ -0,0 +1,10 @@
+#
+# $Id$
+#
+
+This directory contains RPM-spec file fragments (*.add) which are used to
+build RTEMS doc packages.
+
+This spec-file is pretty immature ;)
+
+Ralf Corsepius 2003/01/24
diff --git a/scripts/rtemsdoc/header.add b/scripts/rtemsdoc/header.add
new file mode 100644
index 0000000000..6806c819dc
--- /dev/null
+++ b/scripts/rtemsdoc/header.add
@@ -0,0 +1,4 @@
+#
+# spec file for package rtemsdoc
+#
+# Copyright (c) 2003, 2004 Ralf Corsepius, Ulm, Germany
diff --git a/scripts/rtemsdoc/rtemsdoc.add b/scripts/rtemsdoc/rtemsdoc.add
new file mode 100644
index 0000000000..828d791894
--- /dev/null
+++ b/scripts/rtemsdoc/rtemsdoc.add
@@ -0,0 +1,86 @@
+%define _datadir %{_prefix}/share
+%define _infodir %{_datadir}/info
+
+%define srcvers @rtems_version@
+%define rpmvers %{expand:%%(echo @rtems_version@ | tr - _ )}
+
+Name: @rpmprefix@rtemsdoc
+Release: @rtems_rpm_release@
+Epoch: 0
+License: Distributable
+Group: %{rpmgroup}/Documentation
+
+Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com
+BuildRequires: texinfo >= 4.2
+BuildRequires: tetex
+BuildRequires: perl
+BuildRequires: gcc
+
+Version: %{rpmvers}
+Summary: A free operating system for embedded systems
+Source: rtems-%{srcvers}.tar.bz2
+
+#
+# The original sources are not included in the source RPM.
+# If we included them, then the source RPMs for each target
+# would duplicate MBs of source unnecessarily. This is
+# a duplication of over 30 MBs of source for each of
+# the more than 10 targets it is possible to build.
+#
+# You can get them yourself from the Internet and copy them to
+# your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR).
+# Or you can try the ftp options of rpm :-)
+#
+NoSource: 0
+Prefix: %{_prefix}
+Prefix: %{_infodir}
+Prefix: %{_datadir}
+BuildArch: noarch
+
+%description
+RTEMS is a free operating system for embedded systems.
+
+This package contains the documentation
+
+%prep
+%setup -c -T -n %{name}-%{version} -b0
+test -d build || mkdir build
+%build
+cd build
+# rtems does not support building inside the source tree
+ export PATH=%{_prefix}/bin:$PATH
+ ../rtems-%{srcvers}/doc/configure \
+ --prefix=%{_prefix} \
+ --infodir=%{_infodir} \
+ --datadir=%{_datadir} \
+ --enable-docs
+ make RTEMS_BSP=
+%install
+ rm -rf ${RPM_BUILD_ROOT}
+cd build
+ make RTEMS_BSP= DESTDIR=${RPM_BUILD_ROOT} install
+ rm -f ${RPM_BUILD_ROOT}/%{_infodir}/template*
+ rm -f ${RPM_BUILD_ROOT}/%{_datadir}/rtems/*/template*
+ rm -rf ${RPM_BUILD_ROOT}/%{_datadir}/rtems/html/supplements/template*
+
+ gzip -9qf ${RPM_BUILD_ROOT}/%{_infodir}/*
+
+## base
+
+%package base
+Summary: Documentation for RTEMS ada support
+Group: %{rpmgroup}/Documentation
+
+%description base
+RTEMS is a free operating system for embedded systems.
+
+This package contains the files shared between different documentation
+packages.
+
+%files base
+%dir %{_infodir}
+%dir %{_datadir}/rtems
+%dir %{_datadir}/rtems/html
+%{_datadir}/rtems/html/images
+%{_datadir}/rtems/html/*.html
+
diff --git a/scripts/rtemsdoc/supplement.add.in b/scripts/rtemsdoc/supplement.add.in
new file mode 100644
index 0000000000..c556a9025a
--- /dev/null
+++ b/scripts/rtemsdoc/supplement.add.in
@@ -0,0 +1,36 @@
+## supplement for target @target@
+
+%package @target@
+Summary: Documentation for RTEMS @target@ support
+Group: %{rpmgroup}/Documentation
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+Requires: @rpmprefix@rtemsdoc-base
+
+%description @target@
+RTEMS is a free operating system for embedded systems.
+
+This package contains the @target@ target supplement
+
+%files @target@
+%dir %{_infodir}
+%{_infodir}/@target@.info*
+%dir %{_datadir}
+%dir %{_datadir}/rtems
+%dir %{_datadir}/rtems/dvi
+%{_datadir}/rtems/dvi/@target@*
+%dir %{_datadir}/rtems/pdf
+%{_datadir}/rtems/pdf/@target@*
+%dir %{_datadir}/rtems/ps
+%{_datadir}/rtems/ps/@target@*
+%dir %{_datadir}/rtems/html
+%dir %{_datadir}/rtems/html/supplements
+%{_datadir}/rtems/html/supplements/@target@*
+
+%post @target@
+/sbin/install-info --infodir=%{_infodir} %{_infodir}/@target@.info.gz
+
+%preun @target@
+if [ $1 -eq 0 ]; then
+ /sbin/install-info --delete --infodir=%{_infodir} %{_infodir}/@target@.info.gz
+fi
diff --git a/scripts/rtemsdoc/templ.add.in b/scripts/rtemsdoc/templ.add.in
new file mode 100644
index 0000000000..48d789eead
--- /dev/null
+++ b/scripts/rtemsdoc/templ.add.in
@@ -0,0 +1,35 @@
+## @target@
+
+%package @target@
+Summary: Documentation for RTEMS @target@ support
+Group: %{rpmgroup}/Documentation
+Requires(post): /sbin/install-info
+Requires(preun): /sbin/install-info
+Requires: @rpmprefix@rtemsdoc-base
+
+%description @target@
+RTEMS is a free operating system for embedded systems.
+
+This package contains the @target@ documentation.
+
+%files @target@
+%dir %{_infodir}
+%{_infodir}/@target@.info*
+%dir %{_datadir}
+%dir %{_datadir}/rtems
+%dir %{_datadir}/rtems/dvi
+%{_datadir}/rtems/dvi/@target@*
+%dir %{_datadir}/rtems/pdf
+%{_datadir}/rtems/pdf/@target@*
+%dir %{_datadir}/rtems/ps
+%{_datadir}/rtems/ps/@target@*
+%dir %{_datadir}/rtems/html
+%{_datadir}/rtems/html/@target@*
+
+%post @target@
+/sbin/install-info --infodir=%{_infodir} %{_infodir}/@target@.info.gz
+
+%preun @target@
+if [ $1 -eq 0 ]; then
+ /sbin/install-info --delete --infodir=%{_infodir}/dir %{_infodir}/@target@.info.gz
+fi
diff --git a/scripts/setup b/scripts/setup
new file mode 100755
index 0000000000..ccc1f3db4d
--- /dev/null
+++ b/scripts/setup
@@ -0,0 +1,117 @@
+#!/bin/bash
+
+CFG=setup.cache
+
+# RTEMS tools setup
+
+if test ! -f ./$CFG;
+then
+ echo -n "restoring default setup.cache .."
+ cp ./setup.def ./$CFG
+ echo " done"
+fi
+
+echo -n "loading setup from ./$CFG .."
+. ./$CFG
+echo " done"
+echo
+
+menu_setup()
+{
+while true;
+do
+ echo
+ echo " Source packages setup"
+ echo
+ echo "0 binutils version : $binutils_version"
+ echo "1 binutils patch version : $binutils_patch_version"
+ echo "2 binutils rpm release : $binutils_rpm_release"
+ echo "8 gdb version : $gdb_version"
+ echo "9 gdb patch version : $gdb_patch_version"
+ echo "a gdb rpm release : $gdb_rpm_release"
+ echo "b rtems version : $rtems_version"
+ echo "c rtems rpm release : $rtems_rpm_release"
+ echo "d rpm build root : $rpm_build_root"
+ echo "e gcc version : $gcc_version"
+ echo "f gcc patch version : $gcc_patch_version"
+ echo "g newlib version : $newlib_version"
+ echo "h newlib patch version : $newlib_patch_version"
+ echo "i gcc/newlib rpm release : $gccnewlib_rpm_release"
+ echo
+
+ echo -n "[0-9a-d] or any other key to quit >"
+ read sel
+ case $sel in
+ 0) echo -n "BINUTILS source >"
+ read binutils_version ;;
+ 1) echo -n "BINUTILS patch version >"
+ read binutils_patch_version ;;
+ 2) echo -n "BINUTILS RPM release >"
+ read binutils_rpm_release ;;
+ 8) echo -n "GDB source >"
+ read gdb_version ;;
+ 9) echo -n "GDB patch version>"
+ read gdb_patch_version ;;
+ a) echo -n "GDB RPM release >"
+ read gdb_rpm_release ;;
+ b) echo -n "RTEMS source >"
+ read rtems_version ;;
+ c) echo -n "RTEMS RPM release >"
+ read rtems_rpm_release ;;
+ d) echo -n "RPM build root >"
+ read rpm_build_root ;;
+ e) echo -n "GCC source >"
+ read gcc_version ;;
+ f) echo -n "GCC patch version>"
+ read gcc_patch_version ;;
+ g) echo -n "NEWLIB source >"
+ read newlib_version ;;
+ h) echo -n "NEWLIB patch version>"
+ read newlib_patch_version ;;
+ i) echo -n "GCC3/NEWLIB RPM release >"
+ read gccnewlib_rpm_release ;;
+ *)
+ return 0 ;;
+ esac
+done
+}
+
+
+save_setup()
+{
+echo -n "saving setup to $CFG .."
+
+echo "# RTEMS tools setup" > $CFG
+echo "binutils_version=$binutils_version" >> $CFG
+echo "binutils_patch_version=$binutils_patch_version" >> $CFG
+echo "binutils_rpm_release=$binutils_rpm_release" >> $CFG
+echo "newlib_version=$newlib_version" >> $CFG
+echo "newlib_patch_version=$newlib_patch_version" >> $CFG
+echo "gcc_version=$gcc_version" >> $CFG
+echo "gcc_patch_version=$gcc_patch_version" >> $CFG
+echo "gccnewlib_rpm_release=$gccnewlib_rpm_release" >> $CFG
+echo "gdb_version=$gdb_version" >> $CFG
+echo "gdb_patch_version=$gdb_patch_version" >> $CFG
+echo "gdb_rpm_release=$gdb_rpm_release" >> $CFG
+echo "rtems_version=$rtems_version" >> $CFG
+echo "rtems_rpm_release=$rtems_rpm_release" >> $CFG
+echo "rpm_build_root=$rpm_build_root" >> $CFG
+echo "newlib_version=$newlib_version" >> $CFG
+echo "newlib_patch_version=$newlib_patch_version" >> $CFG
+echo "gcc_version=$gcc_version" >> $CFG
+echo "gcc_patch_version=$gcc_patch_version" >> $CFG
+echo "gccnewlib_rpm_release=$gccnewlib_rpm_release" >> $CFG
+
+echo " done"
+test -f Makefile || ./configure
+}
+
+menu_setup
+
+echo
+echo -n "Save setup [y|n] >"
+read sel
+case $sel in
+''|y*|Y*) save_setup ;;
+*) ;;
+esac
diff --git a/scripts/setup.def b/scripts/setup.def
new file mode 100644
index 0000000000..13964d173b
--- /dev/null
+++ b/scripts/setup.def
@@ -0,0 +1,22 @@
+#
+# RTEMS tools setup
+#
+# $Id$
+#
+binutils_version=2.16.1
+binutils_patch_version=20050816
+binutils_suffix=.tar.bz2
+binutils_rpm_release=3
+gdb_version=6.3
+gdb_suffix=.tar.bz2
+gdb_patch_version=20050828
+gdb_rpm_release=1
+rtems_version=4.6.99.1
+rtems_rpm_release=1
+newlib_version=1.13.0
+newlib_suffix=.tar.gz
+newlib_patch_version=20050810
+gcc_version=4.0.1
+gcc_suffix=.tar.bz2
+gcc_patch_version=20050810
+gccnewlib_rpm_release=4