diff --git a/.abf.yml b/.abf.yml index 753018f..7cc6504 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,3 +1,3 @@ --- sources: - gcc-linaro-4.7-2012.09.tar.bz2: 10fa0408f2f2f6eb39a2a9e12a2d82c9237c1bef + gcc-linaro-4.7-2012.10.tar.bz2: 6dcd985f46430d157b2b66ef2a1558279c961da3 diff --git a/c89 b/c89 old mode 100755 new mode 100644 diff --git a/c99 b/c99 old mode 100755 new mode 100644 diff --git a/gcc.spec b/gcc.spec index e56bf40..a3f01a8 100644 --- a/gcc.spec +++ b/gcc.spec @@ -18,8 +18,8 @@ %endif %define system_compiler 1 %define branch 4.7 -%define ver %branch.2 -%define linaro 2012.09 +%define ver %branch.3 +%define linaro 2012.10 %define alternatives /usr/sbin/update-alternatives %define remove_alternatives 0 %define obsolete_devmajor 0 @@ -32,6 +32,7 @@ %define gccdir %{_libdir}/gcc/%{_target_platform}/%{ver} %define multigccdir %{_libdir}/gcc/%{_target_platform}/%{ver}/32 %define multilibdir %{_prefix}/lib +%define multirootlibdir /lib #----------------------------------------------------------------------- %define gcc_major 1 @@ -139,6 +140,9 @@ %define build_objcxx %{system_compiler} %endif +%define build_doc 0 +%define build_pdf 0 + %define package_ffi 0 # Adapted from fedora procedure: @@ -157,7 +161,8 @@ Name: gcc %else Name: gcc%branch %endif -Release: 1 +Release: 3.1 +ExclusiveArch: x86_64 Summary: GNU Compiler Collection License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD Group: Development/C @@ -337,7 +342,7 @@ Obsoletes: libgcc4.5 < %{version}-%{release} The %{libgcc} package contains GCC shared libraries for gcc %{branch} %files -n %{libgcc} -%{_libdir}/libgcc_s.so.%{gcc_major} +/%{_lib}/libgcc_s.so.%{gcc_major} #----------------------------------------------------------------------- %if %{build_multilib} @@ -350,7 +355,7 @@ Conflicts: %{libgcc} < 4.6.2-11 The %{multilibgcc} package contains GCC shared libraries for gcc %{branch} %files -n %{multilibgcc} -%{multilibdir}/libgcc_s.so.%{gcc_major} +%{multirootlibdir}/libgcc_s.so.%{gcc_major} %endif #----------------------------------------------------------------------- # build libgcc @@ -492,8 +497,8 @@ The libstdc++ package contains a rewritten standard compliant GCC Standard C++ Library. %files -n %{libstdcxx} -%{_libdir}/libstdc++.so.%{stdcxx_major} -%{_libdir}/libstdc++.so.%{stdcxx_major}.* +/%{_lib}/libstdc++.so.%{stdcxx_major} +/%{_lib}/libstdc++.so.%{stdcxx_major}.* %if %{system_compiler} %{_localedir}/*/LC_MESSAGES/libstdc++.mo %endif @@ -510,8 +515,8 @@ The libstdc++ package contains a rewritten standard compliant GCC Standard C++ Library. %files -n %{multilibstdcxx} -%{multilibdir}/libstdc++.so.%{stdcxx_major} -%{multilibdir}/libstdc++.so.%{stdcxx_major}.* +%{multirootlibdir}/libstdc++.so.%{stdcxx_major} +%{multirootlibdir}/libstdc++.so.%{stdcxx_major}.* %endif #----------------------------------------------------------------------- @@ -524,6 +529,11 @@ Requires: %{multilibstdcxx} = %{version}-%{release} %endif Provides: libstdc++-devel = %{version}-%{release} Provides: stdc++-devel = %{version}-%{release} +%if "%ver" != "%version" +# 4.7.2_2010.10 should provide 4.7.2 so clang can pick up the dep +Provides: libstdc++-devel = %ver-%release +Provides: stdc++-devel = %ver-%release +%endif %if %{obsolete_devmajor} Obsoletes: libstdc++4.5-devel < %{version}-%{release} Obsoletes: libstdc++6-devel < %{version}-%{release} @@ -983,6 +993,7 @@ bytecode into native code. %package -n %{libgcj} Summary: Java runtime library for gcc Group: System/Libraries +Provides: gcj-tools = %{version}-%{release} Provides: libgcj = %{version}-%{release} Provides: %{libgcj_bc} = %{version}-%{release} %if %{build_multilib} @@ -1037,7 +1048,6 @@ Summary: Tools needed to use applications in the GCJ Java runtime Group: System/Libraries Requires: %{libgcj} = %{version}-%{release} Requires: zip >= 2.1 -Conflicts: %{libgcj} < 4.7.2 %description -n gcj-tools Tools needed to run applications in the GCJ Java(tm) runtime. You will @@ -1075,7 +1085,7 @@ Requires: awk Provides: libgcj-devel = %{version}-%{release} Provides: gcj-devel = %{version}-%{release} # libgcj and friends are no longer built statically for 4.7.x -Obsoletes: %{libgcj_static_devel} < {version}-%{release} +Obsoletes: %{libgcj_static_devel} %description -n %{libgcj_devel} The Java(tm) static libraries and C header files. You will need this @@ -1395,8 +1405,8 @@ This package contains GCC shared library which is needed for OpenMP v3.0 support. %files -n %{libgomp} -%{_libdir}/libgomp.so.%{gomp_major} -%{_libdir}/libgomp.so.%{gomp_major}.* +/%{_lib}/libgomp.so.%{gomp_major} +/%{_lib}/libgomp.so.%{gomp_major}.* #----------------------------------------------------------------------- %if %{build_multilib} @@ -1411,8 +1421,8 @@ This package contains GCC shared library which is needed for OpenMP v3.0 support. %files -n %{multilibgomp} -%{multilibdir}/libgomp.so.%{gomp_major} -%{multilibdir}/libgomp.so.%{gomp_major}.* +%{multirootlibdir}/libgomp.so.%{gomp_major} +%{multirootlibdir}/libgomp.so.%{gomp_major}.* %endif #----------------------------------------------------------------------- @@ -2014,12 +2024,25 @@ pushd %{buildroot}%{_bindir} %{buildroot}%{_datadir}/gdb/auto-load%{_libdir} perl -pi -e 's|%{_datadir}/gcc-%{ver}/python|%{py_puresitedir}|;' \ %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/libstdc++.*.py + + mkdir -p %{buildroot}/%{_lib} + mv %{buildroot}%{_libdir}/libstdc++.so.%{stdcxx_major}* \ + %{buildroot}/%{_lib} + ln -srf %{buildroot}/%{_lib}/libstdc++.so.%{stdcxx_major}.*.* \ + %{buildroot}%{_libdir}/libstdc++.so + %if %{build_multilib} mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{multilibdir} mv -f %{buildroot}%{multilibdir}/libstdc++.so.*.py \ %{buildroot}%{_datadir}/gdb/auto-load%{multilibdir} perl -pi -e 's|%{_datadir}/gcc-%{ver}/python|%{py_puresitedir}|;' \ %{buildroot}%{_datadir}/gdb/auto-load%{multilibdir}/libstdc++.*.py + + mkdir -p %{buildroot}%{multirootlibdir} + mv %{buildroot}%{multilibdir}/libstdc++.so.%{stdcxx_major}* \ + %{buildroot}%{multirootlibdir} + ln -srf %{buildroot}%{multirootlibdir}/libstdc++.so.%{stdcxx_major}.*.* \ + %{buildroot}%{multilibdir}/libstdc++.so %endif %endif %if %{build_java} @@ -2027,6 +2050,38 @@ pushd %{buildroot}%{_bindir} %endif popd +%if %{build_gomp} + mkdir -p %{buildroot}/%{_lib} + mv %{buildroot}%{_libdir}/libgomp.so.%{gomp_major}* \ + %{buildroot}/%{_lib} + ln -srf %{buildroot}/%{_lib}/libgomp.so.%{gomp_major}.*.* \ + %{buildroot}%{_libdir}/libgomp.so + + %if %{build_multilib} + mkdir -p %{buildroot}%{multirootlibdir} + mv %{buildroot}%{multilibdir}/libgomp.so.%{gomp_major}* \ + %{buildroot}%{multirootlibdir} + ln -srf %{buildroot}%{multirootlibdir}/libgomp.so.%{gomp_major}.*.* \ + %{buildroot}%{multilibdir}/libgomp.so + %endif +%endif + +%if %{system_compiler} + mkdir -p %{buildroot}/%{_lib} + mv %{buildroot}%{_libdir}/libgcc_s.so.%{gcc_major} \ + %{buildroot}/%{_lib} + ln -srf %{buildroot}/%{_lib}/libgcc_s.so.%{gcc_major} \ + %{buildroot}%{_libdir}/libgcc_s.so + + %if %{build_multilib} + mkdir -p %{buildroot}%{multirootlibdir} + mv %{buildroot}%{multilibdir}/libgcc_s.so.%{gcc_major} \ + %{buildroot}%{multirootlibdir} + ln -srf %{buildroot}%{multirootlibdir}/libgcc_s.so.%{gcc_major} \ + %{buildroot}%{multilibdir}/libgcc_s.so + %endif +%endif + %if %{build_ada} for lib in libgnarl libgnat; do rm -f %{buildroot}%{_libdir}/$lib.so @@ -2161,6 +2216,7 @@ rm -f %buildroot%_libdir/libitm.la \ %buildroot%_prefix/lib/libitm.la \ %buildroot%_libdir/gcj-*/*.la +%if 1 # Workaround for all gcj related tools # somehow getting the same build ID strip --strip-unneeded \ @@ -2181,4 +2237,4 @@ strip --strip-unneeded \ %buildroot%_bindir/jv-convert \ %buildroot%_bindir/gtnameserv \ %buildroot%_bindir/gcjh - +%endif