diff --git a/contrib/crossrpms/rtems4.8/avr/Makefile.am b/contrib/crossrpms/rtems4.8/avr/Makefile.am index fce33ec24c..c426f1c155 100644 --- a/contrib/crossrpms/rtems4.8/avr/Makefile.am +++ b/contrib/crossrpms/rtems4.8/avr/Makefile.am @@ -10,9 +10,9 @@ BINUTILS_RPMREL = 2%{?dist} include ../binutils.am BINUTILS_OPTS += -GCC_VERS = 4.2.1 +GCC_VERS = 4.0.3 GCC_PKGVERS = $(GCC_VERS) -GCC_RPMREL = 22%{?dist} +GCC_RPMREL = 12%{?dist} NEWLIB_VERS = 1.15.0 include ../gcc.am diff --git a/contrib/crossrpms/rtems4.8/avr/gcc-sources.add b/contrib/crossrpms/rtems4.8/avr/gcc-sources.add index cd6b58887a..d7309a9169 100644 --- a/contrib/crossrpms/rtems4.8/avr/gcc-sources.add +++ b/contrib/crossrpms/rtems4.8/avr/gcc-sources.add @@ -1,3 +1,6 @@ +%if "%{gcc_version}" == "3.4.6" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-3.4.6/gcc-core-%{gcc_pkgvers}.tar.bz2 +%endif %if "%{gcc_version}" == "4.0.3" Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-core-%{gcc_pkgvers}.tar.bz2 Patch0: gcc-core-4.0.3-rtems-20060822.diff @@ -16,7 +19,7 @@ Patch0: gcc-core-%{gcc_pkgvers}-rtems4.8-20070613.diff %endif %if "%{gcc_version}" == "4.2.1" Source0: ftp://gcc.gnu.org/pub/gcc/%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 -Patch0: gcc-core-4.2.1-rtems4.8-20070719.diff +Patch0: gcc-core-4.2.1-rtems4.8-20070804.diff %endif %{?_without_sources:NoSource: 0} diff --git a/contrib/crossrpms/rtems4.8/avr/rtems-4.8-avr-rtems4.8-gcc.spec b/contrib/crossrpms/rtems4.8/avr/rtems-4.8-avr-rtems4.8-gcc.spec index f10a4a5814..2444120334 100644 --- a/contrib/crossrpms/rtems4.8/avr/rtems-4.8-avr-rtems4.8-gcc.spec +++ b/contrib/crossrpms/rtems4.8/avr/rtems-4.8-avr-rtems4.8-gcc.spec @@ -40,6 +40,7 @@ BuildRequires: flex bison BuildRequires: texinfo >= 4.2 BuildRequires: rtems-4.8-avr-rtems4.8-binutils +Requires: rtems-4.8-gcc-common Requires: rtems-4.8-avr-rtems4.8-binutils Requires: rtems-4.8-avr-rtems4.8-newlib = %{newlib_version}-%{release} @@ -52,6 +53,9 @@ Requires: rtems-4.8-avr-rtems4.8-newlib = %{newlib_version}-%{release} %define gccexec %{_libdir}/gcc-lib %endif +%if "%{gcc_version}" == "3.4.6" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-3.4.6/gcc-core-%{gcc_pkgvers}.tar.bz2 +%endif %if "%{gcc_version}" == "4.0.3" Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-core-%{gcc_pkgvers}.tar.bz2 Patch0: gcc-core-4.0.3-rtems-20060822.diff @@ -68,11 +72,15 @@ Patch0: gcc-core-4.1.2-rtems4.8-20070613.diff Source0: ftp://gcc.gnu.org/pub/gcc/%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 Patch0: gcc-core-%{gcc_pkgvers}-rtems4.8-20070613.diff %endif +%if "%{gcc_version}" == "4.2.1" +Source0: ftp://gcc.gnu.org/pub/gcc/%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: gcc-core-4.2.1-rtems4.8-20070804.diff +%endif %{?_without_sources:NoSource: 0} Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_version}.tar.gz %if "%{newlib_version}" == "1.15.0" -Patch50: newlib-1.15.0-rtems4.8-20070413.diff +Patch50: newlib-1.15.0-rtems4.8-20070804.diff %endif %{?_without_sources:NoSource: 50} @@ -150,6 +158,7 @@ cd .. %endif make all + make info cd .. %install @@ -180,11 +189,9 @@ cd .. rm -f $RPM_BUILD_ROOT%{_bindir}/avr-rtems4.8-c++filt%{_exeext} -# 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 + # We don't ship info/dir + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir %if "%{gcc_version}" >= "3.4" @@ -365,7 +372,7 @@ GNU cc compiler for avr-rtems4.8. %dir %{gcclib}/avr-rtems4.8/%{gcc_version}/include %if "%{gcc_version}" > "4.0.3" -%if "avr-rtems4.8" != "bfin-rtems4.7" +%if "avr-rtems4.8" != "bfin-rtems4.8" %dir %{gcclib}/avr-rtems4.8/%{gcc_version}/include/ssp %endif %endif @@ -376,6 +383,65 @@ GNU cc compiler for avr-rtems4.8. %{gccexec}/avr-rtems4.8/%{gcc_version}/cc1%{_exeext} %{gccexec}/avr-rtems4.8/%{gcc_version}/collect2%{_exeext} +# ============================================================== +# rtems-4.8-gcc-common +# ============================================================== +%package -n rtems-4.8-gcc-common +Summary: Base package for rtems gcc and newlib C Library +Group: Development/Tools +Version: %{gcc_rpmvers} +License: GPL + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.8-gcc-common + +GCC files that are shared by all targets. + +%files -n rtems-4.8-gcc-common +%defattr(-,root,root) +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/cpp.info* +%{_infodir}/cppinternals.info* +%{_infodir}/gcc.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 rtems-4.8-gcc-common + /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}/gccint.info.gz || : +%if "%{gcc_version}" >= "3.4" + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : +%endif + +%preun -n rtems-4.8-gcc-common +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}/gccint.info.gz || : +%if "%{gcc_version}" >= "3.4" + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : +%endif +fi + @@ -391,6 +457,7 @@ Version: %{newlib_version} Provides: rtems-4.8-avr-rtems4.8-libc = %{newlib_version}-%{release} Obsoletes: rtems-4.8-avr-rtems4.8-libc < %{newlib_version}-%{release} +Requires: rtems-4.8-newlib-common %description -n rtems-4.8-avr-rtems4.8-newlib Newlib C Library for avr-rtems4.8. @@ -401,3 +468,35 @@ Newlib C Library for avr-rtems4.8. %dir %{_exec_prefix}/avr-rtems4.8 %{_exec_prefix}/avr-rtems4.8/include +# ============================================================== +# rtems-4.8-newlib-common +# ============================================================== +%package -n rtems-4.8-newlib-common +Summary: Base package for RTEMS newlib C Library +Group: Development/Tools +Version: %{newlib_version} +License: Distributable + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.8-newlib-common +newlib files that are shared by all targets. + +%files -n rtems-4.8-newlib-common +%defattr(-,root,root) +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/libc.info* +%{_infodir}/libm.info* + +%post -n rtems-4.8-newlib-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : + +%preun -n rtems-4.8-newlib-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : +fi +