📄 gcc-sh-linux.spec
字号:
LINKER_CPU_ENDIAN_FLAGS="-m shlelf_linux -EL --architecture sh4" LINKER_RPATH_LINK_FLAG="-rpath-link %{_prefix}/sh4-linux/lib" ;; sh4eb) MULTILIBDIR=/mb/m4 MULTIPARENTDIR=../../ AS_ENDIAN_FLAG="-big" CPP_ENDIAN_DEF="-D__BIG_ENDIAN__" CPP_CPU_DEFS="-D__SH4__" CC1_CPU_ENDIAN_FLAGS="-mb -m4" CC1PLUS_CPU_ENDIAN_FLAGS="-mb -m4" LINKER_CPU_ENDIAN_FLAGS="-m shelf_linux -EB --architecture sh4" LINKER_RPATH_LINK_FLAG="-rpath-link %{_prefix}/sh4eb-linux/lib" ;; esac # Make symbolic links for GCC drivers, objects, libraries, and include dir. for f in ${DRIVERS} ${INCLUDE}; do if [ -a $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/$f ]; then ln -s ../../sh-linux/%{GCC_VERSION}/$f $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/${CPU}-linux/%{GCC_VERSION}/$f fi done for f in ${OBJS} ${LIBS}; do if [ -a $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}${MULTILIBDIR}/$f ]; then ln -s ../../sh-linux/%{GCC_VERSION}${MULTILIBDIR}/$f $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/${CPU}-linux/%{GCC_VERSION}/$f fi done for f in ${LIBS_1} ${LIBS_2}; do if [ -e $RPM_BUILD_ROOT%{_prefix}/sh-linux/lib${MULTILIBDIR}/$f ]; then mv -f $RPM_BUILD_ROOT%{_prefix}/sh-linux/lib${MULTILIBDIR}/$f $RPM_BUILD_ROOT%{_prefix}/${CPU}-linux/lib ln -s ${MULTIPARENTDIR}../../${CPU}-linux/lib/$f $RPM_BUILD_ROOT%{_prefix}/sh-linux/lib${MULTILIBDIR}/$f fi done sed -e "s+@AS_ENDIAN_FLAG@+${AS_ENDIAN_FLAG}+" \ -e "s+@CPP_ENDIAN_DEF@+${CPP_ENDIAN_DEF}+" \ -e "s+@CPP_CPU_DEFS@+${CPP_CPU_DEFS}+" \ -e "s+@CC1_CPU_ENDIAN_FLAGS@+${CC1_CPU_ENDIAN_FLAGS}+" \ -e "s+@CC1PLUS_CPU_ENDIAN_FLAGS@+${CC1PLUS_CPU_ENDIAN_FLAGS}+" \ -e "s+@LINKER_CPU_ENDIAN_FLAGS@+${LINKER_CPU_ENDIAN_FLAGS}+" \ -e "s+@LINKER_RPATH_LINK_FLAG@+${LINKER_RPATH_LINK_FLAG}+" \ debian/edit-specs.in >${arch}/edit-specs-${CPU}.sed sed -f ${arch}/edit-specs-${CPU}.sed \ $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/specs \ > $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/${CPU}-linux/%{GCC_VERSION}/specs done%else ARCH_STRTIP=%{_target}-strip EXESUFFIX="" TOOLPREFIX="" ln -s ..%{_prefix}/bin/cpp ${RPM_BUILD_ROOT}/lib/cpp ln -s gcc ${RPM_BUILD_ROOT}%{_prefix}/bin/cc arch=%{_target} make DESTDIR=${RPM_BUILD_ROOT} \ install -C ${arch} if [ %{TARGET_JAVA} -ne 0 ]; then make DESTDIR=${RPM_BUILD_ROOT} install -C ${arch}/${arch}/libffi make DESTDIR=${RPM_BUILD_ROOT} install -C ${arch}/${arch}/fastjar mv -f ${RPM_BUILD_ROOT}/%{_prefix}/%{_lib}/libgcj.spec \ ${RPM_BUILD_ROOT}/%{_prefix}/lib/gcc-lib/${arch}/%{GCC_VERSION}/ fi $ARCH_STRTIP $RPM_BUILD_ROOT%{_prefix}/bin/gcov$EXESUFFIX || :cat >${arch}/edit-specs <<EOF/^*cross_compile:$/ {nc\\0}EOF sed -f ${arch}/edit-specs -e 's#-rpath-link.*/usr/%{_target}/lib##' \ ${RPM_BUILD_ROOT}%{_prefix}/lib/gcc-lib/${arch}/%{GCC_VERSION}/specs \ >${RPM_BUILD_ROOT}%{_prefix}/lib/gcc-lib/${arch}/%{GCC_VERSION}/specs.$$ mv -f ${RPM_BUILD_ROOT}%{_prefix}/lib/gcc-lib/${arch}/%{GCC_VERSION}/specs.$$ \ ${RPM_BUILD_ROOT}%{_prefix}/lib/gcc-lib/${arch}/%{GCC_VERSION}/specs sed -e "s/dependency_libs=.*/dependency_libs='-lm -lgcc -lc -lgcc'/" \ ${RPM_BUILD_ROOT}%{_prefix}/lib/libstdc++.la \ >${RPM_BUILD_ROOT}%{_prefix}/lib/libstdc++.la.$$ mv -f ${RPM_BUILD_ROOT}%{_prefix}/lib/libstdc++.la.$$ \ ${RPM_BUILD_ROOT}%{_prefix}/lib/libstdc++.la sed -e "s/dependency_libs=.*/dependency_libs='-lpthread -ldl -lz -lm -lgcc -lc -lgcc'/" \ ${RPM_BUILD_ROOT}%{_prefix}/lib/libgcj.la \ >${RPM_BUILD_ROOT}%{_prefix}/lib/libgcj.la.$$ mv -f ${RPM_BUILD_ROOT}%{_prefix}/lib/libgcj.la.$$ \ ${RPM_BUILD_ROOT}%{_prefix}/lib/libgcj.lacat >$RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/syslimits.h <<EOF#define _GCC_NEXT_LIMITS_H /* tell gcc's limits.h to recurse */#include_next <limits.h>#undef _GCC_NEXT_LIMITS_HEOF%endif $ARCH_STRTIP $RPM_BUILD_ROOT%{_prefix}/bin/${TOOLPREFIX}{gcc,cpp,c++,c++filt,gcj,gcjh,gij,jar,grepjar,jcf-dump,jv-convert,jv-scan}$EXESUFFIX || : FULLPATH=$(dirname $RPM_BUILD_ROOT%{_prefix}/lib/gcc-lib/${arch}/%{GCC_VERSION}/cc1${EXESUFFIX}) $ARCH_STRTIP $FULLPATH/{cc1${EXESUFFIX},cc1plus${EXESUFFIX},cpp0${EXESUFFIX},tradcpp0${EXESUFFIX},collect2${EXESUFFIX},jc1${EXESUFFIX},jvgenmain${EXESUFFIX}} || : # Strip static libraries sh-linux-strip -S -R .comment `find $RPM_BUILD_ROOT -type f -name "*.a"` || : # Strip ELF shared objects for f in `find $RPM_BUILD_ROOT -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) `; do if file $f | grep -q "shared object.*not stripped"; then sh-linux-strip --strip-unneeded -R .comment $f fi done%cleanrm -rf $RPM_BUILD_ROOT# ==================== Cross Compiler ===============================%ifarch i386%files sh-linux%defattr(-,root,root)%{_prefix}/bin/sh*%dir %{_prefix}/lib/gcc-lib/sh-linux%dir %{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}%dir %{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include%dir %{_prefix}/lib/gcc-lib/sh3-linux%dir %{_prefix}/lib/gcc-lib/sh3-linux/%{GCC_VERSION}%dir %{_prefix}/lib/gcc-lib/sh3eb-linux%dir %{_prefix}/lib/gcc-lib/sh3eb-linux/%{GCC_VERSION}%dir %{_prefix}/lib/gcc-lib/sh4-linux%dir %{_prefix}/lib/gcc-lib/sh4-linux/%{GCC_VERSION}%dir %{_prefix}/lib/gcc-lib/sh4eb-linux%dir %{_prefix}/lib/gcc-lib/sh4eb-linux/%{GCC_VERSION}%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/cc1%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/cc1plus%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/collect2%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/cpp0%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/*.o%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/libgcc*.a%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/specs%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/tradcpp0%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/jc1%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/jvgenmain%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/m4%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/mb%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/stddef.h%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/stdarg.h%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/varargs.h%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/float.h%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/limits.h%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/stdbool.h%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/iso646.h%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/syslimits.h%{_prefix}/lib/gcc-lib/sh-linux/%{GCC_VERSION}/include/README%{_prefix}/lib/gcc-lib/sh3-linux/%{GCC_VERSION}/*%{_prefix}/lib/gcc-lib/sh3eb-linux/%{GCC_VERSION}/*%{_prefix}/lib/gcc-lib/sh4-linux/%{GCC_VERSION}/*%{_prefix}/lib/gcc-lib/sh4eb-linux/%{GCC_VERSION}/*%{_mandir}/man1/sh-linux-*%dir %{_prefix}/sh-linux/include%{_prefix}/sh3-linux/include%{_prefix}/sh3eb-linux/include%{_prefix}/sh4-linux/include%{_prefix}/sh4eb-linux/include%endif%if %{TARGET_LIBSTDC}%ifarch i386%{_prefix}/sh-linux/include/g++-v3%{_prefix}/sh-linux/lib/libs*%{_prefix}/sh-linux/lib/m4/libs*%{_prefix}/sh-linux/lib/mb/libs*%{_prefix}/sh-linux/lib/mb/m4/libs*%{_prefix}/sh3-linux/lib/libs*%{_prefix}/sh4-linux/lib/libs*%{_prefix}/sh3eb-linux/lib/libs*%{_prefix}/sh4eb-linux/lib/libs*%endif%endif%if %{TARGET_JAVA}%ifarch i386%files -n libgcj-sh-linux%defattr(-,root,root)%{_prefix}/sh-linux/include/*.h%{_prefix}/sh-linux/include/gcj%{_prefix}/sh-linux/include/gnu/*%{_prefix}/sh-linux/include/java%{_prefix}/sh-linux/lib/lib*gcj*%{_prefix}/sh-linux/lib/m4/lib*gcj*%{_prefix}/sh-linux/lib/mb/lib*gcj*%{_prefix}/sh-linux/lib/mb/m4/lib*gcj*%{_prefix}/sh-linux/lib/libffi*%{_prefix}/sh-linux/lib/m4/libffi*%{_prefix}/sh-linux/lib/mb/libffi*%{_prefix}/sh-linux/lib/mb/m4/libffi*%{_prefix}/sh-linux/share/java/libgcj-%{GCC_VERSION}.jar%{_prefix}/sh3-linux/lib/lib*gcj*%{_prefix}/sh3-linux/lib/libffi*%{_prefix}/sh3-linux/share/java/libgcj-%{GCC_VERSION}.jar%{_prefix}/sh4-linux/lib/lib*gcj*%{_prefix}/sh4-linux/lib/libffi*%{_prefix}/sh4-linux/share/java/libgcj-%{GCC_VERSION}.jar%{_prefix}/sh3eb-linux/lib/lib*gcj*%{_prefix}/sh3eb-linux/lib/libffi*%{_prefix}/sh3eb-linux/share/java/libgcj-%{GCC_VERSION}.jar%{_prefix}/sh4eb-linux/lib/lib*gcj*%{_prefix}/sh4eb-linux/lib/libffi*%{_prefix}/sh4eb-linux/share/java/libgcj-%{GCC_VERSION}.jar%endif%endif%ifarch sh3 sh3eb sh4 sh4eb# =========================== Native Compiler =================================%files%defattr(-,root,root)%dir %{_prefix}/lib/gcc-lib/%{_target}%dir %{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}%dir %{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/cc1%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/collect2%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/cpp0%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/crt*.o%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/libgcc*.a%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/specs%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/tradcpp0%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/stddef.h%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/stdarg.h%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/varargs.h%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/float.h%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/limits.h%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/stdbool.h%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/iso646.h%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/syslimits.h%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/include/README%{_prefix}/bin/gcc%{_prefix}/bin/%{_target}-gcc%{_prefix}/bin/cpp%{_prefix}/bin/gccbug%{_prefix}/bin/gcov%{_prefix}/bin/cc/lib/cpp%{_infodir}/cpp*%{_infodir}/gcc*%if 0%files libgcc%defattr(-,root,root)/lib/libgcc_s.so*%endif%files c++%defattr(-,root,root)%{_prefix}/bin/c++%{_prefix}/bin/g++%{_prefix}/bin/c++filt%{_prefix}/bin/%{_target}-c++%{_prefix}/bin/%{_target}-g++%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/cc1plus%endif%if %{TARGET_LIBSTDC}%ifarch sh3 sh3eb sh4 sh4eb%files -n libstdc++%defattr(-,root,root)%{_prefix}/lib/libstdc++.so*%files -n libstdc++-devel%defattr(-,root,root)%{_prefix}/include/g++-v3%{_prefix}/lib/libstdc++.*a%endif%endif%if %{TARGET_JAVA}%ifarch sh3 sh3eb sh4 sh4eb%files java%defattr(-,root,root)%{_prefix}/bin/addr2name.awk%{_prefix}/bin/gcj%{_prefix}/bin/gcjh%{_prefix}/bin/gij%{_prefix}/bin/jar%{_prefix}/bin/grepjar%{_prefix}/bin/jcf-dump%{_prefix}/bin/jv-convert%{_prefix}/bin/jv-scan%dir %{_prefix}/lib/gcc-lib%dir %{_prefix}/lib/gcc-lib/%{_target}%dir %{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/jc1%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/jvgenmain%{_infodir}/gcj*%files -n libgcj%defattr(-,root,root)%{_prefix}/%{_lib}/libgcj.so*%{_prefix}/%{_lib}/libffi*.so*%{_prefix}/lib/gcc-lib/%{_target}/%{GCC_VERSION}/libgcj.spec%{_prefix}/share/java/libgcj-%{GCC_VERSION}.jar%files -n libgcj-devel%defattr(-,root,root)%{_prefix}/include/*.h%{_prefix}/include/gcj%{_prefix}/include/gnu/*%{_prefix}/include/java%{_prefix}/lib/libgcj.*a%{_prefix}/lib/libffi.*a%endif%endif%changelog* Wed Feb 19 2003 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- version 3.2.2.* Tue Feb 19 2002 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- version 3.0.4.* Tue Feb 12 2002 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- add java support.* Thu Feb 7 2002 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- follow debian/SH update.* Tue Feb 5 2002 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- follow debian/SH update.* Thu Jan 24 2002 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- rebuild with new binutils.* Tue Jan 22 2002 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- leaf function optimization fixed.* Thu Dec 06 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- add gcc-ice-rml patch.* Tue Nov 13 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- add configure option.* Thu Nov 01 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- tablejump fix by gniibe.* Mon Oct 22 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- updated gcc patch.* Wed Oct 17 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- updated gcc patch.* Tue Oct 02 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- gcc/config/sh/sh.c bug fix.* Fri Aug 24 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- gcc version 3.0.1.* Thu Jun 28 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- gcc version 3.0.- Add libstdc++ package.* Mon Apr 23 2001 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- Add cygwin host.* Sat Dec 23 2000 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- fix file attribute.- add asmspecs patch.* Sat Nov 11 2000 SUGIOKA Toshinobu <sugioka@itonet.co.jp>- initial version.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -