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