]> git.pld-linux.org Git - packages/crossavr-gcc.git/blob - crossavr-gcc.spec
- cleanup, updated BRs, stub texinfo build (not packaged and would require patch...
[packages/crossavr-gcc.git] / crossavr-gcc.spec
1 #
2 # Conditional build:
3 %bcond_with     bootstrap       # for bootstraping
4 #
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
11 Name:           crossavr-gcc
12 Version:        4.7.3
13 Release:        3
14 Epoch:          1
15 License:        GPL v3+
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
38 BuildRequires:  bison
39 BuildRequires:  cloog-ppl-devel >= 0.16.1
40 BuildRequires:  crossavr-binutils >= 2.23.1
41 BuildRequires:  elfutils-devel >= 0.145-1
42 BuildRequires:  flex
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
54 Requires:       gcc-dirs
55 Requires:       libmpc >= 0.8.0
56 Requires:       mpfr >= 2.4.2
57 Requires:       ppl >= 0.11
58 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
59
60 %define         target          avr
61 %define         archprefix      %{_prefix}/%{target}
62 %define         gccarchdir      %{_libdir}/gcc/%{target}
63 %define         gcclibdir       %{_libdir}/gcc/%{target}/%{version}
64
65 %define         _noautostrip    .*%{gcclibdir}.*/libgc.*\\.a
66
67 # functions with printf format attribute but with special parser and also
68 # receiving non constant format strings
69 %define         Werror_cflags   %{nil}
70
71 %description
72 This package contains a cross-gcc which allows the creation of
73 binaries to be run on Atmel AVR on other machines.
74
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.
78
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.
82
83 %package c++
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}
88
89 %description c++
90 This package adds C++ support to the GNU Compiler Collection for AVR.
91
92 %description c++ -l pl.UTF-8
93 Ten pakiet dodaje obsługę C++ do kompilatora gcc dla AVR.
94
95 %prep
96 %setup -q -n gcc-%{version}
97 cd gcc/config/%{target} && %undos -f c,h && cd -
98 %patch0 -p1
99 %patch100 -p0
100 #patch101 -p0
101 %patch102 -p0
102 %patch103 -p0
103 #patch104 -p0
104 #patch105 -p0
105 #patch106 -p0
106 #patch107 -p0
107 #patch108 -p0
108 %patch109 -p0
109 #patch110 -p0
110 %patch111 -p0
111 #patch112 -p0
112
113 %build
114 rm -rf obj-%{target}
115 install -d obj-%{target}
116 cd obj-%{target}
117
118 CFLAGS="%{rpmcflags}" \
119 CXXFLAGS="%{rpmcflags}" \
120 TEXCONFIG=false \
121 ../configure \
122         MAKEINFO=/bin/true \
123         --prefix=%{_prefix} \
124         --bindir=%{_bindir} \
125         --libdir=%{_libdir} \
126         --libexecdir=%{_libdir} \
127         --infodir=%{_infodir} \
128         --mandir=%{_mandir} \
129         --enable-c99 \
130         --enable-languages="c,c++" \
131         --disable-libssp \
132         --enable-long-long \
133         --enable-lto \
134         --disable-ppl-version-check \
135         --disable-shared \
136         --with-dwarf2 \
137         --with-gnu-as \
138         --with-gnu-ld \
139         --with-multilib \
140         --with-ppl \
141         --with-system-zlib \
142         --without-x \
143         --build=%{_target_platform} \
144         --host=%{_target_platform} \
145         --target=%{target}
146
147 %{__make} \
148         CFLAGS_FOR_TARGET="-Os"
149
150 %install
151 rm -rf $RPM_BUILD_ROOT
152
153 %{__make} -C obj-%{target} install \
154         DESTDIR=$RPM_BUILD_ROOT
155
156 # move fixed includes to proper place
157 cp -p $RPM_BUILD_ROOT%{gcclibdir}/include-fixed/{limits,syslimits}.h $RPM_BUILD_ROOT%{gcclibdir}/include
158
159 # don't want it here
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
167
168 %if 0%{!?debug:1}
169 # strip target libraries
170 %{target}-strip -g $RPM_BUILD_ROOT%{gcclibdir}{,/avr*}/libg*.a
171 %endif
172
173 %clean
174 rm -rf $RPM_BUILD_ROOT
175
176 %files
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
185 %dir %{gccarchdir}
186 %dir %{gcclibdir}
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
194 # subtargets
195 %{gcclibdir}/avr25
196 %{gcclibdir}/avr3
197 %{gcclibdir}/avr31
198 %{gcclibdir}/avr35
199 %{gcclibdir}/avr4
200 %{gcclibdir}/avr5
201 %{gcclibdir}/avr51
202 %{gcclibdir}/avr6
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
225 # plugin-devel
226 %{gcclibdir}/plugin
227 %{_mandir}/man1/%{target}-cpp.1*
228 %{_mandir}/man1/%{target}-gcc.1*
229 %{_mandir}/man1/%{target}-gcov.1*
230
231 %files c++
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*
This page took 0.119057 seconds and 3 git commands to generate.