summaryrefslogtreecommitdiffstats
path: root/scripts/gcc3newlib
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2003-09-02 16:41:50 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2003-09-02 16:41:50 +0000
commit087a6c86f55b8ddbd6a5bc1961e28a044225475f (patch)
tree5c71ad71a2d40b73f01790d14c082780c9418b3e /scripts/gcc3newlib
parent2003-08-28 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff)
downloadrtems-087a6c86f55b8ddbd6a5bc1961e28a044225475f.tar.bz2
2003-09-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am, configure.ac, autotools/autoconf-rtems.spec.in, autotools/automake-rtems.spec.in, binutils/Makefile.am, binutils/base-binutils.add, binutils/binutils.add, binutils/mkspec.in, binutils/target-binutils.add, common/common.add.in, cpukit/Makefile.am, gcc3newlib/Makefile.am, gcc3newlib/base-g77.add, gcc3newlib/base-gcc.add, gcc3newlib/base-gcj.add, gcc3newlib/base-gnat.add, gcc3newlib/gccnewlib.add, gcc3newlib/mkspec.in, gcc3newlib/target-c++.add, gcc3newlib/target-g77.add, gcc3newlib/target-gcc.add, gcc3newlib/target-gcj.add, gcc3newlib/target-gnat.add, gcc3newlib/target-objc.add, gccnewlib/Makefile.am, gdb/Makefile.am, rtems/Makefile.am, rtemsdoc/Makefile.am: Merger from rtems-4-6-branch. * common/common.am: New.
Diffstat (limited to 'scripts/gcc3newlib')
-rw-r--r--scripts/gcc3newlib/Makefile.am2
-rw-r--r--scripts/gcc3newlib/base-g77.add13
-rw-r--r--scripts/gcc3newlib/base-gcc.add15
-rw-r--r--scripts/gcc3newlib/base-gcj.add11
-rw-r--r--scripts/gcc3newlib/base-gnat.add9
-rw-r--r--scripts/gcc3newlib/gccnewlib.add39
-rw-r--r--scripts/gcc3newlib/mkspec.in2
-rw-r--r--scripts/gcc3newlib/target-c++.add13
-rw-r--r--scripts/gcc3newlib/target-g77.add11
-rw-r--r--scripts/gcc3newlib/target-gcc.add11
-rw-r--r--scripts/gcc3newlib/target-gcj.add11
-rw-r--r--scripts/gcc3newlib/target-gnat.add12
-rw-r--r--scripts/gcc3newlib/target-objc.add11
13 files changed, 86 insertions, 74 deletions
diff --git a/scripts/gcc3newlib/Makefile.am b/scripts/gcc3newlib/Makefile.am
index 9e02b98fba..b1e68cfe26 100644
--- a/scripts/gcc3newlib/Makefile.am
+++ b/scripts/gcc3newlib/Makefile.am
@@ -2,6 +2,8 @@
## $Id$
##
+include $(top_srcdir)/common/common.am
+
MKSPEC = $(SHELL) ./mkspec
SUBPACKAGES = header.add
diff --git a/scripts/gcc3newlib/base-g77.add b/scripts/gcc3newlib/base-g77.add
index 1aaf604672..06f96e8e61 100644
--- a/scripts/gcc3newlib/base-g77.add
+++ b/scripts/gcc3newlib/base-g77.add
@@ -2,18 +2,17 @@
# ==============================================================
# rtems-base-g77
# ==============================================================
-%package -n rtems-base-g77
-Provides: rtems-base-g77
+%package -n %{rpmprefix}rtems-base-g77
Summary: rtems base package for gcc/g77 compiler
-Group: rtems
+Group: %{rpmgroup}
Requires: rtems-base-gcc
-%description -n rtems-base-g77
+%description -n %{rpmprefix}rtems-base-g77
RTEMS is an open source operating system for embedded systems.
This is the files for gcc/g77 that are shared by all targets.
-%files -n rtems-base-g77
+%files -n %{rpmprefix}rtems-base-g77
%defattr(-,root,root)
%dir %{_prefix}/info
%doc %{_prefix}/info/g77.info*.gz
@@ -22,7 +21,7 @@ This is the files for gcc/g77 that are shared by all targets.
%dir %{_prefix}/man/man1
%doc %{_prefix}/man/man1/%{gcc_target}-g77.1*
-%post -n rtems-base-g77
+%post -n %{rpmprefix}rtems-base-g77
if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then
rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
@@ -32,7 +31,7 @@ This is the files for gcc/g77 that are shared by all targets.
done
fi
-%postun -n rtems-base-g77
+%postun -n %{rpmprefix}rtems-base-g77
if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then
rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
diff --git a/scripts/gcc3newlib/base-gcc.add b/scripts/gcc3newlib/base-gcc.add
index f719e8f5cc..f628b8d50c 100644
--- a/scripts/gcc3newlib/base-gcc.add
+++ b/scripts/gcc3newlib/base-gcc.add
@@ -1,18 +1,17 @@
# ==============================================================
-# rtems-base-gcc
+# %{rpmprefix}rtems-base-gcc
# ==============================================================
-%package -n rtems-base-gcc
-Provides: rtems-base-gcc
+%package -n %{rpmprefix}rtems-base-gcc
Summary: base package for rtems gcc and newlib C Library
-Group: rtems
+Group: %{rpmgroup}
-%description -n rtems-base-gcc
+%description -n %{rpmprefix}rtems-base-gcc
RTEMS is an open source operating system for embedded systems.
This is the files for gcc and newlib that are shared by all targets.
-%files -n rtems-base-gcc
+%files -n %{rpmprefix}rtems-base-gcc
%defattr(-,root,root)
%dir %{_prefix}/info
%doc %{_prefix}/info/cpp.info*.gz
@@ -33,7 +32,7 @@ This is the files for gcc and newlib that are shared by all targets.
%dir %{_prefix}/include
-%post -n rtems-base-gcc
+%post -n %{rpmprefix}rtems-base-gcc
if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then
rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
@@ -43,7 +42,7 @@ This is the files for gcc and newlib that are shared by all targets.
done
fi
-%postun -n rtems-base-gcc
+%postun -n %{rpmprefix}rtems-base-gcc
if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then
rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
diff --git a/scripts/gcc3newlib/base-gcj.add b/scripts/gcc3newlib/base-gcj.add
index ef0ecb9778..93d4f9f25d 100644
--- a/scripts/gcc3newlib/base-gcj.add
+++ b/scripts/gcc3newlib/base-gcj.add
@@ -2,18 +2,17 @@
# ==============================================================
# rtems-base-gcj
# ==============================================================
-%package -n rtems-base-gcj
-Provides: rtems-base-gcj
+%package -n %{rpmprefix}rtems-base-gcj
Summary: base package for rtems gcc/java compiler (gcj).
-Group: rtems
-Requires: rtems-base-gcc
+Group: %{rpmgroup}
+Requires: %{rpmprefix}rtems-base-gcc
-%description -n rtems-base-gcj
+%description -n %{rpmprefix}rtems-base-gcj
RTEMS is an open source operating system for embedded systems.
This is the files for gcc/java (gcj) that are shared by all targets.
-%files -n rtems-base-gcj
+%files -n %{rpmprefix}rtems-base-gcj
%defattr(-,root,root)
%dir %{_prefix}/bin
%{_prefix}/bin/jar%{_exeext}
diff --git a/scripts/gcc3newlib/base-gnat.add b/scripts/gcc3newlib/base-gnat.add
index 648e764c5e..451994596a 100644
--- a/scripts/gcc3newlib/base-gnat.add
+++ b/scripts/gcc3newlib/base-gnat.add
@@ -2,17 +2,16 @@
# ==============================================================
# rtems-base-gnat
# ==============================================================
-%package -n rtems-base-gnat
-Provides: rtems-base-gnat
+%package -n %{rpmprefix}rtems-base-gnat
Summary: gcc/gnat tools
-Group: rtems
+Group: %{rpmgroup}
-%description -n rtems-base-gnat
+%description -n %{rpmprefix}rtems-base-gnat
RTEMS is an open source operating system for embedded systems.
This is the gcc/gnat tools for the gcc/gnat compiler
-%files -n rtems-base-gnat
+%files -n %{rpmprefix}rtems-base-gnat
%defattr(-,root,root)
%dir %{_prefix}/bin
# %{_prefix}/bin/gnat*
diff --git a/scripts/gcc3newlib/gccnewlib.add b/scripts/gcc3newlib/gccnewlib.add
index fc806527d0..66a77139ba 100644
--- a/scripts/gcc3newlib/gccnewlib.add
+++ b/scripts/gcc3newlib/gccnewlib.add
@@ -4,9 +4,9 @@
%define gcc_target @target_alias@
-Name: %{gcc_target}-gcc-newlib
+Name: %{rpmprefix}%{gcc_target}-gcc-newlib
Summary: gcc and newlib C Library for %{gcc_target}.
-Group: rtems
+Group: %{rpmgroup}
Release: @Release@
License: gcc is GPL/LGPL ; newlib no has restrictions on run-time usage
@@ -14,16 +14,20 @@ Autoreqprov: on
Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com
Version: gcc%{gcc_version}newlib%{newlib_version}
-# gcc 3.x and gcc 2.9
-# Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}.tar.gz
-Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}.tar.bz2
-# gcc 2.95.x
-# Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}.tar.bz2
+%if "%{gcc_version}" >= "3.2.2"
+Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}/gcc-%{gcc_version}.tar.bz2
+%else
+%if "%{gcc_version}" >= "3.0"
+Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}/gcc-%{gcc_version}.tar.gz
+%else
+Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}/gcc-%{gcc_version}-everything.tar.gz
+%endif
+%endif
Source1: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_version}.tar.gz
@PATCH1@
@PATCH3@
BuildPreReq: texinfo >= 4.2
-BuildPreReq: %{gcc_target}-binutils
+BuildPreReq: %{rpmprefix}%{gcc_target}-binutils
#
# The original sources are not included in the source RPM.
# If we included them, then the source RPMs for each target
@@ -57,7 +61,7 @@ NoSource: 1
%define _gcj %{?gcj:%gcj}%{!?gcj:1}
%else
# default to not building gcj
-%define _gcj %{?gnat:%gcj}%{!?gcj:0}
+%define _gcj %{?gcj:%gcj}%{!?gcj:0}
%endif
@@ -177,6 +181,8 @@ This is gcc's and newlib C Library's sources with patches for RTEMS.
%if %build_gnat
languages="$languages,ada"
%endif
+
+ export PATH="%{_bindir}:${PATH}"
../gcc-%{gcc_version}/configure \
--build=%_build --host=%_host \
--target=%{gcc_target} \
@@ -193,6 +199,12 @@ This is gcc's and newlib C Library's sources with patches for RTEMS.
cp ../gcc-%{gcc_version}/gcc/gsyslimits.h gcc/include/syslimits.h
%endif
+%if %build_cxx
+%if "%{gcc_version}" >= "3.3"
+ make -C %{gcc_target}/libiberty CFLAGS="$RPM_OPT_FLAGS" c++filt
+%endif
+%endif
+
%if %build_gnat
cd ../gcc-%{gcc_version}/gcc/ada
touch treeprs.ads [es]info.h nmake.ad[bs]
@@ -226,6 +238,7 @@ This is gcc's and newlib C Library's sources with patches for RTEMS.
make info
%install
+ export PATH="%{_bindir}:${PATH}"
cd build
# 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
@@ -265,6 +278,14 @@ This is gcc's and newlib C Library's sources with patches for RTEMS.
fi
%endif
+%if %build_cxx
+%if "%{gcc_version}" >= "3.3"
+ install -d $RPM_BUILD_ROOT%{_prefix}/bin
+ install -c -m 755 %{gcc_target}/libiberty/c++filt%{_exeext} \
+ $RPM_BUILD_ROOT%{_prefix}/bin/%{target_alias}-c++filt%{_exeext}
+%endif
+%endif
+
# gzip info files
gzip -f $RPM_BUILD_ROOT%{_prefix}/info/*.info 2>/dev/null
%if "%{gcc_version}" < "3.3"
diff --git a/scripts/gcc3newlib/mkspec.in b/scripts/gcc3newlib/mkspec.in
index 3b4391da77..0492edd10a 100644
--- a/scripts/gcc3newlib/mkspec.in
+++ b/scripts/gcc3newlib/mkspec.in
@@ -69,6 +69,8 @@ sed -e "s,@PATCH1\@,${PATCH1}," \
-e "s%@Release\@%${gcc3newlib_rpm_release}%g" \
-e "s%@target_alias\@%${target_alias}%g" \
-e "s%@prefix\@%@prefix@%g" \
+ -e "s,@rpmprefix\@,@rpmprefix@,g" \
+ -e "s%@rpmgroup\@%@rpmgroup@%g" \
-e "s,@rpm_build_root\@,${rpm_build_root},g" \
-e "s%@gcc_version\@%${gcc3_version}%g" \
-e "s%@gcc_patch_version\@%${gcc3_patch_version}%g" \
diff --git a/scripts/gcc3newlib/target-c++.add b/scripts/gcc3newlib/target-c++.add
index f73670cc2e..e2fe80a86b 100644
--- a/scripts/gcc3newlib/target-c++.add
+++ b/scripts/gcc3newlib/target-c++.add
@@ -2,27 +2,24 @@
# ==============================================================
# %{gcc_target}-c++
# ==============================================================
-%package -n %{gcc_target}-c++
-Provides: %{gcc_target}-c++
+%package -n %{rpmprefix}%{gcc_target}-c++
Summary: gcc/g++ compiler (c++) for %{gcc_target}
-Group: rtems
-Requires: rtems-base-gcc %{gcc_target}-gcc
+Group: %{rpmgroup}
+Requires: %{rpmprefix}rtems-base-gcc %{rpmprefix}%{gcc_target}-gcc
-%description -n %{gcc_target}-c++
+%description -n %{rpmprefix}%{gcc_target}-c++
RTEMS is an open source operating system for embedded systems.
This is the gcc/g++ compiler for %{gcc_target}
-%files -n %{gcc_target}-c++ -f build/files.g++
+%files -n %{rpmprefix}%{gcc_target}-c++ -f build/files.g++
%defattr(-,root,root)
%doc %{_prefix}/man/man1/%{gcc_target}-g++.1*
%dir %{_prefix}/bin
%{_prefix}/bin/%{gcc_target}-c++%{_exeext}
%{_prefix}/bin/%{gcc_target}-g++%{_exeext}
-%if "{gcc_version}" < "3.3"
%{_prefix}/bin/%{gcc_target}-c++filt%{_exeext}
-%endif
%{_prefix}/lib/gcc-lib/%{gcc_target}/%{gcc_version}/cc1plus%{_exeext}
%dir %{_prefix}/lib/gcc-lib/%{gcc_target}/%{gcc_version}/include
diff --git a/scripts/gcc3newlib/target-g77.add b/scripts/gcc3newlib/target-g77.add
index abd1b5e792..0e2b696855 100644
--- a/scripts/gcc3newlib/target-g77.add
+++ b/scripts/gcc3newlib/target-g77.add
@@ -2,18 +2,17 @@
# ==============================================================
# %{gcc_target}-g77
# ==============================================================
-%package -n %{gcc_target}-g77
-Provides: %{gcc_target}-g77
+%package -n %{rpmprefix}%{gcc_target}-g77
Summary: gcc/g77 compiler for %{gcc_target}
-Group: rtems
-Requires: rtems-base-g77 %{gcc_target}-gcc
+Group: %{rpmgroup}
+Requires: %{rpmprefix}rtems-base-g77 %{rpmprefix}%{gcc_target}-gcc
-%description -n %{gcc_target}-g77
+%description -n %{rpmprefix}%{gcc_target}-g77
RTEMS is an open source operating system for embedded systems.
This is the gcc/g77 compiler for %{gcc_target}
-%files -n %{gcc_target}-g77 -f build/files.g77
+%files -n %{rpmprefix}%{gcc_target}-g77 -f build/files.g77
%defattr(-,root,root)
%dir %{_prefix}/bin
%{_prefix}/bin/%{gcc_target}-g77%{_exeext}
diff --git a/scripts/gcc3newlib/target-gcc.add b/scripts/gcc3newlib/target-gcc.add
index 25bf77d525..161d902524 100644
--- a/scripts/gcc3newlib/target-gcc.add
+++ b/scripts/gcc3newlib/target-gcc.add
@@ -1,18 +1,17 @@
# ==============================================================
# %{gcc_target}-gcc
# ==============================================================
-%package -n %{gcc_target}-gcc
-Provides: %{gcc_target}-gcc
+%package -n %{rpmprefix}%{gcc_target}-gcc
Summary: rtems gcc and newlib C Library for %{gcc_target}
-Group: rtems
-Requires: %{gcc_target}-binutils rtems-base-gcc
+Group: %{rpmgroup}
+Requires: %{rpmprefix}%{gcc_target}-binutils %{rpmprefix}rtems-base-gcc
-%description -n %{gcc_target}-gcc
+%description -n %{rpmprefix}%{gcc_target}-gcc
RTEMS is an open source operating system for embedded systems.
This is gcc and newlib C Library for %{gcc_target}.
-%files -n %{gcc_target}-gcc -f build/files.gcc
+%files -n %{rpmprefix}%{gcc_target}-gcc -f build/files.gcc
%defattr(-,root,root)
%doc %{_prefix}/man/man1/%{gcc_target}-gcc.1*
diff --git a/scripts/gcc3newlib/target-gcj.add b/scripts/gcc3newlib/target-gcj.add
index 4d8b144ea7..d1a5e6b9c2 100644
--- a/scripts/gcc3newlib/target-gcj.add
+++ b/scripts/gcc3newlib/target-gcj.add
@@ -2,18 +2,17 @@
# ==============================================================
# %{gcc_target}-gcj
# ==============================================================
-%package -n %{gcc_target}-gcj
-Provides: %{gcc_target}-gcj
+%package -n %{rpmprefix}%{gcc_target}-gcj
Summary: gcc/java compiler (gcj) for %{gcc_target}
-Group: rtems
-Requires: rtems-base-gcj %{gcc_target}-gcc
+Group: %{rpmgroup}
+Requires: %{rpmprefix}rtems-base-gcj %{rpmprefix}%{gcc_target}-gcc
-%description -n %{gcc_target}-gcj
+%description -n %{rpmprefix}%{gcc_target}-gcj
RTEMS is an open source operating system for embedded systems.
This is the gcc/java compiler for %{gcc_target}
-%files -n %{gcc_target}-gcj -f build/files.gcj
+%files -n %{rpmprefix}%{gcc_target}-gcj -f build/files.gcj
%defattr(-,root,root)
%dir %{_prefix}/bin
%{_prefix}/bin/%{gcc_target}-gcj%{_exeext}
diff --git a/scripts/gcc3newlib/target-gnat.add b/scripts/gcc3newlib/target-gnat.add
index 6490fd1b2c..6e9d1166a0 100644
--- a/scripts/gcc3newlib/target-gnat.add
+++ b/scripts/gcc3newlib/target-gnat.add
@@ -2,20 +2,18 @@
# ==============================================================
# %{gcc_target}-gnat
# ==============================================================
-%package -n %{gcc_target}-gnat
-Provides: %{gcc_target}-gnat
+%package -n %{rpmprefix}%{gcc_target}-gnat
Summary: gcc/gnat compiler for %{gcc_target}
-Group: rtems
-Requires: rtems-base-gnat %{gcc_target}-gcc
+Group: %{rpmgroup}
+Requires: %{rpmprefix}rtems-base-gnat %{rpmprefix}%{gcc_target}-gcc
-%description -n %{gcc_target}-gnat
+%description -n %{rpmprefix}%{gcc_target}-gnat
RTEMS is an open source operating system for embedded systems.
This is the gcc/gnat compiler for %{gcc_target}
-%files -n %{gcc_target}-gnat
+%files -n %{rpmprefix}%{gcc_target}-gnat
%defattr(-,root,root)
-# %files -n %{gcc_target}-gnat -f build/files.gnat
%dir %{_prefix}/bin
%{_prefix}/bin/%{gcc_target}-gnat*
diff --git a/scripts/gcc3newlib/target-objc.add b/scripts/gcc3newlib/target-objc.add
index 7c723c0f35..27f66f5bee 100644
--- a/scripts/gcc3newlib/target-objc.add
+++ b/scripts/gcc3newlib/target-objc.add
@@ -2,18 +2,17 @@
# ==============================================================
# %{gcc_target}-objc
# ==============================================================
-%package -n %{gcc_target}-objc
-Provides: %{gcc_target}-objc
+%package -n %{rpmprefix}%{gcc_target}-objc
Summary: gcc/objc compiler for %{gcc_target}
-Group: rtems
-Requires: %{gcc_target}-gcc
+Group: %{rpmgroup}
+Requires: %{rpmprefix}%{gcc_target}-gcc
-%description -n %{gcc_target}-objc
+%description -n %{rpmprefix}%{gcc_target}-objc
RTEMS is an open source operating system for embedded systems.
This is the gcc/objc compiler for %{gcc_target}
-%files -n %{gcc_target}-objc -f build/files.objc
+%files -n %{rpmprefix}%{gcc_target}-objc -f build/files.objc
%defattr(-,root,root)
%{_prefix}/lib/gcc-lib/%{gcc_target}/%{gcc_version}/cc1obj%{_exeext}
%{_prefix}/lib/gcc-lib/%{gcc_target}/%{gcc_version}/include/objc