2004-02-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>

* mkgccnewlibspec.in, gccnewlib/.cvsignore, gccnewlib/HISTORY,
	gccnewlib/Makefile.am, gccnewlib/README, gccnewlib/base-chill.add,
	gccnewlib/base-g77.add, gccnewlib/base-gcc.add, gccnewlib/base-gcj.add,
	gccnewlib/gccnewlib.add, gccnewlib/header.add,
	gccnewlib/target-chill.add, gccnewlib/target-g77.add,
	gccnewlib/target-gcc.add, gccnewlib/target-gcj.add,
	gccnewlib/target-objc.add: Remove (Obsolete).
	* configure.ac, Makefile.am: Reflect changes above.
This commit is contained in:
Ralf Corsepius
2004-02-12 15:00:11 +00:00
parent 31ffd58654
commit 5333511e91
19 changed files with 13 additions and 639 deletions
-7
View File
@@ -1,7 +0,0 @@
*.spec
Makefile
Makefile.in
gccnewlib.spec
gccnewlib.spec.in
gccnewlib_c_only.spec
gccnewlib_c_only.spec.in
-81
View File
@@ -1,81 +0,0 @@
#
# History of the gccnewlib RPMs
#
# $Id$
#
RPM Version gcc2.95.2newlib1.9.0-1
==================================
+ fixes i960 C++ problem
+ upgrades to newlib 1.9.0
newlib_patch_version=20001219
gcc_patch_version=20001226
RPM Version gcc2.95.2newlib1.8.2-11
===================================
+ fixes i386 soft float problem
+ mips-rtems target added
+ newlib include files reworked to allow RTEMS to use standard newlib
.h files.
newlib_patch_version=20001027
gcc_patch_version=20001030
RPM Version gcc2.95.2newlib1.8.2-10
===================================
+ i386 soft floating point worked but incorrectly included two
copies of some libgcc.a routines.
+ added a29k-rtems support
NOTE: Internal Only Number
RPM Version gcc2.95.2newlib1.8.2-9
==================================
+ i386 multilibs and proper CPP_SPEC/CC1_SPEC handling.
+ newlib patch includes or32.
RPM Version gcc2.95.2newlib1.8.2-8
==================================
+ arm
- Add initial support.
+ c4x
- Add initial support.
+ h8300
- Add initial support.
- define CPU type in libfunc
+ i386
- Build soft and HW floating point multilibs for i386 embedded targets.
+ i960
- Define _SOFT_FLOAT on i960 when -msoft-float specified.
+ powerpc
- Fixes possible bug in gcc target where incorrect startup files specified.
gcc-2.95.2-rtems-20000724.diff
- Add i386 embedded soft float multlibs (Joel)
- Define _SOFT_FLOAT on i960 when -msoft-float specified (Joel)
- fixes h8300-rtems specific configuration problems (Joel)
- config/rs6000/rtems.h: Specify ecrt[in].o not crt0.o (Eric Valette)
newlib-1.8.2-rtems-20000629.diff
- same as newlib-1.8.2-rtems-20000612-hppa1.1.diff
RPM Version gcc2.95.2newlib1.8.2-7hp
====================================
+ Adds hppa1.1-rtems support in gcc. This is a special target since
you still have to use binutils 2.9.1.
gcc-2.95.2-rtems-20000612hp.diff
- fixes hppa1.1-rtems specific configuration problems (Joel)
newlib-1.8.2-rtems-20000612-hppa1.1.diff
- fixes hppa1.1-rtems specific build problems in crt0.o (Joel)
RPM Version gcc2.95.2newlib1.8.2-7
==================================
+ Base line. This Revision was released with 4.5.0-beta3a and included
support for the i386, i960, m68k, mips64orion, powerpc, sh, and sparc.
gcc-2.95.2-rtems-20000531.diff
- base line
newlib-1.8.2-rtems-20000606.diff
- base line
-74
View File
@@ -1,74 +0,0 @@
##
## $Id$
##
include $(top_srcdir)/common/common.am
MKGCCNEWLIBSPEC = $(SHELL) $(top_builddir)/mkgccnewlibspec
SUBPACKAGES = header.add
SUBPACKAGES += ../common/common.add
SUBPACKAGES += gccnewlib.add
SUBPACKAGES += ../common/clean.add
SUBPACKAGES += base-gcc.add target-gcc.add base-chill.add target-chill.add \
base-g77.add target-g77.add base-gcj.add target-gcj.add target-objc.add
gccnewlib.spec.in: $(SUBPACKAGES)
cat $^ \
| sed -e 's%@GCCLANGS@%%g' > $@
CLEANFILES = gccnewlib.spec.in
gccnewlib_c_only.spec.in: header.add ../common/common.add \
gccnewlib.add ../common/clean.add base-gcc.add target-gcc.add
cat $^ \
| sed -e "s%@GCCLANGS@%\'--enable-languages=c,c++\'%g" > $@
CLEANFILES += gccnewlib_c_only.spec.in
C_ONLY_ARG = -a $(top_builddir)/gccnewlib/gccnewlib_c_only.spec.in
MKGCCNEWLIBSPEC_DEPS = $(top_builddir)/mkgccnewlibspec gccnewlib.spec.in \
$(top_builddir)/setup.cache
MKGCCNEWLIB_C_ONLY_SPEC_DEPS = $(top_builddir)/mkgccnewlibspec \
gccnewlib_c_only.spec.in $(top_builddir)/setup.cache
arm-rtems-$(GCCNEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKGCCNEWLIBSPEC) -cfg $(top_builddir)/setup.cache -o . arm-rtems
h8300-rtems-$(GCCNEWLIBVERS).spec: $(MKGCCNEWLIB_C_ONLY_SPEC_DEPS)
$(MKGCCNEWLIBSPEC) $(C_ONLY_ARG) -cfg $(top_builddir)/setup.cache -o . h8300-rtems
i386-rtems-$(GCCNEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKGCCNEWLIBSPEC) -cfg $(top_builddir)/setup.cache -o . i386-rtems
i960-rtems-$(GCCNEWLIBVERS).spec: $(MKGCCNEWLIB_C_ONLY_SPEC_DEPS)
$(MKGCCNEWLIBSPEC) $(C_ONLY_ARG) -cfg $(top_builddir)/setup.cache -o . i960-rtems
m68k-rtems-$(GCCNEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKGCCNEWLIBSPEC) -cfg $(top_builddir)/setup.cache -o . m68k-rtems
mips-rtems-$(GCCNEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKGCCNEWLIBSPEC) -cfg $(top_builddir)/setup.cache -o . mips-rtems
powerpc-rtems-$(GCCNEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKGCCNEWLIBSPEC) -cfg $(top_builddir)/setup.cache -o . powerpc-rtems
sh-rtems-$(GCCNEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKGCCNEWLIBSPEC) -cfg $(top_builddir)/setup.cache -o . sh-rtems
sh-rtemself-$(GCCNEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKGCCNEWLIBSPEC) -cfg $(top_builddir)/setup.cache -o . sh-rtemself
sparc-rtems-$(GCCNEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKGCCNEWLIBSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems
RPM_SPECS_DATA = \
arm-rtems-$(GCCNEWLIBVERS).spec h8300-rtems-$(GCCNEWLIBVERS).spec \
i386-rtems-$(GCCNEWLIBVERS).spec i960-rtems-$(GCCNEWLIBVERS).spec \
m68k-rtems-$(GCCNEWLIBVERS).spec mips-rtems-$(GCCNEWLIBVERS).spec \
powerpc-rtems-$(GCCNEWLIBVERS).spec sh-rtems-$(GCCNEWLIBVERS).spec \
sh-rtemself-$(GCCNEWLIBVERS).spec sparc-rtems-$(GCCNEWLIBVERS).spec
CLEANFILES += $(RPM_SPECS_DATA)
EXTRA_DIST = $(SUBPACKAGES)
include $(top_srcdir)/../automake/local.am
-8
View File
@@ -1,8 +0,0 @@
#
# $Id$
#
This directory contains RPM-spec file fragments (*.add) which are used to
compose the toolchain specs.
Cf. Makefile.am for details on how the toolchain specs get composed.
-38
View File
@@ -1,38 +0,0 @@
# ==============================================================
# rtems-base-chill
# ==============================================================
%package -n rtems-base-chill
Provides: rtems-base-chill
Summary: base package for rtems gcc/chill compiler.
Group: rtems
Requires: rtems-base-gcc
%description -n rtems-base-chill
RTEMS is an open source operating system for embedded systems.
This is the files for gcc/chill that are shared by all targets.
%files -n rtems-base-chill
%dir %{_prefix}/info
%doc %{_prefix}/info/chill.info*.gz
%post -n rtems-base-chill
if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then
rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX%{_prefix}/info/dir
done
fi
%postun -n rtems-base-chill
if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then
rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX%{_prefix}/info/dir
done
fi
-42
View File
@@ -1,42 +0,0 @@
# ==============================================================
# rtems-base-g77
# ==============================================================
%package -n rtems-base-g77
Provides: rtems-base-g77
Summary: rtems base package for gcc/g77 compiler
Group: rtems
Requires: rtems-base-gcc
%description -n 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
%dir %{_prefix}/info
%doc %{_prefix}/info/g77.info*.gz
%dir %{_prefix}/man
%dir %{_prefix}/man/man1
%doc %{_prefix}/man/man1/@target_alias@-g77.1
%post -n rtems-base-g77
if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then
rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX%{_prefix}/info/dir
done
fi
%postun -n rtems-base-g77
if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then
rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX%{_prefix}/info/dir
done
fi
-51
View File
@@ -1,51 +0,0 @@
# ==============================================================
# rtems-base-gcc
# ==============================================================
%package -n rtems-base-gcc
Provides: rtems-base-gcc
Summary: base package for rtems gcc and newlib C Library
Group: rtems
%description -n 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
%dir %{_prefix}/info
%doc %{_prefix}/info/cpp.info*.gz
%doc %{_prefix}/info/gcc.info*.gz
%doc %{_prefix}/info/libc.info*.gz
%doc %{_prefix}/info/libm.info*.gz
%dir %{_prefix}/bin
%{_prefix}/bin/gcov%{_exeext}
%dir %{_prefix}/man
%dir %{_prefix}/man/man1
%doc %{_prefix}/man/man1/cccp.1
%dir %{_prefix}/include
%{_prefix}/include/g++-3
%post -n rtems-base-gcc
if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then
rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX%{_prefix}/info/dir
done
fi
%postun -n rtems-base-gcc
if test -d $RPM_INSTALL_PREFIX%{_prefix}/info;
then
rm -f $RPM_INSTALL_PREFIX%{_prefix}/info/dir
f=`find $RPM_INSTALL_PREFIX%{_prefix}/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX%{_prefix}/info/dir
done
fi
-20
View File
@@ -1,20 +0,0 @@
# ==============================================================
# rtems-base-gcj
# ==============================================================
%package -n rtems-base-gcj
Provides: rtems-base-gcj
Summary: base package for rtems gcc/java compiler (gcj).
Group: rtems
Requires: rtems-base-gcc
%description -n 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
%dir %{_prefix}/bin
%{_prefix}/bin/jcf-dump%{_exeext}
%{_prefix}/bin/jv-scan%{_exeext}
%{_prefix}/bin/gcjh%{_exeext}
-134
View File
@@ -1,134 +0,0 @@
Name: @target_alias@-gcc-newlib
Summary: gcc and newlib C Library for @target_alias@.
Group: rtems
Release: @Release@
License: gcc is GPL/LGPL ; newlib no has restrictions on run-time usage
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.bz2
# gcc 2.95.x
Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-everything-@gcc_version@.tar.gz
Source1: ftp://sources.redhat.com/pub/newlib/newlib-@newlib_version@.tar.gz
Patch0: gcc-@gcc_version@-rtems-@gcc_patch_version@.diff
Patch1: newlib-@newlib_version@-rtems-@newlib_patch_version@.diff
#
# The original sources are not included in the source RPM.
# If we included them, then the source RPMs for each target
# would duplicate MBs of source unnecessarily. This is
# a duplication of over 30 MBs of source for each of
# the more than 10 targets it is possible to build.
#
# You can get them yourself from the Internet and copy them to
# your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR).
# Or you can try the ftp options of rpm :-)
#
NoSource: 0
NoSource: 1
%description
RTEMS is an open source operating system for embedded systems.
This is gcc's and newlib C Library's sources with patches for RTEMS.
The original sources are not included in the source RPM.
If we included them, then the source RPMs for each target
would duplicate MBs of source unnecessarily. This is
a duplication of over 30 MBs of source for each of
the more than 10 targets it is possible to build.
You can get them yourself from the Internet and copy them to
your /usr/src/[redhat|packages]/SOURCES directory ($RPM_SOURCE_DIR).
Or you can try the ftp options of rpm :-)
%prep
# untar the sources inside @target_alias@-gcc-newlib
%setup -c -n %{name}-%{version} -a 0 -a 1
%patch0 -p0
%patch1 -p0
# Copy the C library into gcc's source tree
ln -s ../newlib-@newlib_version@/newlib gcc-@gcc_version@
test -d build || mkdir build
%build
cd build
../gcc-@gcc_version@/configure \
--target=@target_alias@ \
--with-gnu-as --with-gnu-ld --with-newlib --verbose \
--enable-threads --prefix=%{_prefix} @GCCLANGS@
make all
make info
%install
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 @target_alias@/bin/gcc
../gcc-@gcc_version@/mkinstalldirs \
$RPM_BUILD_ROOT%{_prefix}/@target_alias@/bin
make prefix=$RPM_BUILD_ROOT%{_prefix} install
cd @target_alias@/newlib
make prefix=$RPM_BUILD_ROOT%{_prefix} install-info
# cd back to build/
cd ../..
# 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};
then
mv $RPM_BUILD_ROOT%{_prefix}/bin/cpp%{_exeext} \
$RPM_BUILD_ROOT%{_prefix}/bin/@target_alias@-cpp%{_exeext}
fi
# gzip info files
gzip -f $RPM_BUILD_ROOT%{_prefix}/info/*.info 2>/dev/null
gzip -f $RPM_BUILD_ROOT%{_prefix}/info/*.info-? 2>/dev/null
gzip -f $RPM_BUILD_ROOT%{_prefix}/info/*.info-?? 2>/dev/null
rm -f dirs ;
echo "%dir %{_prefix}/lib" >> dirs ;
echo "%dir %{_prefix}/lib/gcc-lib" >> dirs ;
echo "%dir %{_prefix}/lib/gcc-lib/@target_alias@" >> dirs ;
# Collect multilib subdirectories
TGTDIR="%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@"
f=`gcc/xgcc --print-multi-lib | sed -e 's,;.*$,,'`
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 files.chill
cp dirs files.gcc
cp dirs files.g77
cp dirs files.objc
cp dirs files.gcj
f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`;
for i in $f; do
case $i in
*chill*) echo "$i" >> files.chill ;;
*f771) ;;
*cc1obj) ;;
*libobjc*) echo "$i" >> files.objc ;;
*include/objc*) ;;
*jc1) ;;
*jvgenmain) ;;
*) echo "$i" >> files.gcc ;;
esac
done
-4
View File
@@ -1,4 +0,0 @@
#
# spec file for building gcc for rtems
#
# Copyright (c) 1999,2000,2001 OARCorp, Huntsville, AL
-18
View File
@@ -1,18 +0,0 @@
# ==============================================================
# @target_alias@-chill
# ==============================================================
%package -n @target_alias@-chill
Provides: @target_alias@-chill
Summary: gcc/chill compiler for @target_alias@
Group: rtems
Requires: rtems-base-chill @target_alias@-gcc
%description -n @target_alias@-chill
RTEMS is an open source operating system for embedded systems.
This is the gcc/chill compiler and support files for @target_alias@
%files -n @target_alias@-chill -f build/files.chill
%dir %{_prefix}/bin
%{_prefix}/bin/@target_alias@-chill
-19
View File
@@ -1,19 +0,0 @@
# ==============================================================
# @target_alias@-g77
# ==============================================================
%package -n @target_alias@-g77
Provides: @target_alias@-g77
Summary: gcc/g77 compiler for @target_alias@
Group: rtems
Requires: rtems-base-g77 @target_alias@-gcc
%description -n @target_alias@-g77
RTEMS is an open source operating system for embedded systems.
This is the gcc/g77 compiler for @target_alias@
%files -n @target_alias@-g77 -f build/files.g77
%dir %{_prefix}/bin
%{_prefix}/bin/@target_alias@-g77%{_exeext}
%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/f771%{_exeext}
-29
View File
@@ -1,29 +0,0 @@
# ==============================================================
# @target_alias@-gcc
# ==============================================================
%package -n @target_alias@-gcc
Provides: @target_alias@-gcc
Summary: rtems gcc and newlib C Library for @target_alias@
Group: rtems
Requires: @target_alias@-binutils rtems-base-gcc
%description -n @target_alias@-gcc
RTEMS is an open source operating system for embedded systems.
This is gcc and newlib C Library for @target_alias@.
%files -n @target_alias@-gcc -f build/files.gcc
%doc %{_prefix}/man/man1/@target_alias@-gcc.1
%doc %{_prefix}/man/man1/@target_alias@-g++.1
%{_prefix}/bin/@target_alias@-cpp%{_exeext}
%{_prefix}/bin/@target_alias@-c++%{_exeext}
%{_prefix}/bin/@target_alias@-g++%{_exeext}
%{_prefix}/bin/@target_alias@-gcc%{_exeext}
%{_prefix}/bin/@target_alias@-protoize%{_exeext}
%{_prefix}/bin/@target_alias@-unprotoize%{_exeext}
%dir %{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/include
%{_prefix}/@target_alias@
-21
View File
@@ -1,21 +0,0 @@
# ==============================================================
# @target_alias@-gcj
# ==============================================================
%package -n @target_alias@-gcj
Provides: @target_alias@-gcj
Summary: gcc/java compiler (gcj) for @target_alias@
Group: rtems
Requires: rtems-base-gcj @target_alias@-gcc
%description -n @target_alias@-gcj
RTEMS is an open source operating system for embedded systems.
This is the gcc/java compiler for @target_alias@
%files -n @target_alias@-gcj -f build/files.gcj
%dir %{_prefix}/bin
%{_prefix}/bin/@target_alias@-gcj%{_exeext}
%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/jc1%{_exeext}
%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/jvgenmain%{_exeext}
-17
View File
@@ -1,17 +0,0 @@
# ==============================================================
# @target_alias@-objc
# ==============================================================
%package -n @target_alias@-objc
Provides: @target_alias@-objc
Summary: gcc/objc compiler for @target_alias@
Group: rtems
Requires: @target_alias@-gcc
%description -n @target_alias@-objc
RTEMS is an open source operating system for embedded systems.
This is the gcc/objc compiler for @target_alias@
%files -n @target_alias@-objc -f build/files.objc
%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/cc1obj%{_exeext}
%{_prefix}/lib/gcc-lib/@target_alias@/@gcc_version@/include/objc