summaryrefslogtreecommitdiffstats
path: root/scripts/gccnewlib/gccnewlib.add
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2005-04-22 05:15:44 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2005-04-22 05:15:44 +0000
commit1eb65053ab56b2d504f4cb5ce822f8aff8b27816 (patch)
treedc0ac88cedd989904b8cd78a44f85164e2a63489 /scripts/gccnewlib/gccnewlib.add
parentNew. (diff)
downloadrtems-1eb65053ab56b2d504f4cb5ce822f8aff8b27816.tar.bz2
2005-04-22 Ralf Corsepius <ralf.corsepius@rtems.org>
* gccnewlib/base-gfortran.add, gccnewlib/target-gfortran.add: New. * gccnewlib/Makefile.am: Reflect addition of gfortran. * gccnewlib/base-g77.add, gccnewlib/base-gcc.add, gccnewlib/base-gcj.add, gccnewlib/base-gnat.add, gccnewlib/target-g++.add, gccnewlib/target-g77.add, gccnewlib/target-gcc.add, gccnewlib/target-gcj.add, gccnewlib/target-gnat.add: Remove RPM_INSTALL_PREFIX. Remove superfluous %doc directives. Use %_infodir, %_includedir, %_bindir, %_libdir. * gccnewlib/gccnewlib.add: Ditto. Add further BR's, Reflect addition of gfortran. Reflect gcc's changes to "version_string".
Diffstat (limited to 'scripts/gccnewlib/gccnewlib.add')
-rw-r--r--scripts/gccnewlib/gccnewlib.add40
1 files changed, 30 insertions, 10 deletions
diff --git a/scripts/gccnewlib/gccnewlib.add b/scripts/gccnewlib/gccnewlib.add
index 2560df7429..d8d3788d57 100644
--- a/scripts/gccnewlib/gccnewlib.add
+++ b/scripts/gccnewlib/gccnewlib.add
@@ -56,7 +56,13 @@ BuildPreReq: %{rpmprefix}%{gcc_target}-binutils
%define _gcj %{?gcj:%gcj}%{!?gcj:0}
%define build_cxx %{?cxx:%cxx}%{!?cxx:1}
+%if "%{gcc_version}" >= "4.0.0"
+%define build_f95 %{?f95:%f95}%{!?f95:0}
+%define build_g77 0
+%else
+%define build_f95 0
%define build_g77 %{?g77:%g77}%{!?g77:0}
+%endif
%define build_objc %{?objc:%objc}%{!?objc:0}
%define build_gcj 0
%define build_gnat 0
@@ -115,11 +121,14 @@ BuildPreReq: zlib-devel
%endif
%endif
+%if "%_vendor" == "redhat"
%if %build_gnat
# Building gnat requires gnat
-%if "%_vendor" == "redhat"
# This really isn't available until RedHat 8.0. How to conditionalize this?
-# BuildPreReq: gcc-gnat
+BuildRequires: gcc-gnat
+%endif
+%if %build_f95
+BuildRequires: gmp-devel
%endif
%endif
@@ -158,7 +167,7 @@ cd newlib-%{newlib_version}
cd ..
cd gcc-%{gcc_version}
- sed -e 's/\(version_string = \"[^\"]*\)/\1 (RTEMS gcc-%{gcc_version}-@gcc_patch_version@\/newlib-%{newlib_version}-@newlib_patch_version@-@Release@)/' \
+ sed -e 's/\(version_string.* = \"[^\"]*\)/\1 (RTEMS gcc-%{gcc_version}-@gcc_patch_version@\/newlib-%{newlib_version}-@newlib_patch_version@-@Release@)/' \
gcc/version.c > gcc/version.c~
mv gcc/version.c~ gcc/version.c
@@ -184,6 +193,9 @@ cd ..
%if %build_g77
languages="$languages,g77"
%endif
+%if %build_f95
+ languages="$languages,f95"
+%endif
%if %build_gcj
languages="$languages,java"
%endif
@@ -261,8 +273,7 @@ cd ..
# Bug in gcc-2.95.1: It doesn't build this installation directory
# If it doesn't find it, gcc doesn't install %{gcc_target}/bin/gcc
%if "%{gcc_version}" < "3.0"
- ../gcc-%{gcc_version}/mkinstalldirs \
- $RPM_BUILD_ROOT%{_prefix}/%{gcc_target}/bin
+ mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{gcc_target}/bin
%endif
make prefix=$RPM_BUILD_ROOT%{_prefix} \
@@ -293,29 +304,35 @@ cd ..
rm -f ${RPM_BUILD_ROOT}%{_prefix}/lib/libiberty.a
# We use the version from binutils
- rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target}-c++filt%{_exeext}
+ rm -f $RPM_BUILD_ROOT%{_bindir}/%{gcc_target}-c++filt%{_exeext}
# We don't ship info/dir
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
+%if %build_f95
+# # Bug in gcc-4.0.0pre
+# mv $RPM_BUILD_ROOT%{_bindir}/gfortran $RPM_BUILD_ROOT%{_bindir}/%{gcc_target}-gfortran
+%endif
+
%if "%{gcc_version}" >= "3.4"
# Bug in gcc-3.4.0pre
- rm -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target}-%{gcc_target}-gcjh%{_exeext}
+ rm -f $RPM_BUILD_ROOT%{_bindir}/%{gcc_target}-%{gcc_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}/%{gcc_target}/%{gcc_version}/install-tools
rm -rf ${RPM_BUILD_ROOT}%{gccexec}/%{gcc_target}/%{gcc_version}/install-tools
%endif
%if "%{gcc_version}" < "3.0"
# Bug in gcc-2.95.x: It bogusly tries to share cpp for all targets.
# Rename it to target_alias-cpp
- if test -f $RPM_BUILD_ROOT%{_prefix}/bin/cpp%{_exeext};
+ if test -f $RPM_BUILD_ROOT%{_bindir}/cpp%{_exeext};
then
- mv $RPM_BUILD_ROOT%{_prefix}/bin/cpp%{_exeext} \
- $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target}-cpp%{_exeext}
+ mv $RPM_BUILD_ROOT%{_bindir}/cpp%{_exeext} \
+ $RPM_BUILD_ROOT%{_bindir}/%{gcc_target}-cpp%{_exeext}
fi
%endif
@@ -362,6 +379,7 @@ cd ..
# Collect files to go into different packages
cp dirs files.gcc
cp dirs files.g77
+ cp dirs files.gfortran
cp dirs files.objc
cp dirs files.gcj
cp dirs files.g++
@@ -372,6 +390,7 @@ cd ..
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
@@ -385,6 +404,7 @@ cd ..
*gnat1);;
*jc1) ;;
*jvgenmain) ;;
+ *libgfortran*.a) echo "$i" >> files.gfortran ;;
*libstdc++.a) echo "$i" >> files.g++ ;;
*libsupc++.a) echo "$i" >> files.g++ ;;
*) echo "$i" >> files.gcc ;;