%install %if "%{_prefix}" != "/usr" export PATH="%{_bindir}:${PATH}" %endif rm -rf $RPM_BUILD_ROOT cd build make DESTDIR=$RPM_BUILD_ROOT install cd .. %if %build_newlib cd build/@tool_target@/newlib make DESTDIR=$RPM_BUILD_ROOT install-info cd ../../.. %endif %if "%{gcc_version}" <= "4.1.2" # Misplaced header file if test -f $RPM_BUILD_ROOT%{_includedir}/mf-runtime.h; then mv $RPM_BUILD_ROOT%{_includedir}/mf-runtime.h \ $RPM_BUILD_ROOT%{gcclib}/@tool_target@/%{gcc_version}/include/ fi %endif # host library rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty.a # We use the version from binutils rm -f $RPM_BUILD_ROOT%{_bindir}/@tool_target@-c++filt%{_exeext} %if %build_gnat # Seemingly a VAX tool. Not meaningful, here. rm -f $RPM_BUILD_ROOT%{_bindir}/vxaddr2line%{_exeext} %endif %if %build_infos # We don't ship info/dir rm -f $RPM_BUILD_ROOT%{_infodir}/dir touch $RPM_BUILD_ROOT%{_infodir}/dir %else # Conflict with a native GCC's infos rm -rf $RPM_BUILD_ROOT%{_infodir} # Conflict with a native GCC's man pages rm -rf $RPM_BUILD_ROOT%{_mandir}/man7 %endif %if %build_f95 # # Bug in gcc-4.0.0pre # mv $RPM_BUILD_ROOT%{_bindir}/gfortran $RPM_BUILD_ROOT%{_bindir}/@tool_target@-gfortran %endif %if "%{gcc_version}" >= "3.4" # Bug in gcc-3.4.0pre rm -f $RPM_BUILD_ROOT%{_bindir}/@tool_target@-@tool_target@-gcjh%{_exeext} %endif %if "%{gcc_version}" >= "3.3" # Bug in gcc-3.3.x/gcc-3.4.x: Despite we don't need fixincludes, it installs # the fixinclude-install-tools rm -rf ${RPM_BUILD_ROOT}%{gcclib}/@tool_target@/%{gcc_version}/install-tools rm -rf ${RPM_BUILD_ROOT}%{gccexec}/@tool_target@/%{gcc_version}/install-tools %endif # Bug in gcc > 4.1.0: Installs an unused, empty directory if test -d ${RPM_BUILD_ROOT}%{_prefix}/@tool_target@/include/bits; then rmdir ${RPM_BUILD_ROOT}%{_prefix}/@tool_target@/include/bits fi # Collect multilib subdirectories f=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` %if %build_newlib echo "%defattr(-,root,root,-)" > build/files.newlib TGTDIR="%{_exec_prefix}/@tool_target@/lib" for i in $f; do case $i in \.) echo "%dir ${TGTDIR}" >> build/files.newlib ;; *) echo "%dir ${TGTDIR}/$i" >> build/files.newlib ;; esac done %endif rm -f dirs ; echo "%defattr(-,root,root,-)" >> dirs %if "%{_prefix}" != "/usr" echo "%dir %{_prefix}" >> dirs echo "%dir %{_libdir}" >> dirs %if "%{gcc_version}" >= "3.4" echo "%dir %{_libexecdir}" >> dirs %endif %endif echo "%dir %{gcclib}" >> dirs echo "%dir %{gcclib}/@tool_target@" >> dirs TGTDIR="%{gcclib}/@tool_target@/%{gcc_version}" for i in $f; do case $i in \.) echo "%dir ${TGTDIR}" >> dirs ;; *) echo "%dir ${TGTDIR}/$i" >> dirs ;; esac done # Collect files to go into different packages cp dirs build/files.gcc cp dirs build/files.g77 cp dirs build/files.gfortran cp dirs build/files.objc cp dirs build/files.gcj cp dirs build/files.g++ TGTDIR="%{gcclib}/@tool_target@/%{gcc_version}" f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`; for i in $f; do case $i in *lib*.la) rm ${RPM_BUILD_ROOT}/$i ;; # ignore: gcc produces bogus libtool libs *f771) ;; *f951) ;; *cc1) ;; *cc1obj) ;; *cc1plus) ;; # ignore: explicitly put into rpm elsewhere *collect2) ;; *libobjc*) echo "$i" >> build/files.objc ;; *include/objc*) ;; *include/g++*);; *include/c++*);; *adainclude*);; *adalib*);; *gnat1);; *jc1) ;; *jvgenmain) ;; */libgfortran*.*) echo "$i" >> build/files.gfortran ;; */libstdc++.*) echo "$i" >> build/files.g++ ;; */libsupc++.*) echo "$i" >> build/files.g++ ;; *) echo "$i" >> build/files.gcc ;; esac done TGTDIR="%{_exec_prefix}/@tool_target@/lib" f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`; for i in $f; do case $i in *lib*.la) rm ${RPM_BUILD_ROOT}/$i;; # ignore - gcc produces bogus libtool libs *libiberty.a) rm ${RPM_BUILD_ROOT}/$i ;; # ignore - GPL'ed # all other files belong to newlib *) echo "$i" >> build/files.newlib ;; esac done