]> git.pld-linux.org Git - packages/crossmingw32-gcc.git/blobdiff - crossmingw32-gcc.spec
- updated to gcc 3.2.3
[packages/crossmingw32-gcc.git] / crossmingw32-gcc.spec
index 48cbb03da7e92e7f24828456023f6699e856d1c2..223629934b63ec763ea0f2d8f375ace27e50b9d6 100644 (file)
@@ -1,52 +1,29 @@
+%define                DASHED_SNAP     %{nil}
+%define                SNAP            %(echo %{DASHED_SNAP} | sed -e "s#-##g")
+%define                GCC_VERSION     3.2.3
 Summary:       Mingw32 Binary Utility Development Utilities - gcc
 Summary(pl):   Zestaw narzêdzi mingw32 - gcc
 Name:          crossmingw32-gcc
-Version:       2.95.3
-Release:       7
+Version:       %{GCC_VERSION}
+Release:       1
 Epoch:         1
 License:       GPL
 Group:         Development/Languages
-Group(de):     Entwicklung/Sprachen
-Group(pl):     Programowanie/Jêzyki
 ExclusiveArch: %{ix86}
-Source0:       ftp://ftp.gnu.org/pub/gnu/gcc-%{version}.tar.gz
-Patch0:                gcc-info.patch
-Patch1:                gcc-pld-linux.patch
-Patch2:                gcc-libstdc++.patch
-Patch3:                gcc-bootstrap.patch
-Patch4:                gcc-cpp-macro-doc.patch
-Patch5:                gcc-default-arch.patch
-Patch6:                gcc-libstdc++-out-of-mem.patch
-Patch7:                gcc-libstdc++-wstring.patch
-Patch8:                gcc-libstdc++-bastring.patch
-Patch9:                gcc-manpage.patch
-Patch10:       gcc-cpp-dos-newlines.patch
-Patch11:       gcc-gpc.patch
-Patch12:       gcc-m68k-pic.patch
-Patch13:       gcc-sparc32-rfi.patch
-Patch14:       gcc-builtin-apply.patch
-Patch15:       gcc-ppc-ice.patch
-Patch16:       gcc-ppc-descriptions.patch
-Patch17:       gcc-alpha-complex-float.patch
-Patch18:       gcc-gcj-vs-iconv.patch
-Patch19:       gcc-libobjc.patch
-Patch20:       gcc-pointer-arith.patch
-Patch21:       gcc-crtendS.patch
-Patch22:       %{name}-libio.patch
-Patch23:       %{name}-includes.patch
-Patch24:       %{name}-libiberty.patch
-BuildRequires: crossmingw32-platform
+Source0:       ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{GCC_VERSION}/gcc-%{GCC_VERSION}.tar.bz2
+BuildRequires: autoconf
+BuildRequires: bison
 BuildRequires: crossmingw32-binutils
+BuildRequires: crossmingw32-w32api
 BuildRequires: flex
-BuildRequires: bison
-BuildRequires: autoconf
 Requires:      crossmingw32-binutils
-Requires:      crossmingw32-platform
+Requires:      crossmingw32-w32api
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define                no_install_post_strip   1
+
 %define                target          i386-mingw32
 %define                target_platform i386-pc-mingw32
-%define                _prefix         /usr
 %define                arch            %{_prefix}/%{target}
 %define                gccarch         %{_prefix}/lib/gcc-lib/%{target}
 %define                gcclib          %{_prefix}/lib/gcc-lib/%{target}/%{version}
@@ -73,8 +50,6 @@ Ten pakiet zawiera gcc generuj
 Summary:       Mingw32 Binary Utility Development Utilities - g++
 Summary(pl):   Zestaw narzêdzi mingw32 - g++
 Group:         Development/Languages
-Group(de):     Entwicklung/Sprachen
-Group(pl):     Programowanie/Jêzyki
 Requires:      %{name} = %{version}
 
 %description c++
@@ -99,10 +74,8 @@ libstdc++.
 # does this even work?
 %package objc
 Summary:       Mingw32 Binary Utility Development Utilities - objc
-Summary(pl):   Zestaw narzêdzi mingw32 - objc 
+Summary(pl):   Zestaw narzêdzi mingw32 - objc
 Group:         Development/Languages
-Group(de):     Entwicklung/Sprachen
-Group(pl):     Programowanie/Jêzyki
 Requires:      %{name} = %{version}
 
 %description objc
@@ -128,8 +101,6 @@ Ten pakiet zawiera kompilator objc generuj
 Summary:       Mingw32 Binary Utility Development Utilities - g77
 Summary(pl):   Zestaw narzêdzi mingw32 - g77
 Group:         Development/Languages
-Group(de):     Entwicklung/Sprachen
-Group(pl):     Programowanie/Jêzyki
 Requires:      %{name} = %{version}
 
 %description g77
@@ -150,40 +121,11 @@ COFF.
 
 Ten pakiet zawiera g77 generuj±cy kod pod Win32.
 
-# does this even work?
-%package chill
-Summary:       Mingw32 Binary Utility Development Utilities - chill
-Summary(pl):   Zestaw narzêdzi mingw32 - chill
-Group:         Development/Languages
-Group(de):     Entwicklung/Sprachen
-Group(pl):     Programowanie/Jêzyki
-Requires:      %{name} = %{version}
-
-%description chill
-crossmingw32 is a complete cross-compiling development system for
-building stand-alone Microsoft Windows applications under Linux using
-the Mingw32 build libraries. This includes a binutils, gcc with g++
-and objc, and libstdc++, all cross targeted to i386-mingw32, along
-with supporting Win32 libraries in 'coff' format from free sources.
-
-This package contains cross targeted chill.
-
-%description chill -l pl
-crossmingw32 jest kompletnym systemem do kroskompilacji, pozwalaj±cym
-budowaæ aplikacje MS Windows pod Linuksem u¿ywaj±c bibliotek mingw32.
-System sk³ada siê z binutils, gcc z g++ i objc, libstdc++ - wszystkie
-generuj±ce kod dla platformy i386-mingw32, oraz z bibliotek w formacie
-COFF.
-
-Ten pakiet zawiera kompilator chill generuj±cy kod pod Win32.
-
 # does this even work?
 %package java
 Summary:       Mingw32 Binary Utility Development Utilities - java
 Summary(pl):   Zestaw narzêdzi mingw32 - java
 Group:         Development/Languages
-Group(de):     Entwicklung/Sprachen
-Group(pl):     Programowanie/Jêzyki
 Requires:      %{name} = %{version}
 
 %description java
@@ -206,63 +148,27 @@ Ten pakiet zawiera kompilator Javy generuj
 
 %prep
 %setup -q -n gcc-%{version}
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p0
-%patch5 -p0
-%patch6 -p0
-%patch7 -p0
-%patch8 -p0
-%patch9 -p0
-%patch10 -p0
-%patch11 -p1
-%ifarch m68k
-%patch12 -p0
-%endif
-%ifarch sparc sparc32
-%patch13 -p0
-%patch14 -p0
-%endif
-%ifarch ppc
-%patch15 -p0
-%patch16 -p0
-%endif
-%ifarch alpha
-%patch17 -p1
-%endif
-%patch18 -p0
-%patch19 -p0
-%patch20 -p0
-%patch21 -p1
-
-%patch22 -p1
-%patch23 -p1
-%patch24 -p1
 
 %build
-#(cd libiberty ; autoconf)
-(cd gcc ; autoconf)
-rm -rf obj-%{target_platform}
-install -d obj-%{target_platform}
-cd obj-%{target_platform}
+rm -rf obj-%{target_platform} && install -d obj-%{target_platform} && cd obj-%{target_platform}
 
-CFLAGS="%{rpmcflags}" CXXFLAGS="%{rpmcflags}" LDFLAGS="%{rpmldflags}" \
+CFLAGS="%{rpmcflags}" \
+CXXFLAGS="%{rpmcflags}"  \
+LDFLAGS="%{rpmldflags}" \
+TEXCONFIG=false \
 ../configure \
        --prefix=%{_prefix} \
        --infodir=%{_infodir} \
        --mandir=%{_mandir} \
        --bindir=%{arch}/bin \
+       --enable-languages="c,c++,f77,gcov,java,objc" \
        --with-gnu-as \
        --with-gnu-ld \
        --with-gxx-include-dir=%{arch}/include/g++ \
+       --enable-threads \
        --target=%{target}
 
-# to nie dzia³a bo kto¶ ukrad³ gthr-win32.h i nie wiem co tam wpisaæ
-#      --enable-threads \
-
-touch ../gcc/c-gperf.h
+#touch ../gcc/c-gperf.h
 
 %{__make} \
        LDFLAGS_FOR_TARGET="%{rpmldflags}" \
@@ -289,27 +195,39 @@ rm -rf $RPM_BUILD_ROOT
 
 install -d $RPM_BUILD_ROOT%{_bindir}
 install -d $RPM_BUILD_ROOT%{_datadir}
-(cd obj-%{target_platform}
+cd obj-%{target_platform}
 
 %{__make} install \
-       prefix=$RPM_BUILD_ROOT%{_prefix} \
-       bindir=$RPM_BUILD_ROOT%{arch}/bin \
-       mandir=$RPM_BUILD_ROOT%{_mandir} \
-       infodir=$RPM_BUILD_ROOT%{_infodir} \
-       gxx_include_dir=$RPM_BUILD_ROOT%{arch}/include/g++
+       DESTDIR=$RPM_BUILD_ROOT
 
 cd gcc
 install specs.msvcrt specs.msvcrt20 specs.msvcrt40 $RPM_BUILD_ROOT%{gcclib}
-)
+cd ../..
 
 mv -f $RPM_BUILD_ROOT%{arch}/bin/%{target}-* $RPM_BUILD_ROOT%{_bindir}
 
 # c++filt is provided by binutils
 rm -f $RPM_BUILD_ROOT%{_bindir}/i386-mingw32-c++filt
 
-# what is this there for???
+# already in arch/lib, shouldn't be here
 rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
 
+%if 0%{!?debug:1}
+# strip linux binaries
+strip -R .comment -R .note \
+       `echo $RPM_BUILD_ROOT{%{_bindir}/*,%{arch}/bin/*} | grep -v gccbug` \
+       $RPM_BUILD_ROOT%{gcclib}/{cc1*,cpp0,f771,jc1,jvgenmain,tradcpp0}
+
+# strip mingw32 libraries
+%{target}-strip -g \
+       $RPM_BUILD_ROOT%{gcclib}/libgcc.a \
+       $RPM_BUILD_ROOT%{arch}/lib/lib*.a
+%endif
+
+# restore hardlinks
+ln -f $RPM_BUILD_ROOT%{_bindir}/%{target}-{g++,c++}
+ln -f $RPM_BUILD_ROOT%{arch}/bin/{g++,c++}
+
 # the same... make hardlink
 ln -f $RPM_BUILD_ROOT%{arch}/bin/gcc $RPM_BUILD_ROOT%{_bindir}/%{target}-gcc
 
@@ -318,71 +236,59 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/%{target}-gcc
-%attr(755,root,root) %{_bindir}/%{target}-*protoize
-%dir %{arch}/bin
-%attr(755,root,root) %{arch}/bin/cpp
+%attr(755,root,root) %{_bindir}/%{target}-gcc*
+%attr(755,root,root) %{_bindir}/%{target}-cpp
+%attr(755,root,root) %{_bindir}/%{target}-gcov
 %attr(755,root,root) %{arch}/bin/gcc
-%attr(755,root,root) %{arch}/bin/gcov
-%{arch}/include/_G_config.h
 %{arch}/lib/libiberty.a
+
 %dir %{gccarch}
 %dir %{gcclib}
 %attr(755,root,root) %{gcclib}/cc1
 %attr(755,root,root) %{gcclib}/cpp0
-%{gcclib}/SYSCALLS.c.X
+%attr(755,root,root) %{gcclib}/tradcpp0
+%{gcclib}/libgcc.a
 %{gcclib}/libgcc.a
 %{gcclib}/specs*
-%dir %{gcclib}/include
-%{gcclib}/include/float.h
-%{gcclib}/include/iso646.h
-%{gcclib}/include/limits.h
-%{gcclib}/include/proto.h
-%{gcclib}/include/stdarg.h
-%{gcclib}/include/stdbool.h
-%{gcclib}/include/stddef.h
-%{gcclib}/include/syslimits.h
-%{gcclib}/include/varargs.h
-%{gcclib}/include/va-*.h
+%{gcclib}/include
+
 %{_mandir}/man1/%{target}-gcc.1*
 
 %files c++
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/%{target}-[cg]++
-%{arch}/include/g++
-%{arch}/lib/libstdc++.a
+%attr(755,root,root) %{arch}/bin/[cg]++
 %attr(755,root,root) %{gcclib}/cc1plus
-%{gcclib}/libstdc++*
-%{gcclib}/include/new.h
-%{gcclib}/include/exception
-%{gcclib}/include/new
-%{gcclib}/include/typeinfo
+%{arch}/lib/libstdc++.a
+%{arch}/lib/libstdc++.la
+%{arch}/lib/libsupc++.a
+%{arch}/lib/libsupc++.la
+%{arch}/include/g++
 %{_mandir}/man1/%{target}-g++.1*
 
 %files objc
 %defattr(644,root,root,755)
 %attr(755,root,root) %{gcclib}/cc1obj
-%{gcclib}/libobjc.a
-%{gcclib}/include/objc
+%{arch}/lib/libobjc.a
+%{arch}/lib/libobjc.la
 
 %files g77
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/%{target}-g77
 %attr(755,root,root) %{gcclib}/f771
+%{arch}/lib/libfrtbegin.a
+%{arch}/lib/libg2c.a
+%{arch}/lib/libg2c.la
 %{_mandir}/man1/%{target}-g77.1*
 
-%files chill
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/%{target}-chill
-%attr(755,root,root) %{gcclib}/cc1chill
-%{gcclib}/chillrt0.o
-%{gcclib}/libchill.a
-
 %files java
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/%{target}-gcj
-%attr(755,root,root) %{arch}/bin/gcjh
-%attr(755,root,root) %{arch}/bin/jcf-dump
-%attr(755,root,root) %{arch}/bin/jv-scan
+%attr(755,root,root) %{_bindir}/%{target}-gcjh
+%attr(755,root,root) %{_bindir}/%{target}-jcf-dump
+%attr(755,root,root) %{_bindir}/%{target}-jv-scan
+%attr(755,root,root) %{arch}/bin/grepjar
+%attr(755,root,root) %{arch}/bin/jar
 %attr(755,root,root) %{gcclib}/jc1
 %attr(755,root,root) %{gcclib}/jvgenmain
+%{_mandir}/man1/%{target}-gcj.1*
This page took 0.047336 seconds and 4 git commands to generate.