3 # - GCC ARM Improvement Project - http://www.inf.u-szeged.hu/gcc-arm/
4 # - Developing StrongARM shellocde - http://phrack.org/show.php?p=58&a=10
7 %bcond_with eabi # build with Embedded ABI support
9 Summary: Cross ARM GNU binary utility development utilities - gcc
10 Summary(es): Utilitarios para desarrollo de binarios de la GNU - ARM gcc
11 Summary(fr): Utilitaires de développement binaire de GNU - ARM gcc
12 Summary(pl): Skro¶ne narzêdzia programistyczne GNU dla ARM - gcc
13 Summary(pt_BR): Utilitários para desenvolvimento de binários da GNU - ARM gcc
14 Summary(tr): GNU geliþtirme araçlarý - ARM gcc
17 Release: 1%{?with_eabi:eabi}
20 Group: Development/Languages
21 Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/gcc-%{version}.tar.bz2
22 # Source0-md5: 99f114330f152939f0d9586010da176f
23 %define _llh_ver 2.6.11.2
24 Source1: http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-%{_llh_ver}.tar.bz2
25 # Source1-md5: 2d21d8e7ff641da74272b114c786464e
26 %define _uclibc_ver 0.9.27
27 Source2: http://uclibc.org/downloads/uClibc-%{_uclibc_ver}.tar.bz2
28 # Source2-md5: 6250bd6524283bd8e7bc976d43a46ec0
29 Source3: crossarm-embedded-uclibc.config
30 Patch0: gcc-pr20973.patch
31 Patch1: gcc-pr21173.patch
32 URL: http://gcc.gnu.org/
33 BuildRequires: autoconf
34 BuildRequires: automake
36 BuildRequires: crossarm-binutils%{?with_eabi:(eabi)}
38 BuildRequires: kernel-module-build
39 Requires: crossarm-binutils%{?with_eabi:(eabi)}
42 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44 %define target arm-linux%{?with_eabi:-eabi}
45 %define arch %{_prefix}/%{target}
46 %define gccarch %{_libdir}/gcc/%{target}
47 %define gcclib %{gccarch}/%{version}
49 %define _noautostrip .*/libgc.*\\.a
52 This package contains a cross-gcc which allows the creation of
53 binaries to be run on ARM linux (architecture arm-linux) on
57 Dieses Paket enthält einen Cross-gcc, der es erlaubt, auf einem
58 anderem Rechner Code für arm-Linux zu generieren.
61 Ten pakiet zawiera skro¶ny gcc pozwalaj±cy na robienie na innych
62 maszynach binariów do uruchamiania na ARM (architektura
66 Summary: C++ support for crossppc-arm
67 Summary(pl): Obs³uga C++ dla crossppc-arm
68 Group: Development/Languages
69 Requires: %{name} = %{epoch}:%{version}-%{release}
72 This package adds C++ support to the GNU Compiler Collection for ARM.
74 %description c++ -l pl
75 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc dla ARM.
78 %setup -q -n gcc-%{version} -a1 -a2
83 FAKE_ROOT=$PWD/fake-root
86 install -d $FAKE_ROOT%{_prefix}
87 cp -r uClibc-%{_uclibc_ver}/* $FAKE_ROOT%{_prefix}
88 cd $FAKE_ROOT%{_prefix}
89 install %{SOURCE3} .config
93 cp -f /usr/share/automake/config.* .
95 install -d obj-%{target}
98 CFLAGS="%{rpmcflags}" \
99 CXXFLAGS="%{rpmcxxflags}" \
102 --prefix=%{_prefix} \
103 --infodir=%{_infodir} \
104 --mandir=%{_mandir} \
105 --bindir=%{_bindir} \
106 --libdir=%{_libdir} \
107 --libexecdir=%{_libdir} \
110 --enable-languages="c,c++" \
116 --with-demangler-in-ld \
119 --with-sysroot=$FAKE_ROOT \
122 --host=%{_target_platform} \
123 --build=%{_target_platform}
128 rm -rf $RPM_BUILD_ROOT
130 %{__make} -C obj-%{target} install-gcc \
131 DESTDIR=$RPM_BUILD_ROOT
133 install obj-%{target}/gcc/specs $RPM_BUILD_ROOT%{gcclib}
135 # don't want this here
136 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
138 # include/ contains install-tools/include/* and headers that were fixed up
139 # by fixincludes, we don't want former
140 gccdir=$(echo $RPM_BUILD_ROOT%{_libdir}/gcc/*/*/)
142 # we have to save these however
143 #{?with_java:mv -f $gccdir/include/{gcj,libffi/ffitarget.h} $gccdir/tmp}
144 mv -f $gccdir/include/syslimits.h $gccdir/tmp
145 rm -rf $gccdir/include
146 mv -f $gccdir/tmp $gccdir/include
147 cp -f $gccdir/install-tools/include/*.h $gccdir/include
148 # but we don't want anything more from install-tools
149 rm -rf $gccdir/install-tools
152 %{target}-strip -g $RPM_BUILD_ROOT%{gcclib}/libgcc.a
153 %{target}-strip -g $RPM_BUILD_ROOT%{gcclib}/libgcov.a
157 rm -rf $RPM_BUILD_ROOT
160 %defattr(644,root,root,755)
161 %attr(755,root,root) %{_bindir}/%{target}-cpp
162 %attr(755,root,root) %{_bindir}/%{target}-gcc
165 %{?with_eabi:%dir %{gcclib}/thumb}
166 %attr(755,root,root) %{gcclib}/cc1
167 %attr(755,root,root) %{gcclib}/collect2
171 %{gcclib}/thumb/crt*.o
172 %{gcclib}/thumb/libgcc.a
175 %dir %{gcclib}/include
176 %{gcclib}/include/*.h
177 %{_mandir}/man1/%{target}-cpp.1*
178 %{_mandir}/man1/%{target}-gcc.1*
181 %defattr(644,root,root,755)
182 %attr(755,root,root) %{_bindir}/%{target}-g++
183 %attr(755,root,root) %{gcclib}/cc1plus
184 %{_mandir}/man1/%{target}-g++.1*