Remove (Obsolete).

This commit is contained in:
Ralf Corsepius
2007-01-08 08:24:50 +00:00
parent 326e457ca5
commit c624ce8908
81 changed files with 0 additions and 6144 deletions

View File

@@ -1,22 +0,0 @@
aclocal.m4
autom4te*.cache
buildall
buildalltar
config.cache
config.guess
config.log
config.status
config.sub
configure
depcomp
install-sh
Makefile
Makefile.in
missing
mkbinutilspec
mkbspspec
mkgcc3newlibspec
mkgccnewlibspec
mkgdbspec
mkinstalldirs
setup.cache

File diff suppressed because it is too large Load Diff

View File

@@ -1,34 +0,0 @@
##
## $Id$
##
ACLOCAL_AMFLAGS = -I ../aclocal
SUBDIRS = . binutils gccnewlib gdb rtems autotools cpukit
SUBDIRS += rtemsdoc
noinst_SCRIPTS = setup buildall buildalltar mkrpms mkspec
noinst_DATA = setup.def
EXTRA_DIST = $(noinst_DATA) $(noinst_SCRIPTS)
CONFIG_STATUS_DEPENDENCIES = setup.cache
setup.cache: setup.def
cp setup.def $@
rtems_source_spec_DEPS = common/common.add rtems/rtems-source.add \
common/clean.add
noinst_DATA += rtems/rtems-source.spec
rtems/rtems-source.spec: $(rtems_source_spec_DEPS)
cat $(rtems_source_spec_DEPS) | sed \
-e 's,[@]rtems_version[@],$(RTEMS_VERSION),g' \
-e 's,[@]rpmprefix[@],$(rpmprefix),g' \
-e 's,[@]RTEMS_RPM_RELEASE[@],$(RTEMS_RPM_RELEASE),g' > $@
CLEANFILES = rtems/rtems-source.spec
DISTCLEANFILES = setup.cache
include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am

View File

@@ -1,255 +0,0 @@
RPM support for BSPs
====================
Introduction
------------
Building an rpm requires to have a tar archive of the sources, and a
rpm-spec files specifying the details of building.
To support per bsp rpms, one rpm-spec is used per BSP.
Instead of writing one rpm-spec for each BSP, I have written a shell script
(mkspec) which generates one *.spec (rtems-<target_alias>-<bsp>.spec) per BSP
bsp from an rpm-spec template (rtems.spec.in).
A second shell script (mkrpms) is a convienience script which invokes a
sequence of building rpms for several bsps.
mkbinutilspec
-------------
mkbinutilspec takes two arguments:
$1 ... the target_alias for binutils RPMs of this toolset
Invoking mkbinutilspec will generate a <target_alias>-binutils.spec either in
/usr/src/packages/SPECS (SuSE convention) or
/usr/src/redhat/SPECS (Redhat convention) or
/usr/src/SPECS
Eg. ./mkbinutilspec sparc-rtems generates
On SuSE-6.2: /usr/src/packages/SPECS/sparc-rtems-binutils.spec
On RedHat 6.0: /usr/src/redhat/SPECS/sparc-rtems-binutils.spec
mkgccnewlibspec
---------------
mkgccnewlibspec takes two arguments:
$1 ... the target_alias for the gcc/newlib RPMs of this toolset
Invoking mkgccnewlibspec will generate a <target_alias>-gccnewlibs.spec
either in:
/usr/src/packages/SPECS (SuSE convention) or
/usr/src/redhat/SPECS (Redhat convention) or
/usr/src/SPECS
Eg. ./mkgccnewlibspec sparc-rtems generates
On SuSE-6.2: /usr/src/packages/SPECS/sparc-rtems-gcc_newlib.spec
On RedHat 6.0: /usr/src/redhat/SPECS/sparc-rtems-gcc_newlib.spec
mkgdbspec
---------
mkgdbspec takes two arguments:
$1 ... the target_alias for the gdb RPMs of this toolset
Invoking mkgdbspec will generate a <target_alias>-gdb.spec
either in:
/usr/src/packages/SPECS (SuSE convention) or
/usr/src/redhat/SPECS (Redhat convention) or
/usr/src/SPECS
Eg. ./mkgdbspec sparc-rtems generates
On SuSE-6.2: /usr/src/packages/SPECS/sparc-rtems-gcc_newlib.spec
On RedHat 6.0: /usr/src/redhat/SPECS/sparc-rtems-gcc_newlib.spec
# XXX BSPs not tested yet by Joel
#
# mkbspspec
# ---------
#
# mkbspspec takes two arguments:
# $1 ... the target_alias this bsp belongs to
# $2 ... the bsp to be built
#
# Invoking mkbspspec will generate a rtems-<target_alias>-<bsp>.spec either in
# /usr/src/packages/SPECS (SuSE convention) or
# /usr/src/redhat/SPECS (Redhat convention) or
# /usr/src/SPECS
#
# Eg. ./mkspec gensh1 sh-rtemself generates
# /usr/src/packages/SPECS/rtems-sh-rtemself-gensh1.spec on SuSE-6.2.
mkspec
---------
mkspec takes two arguments:
$1 ... the target_alias for the RPMs composing this toolset
$2 ... the bsp to be built
Invoking mkspec will generate a set of spec files either in:
/usr/src/packages/SPECS (SuSE convention) or
/usr/src/redhat/SPECS (Redhat convention) or
/usr/src/SPECS
Eg. ./mkspec sparc-rtems erc32 generates
On SuSE-6.2: /usr/src/packages/SPECS/sparc-rtems-binutils.spec
/usr/src/packages/SPECS/sparc-rtems-gcc_newlib.spec
/usr/src/packages/SPECS/sparc-rtems-gdb.spec
On RedHat 6.0: /usr/src/packages/SPECS/sparc-rtems-binutils.spec
/usr/src/packages/SPECS/sparc-rtems-gcc_newlib.spec
/usr/src/packages/SPECS/sparc-rtems-gdb.spec
Building binutils-rpms
----------------------
0. Login as root.
1. Install a tarball of the various tool sources (with the
version number attached!) to /usr/src/[packages|redhat]/SOURCES
cd /usr/src/[packages|redhat]/SOURCES
cp .../binutils-<VERSION> .
cp .../binutils-<VERSION>-rtems-<DATE>.diff .
2. Generate and install the required rpm-spec file[s]
cd rtems-<VERSION>/scripts/
mkbinutilspec <target_alias>
where target_alias is of the form sparc-rtems or sh-rtems-elf.
3. Build the rpms
Building a binary rpm:
rpm -bb /usr/src/[packages|redhat]/SPECS/rtems-<target_alias>-binutils.spec
Building a source and binary rpm
rpm -ba /usr/src/[packages|redhat]/SPECS/rtems-<target_alias>-binutils.spec
XXX Note: a BSP's src.rpm contains its spec-file and the tar-archive of the
sources (approx. 4-5MB per BSP).
Building TOOL-rpms
------------------
0. Login as root.
1. Install a tarball of the various tool sources (with the
version number attached!) to /usr/src/[packages|redhat]/SOURCES
cd /usr/src/[packages|redhat]/SOURCES
cp .../binutils-<VERSION> .
cp .../gcc-<VERSION> .
cp .../newlib-<VERSION> .
2. Generate and install the required rpm-spec file[s]
cd rtems-<VERSION>/scripts/
mktoolspec <target_alias>
3. Build the rpms
Building a binary rpm:
rpm -bb /usr/src/[packages|redhat]/SPECS/rtems-<target_alias>.spec
Building a source and binary rpm
rpm -ba /usr/src/[packages|redhat]/SPECS/rtems-<target_alias>.spec
XXX Note: a BSP's src.rpm contains its spec-file and the tar-archive of the
sources (approx. 4-5MB per BSP).
Building BSP-rpms
-----------------
0. Login as root.
1. Install a tarball of RTEMS's sources (with version number attached!) to
/usr/src/[packages|redhat]/SOURCES
Eg.
tar czvf /usr/src/packages/SOURCES/rtems-<VERSION>.tar.gz rtems-<VERSION>
2. Generate and install the required rpm-spec file[s]
cd rtems-<VERSION>/scripts/
mkspec <bsp> <target_alias>
3. Build the rpms
Building a binary rpm:
rpm -bb /usr/src/[packages|redhat]/SPECS/rtems-<target_alias>-<bsp>.spec
Building a source and binary rpm
rpm -ba /usr/src/[packages|redhat]/SPECS/rtems-<target_alias>-<bsp>.spec
Note: a BSP's src.rpm contains its spec-file and the tar-archive of the
sources (approx. 4-5MB per BSP).
Canadian Cross RPMS
-------------------
Normally one uses a GNU/Linux host computer to produce RPMs that are
to be installed and run on another GNU/Linux host computer. When
building Canadian Cross RPMs, we build *-rtems tools that are to be
installed on a non-GNU/Linux host.
To build cygwin-rpms on a GNU/Linux host, you will to have a GNU/Linux ->
i386-cygwin cross-toolset installed and in your PATH before executing the
following commands:
cd scripts
./configure --build=`../config.guess` --host=i386-cygwin \
--target=<target>
make
rpm --target=<i386-cygwin> -b[b|a] binutils/<target>-....spec
Known Bugs/Deficiencies
-----------------------
* All files mentioned in here are in its early infancy ;-)
* Building for a single bsp requires an own copy of the source tree inside
rpm's build directory.
* Building inside the RTEMS source tree doesn't work.
* Dependencies on toolchain-rpms not yet supported in rtems.spec.in.
* Installing multiple binary bsp rpms for the same target can cause
warnings from rpm, because these bsp-rpms share files.
* rtems.spec.in is prepared for rpm relocation support, but RTEMS is not
relocatible (yet?)
* rtems.spec.in deserves to be extended (description, authors etc)
* The final packaging stage to build a binary rpm takes an awful lot of
time - deserves to be investigated.
* Some RTEMS's cross executables (eg. hello.exe for sparc-rtems/erc32) cause
warnings from rpm and/or objdump. AFAIS, this is a bug in rpm.
* Probably many more ...
* Last but not least: RTEMS should be split.
Remarks
-------
* It would make sense to split RTEMS host/cross-tools and files depending on
the target only (<target_alias>/make/*.cfg -- Whow, RTEMS really has files
which depend on the target only :) into separate rpms.
* Instead of using a single rpm-spec for each bsp, RTEMS could also use a
single rpm-spec for all (or at least a given subset of all) bsps of a target.
* rpm -b[b|a] leaves its built trees unpacked in
/usr/src/[packages|redhat]/BUILD. Therefore you will rather soon run out of disc
space if not removing them. (Use rpm --clean -b[a|b] for cleaning them up
automatically after building)
* The size of binary rpms can differ up to one magnitude depending on the
target/bsp (eg. sh-rtems/gensh1 ~10MB vs. sh-rtemself/gensh1 ~32MB)
Ralf Corsepius, 1999/10/14

View File

@@ -1,122 +0,0 @@
Applying RTEMS-toolchain RPM-specs for Canadian Cross Compilation
=================================================================
Example: Building a Cygwin-based xxx-rtems toolchain under Linux:
Quickstart
----------
The command to invoke rpm for building RTEMS's gnu toolchain cdn. cross
under Linux is:
rpmbuild -ba xxx-rtems-yyy.spec \
--define='_build i686-pc-linux-gnu'
--define='_host i686-pc-cygwin' \
--target=i686-pc-cygwin
[If using rpm < 4.1, use "rpm" instead of "rpmbuild".]
If you don't understand this, read on ... :-)
1. Prerequisites
----------------
* a native Linux-toolchain (eg. gcc, binutils).
Prebuild binaries should come with any Linux distribution.
We further on assume this toolchain to be installed in /usr, such that
/usr/bin/gcc is supposed to be your native CC.
* a Linux -> Cygwin cross-toolchain
RPM-specs are available in the contrib/cygwin directory in RTEMS's sourcetree.
Prebuild binaries should be available from
ftp://ftp.OARCorp.com
http://packman.links2linux.de
We further on assume this toolchain to be installed in /opt/i686-pc-cygwin,
i.e. /opt/i686-pc-cygwin/bin/i686-pc-cygwin-gcc is assumed to be the linux->cygwin
cross compiler.
2. Preparations
---------------
* Make sure to have /usr/bin and /opt/i686-pc-cygwin/bin in $PATH.
* Download the source-tarballs and patches. Put them into a directory where
rpm can pick them up (/usr/src/redhat/SOURCES under RH)
* configure this directory
./configure
[Many files being generated]
Among these files the rpm.specs will be generated, one per tool in its
corresponding subdirectory.
The spec-files you are looking for are:
binutils/xxx-rtems-binutils.spec
gccnewlib/xxx-rtems-gccnewlib.spec
gdb/xxx-rtems-gdb.spec
[You must have appropriate versions of autoconf and
automake installed.]
3. Building
-----------
rpmbuild -ba binutils/xxx-rtems-binutils-<binutilsvers>.spec \
--define='_build=i686-pc-linux-gnu' \
--define='_host=i686-pc-cygwin' \
--target=i686-pc-cygwin
rpmbuild -ba gccnewlib/xxx-rtems-gcc-<gccvers>-newlib-<newlibvers>.spec \
--define='_build=i686-pc-linux-gnu' \
--define='_host=i686-pc-cygwin' \
--target=i686-pc-cygwin
rpmbuild -ba
gdb/xxx-rtems-gdb-<gdbvers>.spec \
--define='_build=i686-pc-linux-gnu' \
--define='_host=i686-pc-cygwin' \
--target=i686-pc-cygwin
Each of these commands builds several corresponding rpms.
[Beware: This can take several hours.]
NOTE: These packages will be packaged as Linux' rpms, but contain Cygwin
binaries. If using the default rpm-directories, this will put the rpms into
your linux RPM-directories, i.e. pollute these directories with foreign
RPMs.
To avoid this, I recommend to set up RPM's internal variable %_rpmdir to
point to a different directory than the default or to use a different root for the cygwin
RPM directory tree, i.e. to set %_topdir. [1]
4. Repackaging the RPMS into tarballs
-------------------------------------
Basically, there exist two ways:
* Applying "alien".
I highly recommend using this, but unfortunately alien is not
shipped with all Linux distributions.
[alien can also be applied to repackage the rpms into other packaging
formats.]
* Manual unpacking and tar-ing
cd <empty-directory>
rpmcpio xxx-rtems-yyy.<arch>.rpm | cpio -i --make-directories
tar cjvf <where-ever>/xxx-rtems-yyy.<arch>.tar.bz2 opt/rtems
rm -rf opt/rtems
NOTE: You might want to consider performing repackaging as root to avoid
loosing file permissions.
5. Other platforms
------------------
The procedure to build for other platforms (Solaris, ...) is analogous. Just
replace i686-pc-cygwin with your target, eg sun-sparc-solaris2.8
Ralf Corsepius 2003-01-31
[1] Setting up an rpm variable can be done:
* on the command line:
rpmbuild --define='_topdir /home/user/src/cygwin' ...
* from a user's ~/.rpmmacros
_topdir /home/user/src/cygwin

View File

@@ -1,7 +0,0 @@
#
# $Id$
#
There is plenty left to do on this :)
+ Add GNAT/RTEMS version.

View File

@@ -1,20 +0,0 @@
AC_DEFUN([RTEMS_ENABLE_RPMPREFIX],[
AC_ARG_ENABLE([rpmprefix],
[ --enable-rpmprefix=<rpmprefix> prefix rpms],
[case $enable_rpmprefix in
yes ) rpmprefix="rtems-"]RTEMS_API["-";;
no ) rpmprefix="";;
* ) AS_IF([test -z "$enable_rpmprefix"],
[rpmprefix=""],
[rpmprefix="$enable_rpmprefix"]);;
esac],
[rpmprefix="rtems-"]RTEMS_API["-"])
AC_ARG_ENABLE([osversions],
[ --enable-osversions whether to use version numbers in os-tripples],
[case $enable_osversions in
yes ) osversion=RTEMS_API;;
* ) osversion=;;
esac],
[osversion=RTEMS_API])
])

View File

@@ -1,4 +0,0 @@
*.spec
*.spec.in
Makefile
Makefile.in

View File

@@ -1,25 +0,0 @@
##
## $Id$
##
include $(top_srcdir)/common/common.am
automake-rtems.spec.in: header.add $(top_builddir)/common/common.add automake.add
cat $^ > $@
CLEANFILES = automake-rtems.spec.in
RPM_SPECS_DATA = @rpmprefix@automake-rtems.spec
autoconf-rtems.spec.in: header.add $(top_builddir)/common/common.add autoconf.add
cat $^ > $@
CLEANFILES += autoconf-rtems.spec.in
RPM_SPECS_DATA += @rpmprefix@autoconf-rtems.spec
@rpmprefix@autoconf-rtems.spec: autoconf-rtems.spec.in
$(top_builddir)/config.status --file=@rpmprefix@autoconf-rtems.spec:autoconf-rtems.spec.in
@rpmprefix@automake-rtems.spec: automake-rtems.spec.in
$(top_builddir)/config.status --file=@rpmprefix@automake-rtems.spec:automake-rtems.spec.in
CLEANFILES += $(RPM_SPECS_DATA)
include $(top_srcdir)/../automake/local.am

View File

@@ -1,89 +0,0 @@
%define rpmvers 2.60
%define srcvers 2.60
%define _name autoconf
%if "%{_prefix}" != "/usr"
%define name @rpmprefix@%{_name}-rtems
%else
%define name %{_name}
%endif
Name: %{name}
License: GPL
URL: http://www.gnu.org/software/autoconf
Group: @rpmgroup@
Version: %{rpmvers}
Release: 0%{?dist}
Summary: Tool for automatically generating GNU style Makefile.in's
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: perl m4 gawk emacs
Requires: m4 gawk
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
Source: autoconf-%{srcvers}.tar.bz2
%description
GNU's Autoconf is a tool for configuring source code and Makefiles.
Using Autoconf, programmers can create portable and configurable
packages, since the person building the package is allowed to
specify various configuration options.
You should install Autoconf if you are developing software and you'd
like to use it to create shell scripts which will configure your
source code packages.
Note that the Autoconf package is not required for the end user who
may be configuring software with an Autoconf-generated script;
Autoconf is only required for the generation of the scripts, not
their use.
%prep
%setup -q -n %{_name}-%{srcvers}
%build
./configure --prefix=%{_prefix} --infodir=%{_infodir} --mandir=%{_mandir} \
--bindir=%{_bindir} --datadir=%{_datadir}
make
%install
rm -rf "${RPM_BUILD_ROOT}"
make DESTDIR=${RPM_BUILD_ROOT} install
# Create this directory to prevent the corresponding line
# in %%files below to fail
mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/emacs/site-lisp
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir
gzip -9qf $RPM_BUILD_ROOT%{_infodir}/autoconf.info* 2>/dev/null
# RTEMS's standards.info comes from binutils
rm -f $RPM_BUILD_ROOT%{_infodir}/standards.info*
gzip -9qf $RPM_BUILD_ROOT%{_mandir}/man?/* 2>/dev/null
%clean
rm -rf "$RPM_BUILD_ROOT"
%post
install-info --info-dir=%{_infodir} %{_infodir}/autoconf.info.gz
%preun
if [ $1 -eq 0 ]; then
install-info --delete --info-dir=%{_infodir} %{_infodir}/autoconf.info.gz
fi
%files
%defattr(-,root,root)
# %doc AUTHORS COPYING ChangeLog NEWS README THANKS
%{_bindir}/*
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/autoconf.info*
%{_mandir}/man?/*
%{_datadir}/autoconf
%exclude %{_datadir}/emacs/site-lisp

View File

@@ -1,95 +0,0 @@
#
# spec file for automake
#
%define rpmvers 1.9.6
%define srcvers 1.9.6
%define amvers 1.9
%define _name automake
%if "%{_prefix}" != "/usr"
%define name @rpmprefix@%{_name}-rtems
%define requirements @rpmprefix@autoconf-rtems >= 2.59
%else
%define name %{_name}
%define requirements autoconf >= 2.59
%endif
Name: %{name}
URL: http://sources.redhat.com/automake
License: GPL
Group: @rpmgroup@
Version: %{rpmvers}
Release: 0%{?dist}
Summary: Tool for automatically generating GNU style Makefile.in's
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: %{requirements} perl help2man
Requires: %{requirements}
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
Source: ftp://ftp.gnu.org/gnu/automake/automake-%{srcvers}.tar.bz2
Patch0: automake-1.8.1-rtems-20040112-1.diff
%description
Automake is a tool for automatically generating "Makefile.in"s from
files called "Makefile.am". "Makefile.am" is basically a series of
"make" macro definitions (with rules being thrown in occasionally).
The generated "Makefile.in"s are compatible to the GNU Makefile
standards.
%prep
%setup -q -n %{_name}-%{srcvers}
%patch0 -p0
%build
PATH=%{_prefix}/bin:$PATH
./configure --prefix=%{_prefix} --infodir=%{_infodir} --mandir=%{_mandir} \
--bindir=%{_bindir} --datadir=%{_datadir}
make
%install
rm -rf "$RPM_BUILD_ROOT"
make DESTDIR=${RPM_BUILD_ROOT} install
install -m 755 -d $RPM_BUILD_ROOT/%{_mandir}/man1
for i in $RPM_BUILD_ROOT%{_bindir}/aclocal \
$RPM_BUILD_ROOT%{_bindir}/automake ;
do
perllibdir=$RPM_BUILD_ROOT/%{_datadir}/automake-%{amvers} \
help2man $i > `basename $i`.1
install -m 644 `basename $i`.1 $RPM_BUILD_ROOT/%{_mandir}/man1
done
gzip -9qf $RPM_BUILD_ROOT%{_infodir}/*.info* 2>/dev/null
gzip -9qf $RPM_BUILD_ROOT%{_mandir}/man?/* 2>/dev/null
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir
%clean
rm -rf "$RPM_BUILD_ROOT"
%post
install-info --info-dir=%{_infodir} %{_infodir}/automake.info.gz
%preun
if [ $1 -eq 0 ]; then
install-info --delete --info-dir=%{_infodir} %{_infodir}/automake.info.gz
fi
%files
%defattr(-,root,root)
%doc AUTHORS COPYING ChangeLog NEWS README THANKS
%{_bindir}/aclocal*
%{_bindir}/automake*
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/automake.info*.gz
%{_mandir}/man?/*
%{_datadir}/aclocal-%{amvers}
%{_datadir}/automake-%{amvers}

View File

@@ -1,3 +0,0 @@
#
# Copyright (c) 2005 Ralf Corsepius, Ulm/Germany
#

View File

@@ -1,6 +0,0 @@
*.spec
Makefile
Makefile.in
binutils.spec
binutils.spec.in
mkspec

View File

@@ -1,29 +0,0 @@
#
# History of the binutils RPMs
#
# $Id$
#
RPM Version binutils-2.10-3
===========================
+ Add reloc16.c fix for H8.
binutils-2.10-rtems-20001102.diff
- adds reloc16.c patch from Nick Clifton <nickc@redhat.com>
RPM Version binutils-2.10-1
===========================
+ Add initial support for the ARM.
+ Adds support for the h8300.
binutils-2.10-rtems-20000628.diff
- adds h8300 support.
RPM Version binutils-2.9.5.0.24-1
=================================
+ Corrects the object format for numerous RTEMS targets. Released with
RTEMS 4.5.0-beta3a.
binutils-2.9.5.0.24-rtems-20000207.diff
- base line

View File

@@ -1,74 +0,0 @@
##
## $Id$
##
include $(top_srcdir)/common/common.am
MKBINUTILSSPEC = $(SHELL) ./mkspec
SUBPACKAGES = header.add
SUBPACKAGES += $(top_builddir)/common/common.add binutils.add
SUBPACKAGES += $(top_builddir)/common/clean.add
SUBPACKAGES += target-binutils.add
SUBPACKAGES += base-binutils.add
binutils.spec.in: $(SUBPACKAGES)
cat $^ > $@
CLEANFILES = binutils.spec.in
RPM_SPECS_DATA =
MKBINUTILSSPEC_DEPS = mkspec binutils.spec.in $(top_builddir)/setup.cache
@rpmprefix@arm-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache arm-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@arm-rtems@osversion@-binutils.spec
@rpmprefix@h8300-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache h8300-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@h8300-rtems@osversion@-binutils.spec
@rpmprefix@i386-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache i386-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@i386-rtems@osversion@-binutils.spec
@rpmprefix@m68k-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache m68k-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@m68k-rtems@osversion@-binutils.spec
@rpmprefix@mips-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache mips-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@mips-rtems@osversion@-binutils.spec
@rpmprefix@mips64-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache mips64-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@mips64-rtems@osversion@-binutils.spec
@rpmprefix@powerpc-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache powerpc-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@powerpc-rtems@osversion@-binutils.spec
@rpmprefix@sh-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache sh-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@sh-rtems@osversion@-binutils.spec
@rpmprefix@sh-rtemscoff@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache sh-rtemscoff@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@sh-rtemscoff@osversion@-binutils.spec
@rpmprefix@sparc-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache sparc-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@sparc-rtems@osversion@-binutils.spec
@rpmprefix@tic4x-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache tic4x-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@tic4x-rtems@osversion@-binutils.spec
@rpmprefix@avr-rtems@osversion@-binutils.spec: $(MKBINUTILSSPEC_DEPS)
$(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache avr-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@avr-rtems@osversion@-binutils.spec
CLEANFILES += $(RPM_SPECS_DATA)
EXTRA_DIST = $(SUBPACKAGES)
include $(top_srcdir)/../automake/local.am

View File

@@ -1,56 +0,0 @@
%if "%{_prefix}" != "/usr"
# ==============================================================
# rtems-base-binutils
# ==============================================================
%package -n @rpmprefix@rtems@osversion@-base-binutils
Summary: base package for rtems binutils
Group: %{rpmgroup}
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n @rpmprefix@rtems@osversion@-base-binutils
RTEMS is an open source operating system for embedded systems.
This is the base for binutils regardless of target CPU.
%post -n @rpmprefix@rtems@osversion@-base-binutils
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/standards.info.gz
%if "%{binutils_version}" < "2.13"
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gasp.info.gz
%endif
%preun -n @rpmprefix@rtems@osversion@-base-binutils
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/as.info.gz
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/standards.info.gz
%if "%{binutils_version}" < "2.13"
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gasp.info.gz
%endif
fi
%files -n @rpmprefix@rtems@osversion@-base-binutils
%defattr(-,root,root)
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/as.info*
%{_infodir}/bfd.info*
%{_infodir}/binutils.info*
%{_infodir}/ld.info*
%{_infodir}/standards.info*
%if "%{binutils_version}" < "2.13"
%{_infodir}/gasp.info*
%endif
%dir %{_prefix}/share
%dir %{_prefix}/share/locale
%endif

View File

@@ -1,146 +0,0 @@
%define binutils_version @binutils_version@
%define binutils_target @target_alias@
Name: @rpmprefix@%{binutils_target}-binutils
Summary: Binutils for target %{binutils_target}
Group: %{rpmgroup}
Version: %{binutils_version}
Release: @Release@
License: GPL/LGPL
URL: http://sources.redhat.com/binutils
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%if "%{_prefix}" != "/usr"
# Required for building the infos
BuildRequires: /sbin/install-info
BuildRequires: texinfo >= 4.2
%endif
BuildRequires: flex
Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-%{binutils_version}@binutils_suffix@
@PATCH1@
#
# 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 :-)
#
%{?!_with_sources:NoSource: 0}
# %description
#
# RTEMS is an open source operating system for embedded systems.
#
# This is binutils sources with patches for RTEMS.
%prep
%setup -q -c -T -n %{name}-%{version}
%setup -q -D -T -n %{name}-%{version} -a0
%if "%{_prefix}" != "/usr"
# Extract %%__os_install_post into os_install_post~
cat << \EOF >> os_install_post~
%__os_install_post
EOF
# Generate customized brp-*scripts
cat os_install_post~ | while read a x y; do
case $a in
%if "%{_prefix}" != "/usr"
# Fix up brp-compress to handle %%_prefix != /usr
*/brp-compress*)
b=$(basename $a)
sed -e 's,\./usr/,./%{_prefix},' < $a > $b
chmod a+x $b
;;
%endif
esac
done
sed -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \
< os_install_post~ > os_install_post
%define __os_install_post . ./os_install_post
%endif
cd binutils-%{version}
%{?PATCH0:%patch0 -p1}
cd ..
%build
mkdir -p build
cd build
CFLAGS="$RPM_OPT_FLAGS" \
../binutils-%{binutils_version}/configure \
--build=%_build --host=%_host \
--target=%{binutils_target} \
--verbose --disable-nls \
--prefix=%{_prefix} --bindir=%{_bindir} \
--includedir=%{_includedir} --libdir=%{_libdir} \
--mandir=%{_mandir} --infodir=%{_infodir} \
make all
%if "%{_prefix}" != "/usr"
make info
%endif
cd ..
%install
rm -rf $RPM_BUILD_ROOT
cd build
make prefix=$RPM_BUILD_ROOT%{_prefix} \
bindir=$RPM_BUILD_ROOT%{_bindir} \
includedir=$RPM_BUILD_ROOT%{_includedir} \
libdir=$RPM_BUILD_ROOT%{_libdir} \
infodir=$RPM_BUILD_ROOT%{_infodir} \
mandir=$RPM_BUILD_ROOT%{_mandir} \
install
%if "%{_prefix}" != "/usr"
make prefix=$RPM_BUILD_ROOT%{_prefix} \
bindir=$RPM_BUILD_ROOT%{_bindir} \
includedir=$RPM_BUILD_ROOT%{_includedir} \
libdir=$RPM_BUILD_ROOT%{_libdir} \
infodir=$RPM_BUILD_ROOT%{_infodir} \
mandir=$RPM_BUILD_ROOT%{_mandir} \
install-info
%endif
%if "%{_prefix}" == "/usr"
# Conflict with a native binutils' infos
rm -rf $RPM_BUILD_ROOT%{_infodir}
%else
%if "%{binutils_version}" < "2.9.5"
rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info*
%endif
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir
# binutils does not install share/locale, however it uses it
mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/locale
%endif
# We don't ship host files
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty*
# manpages without corresponding tools
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/%{binutils_target}-dlltool%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/%{binutils_target}-dlltool*
fi
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/%{binutils_target}-nlmconv%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/%{binutils_target}-nlmconv*
fi
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/%{binutils_target}-windres%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/%{binutils_target}-windres*
fi
cd ..

View File

@@ -1,6 +0,0 @@
#
# spec file for building binutils for @target_alias@
#
# supported --with/--without options:
# --with sources build src.rpm instead of nosrc.rpm
#

View File

@@ -1,65 +0,0 @@
#!/bin/sh
#
# Usage: mkspec CPU
#
RTEMS_DIR=`dirname $0`/@top_srcdir@
CFG=../setup.cache
specsrc=${RTEMS_DIR}/binutils/binutils.spec.in
usage()
{
echo "$0 [options] <target_alias>"
echo " options:"
echo " -cfg <setup.cache>"
echo " -a <alternate specs.in>"
exit 1 ;
}
while test $# -ge 2; do
case $1 in
-cfg)
shift
CFG=$1
shift
;;
-a)
shift
specsrc=$1
shift
;;
-*)
echo "invalid option $1";
usage
;;
esac
done
if test ! $# -eq 1;
then
echo "Invalid number of arguments"
usage
fi
# target to build for
target_alias=$1
. ./$CFG
if test -n "${binutils_patch_version}"; then
PATCH1="Patch0: binutils-${binutils_version}-rtems-${binutils_patch_version}.diff"
fi
sed -e "s,@Release\@,${binutils_rpm_release},g" \
-e "s,@target_alias\@,${target_alias},g" \
-e "s,@prefix\@,@prefix@,g" \
-e "s,@rpmprefix\@,@rpmprefix@,g" \
-e "s,@rpmgroup\@,@rpmgroup@,g" \
-e "s,@osversion\@,@osversion@,g" \
-e "s,@binutils_version\@,${binutils_version},g" \
-e "s,@binutils_patch_version\@,${binutils_patch_version},g" \
-e "s,@binutils_suffix\@,${binutils_suffix},g" \
-e "s,@PATCH1\@,${PATCH1}," \
< ${specsrc}

View File

@@ -1,31 +0,0 @@
# ==============================================================
# %{binutils_target}-binutils
# ==============================================================
# %package -n @rpmprefix@%{binutils_target}-binutils
# Summary: rtems binutils for %{binutils_target}
# Group: %{rpmgroup}
# Requires: @rpmprefix@rtems@osversion@-base-binutils
%description -n @rpmprefix@%{binutils_target}-binutils
GNU binutils targetting %{binutils_target}.
%files -n @rpmprefix@%{binutils_target}-binutils
%defattr(-,root,root)
%if "%{_prefix}" != "/usr"
%dir %{_mandir}
%dir %{_mandir}/man1
%endif
%{_mandir}/man1/%{binutils_target}-*.1*
%if "%{_prefix}" != "/usr"
%dir %{_bindir}
%endif
%{_bindir}/%{binutils_target}-*
%dir %{_prefix}/%{binutils_target}
%dir %{_prefix}/%{binutils_target}/bin
%{_prefix}/%{binutils_target}/bin/*
%dir %{_prefix}/%{binutils_target}/lib
%{_prefix}/%{binutils_target}/lib/ldscripts

View File

@@ -1,53 +0,0 @@
#!/bin/sh
# If using normal root, avoid changing anything.
if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then
exit 0
fi
cd $RPM_BUILD_ROOT
# Compress man pages
COMPRESS="gzip -9 -n"
COMPRESS_EXT=.gz
for d in @BRPCOMPRESSPATH@
do
[ -d $d ] || continue
for f in `find $d -type f`
do
[ -f "$f" ] || continue
[ "`basename $f`" = "dir" ] && continue
case "$f" in
*.Z) gunzip $f; b=`echo $f | sed -e 's/\.Z$//'`;;
*.gz) gunzip $f; b=`echo $f | sed -e 's/\.gz$//'`;;
*.bz2) bunzip2 $f; b=`echo $f | sed -e 's/\.bz2$//'`;;
*) b=$f;;
esac
$COMPRESS $b </dev/null 2>/dev/null || {
inode=`ls -i $b | awk '{ print $1 }'`
others=`find $d -type f -inum $inode`
if [ -n "$others" ]; then
for afile in $others ; do
[ "$afile" != "$b" ] && rm -f $afile
done
$COMPRESS -f $b
for afile in $others ; do
[ "$afile" != "$b" ] && ln $b$COMPRESS_EXT $afile$COMPRESS_EXT
done
else
$COMPRESS -f $b
fi
}
done
for f in `find $d -type l`
do
l=`ls -l $f | sed -e 's/.* -> //' -e 's/\.gz$//' -e 's/\.bz2$//' -e 's/\.Z$//'`
rm -f $f
b=`echo $f | sed -e 's/\.gz$//' -e 's/\.bz2$//' -e 's/\.Z$//'`
ln -sf $l$COMPRESS_EXT $b$COMPRESS_EXT
done
done

View File

@@ -1,19 +0,0 @@
#!/bin/sh
# If using normal root, avoid changing anything.
if [ -z "$RPM_BUILD_ROOT" -o "$RPM_BUILD_ROOT" = "/" ]; then
exit 0
fi
cd "$RPM_BUILD_ROOT"
[ -z "$STRIP" -a -n "$1" ] && STRIP="$1"
[ -z "$STRIP" ] && STRIP=strip
# Strip native binaries
for f in `find @BRPSTRIPPATH@ \
-type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
grep -v "^./\?usr/lib/debug" | \
grep -v ' shared object,' | \
sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped/\1/p'`; do
$STRIP -g $f || :
done

View File

@@ -1,210 +0,0 @@
#! /bin/sh
#
# Generate all the specs and then cycle through building them.
#
RTEMS_DIR=`dirname $0`
CFG=./setup.cache
dst=@RPM_SPECSdir@
target=@target@
rpm_cpu=@RPM_CPU@
usage()
{
echo "$0 [options] <target_alias>"
echo " options:"
echo " -b -- build binutils"
echo " -g -- build gcc/newlib"
echo " -d -- build gdb"
echo " -t -- enable test/debug mode"
echo " -cfg <setup.cache>"
echo " -o <rpm-spec-dir>"
exit 1 ;
}
testing=no
do_binutils=no
do_gccnewlib=no
do_gdb=no
while test $# -ge 1; do
case $1 in
-b) do_binutils=yes ; shift;;
-g) do_gccnewlib=yes ; shift;;
-d) do_gdb=yes ; shift;;
-t) do_test=yes ; shift;;
-cfg)
test $# -ge 2 || usage
shift
CFG=$1
shift
;;
-o)
test $# -ge 2 || usage
shift
dst=$1
shift
;;
-*)
echo "invalid option $1";
usage
;;
*)
TARGETS="${TARGETS} $1"
shift
;;
esac
done
if test ${do_binutils} = no -a ${do_gccnewlib} = no -a ${do_gdb} = no ; then
echo "You must request building binutils, gcc/newlib, or gdb."
usage
fi
# This is the full list .. some may not build at any given time.
#ALL_TARGETS="i386-rtems m68k-rtems \
# m68k-rtemself mips-rtems \
# powerpc-rtems sh-rtems sh-rtemself sparc-rtems"
# This is the full buildable set.
if [ "X${TARGETS}" = "X" ] ; then
# do not include tic4x as primary targets
# do not include sh-elf or secondary targets
TARGETS="arm-rtems h8300-rtems i386-rtems m68k-rtems \
mips-rtems powerpc-rtems sh-rtems sparc-rtems"
fi
. $CFG
binutils=${binutils_version}
gcc=${gcc_version}
gdb=${gdb_version}
newlib=${newlib_version}
# also use binutils_rpm_release
buildroot=/tmp
#
# Now get started
#
start=`date`
echo PATH=$PATH
if [ ${testing} = yes ] ; then
ECHO=echo
fi
installed_count=`rpm -q -g rtems | grep -v "auto" | grep -v "does not contain" | wc -l`
if [ ${installed_count} -ne 0 ] ; then
echo This script should be run with NO rtems RPMs installed.
echo It appears that the following rtems RPMs are installed:
echo
rpm -qa | grep rtems
echo
echo Please remove these and restart this script.
exit 1
fi
echo Copying specs files.
if [ ${testing} = no ] ; then
cd ${RTEMS_DIR}
# ./configure || exit 1
make || exit 1
# Now generate all the specs
for target in ${TARGETS}
do
tspecs=`find . -name "${target}*"`
if [ "X${tspecs}" = "X" ] ; then
echo RPM specifications were not generated for ${tspec}.
exit 1
fi
${ECHO} cp -r ${tspecs} ${dst}
done
fi
# clean up a bit before we start
cd ${dst}
test -d log || mkdir log
# do all the tools
for target in ${TARGETS}
do
if [ ${do_binutils} = yes ] ; then
logfile=log/${target}-binutils
specfile=${dst}/${target}-binutils-${binutils}.spec
echo "rpm -ba ${specfile} >${logfile} 2>&1"
if [ ${testing} = no ] ; then
rpm -ba ${specfile} >${logfile} 2>&1
fi
${ECHO} rm -rf ${dst}/../BUILD/${target}-binutils*
${ECHO} rm -rf ${buildroot}/opt/rtems
else
echo Skipping binutils for ${target}
fi
#
# build gcc/newlib
#
if [ ${do_gccnewlib} = yes ] ; then
# now build gcc/newlib
# NOTE: This requires having binutils installed and we immediately
# remove it once finished.
base_binutils_rpm=${dst}/../RPMS/${rpm_cpu}/rtems-base-binutils-${binutils}-${binutils_rpm_release}.${rpm_cpu}.rpm
binutils_rpm=${dst}/../RPMS/${rpm_cpu}/${target}-binutils-${binutils}-${binutils_rpm_release}.${rpm_cpu}.rpm
if [ ! -f ${binutils_rpm} ] ; then
echo There is no RPM for binutils for ${target}.
echo Looked for ${binutils_rpm}.
fi
${ECHO} rpm -i ${base_binutils_rpm}
${ECHO} rpm -i ${binutils_rpm}
logfile=log/${target}-gccnewlib
specfile=${dst}/${target}-gcc-${gcc}-newlib-${newlib}.spec
echo "rpm -ba ${specfile} >${logfile} 2>&1"
if [ ${testing} = no ] ; then
rpm -ba ${specfile} >${logfile} 2>&1
fi
${ECHO} rm -rf ${dst}/../BUILD/${target}-gcc*
${ECHO} rm -rf ${buildroot}/opt/rtems
echo uninstalling binutils for ${target}
if [ ${testing} = no ] ; then
rpm -e `rpm -qa | grep rtems`
rm -rf /opt/rtems/*
fi
else
echo Skipping gcc/newlib for ${target}
fi
#
# build gdb
#
if [ ${do_gdb} = yes ] ; then
# now build gdb
logfile=log/${target}-gdb
specfile=${dst}/${target}-gdb-${gdb}.spec
echo "rpm -ba ${specfile} >${logfile} 2>&1"
if [ ${testing} = no ] ; then
rpm -ba ${specfile} >${logfile} 2>&1
fi
${ECHO} rm -rf ${dst}/../BUILD/${target}-gdb*
${ECHO} rm -rf ${buildroot}/opt/rtems
else
echo Skipping gdb for ${target}
fi
done
# Now we are done
stop=`date`
echo
echo "Started: " $start
echo "Finished: " $stop
exit 0

View File

@@ -1,348 +0,0 @@
#! /bin/sh
#
# Generate all the specs and then cycle through building them.
#
RTEMS_DIR=`dirname $0`
CFG=./setup.cache
#dst=/usr/src/redhat/SPECS
dst=`pwd`
target=@target@
rpm_cpu=i386
usage()
{
echo "$0 [options] <target_alias>"
echo " options:"
echo " -b -- build binutils"
echo " -g -- build gcc/newlib"
echo " -d -- build gdb"
echo " -C HOST -- build canadian cross for HOST "
echo " -t -- enable test/debug mode"
echo " -cfg <setup.cache>"
echo " -o <rpm-spec-dir>"
exit 1 ;
}
#
# Checks the status returned by executables and exits if it is non-zero.
#
check_fatal()
{
if [ $1 -ne 0 ] ; then
shift
echo "ERROR: $*" >&2
exit 1
fi
#echo
#echo "End of $*"
#echo -n "Press return to continue> "
#echo
#read line
}
testing=no
do_binutils=no
do_gccnewlib=no
do_gdb=no
cdn_cross=no
while test $# -ge 1; do
case $1 in
-b) do_binutils=yes ; shift;;
-g) do_gccnewlib=yes ; shift;;
-d) do_gdb=yes ; shift;;
-t) do_test=yes ; shift;;
-cfg)
test $# -ge 2 || usage
shift
CFG=$1
shift
;;
-o)
test $# -ge 2 || usage
shift
dst=$1
shift
;;
-C)
test $# -ge 2 || usage
shift
build=$1
shift
if ! test -x ${RTEMS_DIR}/../config.guess ; then
echo "Missing ${RTEMS_DIR}/../config.guess!"
exit 1
fi
CDN_ARGS="--build=`${RTEMS_DIR}/../config.guess` --host=${build}"
cdn_cross=yes
;;
-*)
echo "invalid option $1";
usage
;;
*)
TARGETS="${TARGETS} $1"
shift
;;
esac
done
if test ${do_binutils} = no -a ${do_gccnewlib} = no -a ${do_gdb} = no ; then
echo "You must request building binutils, gcc/newlib, or gdb."
usage
fi
# This is the full list .. some may not build at any given time.
#ALL_TARGETS="i386-rtems m68k-rtems \
# m68k-rtemself mips-rtems \
# powerpc-rtems sh-rtems sh-rtemself sparc-rtems"
# This is the full buildable set.
if [ "X${TARGETS}" = "X" ] ; then
# do not include tic4x as primary targets
# do not include sh-elf or secondary targets
TARGETS="arm-rtems h8300-rtems i386-rtems \
m68k-rtems mips-rtems powerpc-rtems \
sh-rtems sh-rtemself sparc-rtems"
fi
. $CFG
# override the one from $CFG since it likely has a % in it to use the
# .rpmrc setting which we can't use
rpm_build_root=${HOME}/tmp
binutils=${binutils_version}
gcc=${gcc3_version}
gdb=${gdb_version}
newlib=${gcc3newlib_version}
# also use binutils_rpm_release
#
# Now get started
#
start=`date`
echo PATH=$PATH
if [ ${testing} = yes ] ; then
ECHO=echo
fi
#installed_count=`rpm -q -g rtems | wc -l`
#if [ ${installed_count} -ne 0 ] ; then
# echo This script should be run with NO rtems RPMs installed.
# echo It appears that the following rtems RPMs are installed:
# echo
# rpm -qa | grep rtems
# echo
# echo Please remove these and restart this script.
# exit 1
#fi
#echo Copying specs files.
#if [ ${testing} = no ] ; then
# cd ${RTEMS_DIR}
#
# # ./configure || exit 1
# make || exit 1
#
# # Now generate all the specs
# for target in ${TARGETS}
# do
# tspecs=`find . -name "${target}*"`
# if [ "X${tspecs}" = "X" ] ; then
# echo RPM specifications were not generated for ${tspec}.
# exit 1
# fi
# ${ECHO} cp -r ${tspecs} ${dst}
# done
#fi
# clean up a bit before we start
cd ${dst}
test -d log || mkdir log
if [ "X${rpm_build_root}" = "X" ] ; then
echo rpm_build_root NOT set!
exit 1
fi
CWD=`pwd`
test -d tarballs || mkdir tarballs
OUT=${CWD}/tarballs
# do all the tools
for target in ${TARGETS}
do
bintarfile=${OUT}/${target}-binutils-${binutils}-${binutils_rpm_release}.tar
if [ ${do_binutils} = yes ] ; then
logfile=${CWD}/log/${target}-binutils
# this part is for tar.bz2
cd ${CWD}
if [ ! -d binutils-${binutils} ] ; then
echo Could not find binutils-${binutils}!
exit 1
fi
rm -rf b-${target}-bin
mkdir b-${target}-bin
cd b-${target}-bin
echo "Building binutils-${binutils} for ${target}"
../binutils-${binutils}/configure ${CDN_ARGS} --target=${target} \
--verbose --prefix=/opt/rtems >${logfile} 2>&1
check_fatal $? "binutils configure"
make all >>${logfile} 2>&1
check_fatal $? "make all"
make info >>${logfile} 2>&1
check_fatal $? "make info"
make prefix=${rpm_build_root}/opt/rtems install >>${logfile} 2>&1
check_fatal $? "make install"
make prefix=${rpm_build_root}/opt/rtems install-info >>${logfile} 2>&1
check_fatal $? "make install-info"
cd ${rpm_build_root}
tar cjf ${bintarfile}.bz2 opt
cd ${CWD}
rm -rf b-${target}-bin
${ECHO} rm -rf ${rpm_build_root}/opt
rm -rf ${rpm_build_root}/opt
else
echo Skipping binutils for ${target}
fi
#
# build gcc/newlib
#
if [ ${do_gccnewlib} = yes ] ; then
logfile=${CWD}/log/${target}-gccnewlib
# now build gcc/newlib
# this part is for tar.bz2
gcctarfile=${OUT}/${target}-gcc-${gcc}-newlib-${newlib}-${gccnewlib_rpm_release}.tar
if [ ${cdn_cross} = "no" ] ; then
bintarfile=${dst}/binaries/binutils-${binutils}-${binutils_rpm_release}/${target}-binutils-${binutils}-${binutils_rpm_release}.tar
rm -rf ${rpm_build_root}/opt/*
tar xjf ${bintarfile}.bz2
fi
cd ${CWD}
if [ ! -d gcc-${gcc} ] ; then
echo Could not find gcc-${gcc}!
exit 1
fi
if [ ! -d gcc-${gcc}/newlib ] ; then
echo Could not find gcc-${gcc}/newlib!
exit 1
fi
rm -rf b-${target}-gccnewlib
mkdir b-${target}-gccnewlib
cd b-${target}-gccnewlib
echo "Building gcc-${gcc} for ${target}"
../gcc-${gcc}/configure ${CDN_ARGS} --target=${target} \
--with-gnu-as --with-gnu-ld --with-newlib --verbose \
--with-system-zlib --disable-nls \
--enable-version-specific-runtime-libs \
--enable-threads=rtems \
--prefix=/opt/rtems '--enable-languages=c,c++' >${logfile} 2>&1
check_fatal $? "gcc configure"
make all >>${logfile} 2>&1
check_fatal $? "make all"
make info >>${logfile} 2>&1
check_fatal $? "make info"
make prefix=${rpm_build_root}/opt/rtems install >>${logfile} 2>&1
check_fatal $? "make install"
cd ${target}/newlib
make prefix=${rpm_build_root}/opt/rtems install-info >>${logfile} 2>&1
check_fatal $? "newlib make install-info"
cd ${rpm_build_root}
tar cjf ${gcctarfile}.bz2 opt
cd ${CWD}
rm -rf ${rpm_build_root}/opt
rm -rf ${rpm_build_root}/opt/rtems
rm -rf b-${target}-gccnewlib
else
echo Skipping gcc/newlib for ${target}
fi
#
# build gdb
#
if [ ${do_gdb} = yes ] ; then
# now build gdb
gdbtarfile=${OUT}/${target}-gdb-${gdb}-${gdb_rpm_release}.tar
logfile=${CWD}/log/${target}-gdb
# this part is for tar.bz2
if [ ! -d gdb-${gdb} ] ; then
echo Could not find gdb-${gdb}!
exit 1
fi
mkdir b-${target}-gdb
cd b-${target}-gdb
case ${target} in
arm* | d10v* | d30v* | erc32* | fr30* | h8300* | h8500* | \
m32r* | mcore* | mips* | mn10200* | mn10300* | sh* | sparc*| v850* | \
w65* | z8k*)
extra_configure_arguments="--enable-sim"
;;
powerpc*)
extra_configure_arguments="--enable-sim --enable-sim-powerpc --enable-sim-timebase --enable-sim-hardware"
# Enabling this causes the program image to be huge and causes
# some gcc/hosts combinations to run out of memory.
# --enable-sim-inline
;;
*)
;;
esac
echo "Building gdb-${gdb}/configure ${CDN_ARGS} --target=${target}"
../gdb-${gdb}/configure ${CDN_ARGS} --target=${target} \
${extra_configure_arguments} --verbose --prefix=/opt/rtems >${logfile} 2>&1
check_fatal $? "make info"
make all >>${logfile} 2>&1
check_fatal $? "make all"
make info >>${logfile} 2>&1
check_fatal $? "make info"
make prefix=${rpm_build_root}/opt/rtems install >>${logfile} 2>&1
check_fatal $? "make install"
make prefix=${rpm_build_root}/opt/rtems install-info >>${logfile} 2>&1
check_fatal $? "make install-info"
cd ${rpm_build_root}
tar cjf ${gdbtarfile}.bz2 opt
cd ${CWD}
${ECHO} rm -rf ${rpm_build_root}/opt
rm -rf ${rpm_build_root}/opt/rtems
rm -rf b-${target}-gdb
else
echo Skipping gdb for ${target}
fi
done
# Now we are done
stop=`date`
echo
echo "Started: " $start
echo "Finished: " $stop
exit 0

View File

@@ -1 +0,0 @@
*.add

View File

@@ -1,3 +0,0 @@
%clean
rm -rf $RPM_BUILD_ROOT

View File

@@ -1,19 +0,0 @@
#
# Please send bugfixes or comments to
# http://www.rtems.com/cgi-bin/gnatweb.pl
# or mailto:@PACKAGE_BUGREPORT@
#
%define _prefix @prefix@
%if "%{_prefix}" != "/usr"
%define _infodir %{_prefix}/info
%define _mandir %{_prefix}/man
%endif
%define rpmgroup @rpmgroup@
%ifos cygwin cygwin32 mingw mingw32
%define _exeext .exe
%else
%define _exeext %{nil}
%endif

View File

@@ -1,4 +0,0 @@
$(top_builddir)/common/common.add: $(top_builddir)/config.status $(top_srcdir)/common/common.add.in
cd $(top_builddir) && $(SHELL) ./config.status common/common.add
$(top_builddir)/common/clean.add: $(top_builddir)/config.status $(top_srcdir)/common/clean.add.in
cd $(top_builddir) && $(SHELL) ./config.status common/clean.add

View File

@@ -1,89 +0,0 @@
## $Id$
AC_PREREQ(2.59)
AC_INIT([rtems-scripts],[_RTEMS_VERSION],[http://www.rtems.org/bugzilla])
AC_CONFIG_SRCDIR([binutils])
RTEMS_TOP([..])
AM_INIT_AUTOMAKE([no-define foreign 1.9])
AC_CANONICAL_HOST
test -f ./setup.cache || cp ${srcdir}/setup.def ./setup.cache
. ./setup.cache
RTEMS_ENABLE_RPMPREFIX
AC_MSG_CHECKING(for rpm SPECS directory)
# Allow users to override RPM_SPECSdir from the environment.
if test -z "$RPM_SPECSdir" ;
then
# SuSE uses /usr/src/packages
# redhat uses /usr/src/redhat
# MDK is reported to use /usr/src/RPM
# others might use /usr/src
rpmpath="/usr:/usr/local"
rpmdirs="src/packages:src/redhat:src/RPM:src"
save_IFS="$IFS"; IFS=":"
for d in $rpmdirs; do
for p in $rpmpath; do
list="$p/$d:$list"
done
done
for d in $list; do
if test -d $d/SPECS; then
RPM_SPECSdir="$d/SPECS";
break;
fi
done
IFS="$save_IFS"
fi
if test x"$RPM_SPECSdir" = x"" ; then
AC_MSG_ERROR([not found])
fi
AC_MSG_RESULT($RPM_SPECSdir)
AC_SUBST(RPM_SPECSdir)
AC_MSG_CHECKING(for RPM CPU type)
case "$host" in
i?86-*linux*) RPM_CPU=i386 ;;
i?86-*cygwin*) RPM_CPU=i386 ;;
sparc-*solaris*) RPM_CPU=sparc ;;
*)
AC_MSG_ERROR([RPM CPU for ${host} is unknown])
;;
esac
AC_MSG_RESULT($RPM_CPU)
BSPVERS="${rtems_version}"
AC_SUBST(RTEMS_VERSION,[_RTEMS_VERSION])
AC_SUBST(BSPVERS)
AC_SUBST(RPM_CPU)
AC_SUBST(rpmprefix,$rpmprefix)
AC_SUBST(rpmgroup,[RTEMS/][RTEMS_API])
AC_SUBST(RTEMS_RPM_RELEASE,$rtems_rpm_release)
AC_SUBST(osversion,$osversion)
AC_CONFIG_FILES([Makefile
binutils/Makefile
gccnewlib/Makefile
gdb/Makefile
rtems/Makefile
autotools/Makefile
cpukit/Makefile
rtemsdoc/Makefile
])
AC_CONFIG_FILES([common/common.add common/clean.add])
AC_CONFIG_FILES([buildalltar],[chmod +x buildalltar])
AC_CONFIG_FILES([buildall],[chmod +x buildall])
AC_CONFIG_FILES([gdb/mkspec],[chmod +x gdb/mkspec])
AC_CONFIG_FILES([binutils/mkspec],[chmod +x binutils/mkspec])
AC_CONFIG_FILES([gccnewlib/mkspec],[chmod +x gccnewlib/mkspec])
AC_CONFIG_FILES([cpukit/mkspec],[chmod +x cpukit/mkspec])
AC_CONFIG_FILES([rtems/mkspec],[chmod +x rtems/mkspec])
AC_CONFIG_COMMANDS([default],[[chmod 755 buildall
chmod 755 buildalltar
]],[[]])
AC_OUTPUT

View File

@@ -1,5 +0,0 @@
*.spec
Makefile
Makefile.in
mkspec
*.spec.in

View File

@@ -1,57 +0,0 @@
##
## $Id$
##
include $(top_srcdir)/common/common.am
MKSPEC = $(SHELL) ./mkspec
SUBPACKAGES = header.add
SUBPACKAGES += $(top_builddir)/common/common.add
SUBPACKAGES += rtems-cpukit.add
SUBPACKAGES += $(top_builddir)/common/clean.add
SUBPACKAGES += target-cpukit.add
MKSPEC_DEPS = mkspec rtems-cpukit.spec.in $(top_builddir)/setup.cache
rtems-cpukit.spec.in: $(SUBPACKAGES)
cat $^ > $@
CLEANFILES = rtems-cpukit.spec.in
@rpmprefix@h8300-rtems@osversion@-cpukit.spec: $(MKSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache -o . h8300-rtems@osversion@ > $@
RPM_SPECS_DATA = @rpmprefix@h8300-rtems@osversion@-cpukit.spec
@rpmprefix@i386-rtems@osversion@-cpukit.spec: $(MKSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache -o . i386-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@i386-rtems@osversion@-cpukit.spec
@rpmprefix@m68k-rtems@osversion@-cpukit.spec: $(MKSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache -o . m68k-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@m68k-rtems@osversion@-cpukit.spec
@rpmprefix@mips-rtems@osversion@-cpukit.spec: $(MKSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache -o . mips-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@mips-rtems@osversion@-cpukit.spec
@rpmprefix@powerpc-rtems@osversion@-cpukit.spec: $(MKSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache -o . powerpc-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@powerpc-rtems@osversion@-cpukit.spec
@rpmprefix@sh-rtems@osversion@-cpukit.spec: $(MKSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache -o . sh-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@sh-rtems@osversion@-cpukit.spec
@rpmprefix@sparc-rtems@osversion@-cpukit.spec: $(MKSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@sparc-rtems@osversion@-cpukit.spec
@rpmprefix@tic4x-rtems@osversion@-cpukit.spec: $(MKSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache -o . tic4x-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@tic4x-rtems@osversion@-cpukit.spec
EXTRA_DIST = $(SUBPACKAGES)
CLEANFILES += $(RPM_SPECS_DATA)
include $(top_srcdir)/../automake/local.am

View File

@@ -1,4 +0,0 @@
#
# spec file for package rtems-cpukit
#
# Copyright (c) 2002 Ralf Corsepius, Ulm, Germany

View File

@@ -1,55 +0,0 @@
#! /bin/sh
RTEMS_DIR=`dirname $0`/@top_srcdir@
RTEMS_VERSION=@VERSION@
RPM_VERSION=`echo ${RTEMS_VERSION} | tr - _`
CFG=../setup.cache
dst=@RPM_SPECSdir@
usage()
{
echo "$0 [options] <target_alias>"
echo " options:"
echo " -cfg <setup.cache>"
echo " -o <rpm-spec-dir>"
exit 1 ;
}
while test $# -ge 3; do
case $1 in
-cfg)
shift
CFG=$1
shift
;;
-o)
shift
dst=$1
shift
;;
-*)
echo "invalid option $1";
usage
;;
esac
done
if test ! $# -eq 1;
then
echo "Invalid number of arguments" >&2
usage >&2
fi
# target to build for
target_alias=$1
. ./$CFG
sed -e "s%@Release\@%${rtems_rpm_release}%g" \
-e "s%@rtems_version\@%${RTEMS_VERSION}%g" \
-e "s%@rpmgroup\@%@rpmgroup@%g" \
-e "s,@rpmprefix\@,@rpmprefix@,g" \
-e "s%@osversion\@%@osversion@%g" \
-e "s%@target_alias\@%${target_alias}%g" \
< ${RTEMS_DIR}/cpukit/rtems-cpukit.spec.in

View File

@@ -1,74 +0,0 @@
%define rtems_version @rtems_version@
%define rtems_target @target_alias@
%define rpmvers %{expand: %%(echo %rtems_version | tr - _ )}
Name: @rpmprefix@@target_alias@-cpukit
Release: @Release@
License: Various, Open Source.
Group: %{rpmgroup}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: @rpmprefix@%{rtems_target}-binutils
BuildRequires: @rpmprefix@%{rtems_target}-gcc
Requires: @rpmprefix@%{rtems_target}-binutils
Requires: @rpmprefix@%{rtems_target}-gcc
# These are target libs, arch doesn't matter for the host
BuildArch: noarch
Version: %{rpmvers}
Summary: A free operating system for embedded systems
Source: ftp://ftp.rtems.org/pub/rtems/%{version}/rtems-%{rtems_version}.tar.bz2
# Work around to a bug in rpm-4.2
%define __os_install_post %{nil}
#
# 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 :-)
#
%{?!_with_sources:NoSource: 0}
%description
RTEMS is a free operating system for embedded systems.
This package contains the cpukit for cpu %{rtems_target}.
%prep
%setup -c -T -n %{name}-%{version} -a0
mkdir -p build
%build
cd build
../rtems-%{rtems_version}/configure \
--prefix=%{_prefix} \
--target=%{rtems_target} \
--enable-multilib \
--disable-rtemsbsp \
--disable-tests \
--disable-deprecated
make RTEMS_BSP=
%install
rm -rf $RPM_BUILD_ROOT
cd build
make RTEMS_BSP= DESTDIR=${RPM_BUILD_ROOT} install
# For the moment, we don't want these man pages
rm -rf ${RPM_BUILD_ROOT}%{_prefix}/man
# Obsolete and currently broken
rm -rf ${RPM_BUILD_ROOT}%{_prefix}/make
# host tools
rm -rf ${RPM_BUILD_ROOT}%{_prefix}/bin

View File

@@ -1,10 +0,0 @@
# ==============================================================
# @target_alias@-cpukit
# ==============================================================
# %package -n @rpmprefix@@target_alias@-cpukit
# Summary: rtems cpukit for @target_alias@
# Group: %{rpmgroup}
# Requires: @rpmprefix@@target_alias@-gcc
%files
%{_prefix}/%{rtems_target}

View File

@@ -1,8 +0,0 @@
*.spec
Makefile
Makefile.in
gccnewlib.spec
gccnewlib.spec.in
gccnewlib_c_only.spec
gccnewlib_c_only.spec.in
mkspec

View File

@@ -1,84 +0,0 @@
##
## $Id$
##
include $(top_srcdir)/common/common.am
MKSPEC = $(SHELL) ./mkspec
SUBPACKAGES = header.add
SUBPACKAGES += $(top_builddir)/common/common.add
SUBPACKAGES += gccnewlib.add
SUBPACKAGES += $(top_builddir)/common/clean.add
SUBPACKAGES += target-gcc.add base-gcc.add
SUBPACKAGES += target-g77.add base-g77.add
SUBPACKAGES += target-gcj.add base-gcj.add
SUBPACKAGES += target-gfortran.add base-gfortran.add
SUBPACKAGES += target-objc.add
SUBPACKAGES += target-c++.add
SUBPACKAGES += target-gnat.add base-gnat.add
SUBPACKAGES += target-libc.add
noinst_DATA = gccnewlib.spec.in
gccnewlib.spec.in: $(SUBPACKAGES)
cat $^ > $@
CLEANFILES = gccnewlib.spec.in
MKGCCNEWLIBSPEC_DEPS = mkspec gccnewlib.spec.in $(top_builddir)/setup.cache
RPM_SPECS_DATA =
@rpmprefix@arm-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache arm-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@arm-rtems@osversion@-gcc-newlib.spec
@rpmprefix@avr-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache avr-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@avr-rtems@osversion@-gcc-newlib.spec
@rpmprefix@h8300-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache h8300-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@h8300-rtems@osversion@-gcc-newlib.spec
@rpmprefix@i386-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache i386-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@i386-rtems@osversion@-gcc-newlib.spec
@rpmprefix@m68k-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache m68k-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@m68k-rtems@osversion@-gcc-newlib.spec
@rpmprefix@mips-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache mips-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@mips-rtems@osversion@-gcc-newlib.spec
@rpmprefix@mips64-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache mips64-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@mips64-rtems@osversion@-gcc-newlib.spec
@rpmprefix@powerpc-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache powerpc-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@powerpc-rtems@osversion@-gcc-newlib.spec
@rpmprefix@sh-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache sh-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@sh-rtems@osversion@-gcc-newlib.spec
@rpmprefix@sh-rtemscoff@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache sh-rtemscoff@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@sh-rtemscoff@osversion@-gcc-newlib.spec
@rpmprefix@sparc-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache sparc-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@sparc-rtems@osversion@-gcc-newlib.spec
@rpmprefix@tic4x-rtems@osversion@-gcc-newlib.spec: $(MKGCCNEWLIBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache tic4x-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@tic4x-rtems@osversion@-gcc-newlib.spec
CLEANFILES += $(RPM_SPECS_DATA)
EXTRA_DIST = $(SUBPACKAGES)
include $(top_srcdir)/../automake/local.am

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.

View File

@@ -1,35 +0,0 @@
%if "%{_prefix}" != "/usr"
%if %build_g77
# ==============================================================
# rtems-base-g77
# ==============================================================
%package -n @rpmprefix@rtems@osversion@-base-g77
Summary: Base package for RTEMS gcc/g77 compiler
Group: %{rpmgroup}
Version: %{gcc_version}
License: GPL
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n @rpmprefix@rtems@osversion@-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 @rpmprefix@rtems@osversion@-base-g77
%defattr(-,root,root)
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/g77.info*.gz
%post -n @rpmprefix@rtems@osversion@-base-g77
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/g77.info.gz
%preun -n @rpmprefix@rtems@osversion@-base-g77
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/g77.info.gz
fi
%endif
%endif

View File

@@ -1,69 +0,0 @@
%if "%{_prefix}" != "/usr"
# ==============================================================
# @rpmprefix@rtems@osversion@-base-gcc
# ==============================================================
%package -n @rpmprefix@rtems@osversion@-base-gcc
Summary: Base package for rtems gcc and newlib C Library
Group: %{rpmgroup}
Version: %{gcc_version}
License: GPL
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n @rpmprefix@rtems@osversion@-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 @rpmprefix@rtems@osversion@-base-gcc
%defattr(-,root,root)
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/cpp.info*
%{_infodir}/cppinternals.info*
%{_infodir}/gcc.info*
%{_infodir}/libc.info*
%{_infodir}/libm.info*
%{_infodir}/gccint.info*
%if "%{gcc_version}" >= "3.4"
%{_infodir}/gccinstall.info*
%endif
%dir %{_mandir}
%if "%{gcc_version}" < "3.4"
%dir %{_mandir}/man1
%{_mandir}/man1/cpp.1*
%{_mandir}/man1/gcov.1*
%endif
%dir %{_mandir}/man7
%{_mandir}/man7/fsf-funding.7*
%{_mandir}/man7/gfdl.7*
%{_mandir}/man7/gpl.7*
%post -n @rpmprefix@rtems@osversion@-base-gcc
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/cpp.info.gz
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gcc.info.gz
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccint.info.gz
%if "%{gcc_version}" >= "3.4"
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz
%endif
%preun -n @rpmprefix@rtems@osversion@-base-gcc
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cpp.info.gz
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gcc.info.gz
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccint.info.gz
%if "%{gcc_version}" >= "3.4"
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz
%endif
fi
%endif

View File

@@ -1,68 +0,0 @@
%if "%{_prefix}" != "/usr"
%if %build_gcj
# ==============================================================
# rtems-base-gcj
# ==============================================================
%package -n @rpmprefix@rtems@osversion@-base-gcj
Summary: Base package for rtems gcc/java compiler (gcj)
Group: %{rpmgroup}
Version: %{gcc_version}
License: GPL
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n @rpmprefix@rtems@osversion@-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 @rpmprefix@rtems@osversion@-base-gcj
%defattr(-,root,root)
%if "%{gcc_version}" <= "3.4"
%dir %{_bindir}
%{_bindir}/jar%{_exeext}
%{_bindir}/grepjar%{_exeext}
%endif
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/gcj.info*
%if "%{gcc_version}" >= "3.3"
%{_infodir}/fastjar.info*
%endif
%if "%{gcc_version}" < "4.0"
%if "%{gcc_version}" >= "3.3"
%dir %{_mandir}
%dir %{_mandir}/man1
%{_mandir}/man1/gcjh.1*
%{_mandir}/man1/jv-scan.1*
%{_mandir}/man1/jcf-dump.1*
%{_mandir}/man1/gij.1*
%{_mandir}/man1/jv-convert.1*
%{_mandir}/man1/rmic.1*
%{_mandir}/man1/rmiregistry.1*
%{_mandir}/man1/jar.1*
%{_mandir}/man1/grepjar.1*
%endif
%endif
%post -n @rpmprefix@rtems@osversion@-base-gcj
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gcj.info*
%if "%{gcc_version}" >= "3.3"
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/fastjar.info*
%endif
%preun -n @rpmprefix@rtems@osversion@-base-gcj
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gcj.info*
%if "%{gcc_version}" >= "3.3"
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/fastjar.info*
%endif
fi
%endif
%endif

View File

@@ -1,34 +0,0 @@
%if "%{_prefix}" != "/usr"
%if %build_f95
# ==============================================================
# rtems-base-gfortran
# ==============================================================
%package -n @rpmprefix@rtems@osversion@-base-gfortran
Summary: Base package for RTEMS gcc/gfortran compiler
Group: %{rpmgroup}
License: GPL
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n @rpmprefix@rtems@osversion@-base-gfortran
RTEMS is an open source operating system for embedded systems.
This is the files for gcc/gfortran that are shared by all targets.
%files -n @rpmprefix@rtems@osversion@-base-gfortran
%defattr(-,root,root)
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/gfortran.info*.gz
%post -n @rpmprefix@rtems@osversion@-base-gfortran
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz
%preun -n @rpmprefix@rtems@osversion@-base-gfortran
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz
fi
%endif
%endif

View File

@@ -1,40 +0,0 @@
%if "%{_prefix}" != "/usr"
%if %build_gnat
# ==============================================================
# rtems-base-gnat
# ==============================================================
%package -n @rpmprefix@rtems@osversion@-base-gnat
Summary: Base package for RTEMS gcc/gnat compiler
Group: %{rpmgroup}
License: GPL
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n @rpmprefix@rtems@osversion@-base-gnat
RTEMS is an open source operating system for embedded systems.
This is the gcc/gnat tools for the gcc/gnat compiler
%files -n @rpmprefix@rtems@osversion@-base-gnat
%defattr(-,root,root)
%dir %{_bindir}
%{_bindir}/vxaddr2line%{_exeext}
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/gnat*
%post -n @rpmprefix@rtems@osversion@-base-gnat
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gnat_ugn_unw.info.gz
%preun -n @rpmprefix@rtems@osversion@-base-gnat
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gnat_rm.info.gz
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gnat-style.info.gz
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gnat_ugn_unw.info.gz
fi
%endif
%endif

View File

@@ -1,485 +0,0 @@
%define gcc_version @gcc_version@
%define newlib_version @newlib_version@
%define gccnewlib_version gcc%{gcc_version}newlib%{newlib_version}
%define gcc_target @target_alias@
Name: @rpmprefix@%{gcc_target}-gcc-newlib
Summary: GCC and newlib C Library for %{gcc_target}
Group: %{rpmgroup}
License: gcc is GPL/LGPL ; newlib no has restrictions on run-time usage
Version: %{gccnewlib_version}
Release: @Release@
URL: http://gcc.gnu.org
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source0: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}/gcc-core-%{gcc_version}@gcc_suffix@
Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_version}@newlib_suffix@
@PATCH0@
@PATCH50@
BuildRequires: texinfo >= 4.2
BuildRequires: @rpmprefix@%{gcc_target}-binutils
#
# The original sources are not included in the source RPM.
# If we included them, then the source RPMs for each target
# 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 :-)
#
%{?!_with_sources:NoSource: 0}
%{?!_with_sources:NoSource: 50}
# default languages to build
%define _cxx 1
%define _fortran 0
%define _gcj 0
%define _gnat 0
%define _objc 0
%define _libgcj 0
# custom defaults for specific targets
%if "%{gcc_target}" == "arm-rtems@osversion@"
# Gnat lacks arm support
%define _gnat 0
%endif
%if "%{gcc_target}" == "avr-rtems@osversion@"
%define _cxx 0
%define _fortran 0
%define _gcj 0
%define _gnat 0
%endif
%if "%{gcc_target}" == "h8300-rtems@osversion@"
%define _fortran 0
%define _gcj 0
%define _gnat 0
%endif
%if "%{gcc_target}" == "sh-rtems@osversion@"
# Triggers an ICE in GCC-4.0.0
%define _gnat 0
%endif
%if "%{gcc_target}" == "tic4x-rtems@osversion@"
%define _cxx 0
%define _gnat 0
%define _gcj 0
%define _fortran 0
%endif
# Allow the user to build arbitrary languages
%{?_with_cxx:%define _cxx 1}
%{?_with_fortran:%define _fortran 1}
%{?_with_gcj:%define _gcj 1}
%{?_with_gnat:%define _gnat 1}
%{?_with_objc:%define _objc 1}
%{?_with_libgcj:%define _libgcj 1}
# Allow the user to suppress building languages
%{?_without_cxx:%define _cxx 0}
%{?_without_fortran:%define _fortran 0}
%{?_without_gcj:%define _gcj 0}
%{?_without_gnat:%define _gnat 0}
%{?_without_objc:%define _objc 0}
%{?_without_libgcj:%define _libgcj 0}
%define build_cxx %_cxx
%if "%{gcc_version}" >= "4.0.0"
%define build_f95 %_fortran
%define build_g77 0
%else
%define build_f95 0
%define build_g77 %_fortran
%endif
%define build_gnat %_gnat
%define build_gcj %_gcj
%define build_objc %_objc
%define build_libgcj %_libgcj
%if %build_cxx
Source1: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}/gcc-g++-%{gcc_version}@gcc_suffix@
@PATCH1@
%{?!_with_sources:NoSource: 1}
%endif
%if %build_f95
Source2: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}/gcc-fortran-%{gcc_version}@gcc_suffix@
@PATCH2@
%{?!_with_sources:NoSource: 2}
%endif
%if %build_gcj
Source3: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}/gcc-java-%{gcc_version}@gcc_suffix@
@PATCH3@
%{?!_with_sources:NoSource: 3}
%endif
%if %build_gnat
Source4: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}/gcc-ada-%{gcc_version}@gcc_suffix@
@PATCH4@
%{?!_with_sources:NoSource: 4}
%endif
%if %build_objc
Source5: ftp://ftp.gnu.org/pub/gnu/gcc/gcc-%{gcc_version}/gcc-objc-%{gcc_version}@gcc_suffix@
@PATCH5@
%{?!_with_sources:NoSource: 5}
%endif
%if %build_gcj
# Building gcj requires bison and zlib
BuildRequires: bison
%endif
%if "%{_vendor}" == "redhat"
%if %build_gcj
BuildRequires: zlib-devel
%endif
%if %build_gnat
# Building gnat requires gnat
# This really isn't available until RedHat 8.0. How to conditionalize this?
BuildRequires: gcc-gnat
# Urgh, building gnat requires the target libc
BuildRequires: @rpmprefix@%{gcc_target}-libc < %{newlib_version}-%{release}
%endif
%if %build_f95
BuildRequires: gmp-devel
%endif
%endif
%if "%{gcc_version}" >= "3.4"
%define gcclib %{_libdir}/gcc
%define gccexec %{_libexecdir}/gcc
%else
%define gcclib %{_libdir}/gcc-lib
%define gccexec %{_libdir}/gcc-lib
%endif
%description
RTEMS is an open source operating system for embedded systems.
This is gcc for %{gcc_target}.
%prep
# untar the sources inside %{gcc_target}-gcc-newlib
%setup -c -T -n %{name}-%{version}
%setup -T -D -n %{name}-%{version} -a0
%{?PATCH0:%patch0 -p0}
%if %build_cxx
%setup -T -D -n %{name}-%{version} -a1
%{?PATCH1:%patch1 -p0}
%endif
%if %build_f95
%setup -T -D -n %{name}-%{version} -a2
%{?PATCH2:%patch2 -p0}
%endif
%if %build_gcj
%setup -T -D -n %{name}-%{version} -a3
%{?PATCH3:%patch3 -p0}
%endif
%if %build_gnat
%setup -T -D -n %{name}-%{version} -a4
%{?PATCH4:%patch4 -p0}
%endif
%if %build_objc
%setup -T -D -n %{name}-%{version} -a5
%{?PATCH5:%patch5 -p0}
%endif
%setup -T -D -n %{name}-%{version} -a50
cd newlib-%{newlib_version}
%{?PATCH50:%patch50 -p1}
cd ..
# Extract %%__os_install_post into os_install_post~
cat << \EOF >> os_install_post~
%__os_install_post
EOF
# Generate customized brp-*scripts
cat os_install_post~ | while read a x y; do
case $a in
# Prevent brp-strip* from trying to handle foreign binaries
*/brp-strip*)
b=$(basename $a)
sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b
chmod a+x $b
;;
%if "%{_prefix}" != "/usr"
# Fix up brp-compress to handle %%_prefix != /usr
*/brp-compress*)
b=$(basename $a)
sed -e 's,\./usr/,./%{_prefix},' < $a > $b
chmod a+x $b
;;
%endif
esac
done
sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \
%if "%{_prefix}" != "/usr"
-e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \
%endif
< os_install_post~ > os_install_post
%define __os_install_post . ./os_install_post
cd gcc-%{gcc_version}
sed -e 's/\(version_string.* = \"[^\"]*\)/\1 (RTEMS gcc-%{gcc_version}-@gcc_patch_version@\/newlib-%{newlib_version}-@newlib_patch_version@-@Release@)/' \
gcc/version.c > gcc/version.c~
mv gcc/version.c~ gcc/version.c
# Fix timestamps
contrib/gcc_update --touch
cd ..
# Copy the C library into gcc's source tree
ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_version}
%build
mkdir -p build
cd build
languages="c"
%if %build_cxx
languages="$languages,c++"
%endif
%if %build_g77
languages="$languages,g77"
%endif
%if %build_f95
languages="$languages,f95"
%endif
%if %build_gcj
languages="$languages,java"
%endif
%if %build_objc
languages="$languages,objc"
%endif
%if %build_gnat
languages="$languages,ada"
%endif
%if %build_libgcj
optargs="--enable-libgcj"
%endif
%if "%{_prefix}" != "/usr"
export PATH="%{_bindir}:${PATH}"
%endif
CC="%{__cc} ${RPM_OPT_FLAGS}" \
../gcc-%{gcc_version}/configure \
--prefix=%{_prefix} \
--bindir=%{_bindir} \
--includedir=%{_includedir} \
--libdir=%{_libdir} \
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--build=%_build --host=%_host \
--target=%{gcc_target} \
--with-gnu-as --with-gnu-ld --with-newlib --verbose \
--with-system-zlib --disable-nls \
--enable-version-specific-runtime-libs \
--enable-threads=rtems \
--enable-languages=$languages $optargs
%if "%_host" != "%_build"
# Bug in gcc-3.2.1:
# Somehow, gcc doesn't get syslimits.h right for Cdn-Xs
mkdir -p gcc/include
cp ../gcc-%{gcc_version}/gcc/gsyslimits.h gcc/include/syslimits.h
%endif
make all
%if "%{_prefix}" != "/usr"
make info
%endif
cd ..
%install
%if "%{_prefix}" != "/usr"
export PATH="%{_bindir}:${PATH}"
%endif
rm -rf $RPM_BUILD_ROOT
cd build
# Bug in gcc-2.95.1: It doesn't build this installation directory
# If it doesn't find it, gcc doesn't install %{gcc_target}/bin/gcc
%if "%{gcc_version}" < "3.0"
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{gcc_target}/bin
%endif
make prefix=$RPM_BUILD_ROOT%{_prefix} \
bindir=$RPM_BUILD_ROOT%{_bindir} \
libdir=$RPM_BUILD_ROOT%{_libdir} \
includedir=$RPM_BUILD_ROOT%{_includedir} \
mandir=$RPM_BUILD_ROOT%{_mandir} \
infodir=$RPM_BUILD_ROOT%{_infodir} \
install
%if "%{_prefix}" != "/usr"
cd %{gcc_target}/newlib
make prefix=$RPM_BUILD_ROOT%{_prefix} \
bindir=$RPM_BUILD_ROOT%{_bindir} \
libdir=$RPM_BUILD_ROOT%{_libdir} \
includedir=$RPM_BUILD_ROOT%{_includedir} \
mandir=$RPM_BUILD_ROOT%{_mandir} \
infodir=$RPM_BUILD_ROOT%{_infodir} \
install-info
# cd back to build/
cd ../..
%endif
# host library
rm -f ${RPM_BUILD_ROOT}%{_prefix}/lib/libiberty.a
# We use the version from binutils
rm -f $RPM_BUILD_ROOT%{_bindir}/%{gcc_target}-c++filt%{_exeext}
%if %build_gnat
# Seemingly a VAX tool. Not meaningful for RTEMS
rm -f $RPM_BUILD_ROOT%{_bindir}/vxaddr2line%{_exeext}
%endif
%if "%{_prefix}" != "/usr"
# We don't ship info/dir
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir
%endif
%if "%{_prefix}" == "/usr"
# Conflict with a native GCC's infos
rm -rf $RPM_BUILD_ROOT%{_infodir}
# Conflict with a native GCC's man pages
rm -rf $RPM_BUILD_ROOT%{_mandir}/man7
%endif
%if %build_f95
# # Bug in gcc-4.0.0pre
# mv $RPM_BUILD_ROOT%{_bindir}/gfortran $RPM_BUILD_ROOT%{_bindir}/%{gcc_target}-gfortran
%endif
%if "%{gcc_version}" >= "3.4"
# Bug in gcc-3.4.0pre
rm -f $RPM_BUILD_ROOT%{_bindir}/%{gcc_target}-%{gcc_target}-gcjh%{_exeext}
%endif
%if "%{gcc_version}" >= "3.3"
# Bug in gcc-3.3.x/gcc-3.4.x: Despite we don't need fixincludes, it installs
# the fixinclude-install-tools
rm -rf ${RPM_BUILD_ROOT}%{gcclib}/%{gcc_target}/%{gcc_version}/install-tools
rm -rf ${RPM_BUILD_ROOT}%{gccexec}/%{gcc_target}/%{gcc_version}/install-tools
%endif
%if "%{gcc_version}" < "3.0"
# Bug in gcc-2.95.x: It bogusly tries to share cpp for all targets.
# Rename it to target_alias-cpp
if test -f $RPM_BUILD_ROOT%{_bindir}/cpp%{_exeext};
then
mv $RPM_BUILD_ROOT%{_bindir}/cpp%{_exeext} \
$RPM_BUILD_ROOT%{_bindir}/%{gcc_target}-cpp%{_exeext}
fi
%endif
# Collect multilib subdirectories
f=`gcc/xgcc -Bgcc/ --print-multi-lib | sed -e 's,;.*$,,'`
echo "%defattr(-,root,root,-)" > files.libc
TGTDIR="%{_prefix}/%{gcc_target}/lib"
for i in $f; do
case $i in
\.) echo "%dir ${TGTDIR}" >> files.libc
;;
*) echo "%dir ${TGTDIR}/$i" >> files.libc
;;
esac
done
rm -f dirs ;
echo "%defattr(-,root,root,-)" >> dirs
%if "%{_prefix}" != "/usr"
echo "%dir %{_prefix}" >> dirs
echo "%dir %{_libdir}" >> dirs
%if "%{gcc_version}" >= "3.4"
echo "%dir %{_libexecdir}" >> dirs
%endif
%endif
echo "%dir %{gcclib}" >> dirs
echo "%dir %{gcclib}/%{gcc_target}" >> dirs
TGTDIR="%{gcclib}/%{gcc_target}/%{gcc_version}"
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.gcc
cp dirs files.g77
cp dirs files.gfortran
cp dirs files.objc
cp dirs files.gcj
cp dirs files.g++
TGTDIR="%{gcclib}/%{gcc_target}/%{gcc_version}"
f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`;
for i in $f; do
case $i in
*lib*.la) rm ${RPM_BUILD_ROOT}/$i ;; # ignore: gcc produces bogus libtool libs
*f771) ;;
*f951) ;;
*cc1) ;;
*cc1obj) ;;
*cc1plus) ;; # ignore: explicitly put into rpm elsewhere
*collect2) ;;
*libobjc*) echo "$i" >> files.objc ;;
*include/objc*) ;;
*include/g++*);;
*include/c++*);;
*adainclude*);;
*adalib*);;
*gnat1);;
*jc1) ;;
*jvgenmain) ;;
*libgfortran*.a) echo "$i" >> files.gfortran ;;
*libstdc++.a) echo "$i" >> files.g++ ;;
*libsupc++.a) echo "$i" >> files.g++ ;;
*) echo "$i" >> files.gcc ;;
esac
done
TGTDIR="%{_prefix}/%{gcc_target}/lib"
f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`;
for i in $f; do
case $i in
*lib*.la) rm ${RPM_BUILD_ROOT}/$i;; # ignore - gcc produces bogus libtool libs
*libiberty.a) rm ${RPM_BUILD_ROOT}/$i ;; # ignore - GPL'ed
# all other files belong to libc
*) echo "$i" >> files.libc ;;
esac
done
cd ..

View File

@@ -1,14 +0,0 @@
#
# spec file for building gcc for @target_alias@
#
# supported --with/--without options:
# --with sources build src.rpm instead of nosrc.rpm
#
# --with fortran force building fortran
# --with objc force building objc
# --with cxx force building cxx
#
# --without fortran suppress building fortran
# --without objc suppress building objc
# --without cxx suppress building cxx
#

View File

@@ -1,84 +0,0 @@
#!/bin/sh
#
# Usage: mkspec CPU
#
RTEMS_DIR=`dirname $0`/@top_srcdir@
CFG=../setup.cache
usage()
{
echo "$0 [options] <target_alias>"
echo " options:"
echo " -cfg <setup.cache>"
echo " -a <alternate specs.in>"
exit 1 ;
}
specsrc=./gccnewlib.spec.in
while test $# -ge 2; do
case $1 in
-cfg)
shift
CFG=$1
shift
;;
-a) # alternate specs file
shift
specsrc=$1
shift
;;
-*)
echo "invalid option $1";
usage
;;
esac
done
if test ! $# -eq 1;
then
echo "Invalid number of arguments"
usage
fi
# target to build for
target_alias=$1
. ./$CFG
if test -n "${gcc_patch_version}"; then
PATCH0="Patch0: gcc-core-${gcc_version}-rtems-${gcc_patch_version}.diff"
PATCH1="Patch1: gcc-g++-${gcc_version}-rtems-${gcc_patch_version}.diff"
PATCH2="Patch2: gcc-fortran-${gcc_version}-rtems-${gcc_patch_version}.diff"
PATCH3="Patch3: gcc-gcj-${gcc_version}-rtems-${gcc_patch_version}.diff"
PATCH4="Patch4: gcc-ada-${gcc_version}-rtems-${gcc_patch_version}.diff"
PATCH5="Patch5: gcc-objc-${gcc_version}-rtems-${gcc_patch_version}.diff"
fi
if test -n "${newlib_patch_version}"; then
PATCH50="Patch50: newlib-${newlib_version}-rtems-${newlib_patch_version}.diff"
fi
# note that the variables in the gccnewlib directory are actually the same
sed -e "s,@PATCH0\@,${PATCH0}," \
-e "s,@PATCH1\@,${PATCH1}," \
-e "s,@PATCH2\@,${PATCH2}," \
-e "s,@PATCH3\@,${PATCH3}," \
-e "s,@PATCH4\@,${PATCH4}," \
-e "s,@PATCH5\@,${PATCH5}," \
-e "s,@PATCH50\@,${PATCH50}," \
-e "s,@Release\@,${gccnewlib_rpm_release},g" \
-e "s,@target_alias\@,${target_alias},g" \
-e "s,@prefix\@,@prefix@,g" \
-e "s,@rpmprefix\@,@rpmprefix@,g" \
-e "s,@rpmgroup\@,@rpmgroup@,g" \
-e "s,@osversion\@,@osversion@,g" \
-e "s,@gcc_version\@,${gcc_version},g" \
-e "s,@gcc_patch_version\@,${gcc_patch_version},g" \
-e "s,@gcc_suffix\@,${gcc_suffix},g" \
-e "s,@newlib_version\@,${newlib_version},g" \
-e "s,@newlib_patch_version\@,${newlib_patch_version},g" \
-e "s,@newlib_suffix\@,${newlib_suffix},g" \
< ${specsrc}

View File

@@ -1,40 +0,0 @@
%if %build_cxx
# ==============================================================
# %{gcc_target}-c++
# ==============================================================
%package -n @rpmprefix@%{gcc_target}-c++
Summary: C++ support for %{gcc_target}-gcc
Group: %{rpmgroup}
Version: %{gcc_version}
License: GPL
%if "%{_prefix}" != "/usr"
Requires: @rpmprefix@rtems@osversion@-base-gcc
%endif
Requires: @rpmprefix@%{gcc_target}-gcc = %{gcc_version}-%{release}
%description -n @rpmprefix@%{gcc_target}-c++
RTEMS is an open source operating system for embedded systems.
This is the gcc/g++ compiler for %{gcc_target}.
%files -n @rpmprefix@%{gcc_target}-c++ -f build/files.g++
%defattr(-,root,root)
%{_mandir}/man1/%{gcc_target}-g++.1*
%{_bindir}/%{gcc_target}-c++%{_exeext}
%{_bindir}/%{gcc_target}-g++%{_exeext}
%dir %{gccexec}
%dir %{gccexec}/%{gcc_target}
%dir %{gccexec}/%{gcc_target}/%{gcc_version}
%{gccexec}/%{gcc_target}/%{gcc_version}/cc1plus%{_exeext}
%dir %{gcclib}/%{gcc_target}/%{gcc_version}/include
%if "%{gcc_version}" >= "3.2"
%{gcclib}/%{gcc_target}/%{gcc_version}/include/c++
%else
%{gcclib}/%{gcc_target}/%{gcc_version}/include/g++
%endif
%endif

View File

@@ -1,29 +0,0 @@
%if %build_g77
# ==============================================================
# %{gcc_target}-g77
# ==============================================================
%package -n @rpmprefix@%{gcc_target}-g77
Summary: Fortran 77 support for %{gcc_target}-gcc
Group: %{rpmgroup}
Version: %{gcc_version}
License: GPL
Requires: @rpmprefix@rtems@osversion@-base-g77
Requires: @rpmprefix@%{gcc_target}-gcc = %{gcc_version}-%{release}
%description -n @rpmprefix@%{gcc_target}-g77
RTEMS is an open source operating system for embedded systems.
This is the gcc/g77 compiler for %{gcc_target}.
%files -n @rpmprefix@%{gcc_target}-g77 -f build/files.g77
%defattr(-,root,root)
%{_bindir}/%{gcc_target}-g77%{_exeext}
%{_mandir}/man1/%{gcc_target}-g77.1*
%dir %{gccexec}
%dir %{gccexec}/%{gcc_target}
%dir %{gccexec}/%{gcc_target}/%{gcc_version}
%{gccexec}/%{gcc_target}/%{gcc_version}/f771%{_exeext}
%endif

View File

@@ -1,47 +0,0 @@
# ==============================================================
# %{gcc_target}-gcc
# ==============================================================
%package -n @rpmprefix@%{gcc_target}-gcc
Summary: GNU cc compiler for %{gcc_target}
Group: %{rpmgroup}
Version: %{gcc_version}
Requires: @rpmprefix@%{gcc_target}-binutils
Requires: @rpmprefix@%{gcc_target}-libc = %{newlib_version}-%{release}
License: GPL
%description -n @rpmprefix@%{gcc_target}-gcc
RTEMS is an open source operating system for embedded systems.
This is gcc for %{gcc_target}.
%files -n @rpmprefix@%{gcc_target}-gcc -f build/files.gcc
%defattr(-,root,root)
%if "%{_prefix}" != "/usr"
%dir %{_mandir}
%dir %{_mandir}/man1
%endif
%{_mandir}/man1/%{gcc_target}-gcc.1*
%if "%{gcc_version}" >= "3.4"
%{_mandir}/man1/%{gcc_target}-cpp.1*
%{_mandir}/man1/%{gcc_target}-gcov.1*
%endif
%if "%{_prefix}" != "/usr"
%dir %{_bindir}
%endif
%{_bindir}/%{gcc_target}-cpp%{_exeext}
%{_bindir}/%{gcc_target}-gcc%{_exeext}
%if "%{gcc_version}" >= "3.3"
%{_bindir}/%{gcc_target}-gcc-%{gcc_version}%{_exeext}
%endif
%{_bindir}/%{gcc_target}-gcov%{_exeext}
%{_bindir}/%{gcc_target}-gccbug
%dir %{gcclib}/%{gcc_target}/%{gcc_version}/include
%dir %{gccexec}
%dir %{gccexec}/%{gcc_target}
%dir %{gccexec}/%{gcc_target}/%{gcc_version}
%{gccexec}/%{gcc_target}/%{gcc_version}/cc1%{_exeext}
%{gccexec}/%{gcc_target}/%{gcc_version}/collect2%{_exeext}

View File

@@ -1,53 +0,0 @@
%if %build_gcj
# ==============================================================
# %{gcc_target}-gcj
# ==============================================================
%package -n @rpmprefix@%{gcc_target}-gcj
Summary: Java support (gcj) for %{gcc_target}-gcc
Group: %{rpmgroup}
Version: %{gcc_version}
License: GPL
%if "%{_prefix}" != "/usr"
Requires: @rpmprefix@rtems@osversion@-base-gcj
%endif
Requires: @rpmprefix@%{gcc_target}-gcc = %{gcc_version}-%{release}
%description -n @rpmprefix@%{gcc_target}-gcj
RTEMS is an open source operating system for embedded systems.
This is the gcc/java compiler for %{gcc_target}
%files -n @rpmprefix@%{gcc_target}-gcj -f build/files.gcj
%defattr(-,root,root)
%{_bindir}/%{gcc_target}-gcj%{_exeext}
%{_bindir}/%{gcc_target}-jcf-dump%{_exeext}
%{_bindir}/%{gcc_target}-jv-scan%{_exeext}
%{_bindir}/%{gcc_target}-gcjh%{_exeext}
%if "%{gcc_version}" >= "3.4"
%{_bindir}/%{gcc_target}-*jar%{_exeext}
%{_mandir}/man1/%{gcc_target}-*jar.1*
%{_mandir}/man1/%{gcc_target}-gcj*.1*
%{_mandir}/man1/%{gcc_target}-jv-*.1*
%{_mandir}/man1/%{gcc_target}-jcf-dump.1*
%{_mandir}/man1/%{gcc_target}-gij.1*
%endif
%if "%{gcc_version}" >= "4.0"
%{_mandir}/man1/%{gcc_target}-grmi*.1*
%else
%if "%{gcc_version}" >= "3.4"
%{_mandir}/man1/%{gcc_target}-rmi*.1*
%endif
%endif
%dir %{gccexec}
%dir %{gccexec}/%{gcc_target}
%dir %{gccexec}/%{gcc_target}/%{gcc_version}
%{gccexec}/%{gcc_target}/%{gcc_version}/jc1%{_exeext}
%{gccexec}/%{gcc_target}/%{gcc_version}/jvgenmain%{_exeext}
%endif

View File

@@ -1,33 +0,0 @@
%if %build_f95
# ==============================================================
# %{gcc_target}-gfortran
# ==============================================================
%package -n @rpmprefix@%{gcc_target}-gfortran
Summary: Fortran 95 support for %{gcc_target}-gcc
Group: %{rpmgroup}
Version: %{gcc_version}
License: GPL
%if "%{_prefix}" != "/usr"
Requires: @rpmprefix@rtems@osversion@-base-gfortran
%endif
Requires: @rpmprefix@%{gcc_target}-gcc = %{gcc_version}-%{release}
Obsoletes: @rpmprefix@%{gcc_target}-g77
%description -n @rpmprefix@%{gcc_target}-gfortran
RTEMS is an open source operating system for embedded systems.
This is the gcc/gfortran compiler for %{gcc_target}.
%files -n @rpmprefix@%{gcc_target}-gfortran -f build/files.gfortran
%defattr(-,root,root)
%{_bindir}/%{gcc_target}-gfortran%{_exeext}
%{_mandir}/man1/%{gcc_target}-gfortran.1*
%dir %{gccexec}
%dir %{gccexec}/%{gcc_target}
%dir %{gccexec}/%{gcc_target}/%{gcc_version}
%{gccexec}/%{gcc_target}/%{gcc_version}/f951%{_exeext}
%endif

View File

@@ -1,34 +0,0 @@
%if %build_gnat
# ==============================================================
# %{gcc_target}-gnat
# ==============================================================
%package -n @rpmprefix@%{gcc_target}-gnat
Summary: Ada support for for %{gcc_target}-gcc
Group: %{rpmgroup}
Version: %{gcc_version}
License: GPL
%if "%{_prefix}" != "/usr"
Requires: @rpmprefix@rtems@osversion@-base-gnat
%endif
Requires: @rpmprefix@%{gcc_target}-gcc = %{gcc_version}-%{release}
%description -n @rpmprefix@%{gcc_target}-gnat
RTEMS is an open source operating system for embedded systems.
This is the gcc/gnat compiler for %{gcc_target}.
%files -n @rpmprefix@%{gcc_target}-gnat
%defattr(-,root,root)
%{_bindir}/%{gcc_target}-gnat*
%{_bindir}/%{gcc_target}-gprmake%{_exeext}
%dir %{gccexec}
%dir %{gccexec}/%{gcc_target}
%dir %{gccexec}/%{gcc_target}/%{gcc_version}
%{gccexec}/%{gcc_target}/%{gcc_version}/gnat1%{_exeext}
%{gcclib}/%{gcc_target}/%{gcc_version}/adalib
%{gcclib}/%{gcc_target}/%{gcc_version}/adainclude
%endif

View File

@@ -1,23 +0,0 @@
# ==============================================================
# %{gcc_target}-libc
# ==============================================================
%package -n @rpmprefix@%{gcc_target}-libc
Summary: C Library (newlib) for %{gcc_target}
Group: %{rpmgroup}
License: Distributable
Version: %{newlib_version}
Provides: @rpmprefix@%{gcc_target}-newlib = %{newlib_version}-%{release}
%description -n @rpmprefix@%{gcc_target}-libc
RTEMS is an open source operating system for embedded systems.
This is the newlib C Library for %{gcc_target}.
%files -n @rpmprefix@%{gcc_target}-libc -f build/files.libc
%defattr(-,root,root)
%if "%{_prefix}" != "/usr"
%dir %{_prefix}
%endif
%dir %{_prefix}/%{gcc_target}
%{_prefix}/%{gcc_target}/include

View File

@@ -1,27 +0,0 @@
%if %build_objc
# ==============================================================
# %{gcc_target}-objc
# ==============================================================
%package -n @rpmprefix@%{gcc_target}-objc
Summary: Objective C support for %{gcc_target}-gcc
Group: %{rpmgroup}
Version: %{gcc_version}
License: GPL
Requires: @rpmprefix@%{gcc_target}-gcc = %{gcc_version}-%{release}
%description -n @rpmprefix@%{gcc_target}-objc
RTEMS is an open source operating system for embedded systems.
This is the gcc/objc compiler for %{gcc_target}.
%files -n @rpmprefix@%{gcc_target}-objc -f build/files.objc
%defattr(-,root,root)
%dir %{gccexec}
%dir %{gccexec}/%{gcc_target}
%dir %{gccexec}/%{gcc_target}/%{gcc_version}
%{gccexec}/%{gcc_target}/%{gcc_version}/cc1obj%{_exeext}
%{gcclib}/%{gcc_target}/%{gcc_version}/include/objc
%endif

View File

@@ -1,6 +0,0 @@
*.spec
Makefile
Makefile.in
gdb.spec
gdb.spec.in
mkspec

View File

@@ -1,23 +0,0 @@
#
# History of the gdb RPMs
#
# $Id$
#
RPM Version gdb-5.0-1
=====================
+ Adds remote Ethernet debugging for RTEMS, 167Bug, PPC2Dink, EPPCBUG,
numerous RTEMS targets, PSIM enhancements.
- adds h8300 support.
RPM Version gdb-4.18-4
======================
+ Adds remote Ethernet debugging for RTEMS, 167Bug, PPC2Dink, EPPCBUG,
numerous RTEMS targets, PSIM enhancements.
Released with RTEMS 4.5.0-beta3a.
gdb-4.18-rtems-20000524.diff
- base line

View File

@@ -1,83 +0,0 @@
##
## $Id$
##
include $(top_srcdir)/common/common.am
MKSPEC = $(SHELL) ./mkspec
SUBPACKAGES = header.add
SUBPACKAGES += $(top_builddir)/common/common.add
SUBPACKAGES += gdb.add
SUBPACKAGES += $(top_builddir)/common/clean.add
SUBPACKAGES += target-gdb.add
SUBPACKAGES += base-gdb.add
noinst_DATA = gdb.spec.in
gdb.spec.in: $(SUBPACKAGES)
cat $^ > $@
CLEANFILES = gdb.spec.in
MKGDBSPEC_DEPS = mkspec gdb.spec.in $(top_builddir)/setup.cache
RPM_SPECS_DATA =
@rpmprefix@arm-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache arm-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@arm-rtems@osversion@-gdb.spec
@rpmprefix@avr-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache avr-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@avr-rtems@osversion@-gdb.spec
@rpmprefix@h8300-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache h8300-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@h8300-rtems@osversion@-gdb.spec
@rpmprefix@i386-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache i386-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@i386-rtems@osversion@-gdb.spec
@rpmprefix@m68k-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache m68k-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@m68k-rtems@osversion@-gdb.spec
@rpmprefix@mips-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache mips-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@mips-rtems@osversion@-gdb.spec
@rpmprefix@mips64-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache mips64-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@mips64-rtems@osversion@-gdb.spec
@rpmprefix@mipstx39-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache mipstx39-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@mipstx39-rtems@osversion@-gdb.spec
@rpmprefix@powerpc-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache powerpc-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@powerpc-rtems@osversion@-gdb.spec
@rpmprefix@sh-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache sh-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@sh-rtems@osversion@-gdb.spec
@rpmprefix@sh-rtemscoff@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache sh-rtemscoff@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@sh-rtemscoff@osversion@-gdb.spec
@rpmprefix@sparc-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
$(MKSPEC) -cfg $(top_builddir)/setup.cache sparc-rtems@osversion@ > $@
RPM_SPECS_DATA += @rpmprefix@sparc-rtems@osversion@-gdb.spec
# does not build with 5.2
# @rpmprefix@tic4x-rtems@osversion@-gdb.spec: $(MKGDBSPEC_DEPS)
# $(MKSPEC) -cfg $(top_builddir)/setup.cache tic4x-rtems@osversion@ > $@
# RPM_SPECS_DATA += @rpmprefix@tic4x-rtems@osversion@-gdb.spec
CLEANFILES += $(RPM_SPECS_DATA)
EXTRA_DIST = $(SUBPACKAGES)
include $(top_srcdir)/../automake/local.am

View File

@@ -1,67 +0,0 @@
# =====================================================================
# rtems-base-gdb
# =====================================================================
%package -n @rpmprefix@rtems@osversion@-base-gdb
Summary: base package for rtems gdb
Group: %{rpmgroup}
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n @rpmprefix@rtems@osversion@-base-gdb
RTEMS is an open source operating system for embedded systems.
This is the base for gdb regardless of target CPU.
%files -n @rpmprefix@rtems@osversion@-base-gdb
%defattr(-,root,root)
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/gdb.info*
# FIXME: When had mmalloc.info been removed?
%if "%{gdb_version}" < "6.3"
%{_infodir}/mmalloc.info*
%endif
# FIXME: When had gdbint and stabs been introduced?
%if "%{gdb_version}" >= "5.0"
%{_infodir}/gdbint.info*
%{_infodir}/stabs.info*
%endif
%if "{gdb_version}" >= "6.0"
%{_infodir}/annotate.info*
%endif
%dir %{_mandir}
%dir %{_mandir}/man1
%post -n @rpmprefix@rtems@osversion@-base-gdb
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz
%if "%{gdb_version}" < "6.3"
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/mmalloc.info.gz
%endif
%if "%{gdb_version}" >= "5.0"
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz
%endif
%if "{gdb_version}" >= "6.0"
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz
%endif
%preun -n @rpmprefix@rtems@osversion@-base-gdb
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz
%if "%{gdb_version}" < "6.3"
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/mmalloc.info.gz
%endif
%if "%{gdb_version}" >= "5.0"
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz
%endif
%if "{gdb_version}" >= "6.0"
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz
%endif
fi

View File

@@ -1,160 +0,0 @@
%define gdb_version @gdb_version@
%define gdb_target @target_alias@
Name: @rpmprefix@%{gdb_target}-gdb
Release: @Release@
License: GPL/LGPL
Group: %{rpmgroup}
Version: %{gdb_version}
Summary: gdb for target %{gdb_version}
URL: http://gnu.org/software/gdb
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%if "%{gdb_version}" < "6.0"
Source0: ftp://ftp.gnu.org/pub/gnu/gdb-%{gdb_version}@gdb_suffix@
Patch0: gdb-%{gdb_version}-rtems-base-@gdb_patch_version@.diff
Patch1: gdb-%{gdb_version}-rtems-cg-@gdb_patch_version@.diff
Patch2: gdb-%{gdb_version}-rtems-rdbg-@gdb_patch_version@.diff
%else
Source0: ftp://ftp.gnu.org/pub/gnu/gdb-%{gdb_version}@gdb_suffix@
@PATCH1@
%endif
%if "%{_vendor}" == "redhat"
BuildRequires: ncurses-devel
%endif
# Work around to a bug in rpm-4.2
%define __os_install_post %{nil}
#
# 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 :-)
#
%{?!_with_sources:NoSource: 0}
# Account as best possible for targets without simulators
# and targets which require extra arguments.
%define _sim 1
%if "%{gdb_target}" == "avr-rtems@osversion@"
%define _sim 0
%endif
%if "%{gdb_target}" == "m68k-rtems@osversion@"
%define _sim 0
%endif
%if "%{gdb_target}" == "i386-rtems@osversion@"
%define _sim 0
%endif
%if "%{gdb_target}" == "powerpc-rtems@osversion@"
%define _sim 1
%endif
%if "%{gdb_target}" == "sparc-rtems@osversion@"
%define _sim 1
%endif
%description
RTEMS is an open source operating system for embedded systems.
This is the GNU gdb for RTEMS targetting %{gdb_version}.
%prep
%setup -c -T -n %{name}-%{version} -a0
cd gdb-%{gdb_version}
%{?PATCH0:%patch0 -p1}
%{?PATCH1:%patch1 -p1}
%{?PATCH2:%patch2 -p1}
cd ..
%build
%if "%_sim" == "1"
simargs="--enable-sim"
%endif
%if "%{gdb_target}" == "powerpc-rtems@osversion@"
simargs="$simargs --enable-sim-timebase --enable-sim-hardware"
# Enabling this causes the program image to be huge and causes
# some gcc/hosts combinations to run out of memory.
# simargs="$simargs --enable-sim-inline"
%endif
mkdir -p build
cd build
%if "%{_prefix}" != "/usr"
export PATH="%{_bindir}:${PATH}"
%endif
CFLAGS="$RPM_OPT_FLAGS" \
../gdb-%{gdb_version}/configure \
--build=%_build --host=%_host \
--target=%{gdb_target} \
--prefix=%{_prefix} --bindir=%{_bindir} \
--includedir=%{_includedir} --libdir=%{_libdir} \
--mandir=%{_mandir} --infodir=%{_infodir} \
--verbose $simargs \
--disable-nls
make all
make info
%install
rm -rf $RPM_BUILD_ROOT
cd build
%if "%{gdb_version}" >= "6.3"
make DESTDIR=$RPM_BUILD_ROOT install
make DESTDIR=$RPM_BUILD_ROOT install-info
%%else
make prefix=$RPM_BUILD_ROOT%{_prefix} \
bindir=$RPM_BUILD_ROOT%{_bindir} \
includedir=$RPM_BUILD_ROOT%{_includedir} \
libdir=$RPM_BUILD_ROOT%{_libdir} \
infodir=$RPM_BUILD_ROOT%{_infodir} \
mandir=$RPM_BUILD_ROOT%{_mandir} \
install
make prefix=$RPM_BUILD_ROOT%{_prefix} \
bindir=$RPM_BUILD_ROOT%{_bindir} \
includedir=$RPM_BUILD_ROOT%{_includedir} \
libdir=$RPM_BUILD_ROOT%{_libdir} \
infodir=$RPM_BUILD_ROOT%{_infodir} \
mandir=$RPM_BUILD_ROOT%{_mandir} \
install-info
%endif
# host files
rm -rf $RPM_BUILD_ROOT%{_includedir}/*.h
rm -rf $RPM_BUILD_ROOT%{_libdir}/lib*a
# These come from other packages
rm -rf $RPM_BUILD_ROOT%{_infodir}/bfd*
rm -rf $RPM_BUILD_ROOT%{_infodir}/configure*
rm -rf $RPM_BUILD_ROOT%{_infodir}/standards*
# gdb 4.18 installed this, later versions don't
# Don't care about it, anymore
rm -rf $RPM_BUILD_ROOT%{_infodir}/readline.info*
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir
# gzip info files
ls $RPM_BUILD_ROOT%{_infodir}/*.info \
$RPM_BUILD_ROOT%{_infodir}/*.info-? \
$RPM_BUILD_ROOT%{_infodir}/*.info-?? \
| while read a; do \
gzip -9qf $a 2>/dev/null; \
done
# gzip man pages
gzip -9qf $RPM_BUILD_ROOT%{_mandir}/man?/*.? 2>/dev/null

View File

@@ -1,6 +0,0 @@
#
# spec file for building gdb for @target_alias@
#
# supported --with/--without options:
# --with sources build src.rpm instead of nosrc.rpm
#

View File

@@ -1,67 +0,0 @@
#!/bin/sh
#
# Usage: mkspec CPU
#
RTEMS_DIR=`dirname $0`/@top_srcdir@
CFG=../setup.cache
specsrc=${RTEMS_DIR}/gdb/gdb.spec.in
usage()
{
echo "$0 [options] <target_alias>"
echo " options:"
echo " -cfg <setup.cache>"
echo " -a <alternate specs.in>"
exit 1 ;
}
while test $# -ge 2; do
case $1 in
-cfg)
shift
CFG=$1
shift
;;
-a) # alternate specs file
shift
specsrc=$1
shift
;;
-*)
echo "invalid option $1";
usage
;;
esac
done
if test ! $# -eq 1;
then
echo "Invalid number of arguments"
usage
fi
# target to build for
target_alias=$1
. ./$CFG
patchn=-1
if test -n "${gdb_patch_version}"; then
patchn=`expr $patchn + 1`
PATCH1="Patch${patchn}: gdb-${gdb_version}-rtems-${gdb_patch_version}.diff"
fi
sed -e "s,@PATCH1\@,${PATCH1}," \
-e "s,@Release\@,${gdb_rpm_release},g" \
-e "s,@prefix\@,@prefix@,g" \
-e "s,@target_alias\@,${target_alias},g" \
-e "s,@rpmprefix\@,@rpmprefix@,g" \
-e "s,@rpmgroup\@,@rpmgroup@,g" \
-e "s,@osversion\@,@osversion@,g" \
-e "s,@gdb_version\@,${gdb_version},g" \
-e "s,@gdb_patch_version\@,${gdb_patch_version},g" \
-e "s,@gdb_suffix\@,${gdb_suffix},g" \
< ${specsrc}

View File

@@ -1,37 +0,0 @@
# =====================================================================
# %{gdb_target}-gdb
# =====================================================================
# %package -n @rpmprefix@%{gdb_target}-gdb
# Summary: rtems gdb for %{gdb_target}
# Group: %{rpmgroup}
# Requires: @rpmprefix@rtems@osversion@-base-gdb
%description -n @rpmprefix@%{gdb_target}-gdb
RTEMS is an open source operating system for embedded systems.
This is the GNU gdb for RTEMS targetting %{gdb_target}.
%files -n @rpmprefix@%{gdb_target}-gdb
%defattr(-,root,root)
%{_mandir}/man1/%{gdb_target}-gdb.1*
%if "%_sim" == "1"
%{_mandir}/man1/%{gdb_target}-run.1*
%endif
%if "%{gdb_version}" >= "6.3"
%{_mandir}/man1/%{gdb_target}-gdbtui.1*
%endif
%dir %{_bindir}
%{_bindir}/%{gdb_target}-gdb%{_exeext}
%if "%_sim" == "1"
%{_bindir}/%{gdb_target}-run%{_exeext}
%endif
%if "%_sim" == "1"
%if "%{gdb_target}" == "sparc-rtems@osversion@"
%{_bindir}/%{gdb_target}-sis%{_exeext}
%endif
%endif
%if "%{gdb_version}" >= "6.3"
%{_bindir}/%{gdb_target}-gdbtui
%endif

View File

@@ -1,32 +0,0 @@
#!/bin/sh
#
# A simple shell script to build several rpms in a row.
#
# Used for testing rtems.spec.in
#
# Some linux distributions use /usr/src/packages
# redhat uses /usr/src/redhat
# others might use /usr/src
if test -d /usr/src/packages/SPECS;
then
dst=/usr/src/packages/SPECS;
elif test -d /usr/src/redhat/SPECS;
then
dst=/usr/src/redhat/SPECS;
elif test -d /usr/src/SPECS/;
then
dst=/usr/src/SPECS;
fi
./mkspec pc386 i386-rtems
rpm -ba $dst/rtems-i386-rtems-pc386.spec
./mkspec gensh1 sh-rtemself
rpm -ba $dst/rtems-sh-rtemself-gensh1.spec
./mkspec mcp750 powerpc-rtems
rpm -ba $dst/rtems-powerpc-rtems-mcp750.spec

View File

@@ -1,20 +0,0 @@
#!/bin/sh
#
RTEMS_DIR=`dirname $0`
RTEMS_VERSION=`grep Version ${RTEMS_DIR}/../VERSION | \
sed -e 's%RTEMS[ ]*Version[ ]*\(.*\)[ ]*%\1%g'`
target_alias=$1
bsp=$2
release=0
#${RTEMS_DIR}/scripts/mkbspspec $bsp $target_alias
#${RTEMS_DIR}/scripts/mkbinutilspec $target_alias
#${RTEMS_DIR}/scripts/mkgccnewlibspec $target_alias
#${RTEMS_DIR}/scripts/mkgdbspec $target_alias
./mkbinutilspec $target_alias
./mkgccnewlibspec $target_alias
./mkgcc4newlibspec $target_alias
./mkgdbspec $target_alias

View File

@@ -1,5 +0,0 @@
*.spec
Makefile
Makefile.in
rtems.spec.in
mkspec

View File

@@ -1,48 +0,0 @@
##
## $Id$
##
include $(top_srcdir)/common/common.am
SUBPACKAGES = header.add
SUBPACKAGES += $(top_builddir)/common/common.add
SUBPACKAGES += rtems.add
SUBPACKAGES += $(top_builddir)/common/clean.add
SUBPACKAGES += target-rtems.add
noinst_DATA = rtems.spec.in
rtems.spec.in: $(SUBPACKAGES)
cat $^ > $@
CLEANFILES = rtems.spec.in
MKBSPSPEC = $(SHELL) ./mkspec
MKBSPSPEC_DEPS = $(top_builddir)/mkspec rtems.spec.in \
$(top_builddir)/setup.cache
RPM_SPECS_DATA =
@rpmprefix@i386-rtems-pc386-$(BSPVERS).spec: $(MKBSPSPEC_DEPS)
$(MKBSPSPEC) -cfg $(top_builddir)/setup.cache -o . i386-rtems@osversion@ pc386
RPM_SPECS_DATA += @rpmprefix@i386-rtems-pc386-$(BSPVERS).spec
@rpmprefix@m68k-rtems-gen68360-$(BSPVERS).spec: $(MKBSPSPEC_DEPS)
$(MKBSPSPEC) -cfg $(top_builddir)/setup.cache -o . m68k-rtems@osversion@ gen68360
RPM_SPECS_DATA += @rpmprefix@m68k-rtems-gen68360-$(BSPVERS).spec
@rpmprefix@powerpc-rtems-mcp750-$(BSPVERS).spec: $(MKBSPSPEC_DEPS)
$(MKBSPSPEC) -cfg $(top_builddir)/setup.cache -o . powerpc-rtems@osversion@ mcp750
RPM_SPECS_DATA += @rpmprefix@powerpc-rtems-mcp750-$(BSPVERS).spec
@rpmprefix@sh-rtems-gensh1-$(BSPVERS).spec: $(MKBSPSPEC_DEPS)
$(MKBSPSPEC) -cfg $(top_builddir)/setup.cache -o . sh-rtems@osversion@ gensh1
RPM_SPECS_DATA += @rpmprefix@sh-rtems-gensh1-$(BSPVERS).spec
@rpmprefix@sparc-rtems-erc32-$(BSPVERS).spec: $(MKBSPSPEC_DEPS)
$(MKBSPSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems@osversion@ erc32
RPM_SPECS_DATA += @rpmprefix@sparc-rtems-erc32-$(BSPVERS).spec
CLEANFILES += $(RPM_SPECS_DATA)
include $(top_srcdir)/../automake/local.am

View File

@@ -1,3 +0,0 @@
This all is untested and experimental.
Don't use.

View File

@@ -1,3 +0,0 @@
#
# spec file for building an rtems bsp.
#

View File

@@ -1,62 +0,0 @@
#!/bin/sh
#
RTEMS_DIR=`dirname $0`/@top_srcdir@
RTEMS_VERSION=@RTEMS_VERSION@
CFG=setup.cache
dst=@RPM_SPECSdir@
exe_ext=@EXEEXT@
usage()
{
echo "$0 [options] <target_alias> <bsp>"
echo " options:"
echo " -cfg <setup.cache>"
echo " -o <rpm-spec-dir>"
exit 1 ;
}
while test $# -ge 3; do
case $1 in
-cfg)
shift
CFG=$1
shift
;;
-o)
shift
dst=$1
shift
;;
-*)
echo "invalid option $1";
usage
;;
esac
done
if test ! $# -eq 2;
then
echo "Invalid number of arguments"
usage
fi
# target to build for
target_alias=$1
bsp=$2
. ./$CFG
specfile=${dst}/$target_alias-$bsp-${rtems_version}.spec
sed -e "s%@Release\@%${rtems_rpm_release}%g" \
-e "s%@bsp\@%${bsp}%g" \
-e "s%@rtems_version\@%${rtems_version}%g" \
-e "s,@rpmprefix\@,@rpmprefix@,g" \
-e "s%@target_alias\@%${target_alias}%g" \
-e "s%@exe_ext\@%${exe_ext}%g" \
< ${RTEMS_DIR}/rtems/rtems.spec.in \
> ${specfile}
echo Generated ${specfile}

View File

@@ -1,35 +0,0 @@
Name: @rpmprefix@rtems-source
Version: @rtems_version@
Release: @RTEMS_RPM_RELEASE@
Epoch: 0
Summary: RTEMS source code
Group: %{rpmgroup}
License: GPL with special exception for linking with application program
URL: http://www.rtems.com
Source0: ftp://ftp.rtems.com/pub/rtems/SOURCES/rtems-%{version}.tar.bz2
Prefix: %{_prefix}/src
BuildArch: noarch
#---------------------------------------------------------------------
Requires: @rpmprefix@automake-rtems = 1.8.2
Requires: @rpmprefix@autoconf-rtems = 2.59
%description
RTEMS is an open source operating system for embedded systems.
%prep
%setup -q -c -T -n %{name}-%{version} -a0
%build
%install
rm -rf $RPM_BUILD_ROOT
install -d -m 0755 ${RPM_BUILD_ROOT}%{_prefix}/src
cp -a rtems-%{version} ${RPM_BUILD_ROOT}%{_prefix}/src
%files
%defattr(-,root,root,-)
%doc */LICENSE* */COPYING */README */README.configure
%{_prefix}/src

View File

@@ -1,47 +0,0 @@
Name: rtems-@target_alias@-@bsp@
Summary: A free operating system for embedded systems
Group: %{rpmgroup}
Release: @Release@
License: Distributable
Version: @rtems_version@
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source: ftp://ftp.rtems.org/pub/rtems/%{version}/rtems-%{version}.tar.bz2
# Work around to a bug in rpm-4.2
%define __os_install_post %{nil}
#
# 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.
#
%{?!_with_sources:NoSource: 0}
%description
RTEMS is a free operating system for embedded systems.
%prep
# untar the sources inside rtems-@target_alias@-@bsp@-@rtems_version@
%setup -c -T -n rtems-@target_alias@-@bsp@-@rtems_version@ -a0
%build
# rtems does not support building inside the source tree
mkdir -p build
cd build
../rtems-@rtems_version@/configure \
--target=@target_alias@ \
--prefix=%{_prefix}/@target_alias@ \
--enable-networking \
--enable-posix \
--enable-cxx \
--disable-tests \
--enable-rdbg \
--disable-multiprocessing \
--disable-itron
make RTEMS_BSP=@bsp@
%install
rm -rf $RPM_BUILD_ROOT
make RTEMS_BSP=@bsp@ DESTDIR=$RPM_BUILD_ROOT install

View File

@@ -1,3 +0,0 @@
%files
%defattr(-,root,root,-)
%{_prefix}

View File

@@ -1,29 +0,0 @@
ada_user-docs.add
arm-supplement.add
bsp_howto-docs.add
c4x-supplement.add
c_user-docs.add
develenv-docs.add
FAQ-docs.add
filesystem-docs.add
i386-supplement.add
itron-docs.add
m68k-supplement.add
Makefile
Makefile.in
mips-supplement.add
networking-docs.add
new_chapters-docs.add
porting-docs.add
posix1003_1-docs.add
posix_users-docs.add
powerpc-supplement.add
relnotes-docs.add
rgdb_specs-docs.add
rtems_gdb-docs.add
sh-supplement.add
sparc-supplement.add
*.spec
*.spec.in
started_ada-docs.add
started-docs.add

View File

@@ -1,45 +0,0 @@
##
include ${top_srcdir}/common/common.am
CLEANFILES =
SUPPLEMENTS = arm c4x i386 m68k mips powerpc sh sparc
DOCS = ada_user posix1003_1 bsp_howto
DOCS += c_user posix_users
DOCS += develenv
DOCS += FAQ filesystem itron
DOCS += networking porting new_chapters
DOCS += relnotes rgdb_specs rtems_gdb
DOCS += started started_ada
SUBPACKAGES = header.add
SUBPACKAGES += ../common/common.add
SUBPACKAGES += rtemsdoc.add
SUBPACKAGES += ../common/clean.add
SUBPACKAGES += $(DOCS:%=%-docs.add)
CLEANFILES += $(DOCS:%=%-docs.add)
SUBPACKAGES += $(SUPPLEMENTS:%=%-supplement.add)
CLEANFILES += $(SUPPLEMENTS:%=%-supplement.add)
SUFFIXES = -supplement.add -docs.add
%-supplement.add: supplement.add.in
t=`echo $@ | sed -e 's,-supplement.add,,'`; \
sed -e s/@target\@/$$t/g < $< >$@
%-docs.add: templ.add.in
t=`echo $@ | sed -e 's,-docs.add,,'`; \
sed -e s/@target\@/$$t/g < $< >$@
rtemsdoc.spec: $(SUBPACKAGES) Makefile
cat $(SUBPACKAGES) | sed \
-e 's,[@]rtems_version[@],$(RTEMS_VERSION),g' \
-e 's,[@]rtems_rpm_release[@],$(RTEMS_RPM_RELEASE),g' \
> $@
CLEANFILES += rtemsdoc.spec
noinst_DATA = rtemsdoc.spec
include $(top_srcdir)/../automake/local.am

View File

@@ -1,10 +0,0 @@
#
# $Id$
#
This directory contains RPM-spec file fragments (*.add) which are used to
build RTEMS doc packages.
This spec-file is pretty immature ;)
Ralf Corsepius 2003/01/24

View File

@@ -1,4 +0,0 @@
#
# spec file for package rtemsdoc
#
# Copyright (c) 2003, 2004 Ralf Corsepius, Ulm, Germany

View File

@@ -1,88 +0,0 @@
%define _datadir %{_prefix}/share
%define _infodir %{_datadir}/info
%define srcvers @rtems_version@
%define rpmvers %{expand:%%(echo @rtems_version@ | tr - _ )}
Name: @rpmprefix@rtemsdoc
Release: @rtems_rpm_release@
License: Distributable
Group: %{rpmgroup}/Documentation
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: texinfo >= 4.2
BuildRequires: tetex
BuildRequires: perl
BuildRequires: gcc
Version: %{rpmvers}
Summary: A free operating system for embedded systems
Source: rtems-%{srcvers}.tar.bz2
# Work around to a bug in rpm-4.2
%define __os_install_post %{nil}
#
# 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
Prefix: %{_prefix}
Prefix: %{_infodir}
Prefix: %{_datadir}
BuildArch: noarch
%description
RTEMS is a free operating system for embedded systems.
This package contains the documentation
%prep
%setup -c -T -n %{name}-%{version} -b0
test -d build || mkdir build
%build
cd build
# rtems does not support building inside the source tree
export PATH=%{_prefix}/bin:$PATH
../rtems-%{srcvers}/doc/configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--datadir=%{_datadir} \
--enable-docs
make RTEMS_BSP=
%install
rm -rf ${RPM_BUILD_ROOT}
cd build
make RTEMS_BSP= DESTDIR=${RPM_BUILD_ROOT} install
rm -f ${RPM_BUILD_ROOT}/%{_infodir}/template*
rm -f ${RPM_BUILD_ROOT}/%{_datadir}/rtems/*/template*
rm -rf ${RPM_BUILD_ROOT}/%{_datadir}/rtems/html/supplements/template*
gzip -9qf ${RPM_BUILD_ROOT}/%{_infodir}/*
## base
%package base
Summary: Documentation for RTEMS ada support
Group: %{rpmgroup}/Documentation
%description base
RTEMS is a free operating system for embedded systems.
This package contains the files shared between different documentation
packages.
%files base
%dir %{_infodir}
%dir %{_datadir}/rtems
%dir %{_datadir}/rtems/html
%{_datadir}/rtems/html/images
%{_datadir}/rtems/html/*.html

View File

@@ -1,36 +0,0 @@
## supplement for target @target@
%package @target@
Summary: Documentation for RTEMS @target@ support
Group: %{rpmgroup}/Documentation
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
Requires: @rpmprefix@rtemsdoc-base
%description @target@
RTEMS is a free operating system for embedded systems.
This package contains the @target@ target supplement
%files @target@
%dir %{_infodir}
%{_infodir}/@target@.info*
%dir %{_datadir}
%dir %{_datadir}/rtems
%dir %{_datadir}/rtems/dvi
%{_datadir}/rtems/dvi/@target@*
%dir %{_datadir}/rtems/pdf
%{_datadir}/rtems/pdf/@target@*
%dir %{_datadir}/rtems/ps
%{_datadir}/rtems/ps/@target@*
%dir %{_datadir}/rtems/html
%dir %{_datadir}/rtems/html/supplements
%{_datadir}/rtems/html/supplements/@target@*
%post @target@
/sbin/install-info --infodir=%{_infodir} %{_infodir}/@target@.info.gz
%preun @target@
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --infodir=%{_infodir} %{_infodir}/@target@.info.gz
fi

View File

@@ -1,35 +0,0 @@
## @target@
%package @target@
Summary: Documentation for RTEMS @target@ support
Group: %{rpmgroup}/Documentation
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
Requires: @rpmprefix@rtemsdoc-base
%description @target@
RTEMS is a free operating system for embedded systems.
This package contains the @target@ documentation.
%files @target@
%dir %{_infodir}
%{_infodir}/@target@.info*
%dir %{_datadir}
%dir %{_datadir}/rtems
%dir %{_datadir}/rtems/dvi
%{_datadir}/rtems/dvi/@target@*
%dir %{_datadir}/rtems/pdf
%{_datadir}/rtems/pdf/@target@*
%dir %{_datadir}/rtems/ps
%{_datadir}/rtems/ps/@target@*
%dir %{_datadir}/rtems/html
%{_datadir}/rtems/html/@target@*
%post @target@
/sbin/install-info --infodir=%{_infodir} %{_infodir}/@target@.info.gz
%preun @target@
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --infodir=%{_infodir}/dir %{_infodir}/@target@.info.gz
fi

View File

@@ -1,117 +0,0 @@
#!/bin/bash
CFG=setup.cache
# RTEMS tools setup
if test ! -f ./$CFG;
then
echo -n "restoring default setup.cache .."
cp ./setup.def ./$CFG
echo " done"
fi
echo -n "loading setup from ./$CFG .."
. ./$CFG
echo " done"
echo
menu_setup()
{
while true;
do
echo
echo " Source packages setup"
echo
echo "0 binutils version : $binutils_version"
echo "1 binutils patch version : $binutils_patch_version"
echo "2 binutils rpm release : $binutils_rpm_release"
echo "8 gdb version : $gdb_version"
echo "9 gdb patch version : $gdb_patch_version"
echo "a gdb rpm release : $gdb_rpm_release"
echo "b rtems version : $rtems_version"
echo "c rtems rpm release : $rtems_rpm_release"
echo "d rpm build root : $rpm_build_root"
echo "e gcc version : $gcc_version"
echo "f gcc patch version : $gcc_patch_version"
echo "g newlib version : $newlib_version"
echo "h newlib patch version : $newlib_patch_version"
echo "i gcc/newlib rpm release : $gccnewlib_rpm_release"
echo
echo -n "[0-9a-d] or any other key to quit >"
read sel
case $sel in
0) echo -n "BINUTILS source >"
read binutils_version ;;
1) echo -n "BINUTILS patch version >"
read binutils_patch_version ;;
2) echo -n "BINUTILS RPM release >"
read binutils_rpm_release ;;
8) echo -n "GDB source >"
read gdb_version ;;
9) echo -n "GDB patch version>"
read gdb_patch_version ;;
a) echo -n "GDB RPM release >"
read gdb_rpm_release ;;
b) echo -n "RTEMS source >"
read rtems_version ;;
c) echo -n "RTEMS RPM release >"
read rtems_rpm_release ;;
d) echo -n "RPM build root >"
read rpm_build_root ;;
e) echo -n "GCC source >"
read gcc_version ;;
f) echo -n "GCC patch version>"
read gcc_patch_version ;;
g) echo -n "NEWLIB source >"
read newlib_version ;;
h) echo -n "NEWLIB patch version>"
read newlib_patch_version ;;
i) echo -n "GCC3/NEWLIB RPM release >"
read gccnewlib_rpm_release ;;
*)
return 0 ;;
esac
done
}
save_setup()
{
echo -n "saving setup to $CFG .."
echo "# RTEMS tools setup" > $CFG
echo "binutils_version=$binutils_version" >> $CFG
echo "binutils_patch_version=$binutils_patch_version" >> $CFG
echo "binutils_rpm_release=$binutils_rpm_release" >> $CFG
echo "newlib_version=$newlib_version" >> $CFG
echo "newlib_patch_version=$newlib_patch_version" >> $CFG
echo "gcc_version=$gcc_version" >> $CFG
echo "gcc_patch_version=$gcc_patch_version" >> $CFG
echo "gccnewlib_rpm_release=$gccnewlib_rpm_release" >> $CFG
echo "gdb_version=$gdb_version" >> $CFG
echo "gdb_patch_version=$gdb_patch_version" >> $CFG
echo "gdb_rpm_release=$gdb_rpm_release" >> $CFG
echo "rtems_version=$rtems_version" >> $CFG
echo "rtems_rpm_release=$rtems_rpm_release" >> $CFG
echo "rpm_build_root=$rpm_build_root" >> $CFG
echo "newlib_version=$newlib_version" >> $CFG
echo "newlib_patch_version=$newlib_patch_version" >> $CFG
echo "gcc_version=$gcc_version" >> $CFG
echo "gcc_patch_version=$gcc_patch_version" >> $CFG
echo "gccnewlib_rpm_release=$gccnewlib_rpm_release" >> $CFG
echo " done"
test -f Makefile || ./configure
}
menu_setup
echo
echo -n "Save setup [y|n] >"
read sel
case $sel in
''|y*|Y*) save_setup ;;
*) ;;
esac

View File

@@ -1,22 +0,0 @@
#
# RTEMS tools setup
#
# $Id$
#
binutils_version=2.16.1
binutils_patch_version=20050816
binutils_suffix=.tar.bz2
binutils_rpm_release=3
gdb_version=6.4
gdb_suffix=.tar.bz2
gdb_patch_version=20060117
gdb_rpm_release=2
rtems_version=4.6.99.1
rtems_rpm_release=1
newlib_version=1.14.0
newlib_suffix=.tar.gz
newlib_patch_version=
gcc_version=4.0.2
gcc_suffix=.tar.bz2
gcc_patch_version=
gccnewlib_rpm_release=1