]> git.pld-linux.org Git - packages/crossmingw32-gcc.git/blobdiff - crossmingw32-gcc.spec
- updated to 4.9.3
[packages/crossmingw32-gcc.git] / crossmingw32-gcc.spec
index 118d0994d348e92b797f138e6a0625bd37e868ce..6c0747e8895a575c60608faafcc126b8e77f9b9f 100644 (file)
@@ -1,10 +1,11 @@
 #
-# TODO:
-# - openmp
-#
 # Conditional build:
-%bcond_with    bootstrap       # bootstrap build (using binary w32api/mingwrt)
+%bcond_with    bootstrap       # bootstrap build (using binary w32api/mingwrt, no gomp)
+%bcond_without gomp            # OpenMP libraries
 #
+%if %{with bootstrap}
+%undefine      with_gomp
+%endif
 Summary:       Cross MinGW32 GNU binary utility development utilities - gcc
 Summary(es.UTF-8):     Utilitarios para desarrollo de binarios de la GNU - MinGW32 gcc
 Summary(fr.UTF-8):     Utilitaires de développement binaire de GNU - MinGW32 gcc
@@ -12,32 +13,41 @@ Summary(pl.UTF-8):  Skrośne narzędzia programistyczne GNU dla MinGW32 - gcc
 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.8.2
+Version:       4.9.3
 Release:       1
 Epoch:         1
 License:       GPL v3+
 Group:         Development/Languages
-Source0:       ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/gcc-%{version}.tar.bz2
-# Source0-md5: a3d7d63b9cb6b6ea049469a0c4a43c9d
+Source0:       https://ftp.gnu.org/gnu/gcc/gcc-%{version}/gcc-%{version}.tar.bz2
+# Source0-md5: 6f831b4d251872736e8e9cc09746f327
 %define                mingw32_ver     4.0.3
 Source1:       http://downloads.sourceforge.net/mingw/mingwrt-%{mingw32_ver}-1-mingw32-dev.tar.lzma
 # Source1-md5: c2c9aa82e0cb47abac01760525684858
-# svn diff -x --ignore-eol-style --force svn://gcc.gnu.org/svn/gcc/tags/gcc_4_8_2_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_8-branch > gcc-branch.diff
+Source2:       gcc-optimize-la.pl
+# svn diff -x --ignore-eol-style --force svn://gcc.gnu.org/svn/gcc/tags/gcc_4_9_3_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch > gcc-branch.diff
 Patch100:      gcc-branch.diff
-# Patch100-md5:        d63540a52bfd83b772e310fde995ad65
+# Patch100-md5:        253cbf4cc2f71d9c9362f4a3be25bb17
 Patch0:                %{name}-buildsystem1.patch
 Patch1:                %{name}-buildsystem2.patch
 Patch2:                %{name}-lfs.patch
+Patch12:       gcc-isl0.15-1.patch
+Patch13:       gcc-isl0.15-2.patch
+URL:           http://gcc.gnu.org/
 BuildRequires: autoconf >= 2.64
 BuildRequires: automake >= 1:1.9.3
 BuildRequires: bison
 BuildRequires: crossmingw32-binutils >= 2.15.91.0.2-2
-BuildRequires: flex
-BuildRequires: libmpc-devel
+%{?with_gomp:BuildRequires:    crossmingw32-pthreads-w32}
 %if %{without bootstrap}
 BuildRequires: crossmingw32-runtime >= 3.5
 BuildRequires: crossmingw32-w32api >= 3.1
 %endif
+BuildRequires: cloog-isl-devel >= 0.17.0
+BuildRequires: cloog-isl-devel < 0.19
+BuildRequires: flex
+BuildRequires: gmp-devel >= 4.1
+BuildRequires: isl-devel >= 0.13
+BuildRequires: libmpc-devel
 BuildRequires: mpfr-devel
 BuildRequires: perl-tools-pod
 BuildRequires: ppl-devel >= 0.11
@@ -101,6 +111,46 @@ libgcc DLL library for Windows.
 %description -n crossmingw32-libgcc-dll -l pl.UTF-8
 Biblioteka DLL libgcc dla Windows.
 
+%package -n crossmingw32-libgomp
+Summary:       GNU OpenMP library - cross MinGW32 version
+Summary(pl.UTF-8):     Biblioteka GNU OpenMP - wersja skrośna MinGW32
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+
+%description -n crossmingw32-libgomp
+This package contains cross MinGW32 version of GNU OpenMP library.
+
+%description -n crossmingw32-libgomp -l pl.UTF-8
+Ten pakiet zawiera wersję skrośną MinGW32 biblioteki GNU OpenMP.
+
+%package -n crossmingw32-libgomp-static
+Summary:       Static GNU OpenMP library - cross MinGW32 version
+Summary(pl.UTF-8):     Statyczna biblioteka GNU OpenMP - wersja skrośna MinGW32
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      crossmingw32-libgomp = %{epoch}:%{version}-%{release}
+
+%description -n crossmingw32-libgomp-static
+Static GNU OpenMP library - cross MinGW32 version.
+
+%description -n crossmingw32-libgomp-static -l pl.UTF-8
+Statyczna biblioteka GNU OpenMP - wersja skrośna MinGW32.
+
+%package -n crossmingw32-libgomp-dll
+Summary:       DLL GNU OpenMP library for Windows
+Summary(pl.UTF-8):     Biblioteka DLL GNU OpenMP dla Windows
+License:       GPL v3+ with GCC Runtime Library Exception v3.1
+Group:         Development/Libraries
+Requires:      crossmingw32-libgcc-dll = %{epoch}:%{version}-%{release}
+Requires:      crossmingw32-pthreads-dll
+
+%description -n crossmingw32-libgomp-dll
+DLL GNU OpenMP library for Windows.
+
+%description -n crossmingw32-libgomp-dll -l pl.UTF-8
+Biblioteka DLL GNU OpenMP dla Windows.
+
 %package c++
 Summary:       MinGW32 binary utility development utilities - g++
 Summary(pl.UTF-8):     Zestaw narzędzi MinGW32 - g++
@@ -323,6 +373,8 @@ Ten pakiet zawiera kompilator Javy generujący kod pod Win32.
 %patch100 -p0
 %patch0 -p1
 %patch2 -p1
+%patch12 -p1
+%patch13 -p1
 
 %if %{with bootstrap}
 # note: "winsup" dir is special, handled by gcc's configure
@@ -355,30 +407,32 @@ TEXCONFIG=false \
        --libexecdir=%{_libdir} \
        --infodir=%{_infodir} \
        --mandir=%{_mandir} \
+       --with-build-time-tools=%{arch}/bin \
        %{!?with_bootstrap:--with-headers=%{arch}/include} \
        --with-libs=%{!?with_bootstrap:%{arch}/lib}%{?with_bootstrap:${WINSUPDIR}/mingw/lib} \
-       --with-build-time-tools=%{arch}/bin \
        --with-dwarf2 \
        --with-gnu-as \
        --with-gnu-ld \
        --with-mangler-in-ld \
        --with-long-double-128 \
+       --with-cloog \
        --with-ppl \
-       --disable-ppl-version-check \
+       --disable-isl-version-check \
+       --enable-shared \
        --enable-threads \
        --enable-languages="c,c++,fortran,java,objc" \
        --enable-c99 \
-       --enable-long-long \
        --enable-fully-dynamic-string \
+       --enable-libgomp \
        --enable-libstdcxx-allocator=new \
+       --enable-long-long \
        --enable-version-specific-runtime-libs \
-       --enable-shared \
+       --disable-libssp \
+       --disable-multilib \
        --disable-nls \
-       --disable-symvers \
        --disable-sjlj-exceptions \
+       --disable-symvers \
        --disable-win32-registry \
-       --disable-multilib \
-       --disable-libssp \
        --target=%{target}
 
 cd ..
@@ -393,9 +447,6 @@ install -d $RPM_BUILD_ROOT%{_bindir}
 %{__make} -C builddir install \
        DESTDIR=$RPM_BUILD_ROOT
 
-# host (ELF) library
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/libiberty.a
-
 mv $RPM_BUILD_ROOT%{gcclibdir}/include-fixed/{limits,syslimits}.h $RPM_BUILD_ROOT%{gcclibdir}/include
 %{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/include-fixed
 %{__rm} -r $RPM_BUILD_ROOT%{gcclibdir}/install-tools
@@ -423,6 +474,13 @@ fi
 %{target}-strip -g -R.comment -R.note $RPM_BUILD_ROOT%{gcclibdir}/lib*.a
 %endif
 
+# avoid -L poisoning in *.la
+for f in libcaf_single.la libgfortran.la libgfortranbegin.la libobjc.la libquadmath.la %{?with_gomp:libgomp.la} ; do
+       file="$RPM_BUILD_ROOT%{gcclibdir}/$f"
+       %{__perl} %{SOURCE2} "$file" %{gcclibdir} >"${file}.fixed"
+       %{__mv} "${file}.fixed" "$file"
+done
+
 # for pretty-printers see native gcc
 %{__rm} $RPM_BUILD_ROOT%{gcclibdir}/libstdc++.dll.a-gdb.py
 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libstdcxx
@@ -451,7 +509,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{arch}/bin/%{target}-gcc-ranlib
 %attr(755,root,root) %{arch}/bin/%{target}-cpp
 %attr(755,root,root) %{arch}/bin/%{target}-gcov
-%attr(755,root,root) %{arch}/bin/gcc
 %dir %{gccarchdir}
 %dir %{gcclibdir}
 %attr(755,root,root) %{gcclibdir}/cc1
@@ -476,13 +533,27 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %{_dlldir}/libgcc_s_dw2-1.dll
 
+%if %{with gomp}
+%files -n crossmingw32-libgomp
+%defattr(644,root,root,755)
+%{gcclibdir}/libgomp.dll.a
+%{gcclibdir}/libgomp.la
+%{gcclibdir}/libgomp.spec
+
+%files -n crossmingw32-libgomp-static
+%defattr(644,root,root,755)
+%{gcclibdir}/libgomp.a
+
+%files -n crossmingw32-libgomp-dll
+%defattr(644,root,root,755)
+%{_dlldir}/libgomp-1.dll
+%endif
+
 %files c++
 %defattr(644,root,root,755)
 %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/c++
-%attr(755,root,root) %{arch}/bin/g++
 %attr(755,root,root) %{gcclibdir}/cc1plus
 %{gcclibdir}/libstdc++.dll.a
 %{gcclibdir}/libstdc++.la
@@ -518,7 +589,6 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/%{target}-gfortran
 %attr(755,root,root) %{arch}/bin/%{target}-gfortran
-%attr(755,root,root) %{arch}/bin/gfortran
 %attr(755,root,root) %{gcclibdir}/f951
 %{gcclibdir}/finclude
 %{gcclibdir}/libcaf_single.a
This page took 0.099619 seconds and 4 git commands to generate.