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