3 %bcond_with bootstrap # for bootstraping
5 Summary: Cross AVR GNU binary utility development utilities - gcc
6 Summary(es.UTF-8): Utilitarios para desarrollo de binarios de la GNU - AVR gcc
7 Summary(fr.UTF-8): Utilitaires de développement binaire de GNU - AVR gcc
8 Summary(pl.UTF-8): Skrośne narzędzia programistyczne GNU dla AVR - gcc
9 Summary(pt_BR.UTF-8): Utilitários para desenvolvimento de binários da GNU - AVR gcc
10 Summary(tr.UTF-8): GNU geliştirme araçları - AVR gcc
16 Group: Development/Languages
17 Source0: http://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/gcc-%{version}.tar.bz2
18 # Source0-md5: 86f428a30379bdee0224e353ee2f999e
19 Patch0: gnu_inline-mismatch.patch
20 # Patches 1xx are taken form Atmel official AVR8-GNU toolchain version 3.4.2
21 # http://distribute.atmel.no/tools/opensource/Atmel-AVR-Toolchain-3.4.2/avr/avr-patches.tar.gz
22 Patch100: 300-gcc-xmega-support.patch
23 Patch101: 301-gcc-tiny-support.patch
24 Patch102: 302-gcc-mlist-devices.patch
25 Patch103: 303-ata6289-architecture-correction.patch
26 Patch104: 400-gcc-public-devices-support.patch
27 Patch105: 401-gcc-non-public-devices-support.patch
28 Patch106: 402-gcc-atmega64_128_2564RFR2.patch
29 Patch107: 403-gcc-atmxts200.patch
30 Patch108: 501-gcc-avrtc579.patch
31 Patch109: 502-gcc-pr54796.patch
32 Patch110: 503-gcc-avrtc-513.patch
33 Patch111: 504-gcc-avrtc-610.patch
34 Patch112: 505-gcc-avrtc586.patch
35 URL: http://gcc.gnu.org/
36 BuildRequires: /bin/bash
37 BuildRequires: autoconf
39 BuildRequires: cloog-ppl-devel >= 0.16.1
40 BuildRequires: crossavr-binutils >= 2.23.1
41 BuildRequires: elfutils-devel >= 0.145-1
43 BuildRequires: gmp-devel >= 4.3.2
44 BuildRequires: libmpc-devel >= 0.8.0
45 BuildRequires: mpfr-devel >= 2.4.2
46 BuildRequires: perl-tools-pod
47 BuildRequires: ppl-devel >= 0.11
48 BuildRequires: rpmbuild(macros) >= 1.565
49 BuildRequires: sed >= 4.0
50 Requires: crossavr-binutils >= 2.23.1
51 %{!?with_bootstrap:Requires: crossavr-libc}
52 Requires: cloog-ppl-libs >= 0.16.1
53 Requires: gmp >= 4.3.2
55 Requires: libmpc >= 0.8.0
56 Requires: mpfr >= 2.4.2
58 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
61 %define archprefix %{_prefix}/%{target}
62 %define gccarchdir %{_libdir}/gcc/%{target}
63 %define gcclibdir %{_libdir}/gcc/%{target}/%{version}
65 %define _noautostrip .*%{gcclibdir}.*/libgc.*\\.a
67 # functions with printf format attribute but with special parser and also
68 # receiving non constant format strings
69 %define Werror_cflags %{nil}
72 This package contains a cross-gcc which allows the creation of
73 binaries to be run on Atmel AVR on other machines.
75 %description -l de.UTF-8
76 Dieses Paket enthält einen Cross-gcc, der es erlaubt, auf einem
77 anderem Rechner Code für Atmel AVR zu generieren.
79 %description -l pl.UTF-8
80 Ten pakiet zawiera skrośny gcc pozwalający na robienie na innych
81 maszynach binariów do uruchamiania na Atmel AVR.
84 Summary: C++ support for avr-gcc
85 Summary(pl.UTF-8): Obsługa C++ dla avr-gcc
86 Group: Development/Languages
87 Requires: %{name} = %{epoch}:%{version}-%{release}
90 This package adds C++ support to the GNU Compiler Collection for AVR.
92 %description c++ -l pl.UTF-8
93 Ten pakiet dodaje obsługę C++ do kompilatora gcc dla AVR.
96 %setup -q -n gcc-%{version}
97 cd gcc/config/%{target} && %undos -f c,h && cd -
115 install -d obj-%{target}
118 CFLAGS="%{rpmcflags}" \
119 CXXFLAGS="%{rpmcflags}" \
123 --prefix=%{_prefix} \
124 --bindir=%{_bindir} \
125 --libdir=%{_libdir} \
126 --libexecdir=%{_libdir} \
127 --infodir=%{_infodir} \
128 --mandir=%{_mandir} \
130 --enable-languages="c,c++" \
134 --disable-ppl-version-check \
143 --build=%{_target_platform} \
144 --host=%{_target_platform} \
148 CFLAGS_FOR_TARGET="-Os"
151 rm -rf $RPM_BUILD_ROOT
153 %{__make} -C obj-%{target} install \
154 DESTDIR=$RPM_BUILD_ROOT
156 # move fixed includes to proper place
157 cp -p $RPM_BUILD_ROOT%{gcclibdir}/include-fixed/{limits,syslimits}.h $RPM_BUILD_ROOT%{gcclibdir}/include
160 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libiberty.a
161 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man7/{fsf-funding,gfdl,gpl}.7
162 %{__rm} -r $RPM_BUILD_ROOT%{_infodir}
163 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}
164 %{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/include-fixed
165 %{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/install-tools
166 %{__rm} $RPM_BUILD_ROOT%{gcclibdir}/liblto_plugin.la
169 # strip target libraries
170 %{target}-strip -g $RPM_BUILD_ROOT%{gcclibdir}{,/avr*}/libg*.a
174 rm -rf $RPM_BUILD_ROOT
177 %defattr(644,root,root,755)
178 %attr(755,root,root) %{_bindir}/%{target}-cpp
179 %attr(755,root,root) %{_bindir}/%{target}-gcc
180 %attr(755,root,root) %{_bindir}/%{target}-gcc-%{version}
181 %attr(755,root,root) %{_bindir}/%{target}-gcc-ar
182 %attr(755,root,root) %{_bindir}/%{target}-gcc-nm
183 %attr(755,root,root) %{_bindir}/%{target}-gcc-ranlib
184 %attr(755,root,root) %{_bindir}/%{target}-gcov
187 %attr(755,root,root) %{gcclibdir}/cc1
188 %attr(755,root,root) %{gcclibdir}/collect2
189 %attr(755,root,root) %{gcclibdir}/lto-wrapper
190 %attr(755,root,root) %{gcclibdir}/lto1
191 %attr(755,root,root) %{gcclibdir}/liblto_plugin.so*
192 %{gcclibdir}/libgcc.a
193 %{gcclibdir}/libgcov.a
203 %{gcclibdir}/avrxmega2
204 %{gcclibdir}/avrxmega4
205 %{gcclibdir}/avrxmega5
206 %{gcclibdir}/avrxmega6
207 %{gcclibdir}/avrxmega7
208 %{gcclibdir}/tiny-stack
209 %dir %{gcclibdir}/include
210 %{gcclibdir}/include/float.h
211 %{gcclibdir}/include/iso646.h
212 %{gcclibdir}/include/limits.h
213 %{gcclibdir}/include/stdalign.h
214 %{gcclibdir}/include/stdarg.h
215 %{gcclibdir}/include/stdbool.h
216 %{gcclibdir}/include/stddef.h
217 %{gcclibdir}/include/stdfix.h
218 %{gcclibdir}/include/stdint-gcc.h
219 %{gcclibdir}/include/stdint.h
220 %{gcclibdir}/include/stdnoreturn.h
221 %{gcclibdir}/include/syslimits.h
222 %{gcclibdir}/include/tgmath.h
223 %{gcclibdir}/include/unwind.h
224 %{gcclibdir}/include/varargs.h
227 %{_mandir}/man1/%{target}-cpp.1*
228 %{_mandir}/man1/%{target}-gcc.1*
229 %{_mandir}/man1/%{target}-gcov.1*
232 %defattr(644,root,root,755)
233 %attr(755,root,root) %{_bindir}/%{target}-g++
234 %attr(755,root,root) %{_bindir}/%{target}-c++
235 %attr(755,root,root) %{gcclibdir}/cc1plus
236 %{_mandir}/man1/%{target}-g++.1*