Patch rtems-rc-4.5.0-21.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>

which splits the current monolithic specs files into a sequence of
subparts.  These can be concatenated togather to make a the whole .spec
file.  This cleans up the maintenance problem of having "all languages"
and a "C/C++ only" gccnewlib spec files.  Plus it should make it easier
to produce variants like the gdb-m68k-bdm which require special hackery. :)
Ralf's comments:

  It addresses the way *.spec.in get composed inside of the source
  tree.

  Changes:
    * Each spec.in is broken into several files (*.add), one *.add file
      per sub-package.
    * Each Makefile.am composes spec.ins from the *.add files
    * Removal of redundant automake support files.
    * Default value for BuildRoot changed to /tmp/<spec-file-name>
    * %clean stage added to *specs

  Advantages (IMHO).
    * The *.add files are easier to adminstrate and more flexible in
      comparison to the former *.specs.ins.
    * gccnewlib_c_only.spec.in now is composed from the same sources as
      gccnewlib.spec.in (less errors)
    * If using the default BuildRoot --clean now deletes all files that
      were generated while building.

  Notes:
    * rtems.spec.in has not yet been adapted to the scheme used for the
      other *spec.ins
    * Except for cosmetical changes the internals of the  *.spec files
      should not have changed.

  To Apply:
    cvs rm -f scripts/binutils/binutils.spec.in
    cvs rm -f scripts/gccnewlib/gccnewlib.spec.in
    cvs rm -f scripts/gccnewlib/gccnewlib_c_only.spec.in
    cvs rm -f scripts/gdb/gdb.spec.in
    cvs rm -f scripts/config.sub
    cvs rm -f scripts/config.guess
    cvs rm -f scripts/install-sh
    cvs rm -f scripts/mkinstalldirs
    cvs rm -f scripts/missing

    patch -p1 < rtems-rc-4.5.0-21.diff

    cvs add scripts/*/*.add
    cvs add scripts/*/README
This commit is contained in:
Joel Sherrill
2000-05-28 18:14:55 +00:00
parent 22095e222d
commit 63cf252f31
29 changed files with 785 additions and 3264 deletions

View File

@@ -3,7 +3,6 @@
## ##
AUTOMAKE_OPTIONS = foreign 1.4 AUTOMAKE_OPTIONS = foreign 1.4
ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal
SUBDIRS = . binutils gccnewlib gdb rtems SUBDIRS = . binutils gccnewlib gdb rtems

View File

@@ -6,6 +6,13 @@ AUTOMAKE_OPTIONS = foreign 1.4
MKBINUTILSSPEC = $(SHELL) $(top_builddir)/mkbinutilspec MKBINUTILSSPEC = $(SHELL) $(top_builddir)/mkbinutilspec
SUBPACKAGES = binutils.add \
base-binutils.add target-binutils.add
binutils.spec.in: $(SUBPACKAGES)
cat $^ > $@
CLEANFILES += binutils.spec.in
MKBINUTILSSPEC_DEPS = $(top_builddir)/mkbinutilspec binutils.spec.in \ MKBINUTILSSPEC_DEPS = $(top_builddir)/mkbinutilspec binutils.spec.in \
$(top_builddir)/setup.cache $(top_builddir)/setup.cache
@@ -39,18 +46,14 @@ sh-rtemself-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS)
sparc-rtems-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS) sparc-rtems-$(BINUTILSVERS).spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems $(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems
TEMPLATES = binutils.spec.in
RPM_SPECS_DATA = hppa1.1-rtems-$(BINUTILSVERS).spec \ RPM_SPECS_DATA = hppa1.1-rtems-$(BINUTILSVERS).spec \
i386-rtems-$(BINUTILSVERS).spec i960-rtems-$(BINUTILSVERS).spec \ i386-rtems-$(BINUTILSVERS).spec i960-rtems-$(BINUTILSVERS).spec \
m68k-rtems-$(BINUTILSVERS).spec m68k-rtemself-$(BINUTILSVERS).spec \ m68k-rtems-$(BINUTILSVERS).spec m68k-rtemself-$(BINUTILSVERS).spec \
mips64orion-rtems-$(BINUTILSVERS).spec \ mips64orion-rtems-$(BINUTILSVERS).spec \
powerpc-rtems-$(BINUTILSVERS).spec sh-rtems-$(BINUTILSVERS).spec \ powerpc-rtems-$(BINUTILSVERS).spec sh-rtems-$(BINUTILSVERS).spec \
sh-rtemself-$(BINUTILSVERS).spec sparc-rtems-$(BINUTILSVERS).spec sh-rtemself-$(BINUTILSVERS).spec sparc-rtems-$(BINUTILSVERS).spec
CLEANFILES += $(RPM_SPECS_DATA)
noinst_DATA = $(TEMPLATES) EXTRA_DIST = $(SUBPACKAGES)
EXTRA_DIST = $(TEMPLATES)
CLEANFILES = $(RPM_SPECS_DATA)
include $(top_srcdir)/../automake/local.am include $(top_srcdir)/../automake/local.am

View File

@@ -0,0 +1,64 @@
# ==============================================================
# rtems-base-binutils
# ==============================================================
%package -n rtems-base-binutils
Provides: rtems-base-binutils
Summary: base package for rtems binutils
Group: rtems
%description -n rtems-base-binutils
RTEMS is an open source operating system for embedded systems.
This is the base for binutils regardless of target CPU.
%post -n rtems-base-binutils
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test x"$f" != x"" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi
%postun -n rtems-base-binutils
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test x"$f" != x"" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi
%files -n rtems-base-binutils -f files
%dir /opt/rtems/info
%doc /opt/rtems/info/dir
%doc /opt/rtems/info/as.info.gz
%doc /opt/rtems/info/as.info-?.gz
%doc /opt/rtems/info/bfd.info.gz
%doc /opt/rtems/info/bfd.info-?.gz
%doc /opt/rtems/info/binutils.info.gz
%doc /opt/rtems/info/binutils.info-?.gz
%doc /opt/rtems/info/ld.info.gz
%doc /opt/rtems/info/ld.info-?.gz
%doc /opt/rtems/info/gasp.info.gz
%doc /opt/rtems/info/standards.info.gz
%dir /opt/rtems/man
%dir /opt/rtems/man/man1
%dir /opt/rtems/include
/opt/rtems/include/bfd.h
/opt/rtems/include/ansidecl.h
/opt/rtems/include/bfdlink.h
%dir /opt/rtems/lib
/opt/rtems/lib/libbfd*
/opt/rtems/lib/libiberty*
/opt/rtems/lib/libopcodes*
%dir /opt/rtems/share
%dir /opt/rtems/share/locale

View File

@@ -0,0 +1,93 @@
#
# spec file for binutils package targetting rtems
#
# Copyright (c) 1999,2000 OARCorp, Huntsville, AL
#
# please send bugfixes or comments to joel@OARcorp.com
#
Vendor: OAR Corporation
Distribution: Linux
Name: @target_alias@-binutils-collection
Summary: binutils for target @target_alias@
Group: rtems
Release: @Release@
License: GPL/LGPL
Autoreqprov: off
Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com
Prefix: /opt
BuildRoot: /tmp/@target_alias@-binutils
Version: @binutils_version@
Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-@binutils_version@.tar.gz
Patch0: binutils-@binutils_version@-rtems-@binutils_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
%description
RTEMS is an open source operating system for embedded systems.
This is binutils sources with patches for RTEMS.
%prep
# untar the sources inside @target_alias@-binutils
%setup -c -n @target_alias@-binutils -a 0
%patch0 -p0
test -d build || mkdir build
%build
cd build
../binutils-@binutils_version@/configure --target=@target_alias@ \
--verbose --prefix=/opt/rtems
make all
make info
%install
cd build
make prefix=$RPM_BUILD_ROOT/opt/rtems install
make prefix=$RPM_BUILD_ROOT/opt/rtems install-info
# A bug in binutils: binutils does not install share/locale
# however it uses it
../binutils-@binutils_version@/mkinstalldirs \
$RPM_BUILD_ROOT/opt/rtems/share/locale
# gzip info files
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info 2>/dev/null
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-? 2>/dev/null
if test -f $RPM_BUILD_ROOT/opt/rtems/info/configure.info.gz;
then
# These are only present in binutils >= 2.9.5
find $RPM_BUILD_ROOT/opt/rtems/info -name 'configure.*' | \
sed -e "s,^$RPM_BUILD_ROOT,,g" > ../files
else
touch ../files
fi
# We assume that info/dir exists when building the RPMs
rm -f $RPM_BUILD_ROOT/opt/rtems/info/dir
f=`find $RPM_BUILD_ROOT/opt/rtems/info -name '*.info.gz'`
test x"$f" != x"" && for i in $f; do
install-info $i $RPM_BUILD_ROOT/opt/rtems/info/dir
done
%clean
# let rpm --clean remove BuildRoot iif using the default BuildRoot
test "$RPM_BUILD_ROOT" = "/tmp/@target_alias@-binutils" && \
rm -rf $RPM_BUILD_ROOT

View File

@@ -1,194 +0,0 @@
#
# spec file for binutils package targetting rtems
#
# Copyright (c) 1999 OARCorp, Huntsville, AL
#
# please send bugfixes or comments to joel@OARcorp.com
#
Vendor: OAR Corporation
Distribution: Linux
Name: @target_alias@-binutils-collection
Summary: binutils for target @target_alias@
Group: rtems
Release: @Release@
License: GPL/LGPL
Provides: rtems-base-binutils @target_alias@-binutils
Autoreqprov: on
Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com
Prefix: /opt
Version: @binutils_version@
Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-@binutils_version@.tar.gz
Patch0: binutils-@binutils_version@-rtems-@binutils_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
%description
RTEMS is an open source operating system for embedded systems.
This is binutils sources with patches for RTEMS.
%package -n rtems-base-binutils
Summary: base package for rtems binutils
Group: rtems
%description -n rtems-base-binutils
RTEMS is an open source operating system for embedded systems.
This is the base for binutils regardless of target CPU.
%package -n @target_alias@-binutils
Summary: rtems binutils for @target_alias@
Group: rtems
Requires: rtems-base-binutils
%description -n @target_alias@-binutils
RTEMS is an open source operating system for embedded systems.
This is the GNU binutils for RTEMS targetting @target_alias@.
Authors:
--------
Joel Sherrill (joel@oarcorp.com)
...
%prep
# untar the sources inside @target_alias@-binutils
%setup -c -n @target_alias@-binutils -a 0
%patch0 -p0
test -d build || mkdir build
%build
cd build
../binutils-@binutils_version@/configure --target=@target_alias@ \
--verbose --prefix=/opt/rtems
make all
make info
%install
cd build
make prefix=$RPM_BUILD_ROOT/opt/rtems install
make prefix=$RPM_BUILD_ROOT/opt/rtems install-info
# A bug in binutils: binutils does not install share/locale
# however it uses it
../binutils-@binutils_version@/mkinstalldirs \
$RPM_BUILD_ROOT/opt/rtems/share/locale
# gzip info files
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info 2>/dev/null
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-? 2>/dev/null
if test -f $RPM_BUILD_ROOT/opt/rtems/info/configure.info.gz;
then
# These are only present in binutils >= 2.9.5
find $RPM_BUILD_ROOT/opt/rtems/info -name 'configure.*' | \
sed -e "s,^$RPM_BUILD_ROOT,,g" > ../files
else
touch ../files
fi
# We assume that info/dir exists when building the RPMs
rm -f $RPM_BUILD_ROOT/opt/rtems/info/dir
f=`find $RPM_BUILD_ROOT/opt/rtems/info -name '*.info.gz'`
test x"$f" != x"" && for i in $f; do
install-info $i $RPM_BUILD_ROOT/opt/rtems/info/dir
done
%post
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test x"$f" != x"" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi
%postun
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test x"$f" != x"" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi
%files -n rtems-base-binutils -f files
%dir /opt/rtems/info
%doc /opt/rtems/info/dir
%doc /opt/rtems/info/as.info.gz
%doc /opt/rtems/info/as.info-?.gz
%doc /opt/rtems/info/bfd.info.gz
%doc /opt/rtems/info/bfd.info-?.gz
%doc /opt/rtems/info/binutils.info.gz
%doc /opt/rtems/info/binutils.info-?.gz
%doc /opt/rtems/info/ld.info.gz
%doc /opt/rtems/info/ld.info-?.gz
%doc /opt/rtems/info/gasp.info.gz
%doc /opt/rtems/info/standards.info.gz
%dir /opt/rtems/man
%dir /opt/rtems/man/man1
%dir /opt/rtems/include
/opt/rtems/include/bfd.h
/opt/rtems/include/ansidecl.h
/opt/rtems/include/bfdlink.h
%dir /opt/rtems/lib
/opt/rtems/lib/libbfd*
/opt/rtems/lib/libiberty*
/opt/rtems/lib/libopcodes*
%dir /opt/rtems/share
%dir /opt/rtems/share/locale
%files -n @target_alias@-binutils
%doc /opt/rtems/man/man1/@target_alias@-*.1
%dir /opt/rtems/bin
/opt/rtems/bin/@target_alias@-addr2line@exe_ext@
/opt/rtems/bin/@target_alias@-ar@exe_ext@
/opt/rtems/bin/@target_alias@-as@exe_ext@
/opt/rtems/bin/@target_alias@-c++filt@exe_ext@
/opt/rtems/bin/@target_alias@-gasp@exe_ext@
/opt/rtems/bin/@target_alias@-ld@exe_ext@
/opt/rtems/bin/@target_alias@-nm@exe_ext@
/opt/rtems/bin/@target_alias@-objcopy@exe_ext@
/opt/rtems/bin/@target_alias@-objdump@exe_ext@
/opt/rtems/bin/@target_alias@-ranlib@exe_ext@
/opt/rtems/bin/@target_alias@-readelf@exe_ext@
/opt/rtems/bin/@target_alias@-size@exe_ext@
/opt/rtems/bin/@target_alias@-strings@exe_ext@
/opt/rtems/bin/@target_alias@-strip@exe_ext@
%dir /opt/rtems/@target_alias@
%dir /opt/rtems/@target_alias@/bin
/opt/rtems/@target_alias@/bin/ar@exe_ext@
/opt/rtems/@target_alias@/bin/as@exe_ext@
/opt/rtems/@target_alias@/bin/ld@exe_ext@
/opt/rtems/@target_alias@/bin/nm@exe_ext@
/opt/rtems/@target_alias@/bin/ranlib@exe_ext@
/opt/rtems/@target_alias@/bin/strip@exe_ext@
%dir /opt/rtems/@target_alias@/lib
/opt/rtems/@target_alias@/lib/ldscripts

View File

@@ -0,0 +1,46 @@
# ==============================================================
# @target_alias@-binutils
# ==============================================================
%package -n @target_alias@-binutils
Provides: @target_alias@-binutils
Summary: rtems binutils for @target_alias@
Group: rtems
Requires: rtems-base-binutils
Autoreqprov: off
%description -n @target_alias@-binutils
RTEMS is an open source operating system for embedded systems.
This is the GNU binutils for RTEMS targetting @target_alias@.
%files -n @target_alias@-binutils
%doc /opt/rtems/man/man1/@target_alias@-*.1
%dir /opt/rtems/bin
/opt/rtems/bin/@target_alias@-addr2line@exe_ext@
/opt/rtems/bin/@target_alias@-ar@exe_ext@
/opt/rtems/bin/@target_alias@-as@exe_ext@
/opt/rtems/bin/@target_alias@-c++filt@exe_ext@
/opt/rtems/bin/@target_alias@-gasp@exe_ext@
/opt/rtems/bin/@target_alias@-ld@exe_ext@
/opt/rtems/bin/@target_alias@-nm@exe_ext@
/opt/rtems/bin/@target_alias@-objcopy@exe_ext@
/opt/rtems/bin/@target_alias@-objdump@exe_ext@
/opt/rtems/bin/@target_alias@-ranlib@exe_ext@
/opt/rtems/bin/@target_alias@-readelf@exe_ext@
/opt/rtems/bin/@target_alias@-size@exe_ext@
/opt/rtems/bin/@target_alias@-strings@exe_ext@
/opt/rtems/bin/@target_alias@-strip@exe_ext@
%dir /opt/rtems/@target_alias@
%dir /opt/rtems/@target_alias@/bin
/opt/rtems/@target_alias@/bin/ar@exe_ext@
/opt/rtems/@target_alias@/bin/as@exe_ext@
/opt/rtems/@target_alias@/bin/ld@exe_ext@
/opt/rtems/@target_alias@/bin/nm@exe_ext@
/opt/rtems/@target_alias@/bin/ranlib@exe_ext@
/opt/rtems/@target_alias@/bin/strip@exe_ext@
%dir /opt/rtems/@target_alias@/lib
/opt/rtems/@target_alias@/lib/ldscripts

695
scripts/config.guess vendored
View File

@@ -1,695 +0,0 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 93, 94, 95, 1996 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Written by Per Bothner <bothner@cygnus.com>.
# The master version of this file is at the FSF in /home/gd/gnu/lib.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
# exits with 0. Otherwise, it exits with 1.
#
# The plan is that this can be called by configure scripts if you
# don't specify an explicit system type (host/target name).
#
# Only a few systems have been added to this list; please add others
# (but try to keep the structure clean).
#
# $Id$
#
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 8/24/94.)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
PATH=$PATH:/.attbin ; export PATH
fi
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
alpha:OSF1:*:*)
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//'`
exit 0 ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
exit 0 ;;
Amiga*:UNIX_System_V:4.0:*)
echo m68k-cbm-sysv4
exit 0;;
amiga:NetBSD:*:*)
echo m68k-cbm-netbsd${UNAME_RELEASE}
exit 0 ;;
amiga:OpenBSD:*:*)
echo m68k-cbm-openbsd${UNAME_RELEASE}
exit 0 ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;;
Pyramid*:OSx*:*:*|MIS*:OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
echo pyramid-pyramid-sysv3
else
echo pyramid-pyramid-bsd
fi
exit 0 ;;
NILE:*:*:dcosx)
echo pyramid-pyramid-svr4
exit 0 ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
i86pc:SunOS:5.*:*)
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
Series*|S4*)
UNAME_RELEASE=`uname -v`
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
exit 0 ;;
sun3*:SunOS:*:*)
echo m68k-sun-sunos${UNAME_RELEASE}
exit 0 ;;
aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE}
exit 0 ;;
atari*:NetBSD:*:*)
echo m68k-atari-netbsd${UNAME_RELEASE}
exit 0 ;;
atari*:OpenBSD:*:*)
echo m68k-atari-openbsd${UNAME_RELEASE}
exit 0 ;;
sun3*:NetBSD:*:*)
echo m68k-sun-netbsd${UNAME_RELEASE}
exit 0 ;;
sun3*:OpenBSD:*:*)
echo m68k-sun-openbsd${UNAME_RELEASE}
exit 0 ;;
mac68k:NetBSD:*:*)
echo m68k-apple-netbsd${UNAME_RELEASE}
exit 0 ;;
mac68k:OpenBSD:*:*)
echo m68k-apple-openbsd${UNAME_RELEASE}
exit 0 ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
exit 0 ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit 0 ;;
RISC*:ULTRIX:*:*)
echo mips-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
sed 's/^ //' << EOF >dummy.c
int main (argc, argv) int argc; char **argv; {
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
#endif
#endif
exit (-1);
}
EOF
${CC-cc} dummy.c -o dummy \
&& ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
&& rm dummy.c dummy && exit 0
rm -f dummy.c dummy
echo mips-mips-riscos${UNAME_RELEASE}
exit 0 ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
exit 0 ;;
m88k:CX/UX:7*:*)
echo m88k-harris-cxux7
exit 0 ;;
m88k:*:4*:R4*)
echo m88k-motorola-sysv4
exit 0 ;;
m88k:*:3*:R3*)
echo m88k-motorola-sysv3
exit 0 ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
-o ${TARGET_BINARY_INTERFACE}x = x ] ; then
echo m88k-dg-dgux${UNAME_RELEASE}
else
echo m88k-dg-dguxbcs${UNAME_RELEASE}
fi
else echo i586-dg-dgux${UNAME_RELEASE}
fi
exit 0 ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
exit 0 ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
echo m88k-motorola-sysv3
exit 0 ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
echo m88k-tektronix-sysv3
exit 0 ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
echo m68k-tektronix-bsd
exit 0 ;;
*:IRIX*:*:*)
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
exit 0 ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i?86:AIX:*:*)
echo i386-ibm-aix
exit 0 ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
sed 's/^ //' << EOF >dummy.c
#include <sys/systemcfg.h>
main()
{
if (!__power_pc())
exit(1);
puts("powerpc-ibm-aix3.2.5");
exit(0);
}
EOF
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
echo rs6000-ibm-aix3.2.5
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
else
echo rs6000-ibm-aix3.2
fi
exit 0 ;;
*:AIX:*:4)
if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
fi
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
IBM_REV=4.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
exit 0 ;;
*:AIX:*:*)
echo rs6000-ibm-aix
exit 0 ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
echo romp-ibm-bsd4.4
exit 0 ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
exit 0 ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
exit 0 ;;
DPX/2?00:B.O.S.:*:*)
echo m68k-bull-sysv3
exit 0 ;;
9000/[34]??:4.3bsd:1.*:*)
echo m68k-hp-bsd
exit 0 ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
exit 0 ;;
9000/[3478]??:HP-UX:*:*)
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;;
9000/8?? ) HP_ARCH=hppa1.0 ;;
esac
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit 0 ;;
3050*:HI-UX:*:*)
sed 's/^ //' << EOF >dummy.c
#include <unistd.h>
int
main ()
{
long cpu = sysconf (_SC_CPU_VERSION);
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
results, however. */
if (CPU_IS_PA_RISC (cpu))
{
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
default: puts ("hppa-hitachi-hiuxwe2"); break;
}
}
else if (CPU_IS_HP_MC68K (cpu))
puts ("m68k-hitachi-hiuxwe2");
else puts ("unknown-hitachi-hiuxwe2");
exit (0);
}
EOF
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
echo unknown-hitachi-hiuxwe2
exit 0 ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
echo hppa1.1-hp-bsd
exit 0 ;;
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
exit 0 ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
exit 0 ;;
hp8??:OSF1:*:*)
echo hppa1.0-hp-osf
exit 0 ;;
i?86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
echo ${UNAME_MACHINE}-unknown-osf1mk
else
echo ${UNAME_MACHINE}-unknown-osf1
fi
exit 0 ;;
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
exit 0 ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
exit 0 ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit 0 ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
exit 0 ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
exit 0 ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
exit 0 ;;
CRAY*X-MP:*:*:*)
echo xmp-cray-unicos
exit 0 ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE}
exit 0 ;;
CRAY*[A-Z]90:*:*:*)
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
exit 0 ;;
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE}
exit 0 ;;
CRAY-2:*:*:*)
echo cray2-cray-unicos
exit 0 ;;
F300:UNIX_System_V:*:*)
FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
F301:UNIX_System_V:*:*)
echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
exit 0 ;;
hp3[0-9][05]:NetBSD:*:*)
echo m68k-hp-netbsd${UNAME_RELEASE}
exit 0 ;;
hp3[0-9][05]:OpenBSD:*:*)
echo m68k-hp-openbsd${UNAME_RELEASE}
exit 0 ;;
i?86:BSD/386:*:* | *:BSD/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit 0 ;;
*:FreeBSD:*:*)
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit 0 ;;
*:NetBSD:*:*)
echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
*:OpenBSD:*:*)
echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
exit 0 ;;
i*:CYGWIN*:*)
echo i386-pc-cygwin32
exit 0 ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin32
exit 0 ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
*:GNU:*:*)
echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;;
*:Linux:*:*)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us.
ld_help_string=`ld --help 2>&1`
if echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf_i.86"; then
echo "${UNAME_MACHINE}-pc-linux-gnu" ; exit 0
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86linux"; then
echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86coff"; then
echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68kelf"; then
echo "${UNAME_MACHINE}-unknown-linux-gnu" ; exit 0
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68klinux"; then
echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf32ppc"; then
echo "powerpc-unknown-linux-gnu" ; exit 0
elif test "${UNAME_MACHINE}" = "alpha" ; then
echo alpha-unknown-linux-gnu ; exit 0
elif test "${UNAME_MACHINE}" = "sparc" ; then
echo sparc-unknown-linux-gnu ; exit 0
else
# Either a pre-BFD a.out linker (linux-gnuoldld) or one that does not give us
# useful --help. Gcc wants to distinguish between linux-gnuoldld and linux-gnuaout.
test ! -d /usr/lib/ldscripts/. \
&& echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
# Determine whether the default compiler is a.out or elf
cat >dummy.c <<EOF
main(argc, argv)
int argc;
char *argv[];
{
#ifdef __ELF__
printf ("%s-pc-linux-gnu\n", argv[1]);
#else
printf ("%s-pc-linux-gnuaout\n", argv[1]);
#endif
return 0;
}
EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
fi ;;
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
# are messed up and put the nodename in both sysname and nodename.
i?86:DYNIX/ptx:4*:*)
echo i386-sequent-sysv4
exit 0 ;;
i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
else
echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
fi
exit 0 ;;
i?86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
elif /bin/uname -X 2>/dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
exit 0 ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
exit 0 ;;
paragon:*:*:*)
echo i860-intel-osf1
exit 0 ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
fi
exit 0 ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
echo m68010-convergent-sysv
exit 0 ;;
M68*:*:R3V[567]*:*)
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& echo i486-ncr-sysv4.3${OS_REL} && exit 0
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& echo i486-ncr-sysv4 && exit 0 ;;
m68*:LynxOS:2.*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit 0 ;;
i?86:LynxOS:2.*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
exit 0 ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
exit 0 ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
echo ${UNAME_MACHINE}-sni-sysv4
else
echo ns32k-sni-sysv
fi
exit 0 ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes@openmarket.com>.
# How about differentiating between stratus architectures? -djm
echo hppa1.1-stratus-sysv4
exit 0 ;;
*:*:*:FTX*)
# From seanf@swdc.stratus.com.
echo i860-stratus-sysv4
exit 0 ;;
mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE}
exit 0 ;;
R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
exit 0 ;;
PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel@ccMail.Census.GOV>
echo i586-unisys-sysv4
exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
cat >dummy.c <<EOF
#ifdef _SEQUENT_
# include <sys/types.h>
# include <sys/utsname.h>
#endif
main ()
{
#if defined (sony)
#if defined (MIPSEB)
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
I don't know.... */
printf ("mips-sony-bsd\n"); exit (0);
#else
#include <sys/param.h>
printf ("m68k-sony-newsos%s\n",
#ifdef NEWSOS4
"4"
#else
""
#endif
); exit (0);
#endif
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
printf ("arm-acorn-riscix"); exit (0);
#endif
#if defined (hp300) && !defined (hpux)
printf ("m68k-hp-bsd\n"); exit (0);
#endif
#if defined (NeXT)
#if !defined (__ARCHITECTURE__)
#define __ARCHITECTURE__ "m68k"
#endif
int version;
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
exit (0);
#endif
#if defined (MULTIMAX) || defined (n16)
#if defined (UMAXV)
printf ("ns32k-encore-sysv\n"); exit (0);
#else
#if defined (CMU)
printf ("ns32k-encore-mach\n"); exit (0);
#else
printf ("ns32k-encore-bsd\n"); exit (0);
#endif
#endif
#endif
#if defined (__386BSD__)
printf ("i386-pc-bsd\n"); exit (0);
#endif
#if defined (sequent)
#if defined (i386)
printf ("i386-sequent-dynix\n"); exit (0);
#endif
#if defined (ns32000)
printf ("ns32k-sequent-dynix\n"); exit (0);
#endif
#endif
#if defined (_SEQUENT_)
struct utsname un;
uname(&un);
if (strncmp(un.version, "V2", 2) == 0) {
printf ("i386-sequent-ptx2\n"); exit (0);
}
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
printf ("i386-sequent-ptx1\n"); exit (0);
}
printf ("i386-sequent-ptx\n"); exit (0);
#endif
#if defined (vax)
#if !defined (ultrix)
printf ("vax-dec-bsd\n"); exit (0);
#else
printf ("vax-dec-ultrix\n"); exit (0);
#endif
#endif
#if defined (alliant) && defined (i860)
printf ("i860-alliant-bsd\n"); exit (0);
#endif
exit (1);
}
EOF
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
rm -f dummy.c dummy
# Apollos put the system type in the environment.
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
# Convex versions that predate uname can use getsysinfo(1)
if [ -x /usr/convex/getsysinfo ]
then
case `getsysinfo -f cpu_type` in
c1*)
echo c1-convex-bsd
exit 0 ;;
c2*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit 0 ;;
c34*)
echo c34-convex-bsd
exit 0 ;;
c38*)
echo c38-convex-bsd
exit 0 ;;
c4*)
echo c4-convex-bsd
exit 0 ;;
esac
fi
#echo '(Unable to guess system type)' 1>&2
exit 1

1178
scripts/config.sub vendored

File diff suppressed because it is too large Load Diff

View File

@@ -6,6 +6,23 @@ AUTOMAKE_OPTIONS = foreign 1.4
MKGCCNEWLIBSPEC = $(SHELL) $(top_builddir)/mkgccnewlibspec MKGCCNEWLIBSPEC = $(SHELL) $(top_builddir)/mkgccnewlibspec
SUBPACKAGES = gccnewlib.add \
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: gccnewlib.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 C_ONLY_ARG = -a $(top_builddir)/gccnewlib/gccnewlib_c_only.spec.in
MKGCCNEWLIBSPEC_DEPS = $(top_builddir)/mkgccnewlibspec gccnewlib.spec.in \ MKGCCNEWLIBSPEC_DEPS = $(top_builddir)/mkgccnewlibspec gccnewlib.spec.in \
@@ -43,18 +60,14 @@ sh-rtemself-$(GCCNEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
sparc-rtems-$(GCCNEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS) sparc-rtems-$(GCCNEWLIBVERS).spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKGCCNEWLIBSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems $(MKGCCNEWLIBSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems
TEMPLATES = gccnewlib.spec.in gccnewlib_c_only.spec.in
RPM_SPECS_DATA = hppa1.1-rtems-$(GCCNEWLIBVERS).spec \ RPM_SPECS_DATA = hppa1.1-rtems-$(GCCNEWLIBVERS).spec \
i386-rtems-$(GCCNEWLIBVERS).spec i960-rtems-$(GCCNEWLIBVERS).spec \ i386-rtems-$(GCCNEWLIBVERS).spec i960-rtems-$(GCCNEWLIBVERS).spec \
m68k-rtems-$(GCCNEWLIBVERS).spec m68k-rtemself-$(GCCNEWLIBVERS).spec \ m68k-rtems-$(GCCNEWLIBVERS).spec m68k-rtemself-$(GCCNEWLIBVERS).spec \
mips64orion-rtems-$(GCCNEWLIBVERS).spec \ mips64orion-rtems-$(GCCNEWLIBVERS).spec \
powerpc-rtems-$(GCCNEWLIBVERS).spec sh-rtems-$(GCCNEWLIBVERS).spec \ powerpc-rtems-$(GCCNEWLIBVERS).spec sh-rtems-$(GCCNEWLIBVERS).spec \
sh-rtemself-$(GCCNEWLIBVERS).spec sparc-rtems-$(GCCNEWLIBVERS).spec sh-rtemself-$(GCCNEWLIBVERS).spec sparc-rtems-$(GCCNEWLIBVERS).spec
CLEANFILES += $(RPM_SPECS_DATA)
noinst_DATA = $(TEMPLATES) EXTRA_DIST = $(SUBPACKAGES)
EXTRA_DIST = $(TEMPLATES)
CLEANFILES = $(RPM_SPECS_DATA)
include $(top_srcdir)/../automake/local.am include $(top_srcdir)/../automake/local.am

8
scripts/gccnewlib/README Normal file
View File

@@ -0,0 +1,8 @@
#
# $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.

View File

@@ -0,0 +1,38 @@
# ==============================================================
# 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 /opt/rtems/info
%doc /opt/rtems/info/chill.info*.gz
%post -n rtems-base-chill
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi
%postun -n rtems-base-chill
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi

View File

@@ -0,0 +1,42 @@
# ==============================================================
# 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 /opt/rtems/info
%doc /opt/rtems/info/g77.info*.gz
%dir /opt/rtems/man
%dir /opt/rtems/man/man1
%doc /opt/rtems/man/man1/@target_alias@-g77.1
%post -n rtems-base-g77
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi
%postun -n rtems-base-g77
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi

View File

@@ -0,0 +1,52 @@
# ==============================================================
# 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 /opt/rtems/info
%doc /opt/rtems/info/cpp.info*.gz
%doc /opt/rtems/info/gcc.info*.gz
%doc /opt/rtems/info/libc.info*.gz
%doc /opt/rtems/info/libm.info*.gz
%dir /opt/rtems/bin
/opt/rtems/bin/cpp@exe_ext@
/opt/rtems/bin/gcov@exe_ext@
%dir /opt/rtems/man
%dir /opt/rtems/man/man1
%doc /opt/rtems/man/man1/cccp.1
%dir /opt/rtems/include
/opt/rtems/include/g++-3
%post -n rtems-base-gcc
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi
%postun -n rtems-base-gcc
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info&gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi

View File

@@ -0,0 +1,20 @@
# ==============================================================
# 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 /opt/rtems/bin
/opt/rtems/bin/jcf-dump@exe_ext@
/opt/rtems/bin/jv-scan@exe_ext@
/opt/rtems/bin/gcjh@exe_ext@

View File

@@ -0,0 +1,132 @@
#
# spec file for building gcc for rtems
#
# Copyright (c) 1999,2000 OARCorp, Huntsville, AL
#
# please send bugfixes or comments to joel@OARcorp.com
#
Vendor: OAR Corporation
Distribution: Linux
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@
Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-@gcc_version@.tar.gz
Source1: ftp://sourceware.cygnus/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
Buildroot: /tmp/@target_alias@-gcc-newlib
#
# 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 @target_alias@-gcc-newlib -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=/opt/rtems @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/opt/rtems/@target_alias@/bin
make prefix=$RPM_BUILD_ROOT/opt/rtems install
cd @target_alias@/newlib
make prefix=$RPM_BUILD_ROOT/opt/rtems install-info
# cd back to build/
cd ../..
# gzip info files
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info 2>/dev/null
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-? 2>/dev/null
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-?? 2>/dev/null
rm -f dirs ;
echo "%dir /opt/rtems/lib" >> dirs ;
echo "%dir /opt/rtems/lib/gcc-lib" >> dirs ;
echo "%dir /opt/rtems/lib/gcc-lib/@target_alias@" >> dirs ;
# Collect multilib subdirectories
TGTDIR="$RPM_BUILD_ROOT/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@"
find $TGTDIR \
\( -type d -a ! -path "$TGTDIR/include*" \) -print | \
sed -e "s,^$RPM_BUILD_ROOT,%dir ,g" >> dirs
# 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 $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
%clean
# let rpm --clean remove BuildRoot iif using the default BuildRoot
test "$RPM_BUILD_ROOT" = "/tmp/@target_alias@-gcc-newlib" && \
rm -rf $RPM_BUILD_ROOT

View File

@@ -1,391 +0,0 @@
#
# spec file for building gcc for rtems
#
# Copyright (c) 1999,2000 OARCorp, Huntsville, AL
#
# please send bugfixes or comments to joel@OARcorp.com
#
Vendor: OAR Corporation
Distribution: Linux
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
Provides: rtems-base-gcc @target_alias@-gcc
Provides: rtems-base-chill @target_alias@-chill
Provides: rtems-base-gcj @target_alias@-gcj
Provides: rtems-base-g77 @target_alias@-g77
Provides: @target_alias@-objc
Requires: @target_alias@-binutils
Autoreqprov: on
Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com
Version: gcc@gcc_version@newlib@newlib_version@
Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-@gcc_version@.tar.gz
Source1: ftp://sourceware.cygnus/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
Buildroot: /tmp
#
# 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 @target_alias@-gcc-newlib -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=/opt/rtems
# for now we are building all the languages
# '--enable-languages=c,c++'
make all
make info
# Since gcc now finds the RTEMS limits.h, this should not be needed
# cd gcc
# rm -f stmp-multilib
# find . -name "*.a" -print | xargs -e rm -f
#
# make all
# cd ..
%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/opt/rtems/@target_alias@/bin
make prefix=$RPM_BUILD_ROOT/opt/rtems install
cd @target_alias@/newlib
make prefix=$RPM_BUILD_ROOT/opt/rtems install-info
# cd back to build/
cd ../..
# gzip info files
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info 2>/dev/null
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-? 2>/dev/null
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-?? 2>/dev/null
rm -f dirs ;
echo "%dir /opt/rtems/lib" >> dirs ;
echo "%dir /opt/rtems/lib/gcc-lib" >> dirs ;
echo "%dir /opt/rtems/lib/gcc-lib/@target_alias@" >> dirs ;
# Collect multilib subdirectories
TGTDIR="$RPM_BUILD_ROOT/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@"
find $TGTDIR \
\( -type d -a ! -path "$TGTDIR/include*" \) -print | \
sed -e "s,^$RPM_BUILD_ROOT,%dir ,g" >> dirs
# 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 $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
# ==============================================================
# rtems-base-gcc
# ==============================================================
%package -n 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 /opt/rtems/info
%doc /opt/rtems/info/cpp.info*.gz
%doc /opt/rtems/info/gcc.info*.gz
%doc /opt/rtems/info/libc.info*.gz
%doc /opt/rtems/info/libm.info*.gz
%dir /opt/rtems/bin
/opt/rtems/bin/cpp@exe_ext@
/opt/rtems/bin/gcov@exe_ext@
%dir /opt/rtems/man
%dir /opt/rtems/man/man1
%doc /opt/rtems/man/man1/cccp.1
%dir /opt/rtems/include
/opt/rtems/include/g++-3
%post -n rtems-base-gcc
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi
%postun -n rtems-base-gcc
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi
# ==============================================================
# @target_alias@-gcc
# ==============================================================
%package -n @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 /opt/rtems/man/man1/@target_alias@-gcc.1
%doc /opt/rtems/man/man1/@target_alias@-g++.1
/opt/rtems/bin/@target_alias@-c++@exe_ext@
/opt/rtems/bin/@target_alias@-g++@exe_ext@
/opt/rtems/bin/@target_alias@-gcc@exe_ext@
/opt/rtems/bin/@target_alias@-protoize@exe_ext@
/opt/rtems/bin/@target_alias@-unprotoize@exe_ext@
%dir /opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/include
/opt/rtems/@target_alias@
# ==============================================================
# rtems-base-chill
# ==============================================================
%package -n 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 /opt/rtems/info
%doc /opt/rtems/info/chill.info*.gz
%post -n rtems-base-chill
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi
%postun -n rtems-base-chill
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi
# ==============================================================
# @target_alias@-chill
# ==============================================================
%package -n @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 /opt/rtems/bin
/opt/rtems/bin/@target_alias@-chill
# ==============================================================
# rtems-base-gcj
# ==============================================================
%package -n 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 /opt/rtems/bin
/opt/rtems/bin/jcf-dump@exe_ext@
/opt/rtems/bin/jv-scan@exe_ext@
/opt/rtems/bin/gcjh@exe_ext@
# ==============================================================
# @target_alias@-gcj
# ==============================================================
%package -n @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 /opt/rtems/bin
/opt/rtems/bin/@target_alias@-gcj@exe_ext@
/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/jc1@exe_ext@
/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/jvgenmain@exe_ext@
# ==============================================================
# rtems-base-g77
# ==============================================================
%package -n 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 /opt/rtems/info
%doc /opt/rtems/info/g77.info*.gz
%dir /opt/rtems/man
%dir /opt/rtems/man/man1
%doc /opt/rtems/man/man1/@target_alias@-g77.1
%post -n rtems-base-g77
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi
%postun -n rtems-base-g77
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi
# ==============================================================
# @target_alias@-g77
# ==============================================================
%package -n @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 /opt/rtems/bin
/opt/rtems/bin/@target_alias@-g77@exe_ext@
/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/f771@exe_ext@
# ==============================================================
# @target_alias@-objc
# ==============================================================
%package -n @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
/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/cc1obj@exe_ext@
/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/include/objc

View File

@@ -1,202 +0,0 @@
#
# spec file for building gcc (C Only) for rtems
#
# Copyright (c) 1999 OARCorp, Huntsville, AL
#
# please send bugfixes or comments to joel@OARcorp.com
#
Vendor: OAR Corporation
Distribution: Linux
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
Provides: rtems-base-gcc @target_alias@-gcc
Requires: @target_alias@-binutils
Autoreqprov: on
Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com
Version: gcc@gcc_version@newlib@newlib_version@
Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-@gcc_version@.tar.gz
Source1: ftp://sourceware.cygnus/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
Buildroot: /tmp
#
# 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/SOURCES directory ($RPM_SOURCE_DIR).
Or you can try the ftp options of rpm :-)
%package -n 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.
%package -n @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@.
%prep
# untar the sources inside @target_alias@-gcc-newlib
%setup -c -n @target_alias@-gcc-newlib -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=/opt/rtems '--enable-languages=c,c++'
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/opt/rtems/@target_alias@/bin
make prefix=$RPM_BUILD_ROOT/opt/rtems install
cd @target_alias@/newlib
make prefix=$RPM_BUILD_ROOT/opt/rtems install-info
# cd back to build/
cd ../..
# gzip info files
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info 2>/dev/null
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-? 2>/dev/null
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-?? 2>/dev/null
rm -f dirs ;
echo "%dir /opt/rtems/lib" >> dirs ;
echo "%dir /opt/rtems/lib/gcc-lib" >> dirs ;
echo "%dir /opt/rtems/lib/gcc-lib/@target_alias@" >> dirs ;
# Collect multilib subdirectories
TGTDIR="$RPM_BUILD_ROOT/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@"
find $TGTDIR \
\( -type d -a ! -path "$TGTDIR/include*" \) -print | \
sed -e "s,^$RPM_BUILD_ROOT,%dir ,g" >> dirs
# Collect files to go into different packages
cp dirs files.gcc
f=`find $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
%files -n rtems-base-gcc
%dir /opt/rtems/info
# %doc /opt/rtems/info/dir
%doc /opt/rtems/info/cpp.info*
%doc /opt/rtems/info/gcc.info*
%doc /opt/rtems/info/libc.info*
%doc /opt/rtems/info/libm.info*
%dir /opt/rtems/bin
/opt/rtems/bin/cpp@exe_ext@
/opt/rtems/bin/gcov@exe_ext@
%dir /opt/rtems/man
%dir /opt/rtems/man/man1
%doc /opt/rtems/man/man1/cccp.1
%dir /opt/rtems/include
/opt/rtems/include/g++-3
%files -n @target_alias@-gcc -f build/files.gcc
%doc /opt/rtems/man/man1/@target_alias@-gcc.1
%doc /opt/rtems/man/man1/@target_alias@-g++.1
/opt/rtems/bin/@target_alias@-c++@exe_ext@
/opt/rtems/bin/@target_alias@-g++@exe_ext@
/opt/rtems/bin/@target_alias@-gcc@exe_ext@
/opt/rtems/bin/@target_alias@-protoize@exe_ext@
/opt/rtems/bin/@target_alias@-unprotoize@exe_ext@
%dir /opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/include
/opt/rtems/@target_alias@
%post
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi
%postun
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi

View File

@@ -0,0 +1,18 @@
# ==============================================================
# @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 /opt/rtems/bin
/opt/rtems/bin/@target_alias@-chill

View File

@@ -0,0 +1,19 @@
# ==============================================================
# @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 /opt/rtems/bin
/opt/rtems/bin/@target_alias@-g77@exe_ext@
/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/f771@exe_ext@

View File

@@ -0,0 +1,28 @@
# ==============================================================
# @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 /opt/rtems/man/man1/@target_alias@-gcc.1
%doc /opt/rtems/man/man1/@target_alias@-g++.1
/opt/rtems/bin/@target_alias@-c++@exe_ext@
/opt/rtems/bin/@target_alias@-g++@exe_ext@
/opt/rtems/bin/@target_alias@-gcc@exe_ext@
/opt/rtems/bin/@target_alias@-protoize@exe_ext@
/opt/rtems/bin/@target_alias@-unprotoize@exe_ext@
%dir /opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/include
/opt/rtems/@target_alias@

View File

@@ -0,0 +1,21 @@
# ==============================================================
# @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 /opt/rtems/bin
/opt/rtems/bin/@target_alias@-gcj@exe_ext@
/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/jc1@exe_ext@
/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/jvgenmain@exe_ext@

View File

@@ -0,0 +1,17 @@
# ==============================================================
# @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
/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/cc1obj@exe_ext@
/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/include/objc

View File

@@ -6,6 +6,12 @@ AUTOMAKE_OPTIONS = foreign 1.4
MKGDBSPEC = $(SHELL) $(top_builddir)/mkgdbspec MKGDBSPEC = $(SHELL) $(top_builddir)/mkgdbspec
SUBPACKAGES = gdb.add base-gdb.add target-gdb.add
gdb.spec.in: $(SUBPACKAGES)
cat $^ > $@
CLEANFILES += gdb.spec.in
MKGDBSPEC_DEPS = $(top_builddir)/mkgdbspec gdb.spec.in \ MKGDBSPEC_DEPS = $(top_builddir)/mkgdbspec gdb.spec.in \
$(top_builddir)/setup.cache $(top_builddir)/setup.cache
@@ -39,17 +45,13 @@ sh-rtemself-$(GDBVERS).spec: $(MKGDBSPEC_DEPS)
sparc-rtems-$(GDBVERS).spec: $(MKGDBSPEC_DEPS) sparc-rtems-$(GDBVERS).spec: $(MKGDBSPEC_DEPS)
$(MKGDBSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems $(MKGDBSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems
TEMPLATES = gdb.spec.in
RPM_SPECS_DATA = hppa1.1-rtems-$(GDBVERS).spec i386-rtems-$(GDBVERS).spec \ RPM_SPECS_DATA = hppa1.1-rtems-$(GDBVERS).spec i386-rtems-$(GDBVERS).spec \
i960-rtems-$(GDBVERS).spec m68k-rtems-$(GDBVERS).spec \ i960-rtems-$(GDBVERS).spec m68k-rtems-$(GDBVERS).spec \
m68k-rtemself-$(GDBVERS).spec mips64orion-rtems-$(GDBVERS).spec \ m68k-rtemself-$(GDBVERS).spec mips64orion-rtems-$(GDBVERS).spec \
powerpc-rtems-$(GDBVERS).spec sh-rtems-$(GDBVERS).spec \ powerpc-rtems-$(GDBVERS).spec sh-rtems-$(GDBVERS).spec \
sh-rtemself-$(GDBVERS).spec sparc-rtems-$(GDBVERS).spec sh-rtemself-$(GDBVERS).spec sparc-rtems-$(GDBVERS).spec
CLEANFILES += $(RPM_SPECS_DATA)
noinst_DATA = $(TEMPLATES) EXTRA_DIST = $(SUBPACKAGES)
EXTRA_DIST = $(TEMPLATES)
CLEANFILES = $(RPM_SPECS_DATA)
include $(top_srcdir)/../automake/local.am include $(top_srcdir)/../automake/local.am

View File

@@ -0,0 +1,55 @@
# =====================================================================
# rtems-base-gdb
# =====================================================================
%package -n rtems-base-gdb
Provides: rtems-base-gdb
Summary: base package for rtems gdb
Group: rtems
%description -n rtems-base-gdb
RTEMS is an open source operating system for embedded systems.
This is the base for gdb regardless of target CPU.
%files -n rtems-base-gdb
%dir /opt/rtems/info
%doc /opt/rtems/info/gdb.info*
%doc /opt/rtems/info/mmalloc.info*
%doc /opt/rtems/info/readline.info*
%dir /opt/rtems/man
%dir /opt/rtems/man/man1
%dir /opt/rtems/include
# We install libbfd from binutils
# /opt/rtems/include/bfd.h
# /opt/rtems/include/bfdlink.h
%dir /opt/rtems/lib
# We install libbfd from binutils
# /opt/rtems/lib/libbfd*
# We use libiberty from gcc
# /opt/rtems/lib/libiberty*
%post -n rtems-base-gdb
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi
%postun -n rtems-base-gdb
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi

View File

@@ -0,0 +1,75 @@
#
# spec file for package rtems
#
# Copyright (c) 1999 OARCorp, Huntsville, AL
#
# please send bugfixes or comments to joel@OARcorp.com
#
# neededforbuild -- nothing
Vendor: OAR Corporation
Distribution: Linux
Name: @target_alias@-gdb-collection
Release: @Release@
License: GPL/LGPL
Group: rtems
Autoreqprov: on
Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com
Version: @gdb_version@
Summary: gdb for target @target_alias@
Source0: ftp://ftp.gnu.org/pub/gnu/gdb-@gdb_version@.tar.gz
Patch0: gdb-@gdb_version@-rtems-@gdb_patch_version@.diff
Buildroot: /tmp/@target_alias@-gdb
#
# 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
%description
RTEMS is an open source operating system for embedded systems.
This is the GNU gdb for RTEMS targetting @target_alias@.
%prep
echo RPM_BUILD_ROOT=${RPM_BUILD_ROOT}
# untar the sources inside @target_alias@-gdb
%setup -c -n @target_alias@-gdb -a 0
%patch0 -p0
%build
test -d build || mkdir build
cd build
../gdb-@gdb_version@/configure --target=@target_alias@ \
--verbose --prefix=/opt/rtems @extra_configure_arguments@
make all
make info
%install
cd build
make prefix=$RPM_BUILD_ROOT/opt/rtems install
make prefix=$RPM_BUILD_ROOT/opt/rtems install-info
# gzip info files
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info 2>/dev/null
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-? 2>/dev/null
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-?? 2>/dev/null
%clean
# let rpm --clean remove BuildRoot iif using the default BuildRoot
test "$RPM_BUILD_ROOT" = "/tmp/@target_alias@-gdb" && \
rm -rf $RPM_BUILD_ROOT

View File

@@ -1,144 +0,0 @@
#
# spec file for package rtems
#
# Copyright (c) 1999 OARCorp, Huntsville, AL
#
# please send bugfixes or comments to joel@OARcorp.com
#
# neededforbuild -- nothing
Vendor: OAR Corporation
Distribution: Linux
Name: @target_alias@-gdb-collection
Release: @Release@
License: GPL/LGPL
Group: rtems
Provides: rtems-base-gdb @target_alias@-gdb
Autoreqprov: on
Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com
Version: @gdb_version@
Summary: gdb for target @target_alias@
Source0: ftp://ftp.gnu.org/pub/gnu/gdb-@gdb_version@.tar.gz
Patch0: gdb-@gdb_version@-rtems-@gdb_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
%description
RTEMS is an open source operating system for embedded systems.
This is the GNU gdb for RTEMS targetting @target_alias@.
%package -n rtems-base-gdb
Summary: base package for rtems gdb
Group: rtems
%description -n rtems-base-gdb
RTEMS is an open source operating system for embedded systems.
This is the base for gdb regardless of target CPU.
%package -n @target_alias@-gdb
Summary: rtems gdb for @target_alias@
Group: rtems
Requires: rtems-base-gdb
%description -n @target_alias@-gdb
RTEMS is an open source operating system for embedded systems.
This is the GNU gdb for RTEMS targetting @target_alias@.
Authors:
--------
Joel Sherrill (joel@oarcorp.com)
...
%prep
echo RPM_BUILD_ROOT=${RPM_BUILD_ROOT}
# untar the sources inside @target_alias@-gdb
%setup -c -n @target_alias@-gdb -a 0
%patch0 -p0
%build
test -d build || mkdir build
cd build
../gdb-@gdb_version@/configure --target=@target_alias@ \
--verbose --prefix=/opt/rtems @extra_configure_arguments@
make all
make info
%install
cd build
make prefix=$RPM_BUILD_ROOT/opt/rtems install
make prefix=$RPM_BUILD_ROOT/opt/rtems install-info
# gzip info files
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info 2>/dev/null
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-? 2>/dev/null
gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-?? 2>/dev/null
%post
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi
%postun
if test -d $RPM_INSTALL_PREFIX/rtems/info;
then
rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
test -n "$f" && for i in $f; do
install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
done
fi
%files -n rtems-base-gdb
%dir /opt/rtems/info
%doc /opt/rtems/info/gdb.info*
%doc /opt/rtems/info/mmalloc.info*
%doc /opt/rtems/info/readline.info*
%dir /opt/rtems/man
%dir /opt/rtems/man/man1
%dir /opt/rtems/include
# We install libbfd from binutils
# /opt/rtems/include/bfd.h
# /opt/rtems/include/bfdlink.h
%dir /opt/rtems/lib
# We install libbfd from binutils
# /opt/rtems/lib/libbfd*
# We use libiberty from gcc
# /opt/rtems/lib/libiberty*
%files -n @target_alias@-gdb
%doc /opt/rtems/man/man1/@target_alias@-gdb.1
%dir /opt/rtems/bin
/opt/rtems/bin/@target_alias@-gdb@exe_ext@

View File

@@ -0,0 +1,21 @@
# =====================================================================
# @target_alias@-gdb
# =====================================================================
%package -n @target_alias@-gdb
Provides: @target_alias@-gdb
Summary: rtems gdb for @target_alias@
Group: rtems
Requires: rtems-base-gdb
%description -n @target_alias@-gdb
RTEMS is an open source operating system for embedded systems.
This is the GNU gdb for RTEMS targetting @target_alias@.
%files -n @target_alias@-gdb
%doc /opt/rtems/man/man1/@target_alias@-gdb.1
%dir /opt/rtems/bin
/opt/rtems/bin/@target_alias@-gdb@exe_ext@

View File

@@ -1,251 +0,0 @@
#!/bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5 (mit/util/scripts/install.sh).
#
# Copyright 1991 by the Massachusetts Institute of Technology
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of M.I.T. not be used in advertising or
# publicity pertaining to distribution of the software without specific,
# written prior permission. M.I.T. makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
transformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd="$cpprog"
shift
continue;;
-d) dir_arg=true
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd="$stripprog"
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "install: no input file specified"
exit 1
else
true
fi
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
if [ -d $dst ]; then
instcmd=:
chmodcmd=""
else
instcmd=mkdir
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f $src -o -d $src ]
then
true
else
echo "install: $src does not exist"
exit 1
fi
if [ x"$dst" = x ]
then
echo "install: no destination specified"
exit 1
else
true
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d $dst ]
then
dst="$dst"/`basename $src`
else
true
fi
fi
## this sed command emulates the dirname command
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-${defaultIFS}}"
oIFS="${IFS}"
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS="${oIFS}"
pathcomp=''
while [ $# -ne 0 ] ; do
pathcomp="${pathcomp}${1}"
shift
if [ ! -d "${pathcomp}" ] ;
then
$mkdirprog "${pathcomp}"
else
true
fi
pathcomp="${pathcomp}/"
done
fi
if [ x"$dir_arg" != x ]
then
$doit $instcmd $dst &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
else
# If we're going to rename the final executable, determine the name now.
if [ x"$transformarg" = x ]
then
dstfile=`basename $dst`
else
dstfile=`basename $dst $transformbasename |
sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename
if [ x"$dstfile" = x ]
then
dstfile=`basename $dst`
else
true
fi
# Make a temp file name in the proper directory.
dsttmp=$dstdir/#inst.$$#
# Move or copy the file name to the temp name
$doit $instcmd $src $dsttmp &&
trap "rm -f ${dsttmp}" 0 &&
# and set any options; do chmod last to preserve setuid bits
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
# Now rename the file to the real destination.
$doit $rmcmd -f $dstdir/$dstfile &&
$doit $mvcmd $dsttmp $dstdir/$dstfile
fi &&
exit 0

View File

@@ -1,190 +0,0 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
if test $# -eq 0; then
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
fi
case "$1" in
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
error status if there is no known handling for PROGRAM.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing - GNU libit 0.0"
;;
-*)
echo 1>&2 "$0: Unknown \`$1' option"
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
;;
aclocal)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acinclude.m4' or \`configure.in'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
touch aclocal.m4
;;
autoconf)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`configure.in'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
touch configure
;;
autoheader)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acconfig.h' or \`configure.in'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
case "$f" in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
esac
done
touch $touch_files
;;
automake)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
find . -type f -name Makefile.am -print |
sed 's/\.am$/.in/' |
while read f; do touch "$f"; done
;;
bison|yacc)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
if [ ! -f y.tab.h ]; then
echo >y.tab.h
fi
if [ ! -f y.tab.c ]; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
lex|flex)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
if [ ! -f lex.yy.c ]; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
makeinfo)
echo 1>&2 "\
WARNING: \`$1' is missing on your system. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
fi
touch $file
;;
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and you do not seem to have it handy on your
system. You might have modified some files without having the
proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequirements for installing
this package. You may also peek at any GNU archive site, in case
some other package would contain this missing \`$1' program."
exit 1
;;
esac
exit 0