diff options
Diffstat (limited to '')
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 |