packages: crossmingw32-gcc/crossmingw32-gcc.spec - up to 4.5.1 (with branch...

lkrotowski lkrotowski at pld-linux.org
Thu Sep 30 00:05:54 CEST 2010


Author: lkrotowski                   Date: Wed Sep 29 22:05:54 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- up to 4.5.1 (with branch diff like in regular gcc.spec)
- languages other than c, c++ disabled for now

---- Files affected:
packages/crossmingw32-gcc:
   crossmingw32-gcc.spec (1.78 -> 1.79) 

---- Diffs:

================================================================
Index: packages/crossmingw32-gcc/crossmingw32-gcc.spec
diff -u packages/crossmingw32-gcc/crossmingw32-gcc.spec:1.78 packages/crossmingw32-gcc/crossmingw32-gcc.spec:1.79
--- packages/crossmingw32-gcc/crossmingw32-gcc.spec:1.78	Wed Sep 29 18:30:04 2010
+++ packages/crossmingw32-gcc/crossmingw32-gcc.spec	Thu Sep 30 00:05:46 2010
@@ -1,5 +1,9 @@
 # $Revision$, $Date$
 #
+# TODO:
+# - restore languages other than c, c++
+# - openmp
+#
 # Conditional build:
 %bcond_with	bootstrap	# bootstrap build (using binary w32api/mingw)
 #
@@ -10,28 +14,30 @@
 Summary(pt_BR.UTF-8):	Utilitários para desenvolvimento de binários da GNU - Mingw32 gcc
 Summary(tr.UTF-8):	GNU geliştirme araçları - Mingw32 gcc
 Name:		crossmingw32-gcc
-Version:	4.1.2
-Release:	2
+Version:	4.5.1
+Release:	1
 Epoch:		1
 License:	GPL v2+
 Group:		Development/Languages
 Source0:	ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/gcc-%{version}.tar.bz2
-# Source0-md5:	a4a3eb15c96030906d8494959eeda23c
+# Source0-md5:	48231a8e33ed6e058a341c53b819de1a
 %define		apiver	3.10
 Source1:	http://dl.sourceforge.net/mingw/w32api-%{apiver}.tar.gz
 # Source1-md5:	7067a6b3ac9d94bb753f9f6f37e2033c
 %define		runver	3.13
 Source2:	http://dl.sourceforge.net/mingw/mingw-runtime-%{runver}.tar.gz
 # Source2-md5:	22179021f41d5eee76447b78fb94a3fb
-Patch0:		gcc-4.1-nodebug.patch
-Patch1:		%{name}-noioctl.patch
-Patch2:		gcc-4.1-texinfo.patch
-Patch3:		gcc-4.1-pr29826.patch
+# svn diff -x --ignore-eol-style svn://gcc.gnu.org/svn/gcc/tags/gcc_4_5_1_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_5-branch > gcc-branch.diff
+Patch100:	gcc-branch.diff
+Patch0:		%{name}-buildsystem1.patch
+Patch1:		%{name}-buildsystem2.patch
+Patch2:		%{name}-lfs.patch
 BuildRequires:	autoconf
 BuildRequires:	automake
 BuildRequires:	bison
 BuildRequires:	crossmingw32-binutils >= 2.15.91.0.2-2
 BuildRequires:	flex
+BuildRequires:	libmpc-devel
 %if %{without bootstrap}
 BuildRequires:	crossmingw32-runtime >= 3.5
 BuildRequires:	crossmingw32-w32api >= 3.1
@@ -43,7 +49,6 @@
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define		target		i386-mingw32
-%define		target_platform i386-pc-mingw32
 %define		arch		%{_prefix}/%{target}
 %define		gccarch		%{_libdir}/gcc/%{target}
 %define		gcclib		%{gccarch}/%{version}
@@ -99,6 +104,8 @@
 Ten pakiet zawiera g++ generujące kod pod Win32 oraz bibliotekę
 libstdc++.
 
+# no obj-c, fortran, java for the moment
+%if 0
 # does this even work?
 %package objc
 Summary:	Mingw32 binary utility development utilities - objc
@@ -175,165 +182,134 @@
 z bibliotek w formacie COFF.
 
 Ten pakiet zawiera kompilator Javy generujący kod pod Win32.
+%endif
 
 %prep
 %setup -q -n gcc-%{version}
+%patch100 -p0
+%patch0 -p1
+%patch2 -p1
+
 %if %{with bootstrap}
 mkdir winsup
 tar xzf %{SOURCE1} -C winsup
 tar xzf %{SOURCE2} -C winsup
 %endif
-%{!?debug:%patch0 -p1}
-%patch1 -p1
-%patch2 -p1
-cd gcc
-%patch3 -p0
+
+# override snapshot version.
+echo %{version} > gcc/BASE-VER
+echo "release" > gcc/DEV-PHASE
 
 %build
 %if %{with bootstrap}
 for tool in as ar dlltool ld nm ranlib strip ; do
 	ln -sf %{arch}/bin/$tool winsup/bin/$tool
 done
-build_tooldir=`pwd`/winsup
-%else
-build_tooldir=%{arch}
 %endif
 
-cp /usr/share/automake/config.sub .
-cp /usr/share/automake/config.sub boehm-gc
-# avoid autoconf call, breaks build
-
-rm -rf obj-%{target_platform}
-install -d obj-%{target_platform}
-cd obj-%{target_platform}
+rm -rf builddir && install -d builddir && cd builddir
 
-# note: alpha's -mieee and sparc's -mtune=* are not valid for target's g++
+CC="%{__cc}" \
 CFLAGS="%{rpmcflags}" \
-%ifarch alpha
-CXXFLAGS="`echo '%{rpmcflags}' | sed -e 's/ \?-mieee\>//'`" \
-%else
-%ifarch sparc sparc64 sparcv9
-CXXFLAGS="`echo '%{rpmcflags}' | sed -e 's/ \?-mtune[=0-9a-z]*//'`" \
-%else
-CXXFLAGS="%{rpmcflags}" \
-%endif
-%endif
-LDFLAGS="%{rpmldflags}" \
+CXXFLAGS="%{rpmcxxflags}" \
 TEXCONFIG=false \
 ../configure \
-	--prefix=%{_prefix} \
+	--prefix=%{arch} \
 	--infodir=%{_infodir} \
 	--mandir=%{_mandir} \
-	--bindir=%{arch}/bin \
-	--libdir=%{_libdir} \
-	--libexecdir=%{_libexecdir} \
-	--includedir=%{arch}/include \
-	--disable-shared \
+	--with-headers=%{arch}/include \
+	--with-libs=%{arch}/lib \
+	--with-build-time-tools=%{arch}/bin \
+	--with-dwarf2 \
+	--with-gnu-as \
+	--with-gnu-ld \
+	--with-mangler-in-ld \
+	--with-long-double-128 \
 	--enable-threads \
-	--enable-languages="c,c++,fortran,java,objc" \
+	--enable-languages="c,c++" \
 	--enable-c99 \
 	--enable-long-long \
+	--enable-fully-dynamic-string \
+	--enable-libstdcxx-allocator=new \
+	--enable-version-specific-runtime-libs \
+	--enable-shared \
 	--disable-nls \
-	--with-gnu-as \
-	--with-gnu-ld \
-	--with-mangler-in-ld \
-	--with-gxx-include-dir=%{arch}/include/g++ \
-	--build=%{_target_platform} \
-	--host=%{_target_platform} \
+	--disable-symvers \
+	--disable-sjlj-exceptions \
+	--disable-win32-registry \
+	--disable-multilib \
+	--disable-libssp \
 	--target=%{target}
 
-%{__make} all
-
-# spec files for msvcrt*.dll configurations
-cd gcc
-for n in msvcrt msvcrt20 msvcrt40; do
-	sed "s/crtdll/$n/g" <specs | sed "s/crt1/crt2/g" >specs.$n
-done
+cd ..
+%{__make} -C builddir all-host
+patch -p1 <%{PATCH1}
+%{__make} -C builddir
 
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{%{_bindir},%{_datadir}}
 
-cd obj-%{target_platform}
-
-%{__make} install \
+%{__make} -C builddir install \
 	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}
-
-# already in arch/lib, shouldn't be here
-rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
-
-# include/ contains install-tools/include/* and headers that were fixed up
-# by fixincludes, we don't want former
-gccdir=$RPM_BUILD_ROOT%{gcclib}
-mkdir	$gccdir/tmp
-# we have to save these however
-mv -f	$gccdir/include/syslimits.h $gccdir/tmp
-rm -rf	$gccdir/include
-mv -f	$gccdir/tmp $gccdir/include
-cp -f	$gccdir/install-tools/include/*.h $gccdir/include
-# but we don't want anything more from install-tools
-rm -rf	$gccdir/install-tools
-
 %if 0%{!?debug:1}
-%{target}-strip -g -R.note -R.comment $RPM_BUILD_ROOT%{gcclib}/libgcc.a
-%{target}-strip -g -R.note -R.comment $RPM_BUILD_ROOT%{gcclib}/libgcov.a
 %{target}-strip -g -R.note -R.comment $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
+ln -f $RPM_BUILD_ROOT%{arch}/bin/%{target}-gcc $RPM_BUILD_ROOT%{_bindir}/%{target}-gcc
+ln -f $RPM_BUILD_ROOT%{arch}/bin/%{target}-g++ $RPM_BUILD_ROOT%{_bindir}/%{target}-g++
+ln -f $RPM_BUILD_ROOT%{arch}/bin/%{target}-cpp $RPM_BUILD_ROOT%{_bindir}/%{target}-cpp
+ln -f $RPM_BUILD_ROOT%{arch}/bin/%{target}-gcov $RPM_BUILD_ROOT%{_bindir}/%{target}-gcov
+
+install -d $RPM_BUILD_ROOT%{_libdir}
+install -d $RPM_BUILD_ROOT%{_libdir}/gcc
+
+cp -r $RPM_BUILD_ROOT%{arch}/libexec/gcc/%{target} $RPM_BUILD_ROOT%{_libdir}/gcc
+cp -r $RPM_BUILD_ROOT%{arch}/lib/gcc/%{target} $RPM_BUILD_ROOT%{_libdir}/gcc
+rm -rf $RPM_BUILD_ROOT%{_libdir}/gcc/%{target}/%{version}/install-tools
+rm -rf $RPM_BUILD_ROOT%{arch}/libexec
+rm -rf $RPM_BUILD_ROOT%{arch}/lib/gcc
+
+mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/%{target}/%{version}/cc1 $RPM_BUILD_ROOT%{arch}/bin/cc1
+mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/%{target}/%{version}/cc1plus $RPM_BUILD_ROOT%{arch}/bin/cc1plus
+mv -f $RPM_BUILD_ROOT%{_libdir}/gcc/%{target}/%{version}/collect2 $RPM_BUILD_ROOT%{arch}/bin/collect2
 
+install builddir/i386-mingw32/libgcc/shlib/libgcc_s_dw2-1.dll $RPM_BUILD_ROOT%{arch}/bin
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/%{target}-gcc*
+%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
-%{arch}/lib/libiberty.a
+%attr(755,root,root) %{arch}/bin/%{target}-gcc*
+%attr(755,root,root) %{arch}/bin/%{target}-cpp
+%attr(755,root,root) %{arch}/bin/%{target}-gcov
+%attr(755,root,root) %{arch}/bin/cc1
+%attr(755,root,root) %{arch}/bin/collect2
+%{arch}/bin/*.dll
 
-%dir %{gccarch}
-%dir %{gcclib}
-%attr(755,root,root) %{gcclib}/cc1
-%attr(755,root,root) %{gcclib}/collect2
-%{gcclib}/libgcc.a
-%{gcclib}/libgcov.a
-%{gcclib}/specs*
-%{gcclib}/include
+%{_libdir}/gcc/%{target}
+%{arch}/%{_lib}/libiberty.a
 
 %{_mandir}/man1/%{target}-cpp.1*
 %{_mandir}/man1/%{target}-gcc.1*
 %{_mandir}/man1/%{target}-gcov.1*
 
-%{arch}/lib/libssp.a
-%{arch}/lib/libssp.la
-%{arch}/lib/libssp_nonshared.a
-%{arch}/lib/libssp_nonshared.la
-
 %files c++
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/%{target}-[cg]++
-%attr(755,root,root) %{arch}/bin/[cg]++
-%attr(755,root,root) %{gcclib}/cc1plus
-%{arch}/lib/libstdc++.a
-%{arch}/lib/libstdc++.la
-%{arch}/lib/libsupc++.a
-%{arch}/lib/libsupc++.la
-%{arch}/include/g++
+%attr(755,root,root) %{_bindir}/%{target}-g++
+%attr(755,root,root) %{arch}/bin/%{target}-c++
+%attr(755,root,root) %{arch}/bin/%{target}-g++
+%attr(755,root,root) %{arch}/bin/cc1plus
+
 %{_mandir}/man1/%{target}-g++.1*
 
+# no obj-c, fortran, java for the moment
+%if 0
 %files objc
 %defattr(644,root,root,755)
 %attr(755,root,root) %{gcclib}/cc1obj
@@ -371,6 +347,7 @@
 %{_mandir}/man1/%{target}-fastjar.1*
 %{_mandir}/man1/%{target}-jcf-dump.1*
 %{_mandir}/man1/%{target}-jv-scan.1*
+%endif
 
 %define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
 %changelog
@@ -378,6 +355,10 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.79  2010/09/29 22:05:46  lkrotowski
+- up to 4.5.1 (with branch diff like in regular gcc.spec)
+- languages other than c, c++ disabled for now
+
 Revision 1.78  2010/09/29 16:30:04  atler
 - disable debug packages
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/crossmingw32-gcc/crossmingw32-gcc.spec?r1=1.78&r2=1.79&f=u



More information about the pld-cvs-commit mailing list