From: Lennert Buytenhek Subject: gcc41: make building objc configurable As ARM doesn't support objc in gcc 4.1 (it should in later versions), this patch adds a %{build_objc} variable to the gcc41 spec file which can be used to build gcc without objc support. Signed-off-by: Lennert Buytenhek Index: SPECS/gcc41.spec =================================================================== --- SPECS.orig/gcc41.spec +++ SPECS/gcc41.spec @@ -16,6 +16,7 @@ # With this then on the new arch do rpmbuild -ba -v --with java_bootstrap gcc41.spec %define bootstrap_java %{?_with_java_bootstrap:%{build_java}}%{!?_with_java_bootstrap:0} %define build_java_tar %{?_with_java_tar:%{build_java}}%{!?_with_java_tar:0} +%define build_objc 1 %ifarch s390x %define multilib_32_arch s390 %endif @@ -949,7 +950,9 @@ fi pushd $FULLPATH if [ "%{_lib}" = "lib" ]; then +%if %{build_objc} ln -sf ../../../libobjc.so.1 libobjc.so +%endif ln -sf ../../../libstdc++.so.6.* libstdc++.so ln -sf ../../../libgfortran.so.1.* libgfortran.so ln -sf ../../../libgomp.so.1.* libgomp.so @@ -969,7 +972,9 @@ ln -sf ../../../../libgnat-*.so libgnat- cd .. %endif else +%if %{build_objc} ln -sf ../../../../%{_lib}/libobjc.so.1 libobjc.so +%endif ln -sf ../../../../%{_lib}/libstdc++.so.6.* libstdc++.so ln -sf ../../../../%{_lib}/libgfortran.so.1.* libgfortran.so ln -sf ../../../../%{_lib}/libgomp.so.1.* libgomp.so @@ -996,13 +1001,17 @@ mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/ mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libsupc++.*a . mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgfortran.*a . mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgfortranbegin.*a . +%if %{build_objc} mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libobjc.*a . +%endif mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgomp.*a . mv -f $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libmudflap{,th}.*a $FULLLPATH/ mv -f $RPM_BUILD_ROOT%{_prefix}/include/mf-runtime.h include/ %ifarch sparc ppc +%if %{build_objc} ln -sf ../../../../../lib64/libobjc.so.1 64/libobjc.so +%endif ln -sf ../`echo ../../../../lib/libstdc++.so.6.* | sed s~/lib/~/lib64/~` 64/libstdc++.so ln -sf ../`echo ../../../../lib/libgfortran.so.1.* | sed s~/lib/~/lib64/~` 64/libgfortran.so ln -sf ../`echo ../../../../lib/libgomp.so.1.* | sed s~/lib/~/lib64/~` 64/libgomp.so @@ -1018,7 +1027,9 @@ ln -sf ../lib64/libgcj_bc.so 64/libgcj_b mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libsupc++.*a 64/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libgfortran.*a 64/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libgfortranbegin.*a 64/ +%if %{build_objc} mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libobjc.*a 64/ +%endif mv -f $RPM_BUILD_ROOT%{_prefix}/lib64/libgomp.*a 64/ ln -sf lib32/libstdc++.a libstdc++.a ln -sf ../lib64/libstdc++.a 64/libstdc++.a @@ -1029,7 +1040,9 @@ ln -sf ../lib64/libmudflapth.a 64/libmud %endif %ifarch %{multilib_64_archs} mkdir -p 32 +%if %{build_objc} ln -sf ../../../../libobjc.so.1 32/libobjc.so +%endif ln -sf ../`echo ../../../../lib64/libstdc++.so.6.* | sed s~/../lib64/~/~` 32/libstdc++.so ln -sf ../`echo ../../../../lib64/libgfortran.so.1.* | sed s~/../lib64/~/~` 32/libgfortran.so ln -sf ../`echo ../../../../lib64/libgomp.so.1.* | sed s~/../lib64/~/~` 32/libgomp.so @@ -1043,7 +1056,9 @@ ln -sf ../`echo ../../../../lib64/libgij mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libsupc++.*a 32/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libgfortran.*a 32/ mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libgfortranbegin.*a 32/ +%if %{build_objc} mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libobjc.*a 32/ +%endif mv -f $RPM_BUILD_ROOT%{_prefix}/lib/libgomp.*a 32/ %endif %ifarch sparc64 ppc64 @@ -1076,7 +1091,9 @@ popd chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgfortran.so.1.* chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgomp.so.1.* chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libmudflap{,th}.so.0.* +%if %{build_objc} chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libobjc.so.1.* +%endif %if %{build_ada} chmod 755 $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libgnarl*so* @@ -1450,6 +1467,7 @@ fi %endif %doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README* libstdc++-v3/docs/html/ +%if %{build_objc} %files objc %defattr(-,root,root) %dir %{_prefix}/lib/gcc @@ -1486,6 +1504,7 @@ fi %files -n libobjc %defattr(-,root,root) %{_prefix}/%{_lib}/libobjc.so.1* +%endif %files gfortran %defattr(-,root,root)