From cc1b3ceef486977f2abc2df74e60acc14a9f2c23 Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Mon, 31 Aug 2009 06:47:27 +0000 Subject: [PATCH] Rework. --- contrib/crossrpms/gcc/gccnewlib.add | 1 + contrib/crossrpms/gcc/install.add | 11 ++---- contrib/crossrpms/gcc/target-c++.add | 29 +++++++++++++++- contrib/crossrpms/gcc/target-gcc.add | 41 +++++++++++++++++++---- contrib/crossrpms/gcc/target-gcj.add | 9 +++++ contrib/crossrpms/gcc/target-gfortran.add | 28 +++++++++++++++- contrib/crossrpms/gcc/target-gnat.add | 8 +++++ contrib/crossrpms/gcc/target-newlib.add | 1 + contrib/crossrpms/gcc/target-objc.add | 25 +++++++++++++- 9 files changed, 135 insertions(+), 18 deletions(-) diff --git a/contrib/crossrpms/gcc/gccnewlib.add b/contrib/crossrpms/gcc/gccnewlib.add index 42b3cb2bcc..ef0200d599 100644 --- a/contrib/crossrpms/gcc/gccnewlib.add +++ b/contrib/crossrpms/gcc/gccnewlib.add @@ -107,6 +107,7 @@ Requires: @rpmprefix@gcc-common Requires: @rpmprefix@@tool_target@-binutils Requires: @rpmprefix@@tool_target@-sys-root Requires: @rpmprefix@@tool_target@-w32api-sys-root +Requires: @rpmprefix@@tool_target@-gcc-libgcc = %{gcc_rpmvers}-%{release} %if %build_newlib Requires: @rpmprefix@@tool_target@-newlib = %{newlib_version}-@NEWLIB_RPMREL@ %endif diff --git a/contrib/crossrpms/gcc/install.add b/contrib/crossrpms/gcc/install.add index f1f2522f10..9ed3a68565 100644 --- a/contrib/crossrpms/gcc/install.add +++ b/contrib/crossrpms/gcc/install.add @@ -67,12 +67,12 @@ fi # Collect multilib subdirectories - f=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` + multilibs=`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 + for i in $multilibs; do case $i in \.) echo "%dir ${TGTDIR}" >> build/files.newlib ;; @@ -86,14 +86,9 @@ echo "%defattr(-,root,root,-)" >> dirs %if "%{_prefix}" != "/usr" echo "%dir %{_prefix}" >> dirs - echo "%dir %{_gcclibdir}" >> dirs - echo "%dir %{_libexecdir}" >> dirs %endif - echo "%dir %{_gcclibdir}/gcc" >> dirs - echo "%dir %{_gcclibdir}/gcc/@tool_target@" >> dirs - TGTDIR="%{_gcclibdir}/gcc/@tool_target@/%{gcc_version}" - for i in $f; do + for i in $multilibs; do case $i in \.) echo "%dir ${TGTDIR}" >> dirs ;; diff --git a/contrib/crossrpms/gcc/target-c++.add b/contrib/crossrpms/gcc/target-c++.add index cb27e0a88e..e09f0e320d 100644 --- a/contrib/crossrpms/gcc/target-c++.add +++ b/contrib/crossrpms/gcc/target-c++.add @@ -7,6 +7,7 @@ Summary: GCC c++ compiler for @tool_target@ Group: Development/Tools Version: %{gcc_rpmvers} License: GPL +Requires: @rpmprefix@@tool_target@-gcc-libstdc++ = %{gcc_rpmvers}-%{release} %if "%{_build}" != "%{_host}" BuildRequires: @rpmprefix@@tool_target@-gcc-c++ = %{gcc_rpmvers} @@ -20,18 +21,44 @@ Requires: @rpmprefix@@tool_target@-gcc = %{gcc_rpmvers}-%{release} %description -n @rpmprefix@@tool_target@-gcc-c++ GCC c++ compiler for @tool_target@. -%files -n @rpmprefix@@tool_target@-gcc-c++ -f build/files.g++ + +%package -n @rpmprefix@@tool_target@-gcc-libstdc++ +Summary: libstdc++ for @tool_target@ +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +%description -n @rpmprefix@@tool_target@-gcc-libstdc++ +%{_summary} + + +%files -n @rpmprefix@@tool_target@-gcc-c++ %defattr(-,root,root) +%sysdir %{_prefix} + +%sysdir %{_mandir} +%sysdir %{_mandir}/man1 %{_mandir}/man1/@tool_target@-g++.1* +%sysdir %{_bindir} %{_bindir}/@tool_target@-c++%{_exeext} %{_bindir}/@tool_target@-g++%{_exeext} +%sysdir %{_libexecdir} %dir %{_libexecdir}/gcc %dir %{_libexecdir}/gcc/@tool_target@ %dir %{_libexecdir}/gcc/@tool_target@/%{gcc_version} %{_libexecdir}/gcc/@tool_target@/%{gcc_version}/cc1plus%{_exeext} + +%files -n @rpmprefix@@tool_target@-gcc-libstdc++ -f build/files.g++ +%defattr(-,root,root) +%sysdir %{_prefix} +%sysdir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/@tool_target@ +%dir %{_gcclibdir}/gcc/@tool_target@/%{gcc_version} %dir %{_gcclibdir}/gcc/@tool_target@/%{gcc_version}/include %{_gcclibdir}/gcc/@tool_target@/%{gcc_version}/include/c++ %endif diff --git a/contrib/crossrpms/gcc/target-gcc.add b/contrib/crossrpms/gcc/target-gcc.add index c2206b04d7..831c319b18 100644 --- a/contrib/crossrpms/gcc/target-gcc.add +++ b/contrib/crossrpms/gcc/target-gcc.add @@ -16,8 +16,25 @@ %description -n @rpmprefix@@tool_target@-gcc GNU cc compiler for @tool_target@. -%files -n @rpmprefix@@tool_target@-gcc -f build/files.gcc +# ============================================================== +# @rpmprefix@@tool_target@-gcc-libgcc +# ============================================================== +%package -n @rpmprefix@@tool_target@-gcc-libgcc +Summary: libgcc for @tool_target@-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +Requires: @rpmprefix@@tool_target@-newlib = %{newlib_version}-@NEWLIB_RPMREL@ +License: GPL + +%description -n @rpmprefix@@tool_target@-gcc-libgcc +libgcc @tool_target@-gcc. + + +%files -n @rpmprefix@@tool_target@-gcc %defattr(-,root,root) +%sysdir %{_prefix} + %sysdir %{_mandir} %sysdir %{_mandir}/man1 %{_mandir}/man1/@tool_target@-gcc.1* @@ -31,7 +48,23 @@ GNU cc compiler for @tool_target@. %{_bindir}/@tool_target@-gcov%{_exeext} %{_bindir}/@tool_target@-gccbug +%sysdir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/@tool_target@ +%dir %{_libexecdir}/gcc/@tool_target@/%{gcc_version} +%{_libexecdir}/gcc/@tool_target@/%{gcc_version}/cc1%{_exeext} +%{_libexecdir}/gcc/@tool_target@/%{gcc_version}/collect2%{_exeext} + + +%files -n @rpmprefix@@tool_target@-gcc-libgcc -f build/files.gcc +%defattr(-,root,root) +%sysdir %{_prefix} +%sysdir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/@tool_target@ +%dir %{_gcclibdir}/gcc/@tool_target@/%{gcc_version} %dir %{_gcclibdir}/gcc/@tool_target@/%{gcc_version}/include + %if "%{gcc_version}" > "4.0.3" %if "@tool_target@" != "bfin-rtems@rtems_api@" %if "@tool_target@" != "avr-rtems@rtems_api@" @@ -44,9 +77,3 @@ GNU cc compiler for @tool_target@. %{_gcclibdir}/gcc/@tool_target@/%{gcc_version}/include-fixed %endif -%dir %{_libexecdir}/gcc -%dir %{_libexecdir}/gcc/@tool_target@ -%dir %{_libexecdir}/gcc/@tool_target@/%{gcc_version} -%{_libexecdir}/gcc/@tool_target@/%{gcc_version}/cc1%{_exeext} -%{_libexecdir}/gcc/@tool_target@/%{gcc_version}/collect2%{_exeext} - diff --git a/contrib/crossrpms/gcc/target-gcj.add b/contrib/crossrpms/gcc/target-gcj.add index ae2183d176..0ea7735457 100644 --- a/contrib/crossrpms/gcc/target-gcj.add +++ b/contrib/crossrpms/gcc/target-gcj.add @@ -20,12 +20,15 @@ This is the gcc/java compiler for @tool_target@ %files -n @rpmprefix@@tool_target@-gcc-gcj -f build/files.gcj %defattr(-,root,root) +%sysdir %{_bindir} %{_bindir}/@tool_target@-gcj%{_exeext} %{_bindir}/@tool_target@-jcf-dump%{_exeext} %{_bindir}/@tool_target@-jv-scan%{_exeext} %{_bindir}/@tool_target@-gcjh%{_exeext} %{_bindir}/@tool_target@-*jar%{_exeext} +%sysdir %{_mandir} +%sysdir %{_mandir}/man1 %{_mandir}/man1/@tool_target@-*jar.1* %{_mandir}/man1/@tool_target@-gcj*.1* %{_mandir}/man1/@tool_target@-jv-*.1* @@ -38,11 +41,17 @@ This is the gcc/java compiler for @tool_target@ %{_mandir}/man1/@tool_target@-rmi*.1* %endif +%sysdir %{_libexecdir} %dir %{_libexecdir}/gcc %dir %{_libexecdir}/gcc/@tool_target@ %dir %{_libexecdir}/gcc/@tool_target@/%{gcc_version} %{_libexecdir}/gcc/@tool_target@/%{gcc_version}/jc1%{_exeext} %{_libexecdir}/gcc/@tool_target@/%{gcc_version}/jvgenmain%{_exeext} +%sysdir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/@tool_target@ +%dir %{_gcclibdir}/gcc/@tool_target@/%{gcc_version} + %endif diff --git a/contrib/crossrpms/gcc/target-gfortran.add b/contrib/crossrpms/gcc/target-gfortran.add index 0c2d8754a3..ec6abeb850 100644 --- a/contrib/crossrpms/gcc/target-gfortran.add +++ b/contrib/crossrpms/gcc/target-gfortran.add @@ -12,21 +12,47 @@ License: GPL Requires: @rpmprefix@gcc-gfortran-common %endif Requires: @rpmprefix@@tool_target@-gcc = %{gcc_rpmvers}-%{release} +Requires: @rpmprefix@@tool_target@-gcc-libgfortran = %{gcc_rpmvers}-%{release} %description -n @rpmprefix@@tool_target@-gcc-gfortran GCC fortran compiler for @tool_target@. -%files -n @rpmprefix@@tool_target@-gcc-gfortran -f build/files.gfortran +%files -n @rpmprefix@@tool_target@-gcc-gfortran %defattr(-,root,root) +%sysdir %{_prefix} +%sysdir %{_bindir} %{_bindir}/@tool_target@-gfortran%{_exeext} +%sysdir %{_mandir} +%sysdir %{_mandir}/man1 %{_mandir}/man1/@tool_target@-gfortran.1* +%sysdir %{_libexecdir} %dir %{_libexecdir}/gcc %dir %{_libexecdir}/gcc/@tool_target@ %dir %{_libexecdir}/gcc/@tool_target@/%{gcc_version} %{_libexecdir}/gcc/@tool_target@/%{gcc_version}/f951%{_exeext} +# ============================================================== +# @rpmprefix@@tool_target@-gcc-libgfortran +# ============================================================== +%package -n @rpmprefix@@tool_target@-gcc-libgfortran +Summary: Fortran 95 support libraries for @tool_target@-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +%description -n @rpmprefix@@tool_target@-gcc-libgfortran +%{_summary} + +%files -n @rpmprefix@@tool_target@-gcc-libgfortran -f build/files.gfortran +%defattr(-,root,root) +%sysdir %{_prefix} +%sysdir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/@tool_target@ +%dir %{_gcclibdir}/gcc/@tool_target@/%{gcc_version} %if "%{gcc_version}" >= "4.2.0" %{_gcclibdir}/gcc/@tool_target@/%{gcc_version}/finclude %endif diff --git a/contrib/crossrpms/gcc/target-gnat.add b/contrib/crossrpms/gcc/target-gnat.add index 10e74590a3..3e034a51b9 100644 --- a/contrib/crossrpms/gcc/target-gnat.add +++ b/contrib/crossrpms/gcc/target-gnat.add @@ -20,14 +20,22 @@ This is the gcc/gnat compiler for @tool_target@. %files -n @rpmprefix@@tool_target@-gcc-gnat %defattr(-,root,root) +%sysdir %{_prefix} + +%sysdir %{_bindir} %{_bindir}/@tool_target@-gnat* %{_bindir}/@tool_target@-gprmake%{_exeext} +%sysdir %{_libexecdir} %dir %{_libexecdir}/gcc %dir %{_libexecdir}/gcc/@tool_target@ %dir %{_libexecdir}/gcc/@tool_target@/%{gcc_version} %{_libexecdir}/gcc/@tool_target@/%{gcc_version}/gnat1%{_exeext} +%sysdir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/@tool_target@ +%dir %{_gcclibdir}/gcc/@tool_target@/%{gcc_version} %{_gcclibdir}/gcc/@tool_target@/%{gcc_version}/adalib %{_gcclibdir}/gcc/@tool_target@/%{gcc_version}/adainclude %endif diff --git a/contrib/crossrpms/gcc/target-newlib.add b/contrib/crossrpms/gcc/target-newlib.add index 78518e4028..ffca9c5e81 100644 --- a/contrib/crossrpms/gcc/target-newlib.add +++ b/contrib/crossrpms/gcc/target-newlib.add @@ -20,6 +20,7 @@ Newlib C Library for @tool_target@. %files -n @rpmprefix@@tool_target@-newlib -f build/files.newlib %defattr(-,root,root) %sysdir %{_prefix} +%sysdir %{_exec_prefix} %dir %{_exec_prefix}/@tool_target@ %{_exec_prefix}/@tool_target@/include diff --git a/contrib/crossrpms/gcc/target-objc.add b/contrib/crossrpms/gcc/target-objc.add index 2025ba4ded..41a5e8144b 100644 --- a/contrib/crossrpms/gcc/target-objc.add +++ b/contrib/crossrpms/gcc/target-objc.add @@ -9,17 +9,40 @@ Version: %{gcc_rpmvers} License: GPL Requires: @rpmprefix@@tool_target@-gcc = %{gcc_rpmvers}-%{release} +Requires: @rpmprefix@@tool_target@-gcc-libobjc = %{gcc_rpmvers}-%{release} %description -n @rpmprefix@@tool_target@-gcc-objc GCC objc compiler for @tool_target@. -%files -n @rpmprefix@@tool_target@-gcc-objc -f build/files.objc +%files -n @rpmprefix@@tool_target@-gcc-objc %defattr(-,root,root) +%sysdir %{_exec_prefix} +%sysdir %{_libexecdir} %dir %{_libexecdir}/gcc %dir %{_libexecdir}/gcc/@tool_target@ %dir %{_libexecdir}/gcc/@tool_target@/%{gcc_version} %{_libexecdir}/gcc/@tool_target@/%{gcc_version}/cc1obj%{_exeext} +# ============================================================== +# @rpmprefix@@tool_target@-gcc-libobjc +# ============================================================== +%package -n @rpmprefix@@tool_target@-gcc-libobjc +Summary: Objective C support for @tool_target@-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +%description -n @rpmprefix@@tool_target@-gcc-libobjc +Support libraries for GCC's objc compiler for @tool_target@. + +%files -n @rpmprefix@@tool_target@-gcc-libobjc -f build/files.objc +%defattr(-,root,root) +%sysdir %{_prefix} +%sysdir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/@tool_target@ +%dir %{_gcclibdir}/gcc/@tool_target@/%{gcc_version} %dir %{_gcclibdir}/gcc/@tool_target@/%{gcc_version}/include %{_gcclibdir}/gcc/@tool_target@/%{gcc_version}/include/objc %endif