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