]> git.pld-linux.org Git - packages/crossarm-gcc.git/blob - crossarm-gcc.spec
308943a7d54e0d31b4a3a7d6af3915db735f11eb
[packages/crossarm-gcc.git] / crossarm-gcc.spec
1 #
2 # MUST SEE:
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
5 #
6 # TODO:
7 #               - http://gcc.gnu.org/PR18560
8 #
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
15 Name:           crossarm-gcc
16 Version:        3.4.3
17 Release:        2
18 Epoch:          1
19 License:        GPL
20 Group:          Development/Languages
21 Source0:        ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/gcc-%{version}.tar.bz2
22 # Source0-md5:  e744b30c834360fccac41eb7269a3011
23 %define         _llh_ver        2.6.10.0
24 Source1:        http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-%{_llh_ver}.tar.bz2
25 # Source1-md5:  d3507b2c0203a0760a677022badcf455
26 Source2:        ftp://sources.redhat.com/pub/glibc/releases/glibc-2.3.4.tar.bz2
27 # Source2-md5:  174ac5ed4f2851fcc866a3bac1e4a6a5
28 Patch0:         %{name}-pr15068.patch
29 URL:            http://gcc.gnu.org/
30 BuildRequires:  autoconf
31 BuildRequires:  automake
32 BuildRequires:  bison
33 BuildRequires:  crossarm-binutils
34 BuildRequires:  flex
35 BuildRequires:  /bin/bash
36 Requires:       crossarm-binutils
37 Requires:       gcc-dirs
38 ExcludeArch:    arm
39 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
40
41 %define         target          arm-pld-linux
42 %define         arch            %{_prefix}/%{target}
43 %define         gccarch         %{_libdir}/gcc/%{target}
44 %define         gcclib          %{gccarch}/%{version}
45
46 %define         _noautostrip    .*/libgc.*\\.a
47
48 %description
49 This package contains a cross-gcc which allows the creation of
50 binaries to be run on ARM linux (architecture arm-linux) on
51 other machines.
52
53 %description -l de
54 Dieses Paket enthält einen Cross-gcc, der es erlaubt, auf einem
55 anderem Rechner Code für arm-Linux zu generieren.
56
57 %description -l pl
58 Ten pakiet zawiera skro¶ny gcc pozwalaj±cy na robienie na innych
59 maszynach binariów do uruchamiania na ARM (architektura
60 arm-linux).
61
62 %package c++
63 Summary:        C++ support for crossppc-arm
64 Summary(pl):    Obs³uga C++ dla crossppc-arm
65 Group:          Development/Languages
66 Requires:       %{name} = %{epoch}:%{version}-%{release}
67
68 %description c++
69 This package adds C++ support to the GNU Compiler Collection for ARM.
70
71 %description c++ -l pl
72 Ten pakiet dodaje obs³ugê C++ do kompilatora gcc dla ARM.
73
74 %prep
75 %setup -q -n gcc-%{version} -a1 -a2
76 %patch0 -p1
77
78 %build
79 FAKE_ROOT=$PWD/fake-root
80
81 rm -rf $FAKE_ROOT && install -d $FAKE_ROOT/usr/include
82 cp -r linux-libc-headers-%{_llh_ver}/include/{asm-arm,linux} $FAKE_ROOT/usr/include
83 ln -s asm-arm $FAKE_ROOT/usr/include/asm
84
85 cd libc
86 cp -f /usr/share/automake/config.* scripts
87 rm -rf builddir && install -d builddir && cd builddir
88 ../configure \
89         --prefix=$FAKE_ROOT/usr \
90         --build=%{_target_platform} \
91         --host=%{target} \
92         --disable-nls \
93         --with-headers=$FAKE_ROOT/usr/include \
94         --disable-sanity-checks \
95         --enable-hacker-mode
96
97 %{__make} sysdeps/gnu/errlist.c
98 %{__make} install-headers
99
100 install bits/stdio_lim.h $FAKE_ROOT/usr/include/bits
101 touch $FAKE_ROOT/usr/include/gnu/stubs.h
102 cd ../..
103
104 cp -f /usr/share/automake/config.* .
105 rm -rf obj-%{target}
106 install -d obj-%{target}
107 cd obj-%{target}
108
109 CFLAGS="%{rpmcflags}" \
110 CXXFLAGS="%{rpmcflags}" \
111 TEXCONFIG=false \
112 ../configure \
113         --prefix=%{_prefix} \
114         --with-sysroot=$FAKE_ROOT \
115         --infodir=%{_infodir} \
116         --mandir=%{_mandir} \
117         --bindir=%{_bindir} \
118         --libdir=%{_libdir} \
119         --libexecdir=%{_libdir} \
120         --disable-shared \
121         --disable-threads \
122         --enable-languages="c,c++" \
123         --enable-c99 \
124         --enable-long-long \
125         --with-gnu-as \
126         --with-gnu-ld \
127         --with-system-zlib \
128         --with-multilib \
129         --with-sysroot=$FAKE_ROOT \
130         --without-x \
131         --target=%{target} \
132         --host=%{_target_platform} \
133         --build=%{_target_platform}
134
135 %{__make} all-gcc
136
137 %install
138 rm -rf $RPM_BUILD_ROOT
139
140 %{__make} -C obj-%{target} install-gcc \
141         DESTDIR=$RPM_BUILD_ROOT
142
143 # don't want this here
144 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
145
146 %if 0%{!?debug:1}
147 %{target}-strip -g $RPM_BUILD_ROOT%{gcclib}/libgcc.a
148 %{target}-strip -g $RPM_BUILD_ROOT%{gcclib}/libgcov.a
149 %endif
150
151 %clean
152 rm -rf $RPM_BUILD_ROOT
153
154 %files
155 %defattr(644,root,root,755)
156 %attr(755,root,root) %{_bindir}/%{target}-cpp
157 %attr(755,root,root) %{_bindir}/%{target}-gcc
158 %dir %{gccarch}
159 %dir %{gcclib}
160 %attr(755,root,root) %{gcclib}/cc1
161 %attr(755,root,root) %{gcclib}/collect2
162 %{gcclib}/crt*.o
163 %{gcclib}/libgcc.a
164 %{gcclib}/specs*
165 %dir %{gcclib}/include
166 %{gcclib}/include/*.h
167 %{_mandir}/man1/%{target}-cpp.1*
168 %{_mandir}/man1/%{target}-gcc.1*
169
170 %files c++
171 %defattr(644,root,root,755)
172 %attr(755,root,root) %{_bindir}/%{target}-g++
173 %attr(755,root,root) %{gcclib}/cc1plus
174 %{_mandir}/man1/%{target}-g++.1*
This page took 0.075569 seconds and 3 git commands to generate.