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