3 %bcond_with bootstrap # bootstrap build (using binary w32api/mingw)
5 Summary: Cross Mingw32CE GNU binary utility development utilities - gcc
6 Summary(es.UTF-8): Utilitarios para desarrollo de binarios de la GNU - Mingw32CE gcc
7 Summary(fr.UTF-8): Utilitaires de développement binaire de GNU - Mingw32CE gcc
8 Summary(pl.UTF-8): Skrośne narzędzia programistyczne GNU dla Mingw32CE - gcc
9 Summary(pt_BR.UTF-8): Utilitários para desenvolvimento de binários da GNU - Mingw32CE gcc
10 Summary(tr.UTF-8): GNU geliştirme araçları - Mingw32CE gcc
11 Name: crossmingw32ce-gcc
15 Group: Development/Languages
16 #Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/gcc-%{version}.tar.bz2
17 # https://cegcc.svn.sourceforge.net/svnroot/cegcc/trunk/cegcc/src/gcc
18 Source0: gcc-20070227.909.tar.bz2
19 # Source0-md5: ece53d2ea4d055f48d4f819922332d21
20 Patch0: gcc-nodebug.patch
21 Patch1: %{name}-bug25672.patch
22 BuildRequires: autoconf
23 BuildRequires: automake
25 BuildRequires: crossmingw32ce-binutils >= 2.15.91.0.2-2
27 BuildRequires: rpmbuild(macros) >= 1.315
29 # download rpm from http://cegcc.sourceforge.net/
32 BuildRequires: crossmingw32ce-runtime >= 3.5
33 BuildRequires: crossmingw32ce-w32api >= 3.1
35 Requires: crossmingw32ce-binutils >= 2.15.91.0.2-2
37 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39 %define target arm-wince-mingw32ce
40 %define target_platform arm-wince-mingw32ce
41 %define arch %{_prefix}/%{target}
42 %define gccarch %{_libdir}/gcc/%{target}
43 %define gcclib %{gccarch}/%{version}
45 %define _noautostrip .*/lib.*\\.a
47 # -march=i686 is invalid
48 # so as i can't decide whether to use -march=armv4 or -march=armv5, i'll just strip
49 %define filterout_c -march=.*
50 %define filterout_cxx -march=.*
53 crossmingw32ce is a complete cross-compiling development system for
54 building stand-alone Microsoft Windows applications under Linux using
55 the Mingw32CE build libraries. This includes a binutils, gcc with g++
56 and objc, and libstdc++, all cross targeted to i386-mingw32ce, along
57 with supporting Win32 libraries in 'coff' format from free sources.
59 This package contains cross targeted gcc.
61 %description -l de.UTF-8
62 Dieses Paket enthält einen Cross-gcc, der es erlaubt, auf einem
63 anderem Rechner Code für Win32 zu generieren.
65 %description -l pl.UTF-8
66 crossmingw32ce jest kompletnym systemem do kompilacji skrośnej,
67 pozwalającym budować aplikacje MS Windows pod Linuksem używając
68 bibliotek Mingw32CE. System składa się z binutils, gcc z g++ i objc,
69 libstdc++ - wszystkie generujące kod dla platformy i386-mingw32ce,
70 oraz z bibliotek w formacie COFF.
72 Ten pakiet zawiera gcc generujące skrośnie kod dla Win32.
75 Summary: Mingw32CE binary utility development utilities - g++
76 Summary(pl.UTF-8): Zestaw narzędzi mingw32ce - g++
77 Group: Development/Languages
78 Requires: %{name} = %{version}-%{release}
81 crossmingw32ce is a complete cross-compiling development system for
82 building stand-alone Microsoft Windows applications under Linux using
83 the Mingw32CE build libraries. This includes a binutils, gcc with g++
84 and objc, and libstdc++, all cross targeted to i386-mingw32ce, along
85 with supporting Win32 libraries in 'coff' format from free sources.
87 This package contains cross targeted g++ and (static) libstdc++.
89 %description c++ -l pl.UTF-8
90 crossmingw32ce jest kompletnym systemem do kompilacji skrośnej,
91 pozwalającym budować aplikacje MS Windows pod Linuksem używając
92 bibliotek mingw32ce. System składa się z binutils, gcc z g++ i objc,
93 libstdc++ - wszystkie generujące kod dla platformy i386-mingw32ce,
94 oraz z bibliotek w formacie COFF.
96 Ten pakiet zawiera g++ generujące kod pod Win32 oraz bibliotekę
101 %if %{with bootstrap}
102 install -d winsup/w32api
103 ln -s /usr/ppc/%{target}/include/w32api winsup/w32api/include
105 #{!?debug:%patch0 -p1}
109 %if %{with bootstrap}
110 #for tool in as ar dlltool ld nm ranlib strip; do
111 # ln -sf %{arch}/bin/$tool winsup/bin/$tool
113 build_tooldir=`pwd`/winsup
114 includedir=/usr/ppc/%{target}/include
116 build_tooldir=%{arch}
117 includedir=/usr/%{target}/include
120 cp /usr/share/automake/config.sub .
121 cp /usr/share/automake/config.sub boehm-gc
123 rm -rf obj-%{target_platform}
124 install -d obj-%{target_platform}
125 cd obj-%{target_platform}
127 # note: alpha's -mieee and sparc's -mtune=* are not valid for target's g++
128 CFLAGS="%{rpmcflags}" \
130 CXXFLAGS="`echo '%{rpmcflags}' | sed -e 's/ \?-mieee\>//'`" \
132 %ifarch sparc sparc64 sparcv9
133 CXXFLAGS="`echo '%{rpmcflags}' | sed -e 's/ \?-mtune[=0-9a-z]*//'`" \
135 CXXFLAGS="%{rpmcflags}" \
138 LDFLAGS="%{rpmldflags}" \
141 --prefix=%{_prefix} \
142 --infodir=%{_infodir} \
143 --mandir=%{_mandir} \
144 --bindir=%{arch}/bin \
145 --libdir=%{_libdir} \
146 --libexecdir=%{_libexecdir} \
147 --includedir=$includedir \
150 --enable-languages="c,c++" \
156 --with-mangler-in-ld \
157 --with-gxx-include-dir=%{arch}/include/g++ \
158 --build=%{_target_platform} \
159 --host=%{_target_platform} \
164 # spec files for msvcrt*.dll configurations
166 for n in msvcrt msvcrt20 msvcrt40; do
167 sed "s/crtdll/$n/g" <specs | sed "s/crt1/crt2/g" >specs.$n
171 rm -rf $RPM_BUILD_ROOT
172 install -d $RPM_BUILD_ROOT{%{_bindir},%{_datadir}}
174 cd obj-%{target_platform}
177 DESTDIR=$RPM_BUILD_ROOT
180 install specs.msvcrt specs.msvcrt20 specs.msvcrt40 $RPM_BUILD_ROOT%{gcclib}
183 mv -f $RPM_BUILD_ROOT%{arch}/bin/%{target}-* $RPM_BUILD_ROOT%{_bindir}
185 # already in arch/lib, shouldn't be here
186 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
188 # include/ contains install-tools/include/* and headers that were fixed up
189 # by fixincludes, we don't want former
190 gccdir=$RPM_BUILD_ROOT%{gcclib}
192 # we have to save these however
193 mv -f $gccdir/include/syslimits.h $gccdir/tmp
194 rm -rf $gccdir/include
195 mv -f $gccdir/tmp $gccdir/include
196 cp -f $gccdir/install-tools/include/*.h $gccdir/include
197 # but we don't want anything more from install-tools
198 rm -rf $gccdir/install-tools
201 %{target}-strip -g -R.note -R.comment $RPM_BUILD_ROOT%{gcclib}/libgcc.a
202 %{target}-strip -g -R.note -R.comment $RPM_BUILD_ROOT%{gcclib}/libgcov.a
203 %{target}-strip -g -R.note -R.comment $RPM_BUILD_ROOT%{arch}/lib/lib*.a
207 ln -f $RPM_BUILD_ROOT%{_bindir}/%{target}-{g++,c++}
208 ln -f $RPM_BUILD_ROOT%{arch}/bin/{g++,c++}
210 # the same... make hardlink
211 ln -f $RPM_BUILD_ROOT%{arch}/bin/gcc $RPM_BUILD_ROOT%{_bindir}/%{target}-gcc
214 rm -rf $RPM_BUILD_ROOT
217 %defattr(644,root,root,755)
218 %attr(755,root,root) %{_bindir}/%{target}-gcc*
219 %attr(755,root,root) %{_bindir}/%{target}-cpp
220 %attr(755,root,root) %{_bindir}/%{target}-gcov
221 %attr(755,root,root) %{arch}/bin/gcc
222 %{arch}/lib/libiberty.a
226 %attr(755,root,root) %{gcclib}/cc1
227 %attr(755,root,root) %{gcclib}/collect2
233 %{_mandir}/man1/%{target}-cpp.1*
234 %{_mandir}/man1/%{target}-gcc.1*
235 %{_mandir}/man1/%{target}-gcov.1*
238 %{arch}/lib/libssp.la
239 %{arch}/lib/libssp_nonshared.a
240 %{arch}/lib/libssp_nonshared.la
243 %defattr(644,root,root,755)
244 %attr(755,root,root) %{_bindir}/%{target}-[cg]++
245 %attr(755,root,root) %{arch}/bin/[cg]++
246 %attr(755,root,root) %{gcclib}/cc1plus
247 %{arch}/lib/libstdc++.a
248 %{arch}/lib/libstdc++.la
249 %{arch}/lib/libsupc++.a
250 %{arch}/lib/libsupc++.la
252 %{_mandir}/man1/%{target}-g++.1*