#
# Conditional build:
%bcond_without ada # build without ADA support
+%bcond_without cxx # build without C++ support
%bcond_without fortran # build without Fortran support
%bcond_without java # build without Java support
%bcond_without objc # build without Objective-C support
%define _noautochrpath .*/lib/.*\\.so.*
%endif
+%if %{without cxx}
+%undefine with_java
+%undefine with_objcxx
+%endif
+
%if %{without objc}
%undefine with_objcxx
%endif
--enable-shared \
--enable-threads=posix \
--enable-__cxa_atexit \
- --enable-languages="c,c++%{?with_fortran:,f95}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}" \
+ --enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,f95}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}" \
--enable-c99 \
--enable-long-long \
--%{?with_multilib:en}%{!?with_multilib:dis}able-multilib \
ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
-libssp=%(basename `echo $RPM_BUILD_ROOT%{_libdir}/libssp.so.*.*.*`)
+libssp=$(cd $RPM_BUILD_ROOT%{_libdir}; echo libssp.so.*.*.*)
mv $RPM_BUILD_ROOT{%{_libdir}/$libssp,%{_slibdir}}
-ln -sf %{_slibdir}/$libssp $RPM_BUILD_ROOT%{_libdir}/$libssp
+ln -sf %{_slibdir}/$libssp $RPM_BUILD_ROOT%{_libdir}/libssp.so
%if %{with multilib}
-libssp=%(basename `echo $RPM_BUILD_ROOT%{_libdir32}/libssp.so.*.*.*`)
+libssp=$($RPM_BUILD_ROOT%{_libdir32}; echo libssp.so.*.*.*`)
mv $RPM_BUILD_ROOT{%{_libdir32}/$libssp,%{_slibdir32}}
-ln -sf %{_slibdir32}/$libssp $RPM_BUILD_ROOT%{_libdir32}/$libssp
+ln -sf %{_slibdir32}/$libssp $RPM_BUILD_ROOT%{_libdir32}/libssp.so
%endif
%if %{with fortran}
# avoid -L poisoning in *.la - there should be only -L%{_libdir}/gcc/*/%{version}
# normalize libdir, to avoid propagation of unnecessary RPATHs by libtool
-for f in libmudflap.la libmudflapth.la libssp.la libstdc++.la libsupc++.la \
+for f in libmudflap.la libmudflapth.la libssp.la \
+ %{?with_cxx:libstdc++.la libsupc++.la} \
%{?with_fortran:libgfortran.la libgfortranbegin.la} \
%{?with_java:libgcj.la libffi.la} \
%{?with_objc:libobjc.la};
ln -sf %{_slibdir}/libgcc_s.so.1 $gccdir/libgcc_s.so
%find_lang gcc
-%find_lang libstdc\+\+
+%{?with_cxx:%find_lang libstdc\+\+}
# cvs snap doesn't contain (release does) below files,
# so let's create dummy entries to satisfy %%files.
%attr(755,root,root) %{_slibdir}/lib*.so
%{_libdir}/libssp.la
%attr(755,root,root) %{_libdir}/libssp.a
+%attr(755,root,root) %{_libdir}/libssp.so
#{_libdir}/libssp_nonshared.*
%if %{with multilib}
%dir %{_libdir}/gcc/*/*/32
%{_libdir}/gcc/*/*/32/libgcc_s.so
%{_libdir32}/libssp.la
%attr(755,root,root) %{_libdir32}/libssp.a
+%attr(755,root,root) %{_libdir32}/libssp.so
#{_libdir32}/libssp_nonshared.*
%endif
%{_libdir}/gcc/*/*/libgcov.a
%defattr(644,root,root,755)
%if %{with multilib}
%attr(755,root,root) %{_slibdir32}/lib*.so.*
-%attr(755,root,root) %{_libdir32}/libssp.so.*
%endif
%attr(755,root,root) %{_slibdir}/lib*.so.*
-%attr(755,root,root) %{_libdir}/libssp.so.*
%files -n libmudflap
%defattr(644,root,root,755)
%{_libdir}/gcc/*/*/adalib/libgnat.a
%endif
+%if %{with cxx}
%files c++
%defattr(644,root,root,755)
%doc gcc/cp/{ChangeLog,NEWS}
%{_libdir32}/libstdc++.a
%endif
%{_libdir}/libstdc++.a
+%endif
%if %{with fortran}
%files fortran