Remove (Moved to git.rtems.org/data/git/rtems-crossrpms.git).

This commit is contained in:
Ralf Corsépius
2012-02-17 16:03:57 +01:00
parent efddd4fc62
commit 9604d8b03c
150 changed files with 0 additions and 33090 deletions

View File

@@ -1,10 +0,0 @@
INSTALL
Makefile
Makefile.in
aclocal.m4
configure
config.*
autom4te*
missing
install-sh

View File

@@ -1,9 +0,0 @@
Ralf Corsépius <ralf.corsepius@rtems.org>
Chris Johns <chrisj@rtems.org>
- Testing.
- Bugfixes.
- mingw32.
Joel Sherrill <joel@oarcorp.com>
- Testing.

View File

@@ -1,340 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

@@ -1,118 +0,0 @@
2006-12-02 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: New BUG-REPORT address.
2006-11-19 Ralf Corsépius <ralf.corsepius@rtems.org>
* autotools/Makefile.am, autotools/autoconf.add:
Upgrade to autoconf-2.61.
2006-11-15 Ralf Corsépius <ralf.corsepius@rtems.org>
* patches/gcc-core-4.2-20061114-rtems4.8-20061115.diff: New.
* patches/newlib-1.14.0-bfinrtems-20060810a.diff: Remove (Obsolete).
* patches/gcc-4.1.1-bfinrtems-20060810a.diff: Remove (Obsolete).
* rtems-4.8/bfin/Makefile.am, rtems-4.8/bin/gcc-sources.add:
GCC_REL=4. Upgrade to gcc-core-4.2-20061114-rtems4.8-20061115.diff.
2006-10-27 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac, Makefile.am: Remove rtems4.7.
* rtems4.7: Remove (Development now in rtems-4-7-branch only).
2006-10-27 Ralf Corsépius <ralf.corsepius@rtems.org>
* patches/newlib-1.14.0-rtems4.8-20061027.diff: New.
* patches/newlib-1.14.0-rtems-20061026.diff: Remove (broken).
2006-10-26 Joel Sherrill <joel@OARcorp.com>
* patches/newlib-1.14.0-rtems-20061026.diff: New file.
2006-10-22 Ralf Corsépius <ralf.corsepius@rtems.org>
* Makefile.am, configure.ac: Add rtems-4.8.
2006-10-16 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: Set RTEMS_API to 4.8.
2006-10-16 Ralf Corsépius <ralf.corsepius@rtems.org>
* autotools/Makefile.am, autotools/automake.add: Update to
automake-1.10.
2006-08-23 Ralf Corsépius <ralf.corsepius@rtems.org>
* rtems4.7/arm/gcc-sources.add, rtems4.7/h8300/gcc-sources.add,
rtems4.7/i386/gcc-sources.add, rtems4.7/m68k/gcc-sources.add,
rtems4.7/mips/gcc-sources.add, rtems4.7/powerpc/gcc-sources.add
rtems4.7/sh/gcc-sources.add, rtems4.7/sparc/gcc-sources.add
rtems4.7/tic4x/gcc-sources.add: Add gcc-4.0.3.
2006-08-23 Ralf Corsépius <ralf.corsepius@rtems.org>
* gcc/build.add: Revert --disable-libssp etc. hacks.
2006-08-22 Chris Johns <chrisj@rtems.org>
* rtems4.7/avr/gcc-sources.add: Add the 4.0.3 patch.
* patches/gcc-core-4.0.3-rtems-20060822.diff:
The .exe for the versioned execuable for MinGW.
2006-08-21 Joel Sherrill <joel@OARcorp.com>
* rtems4.7/h8300/binutils-sources.add,
rtems4.7/m68k/binutils-sources.add: Add h8300 _tinydata patch and
bump patch for targets needing it.
* patches/binutils-2.17-rtems-20060815.diff: New file.
2006-08-11 Joel Sherrill <joel@oarcorp.com>
* configure.ac, gcc/build.add, gcc/target-gcc.add: Add bfin target
prior to merge. Add ability to disable libssp and libstdcxx-pch which
apparently are required to build the Blackfin port.
* patches/binutils-2.17-rtems-bfin-20060810.diff,
patches/gcc-4.1.1-bfinrtems-20060810a.diff,
patches/gdb-6.5-bfinrtems-20060810a.diff,
patches/newlib-1.14.0-bfinrtems-20060810a.diff,
rtems4.7/bfin/.cvsignore, rtems4.7/bfin/Makefile.am,
rtems4.7/bfin/binutils-sources.add, rtems4.7/bfin/gcc-sources.add,
rtems4.7/bfin/gdb-sources.add: New files.
2006-08-09 Joel Sherrill <joel@OARcorp.com>
* .cvsignore: Add INSTALL.
2006-07-19 Chris Johns <chrisj@rtems.org>
* patches/gcc-core-4.1.1-rtems-20060720.diff:
Added patch to fix GCC bug PR28400.
2006-07-13 Joel Sherrill <joel@oarcorp.com>
* configure.ac, rtems4.7/Makefile.am, rtems4.7/arm/Makefile.am,
rtems4.7/arm/gdb-sources.add, rtems4.7/avr/Makefile.am,
rtems4.7/avr/gdb-sources.add, rtems4.7/h8300/Makefile.am,
rtems4.7/h8300/gdb-sources.add, rtems4.7/i386/Makefile.am,
rtems4.7/i386/gdb-sources.add, rtems4.7/m68k/Makefile.am,
rtems4.7/m68k/gdb-sources.add, rtems4.7/mips/Makefile.am,
rtems4.7/mips/gdb-sources.add, rtems4.7/powerpc/Makefile.am,
rtems4.7/powerpc/gdb-sources.add, rtems4.7/sh/Makefile.am,
rtems4.7/sh/gdb-sources.add, rtems4.7/sparc/Makefile.am,
rtems4.7/sparc/gdb-sources.add, rtems4.7/tic4x/gdb-sources.add:
Updated to gdb 6.5
* patches/gdb-6.5-rtems-20060713.diff, rtems4.7/mipstx39/.cvsignore,
rtems4.7/mipstx39/Makefile.am, rtems4.7/mipstx39/gdb-sources.add: New files.
2006-07-12 Joel Sherrill <joel@oarcorp.com>
* rtems4.7/arm/gdb-sources.add, rtems4.7/avr/gdb-sources.add,
rtems4.7/h8300/gdb-sources.add, rtems4.7/i386/gdb-sources.add,
rtems4.7/m68k/gdb-sources.add, rtems4.7/mips/gdb-sources.add,
rtems4.7/powerpc/gdb-sources.add, rtems4.7/sh/gdb-sources.add,
rtems4.7/sparc/gdb-sources.add, rtems4.7/tic4x/gdb-sources.add:
Update gdb to use newer patch. This lets sparc build simulator and
mips build at all.
* patches/gdb-6.4-rtems-20060712.diff: New file.

View File

@@ -1,21 +0,0 @@
##
## $Id$
##
EXTRA_DIST =
SUBDIRS = @HOST_SUBDIRS@ @TARGET_SUBDIRS@
DIST_SUBDIRS =
DIST_SUBDIRS += rtems4.8
DIST_SUBDIRS += autotools
EXTRA_DIST += specstrip
EXTRA_DIST += $(srcdir)/patches/*.diff
install-patches:
@rpmsourcedir=`rpm --eval '%_sourcedir'`; \
for f in $(srcdir)/patches/*.diff; do \
echo "$(INSTALL_DATA) $$f $$rpmsourcedir"; \
$(INSTALL_DATA) $$f $$rpmsourcedir; \
done

View File

@@ -1,19 +0,0 @@
2006-07-24 Add provisory/preliminary autotools support.
2006-07-23 Rename "*-base-*" packages into <tool>-common.
Rename GCC's "*-<lang>" packages into "*-gcc-<lang>".
Many small directory ownership fixes.
Build all GCC packages with --enable-threads.
2006-07-10 Completely reworked and restructurized.
2006-03-10 Add preliminary rtems-gdb specs.
(Immature, incomplete, needs further testing).
2006-03-09 Add fortran and objc to GCC's default languages for freebsd5.2,
freebsd6.0 and solaris.
2006-03-02 Pass --enable-sysroot to non-rtems binutils (Required by
GCC-4.1 sys-root'ed toolchains).
2006-02-25 Put this package under the GPL.

View File

@@ -1,18 +0,0 @@
Copyright (C) 2006 Ralf Corsépius, Ulm, Germany <ralf.corsepius@rtems.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

View File

@@ -1,22 +0,0 @@
* Improve autotools support:
- Problem: The autotools packages conflict with OS provided packages
for --prefix=/usr.
* Improve info files treatment:
- Problem: Infos are not target canonicalized. Therefore, installing them to
/usr or /usr/local is likely to conflict with vendor provided infos rsp.
locally installed packages. Additionally, installing to /usr/local is
completely out of our control.
- Current approach: Install infos/provide base packages only for
$prefix ==/opt/rtems* or if user is forcing them with --enable-infos
- Consider to canonicalize the infos (How?). Probably better be done by
upstream.
* Ada:
- Consider to remove it (Lack of multilibs renders it unusable for rtems
toolchains).
- Consider to add support for non-multilib'ed toolchains.
* gcc/build.add: Use --languages=fortran instead of f95 for gcc >= 4.1
(--languages=f95 is deprecated in gcc >= 4.1)

View File

@@ -1,20 +0,0 @@
# RTEMS_CANONICAL_SPLIT(THING)
# --------------------------
# Generate the variables THING, THING_{alias cpu vendor os}.
m4_define([RTEMS_CANONICAL_SPLIT],
[case $ac_cv_$1 in
*-*-*) ;;
*) AC_MSG_ERROR([invalid value of canonical $1]);;
esac
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_$1
shift
$1_cpu=$[1]
$1_vendor=$[2]
shift; shift
[# Remember, the first character of IFS is used to create $]*,
# except with old shells:
$1_os=$[*]
IFS=$ac_save_IFS
case $$1_os in *\ *) $1_os=`echo "$$1_os" | sed 's/ /-/g'`;; esac
])# RTEMS_CANONICAL_SPLIT

View File

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

View File

@@ -1,13 +0,0 @@
##
## $Id$
##
include $(top_srcdir)/mkspec.am
AUTOCONF_VERS = 2.61
AUTOCONF_RPMREL = 7
include ./autoconf.am
AUTOMAKE_VERS = 1.10
AUTOMAKE_RPMREL = 7
include ./automake.am

View File

@@ -1,2 +0,0 @@
Source0: ftp://ftp.gnu.org/gnu/autoconf/autoconf-%{srcvers}.tar.bz2

View File

@@ -1,88 +0,0 @@
%define srcvers @AUTOCONF_VERS@
%define rpmvers %{expand:%(echo "@AUTOCONF_VERS@" | tr - _ )}
%if "%{_prefix}" != "/usr"
%define name @rpmprefix@autoconf
%else
%define name autoconf
%endif
Name: %{name}
License: GPL
URL: http://www.gnu.org/software/autoconf
Group: Development/Tools
Version: %{rpmvers}
Release: @AUTOCONF_RPMREL@
Summary: Tool for automatically generating GNU style Makefile.in's
%if "%{_prefix}" != "/usr"
Obsoletes: @rpmprefix@autoconf-rtems < %{version}-%{release}
Provides: @rpmprefix@autoconf-rtems = %{version}-%{release}
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: perl m4 gawk emacs
%if "%{version}" >= "2.62"
BuildRequires: m4 >= 1.4.5
%endif
Requires: m4 gawk
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
@SOURCES@
%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 autoconf-%{srcvers}
%{?PATCH0:%patch0 -p1}
# Work around rpm inserting bogus perl-module deps
cat << \EOF > %{name}-prov
#!/bin/sh
%{__perl_provides} $* |\
sed -e '/^perl(Autom4te/d'
EOF
%define __perl_provides %{_builddir}/autoconf-%{srcvers}/%{name}-prov
chmod +x %{__perl_provides}
cat << \EOF > %{name}-requ
#!/bin/sh
%{__perl_requires} $* |\
sed -e '/^perl(Autom4te/d'
EOF
%define __perl_requires %{_builddir}/autoconf-%{srcvers}/%{name}-requ
chmod +x %{__perl_requires}
%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
# RTEMS's standards.info comes from binutils
rm -f $RPM_BUILD_ROOT%{_infodir}/standards.info*
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir

View File

@@ -1,21 +0,0 @@
AUTOCONF_SUBPACKAGES = $(top_srcdir)/common/common.add
AUTOCONF_SUBPACKAGES += $(top_srcdir)/autotools/autoconf.add
AUTOCONF_SUBPACKAGES += $(top_srcdir)/binutils/rpm-install.add
AUTOCONF_SUBPACKAGES += $(top_srcdir)/common/clean.add
AUTOCONF_SUBPACKAGES += $(top_srcdir)/autotools/target-autoconf.add
autoconf.spec.in: $(AUTOCONF_SUBPACKAGES) Makefile.in $(srcdir)/autoconf-sources.add
cat $(AUTOCONF_SUBPACKAGES) | sed \
-e "/[@]SOURCES[@]/r $(srcdir)/autoconf-sources.add" \
-e "/[@]SOURCES[@]/d" \
-e "s/[@]AUTOCONF_VERS[@]/$(AUTOCONF_VERS)/" \
-e "s/[@]AUTOCONF_RPMREL[@]/$(AUTOCONF_RPMREL)%{?dist}/" > $@
CLEANFILES += autoconf.spec.in
@rpmprefix@autoconf.spec: autoconf.spec.in
$(MKSPEC) autoconf.spec.in | $(SPECSTRIP) > $@
CLEANFILES += @rpmprefix@autoconf.spec
noinst_DATA += @rpmprefix@autoconf.spec
EXTRA_DIST += $(AUTOCONF_SUBPACKAGES)

View File

@@ -1,2 +0,0 @@
Source0: ftp://ftp.gnu.org/gnu/automake/automake-%{srcvers}.tar.bz2

View File

@@ -1,100 +0,0 @@
%define rpmvers @AUTOMAKE_VERS@
%define srcvers @AUTOMAKE_VERS@
%define amvers 1.10
%if "%{_prefix}" != "/usr"
%define name @rpmprefix@automake
%define requirements @rpmprefix@autoconf >= 2.60
%else
%define name automake
%define requirements autoconf >= 2.60
%endif
Name: %{name}
URL: http://sources.redhat.com/automake
License: GPL
Group: Development/Tools
Version: %{rpmvers}
Release: @AUTOMAKE_RPMREL@
Summary: Tool for automatically generating GNU style Makefile.in's
%if "%{_prefix}" != "/usr"
Obsoletes: @rpmprefix@automake-rtems < %{version}-%{release}
Provides: @rpmprefix@automake-rtems = %{version}-%{release}
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: %{requirements} perl
%if "%{version}" < "1.11"
# automake >= 1.11 ships man-pages
BuildRequires: help2man
%endif
Requires: %{requirements}
Requires(post): /sbin/install-info
Requires(preun):/sbin/install-info
@SOURCES@
%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 automake-%{srcvers}
%{?PATCH0:%patch0 -p1}
# Work around rpm inserting bogus perl-module deps
cat << \EOF > %{name}-prov
#!/bin/sh
%{__perl_provides} $* |\
sed -e '/^perl(Automake/d'
EOF
%define __perl_provides %{_builddir}/automake-%{srcvers}/%{name}-prov
chmod +x %{__perl_provides}
cat << \EOF > %{name}-requ
#!/bin/sh
%{__perl_requires} $* |\
sed -e '/^perl(Automake/d'
EOF
%define __perl_requires %{_builddir}/automake-%{srcvers}/%{name}-requ
chmod +x %{__perl_requires}
%build
PATH=%{_bindir}:$PATH
# Don't use %%configure, it replaces config.sub/config.guess with the
# outdated versions bundled with rpm.
./configure --prefix=%{_prefix} --infodir=%{_infodir} --mandir=%{_mandir} \
--bindir=%{_bindir} --datadir=%{_datadir} \
--docdir=%{_datadir}/automake-%{amvers}/doc
make
%install
rm -rf "$RPM_BUILD_ROOT"
make DESTDIR=${RPM_BUILD_ROOT} install
%if "%{version}" < "1.11"
# automake >= 1.11 ships man-pages
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
%endif
%if "%{_prefix}" != "/usr"
mkdir -p $RPM_BUILD_ROOT%{_datadir}/aclocal
echo "/usr/share/aclocal" > $RPM_BUILD_ROOT%{_datadir}/aclocal/dirlist
%endif
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir

View File

@@ -1,21 +0,0 @@
AUTOMAKE_SUBPACKAGES = $(top_srcdir)/common/common.add
AUTOMAKE_SUBPACKAGES += $(top_srcdir)/autotools/automake.add
AUTOMAKE_SUBPACKAGES += $(top_srcdir)/binutils/rpm-install.add
AUTOMAKE_SUBPACKAGES += $(top_srcdir)/common/clean.add
AUTOMAKE_SUBPACKAGES += $(top_srcdir)/autotools/target-automake.add
automake.spec.in: $(AUTOMAKE_SUBPACKAGES) Makefile.am $(srcdir)/automake-sources.add
cat $(AUTOMAKE_SUBPACKAGES) | sed \
-e "/[@]SOURCES[@]/r $(srcdir)/automake-sources.add" \
-e "/[@]SOURCES[@]/d" \
-e "s/[@]AUTOMAKE_VERS[@]/$(AUTOMAKE_VERS)/g" \
-e "s/[@]AUTOMAKE_RPMREL[@]/$(AUTOMAKE_RPMREL)%{?dist}/g" > $@
CLEANFILES += automake.spec.in
@rpmprefix@automake.spec: automake.spec.in
$(MKSPEC) automake.spec.in | $(SPECSTRIP) > $@
CLEANFILES += @rpmprefix@automake.spec
noinst_DATA += @rpmprefix@automake.spec
EXTRA_DIST += $(AUTOMAKE_SUBPACKAGES)

View File

@@ -1,184 +0,0 @@
#
# Please send bugfixes or comments to
# http://www.rtems.org/bugzilla
#
%define _prefix /opt/rtems-4.8
%define _exec_prefix %{_prefix}
%define _bindir %{_exec_prefix}/bin
%define _sbindir %{_exec_prefix}/sbin
%define _libexecdir %{_exec_prefix}/libexec
%define _datarootdir %{_prefix}/share
%define _datadir %{_datarootdir}
%define _sysconfdir %{_prefix}/etc
%define _sharedstatedir %{_prefix}/com
%define _localstatedir %{_prefix}/var
%define _includedir %{_prefix}/include
%define _libdir %{_exec_prefix}/%{_lib}
%define _mandir %{_datarootdir}/man
%define _infodir %{_datarootdir}/info
%define _localedir %{_datarootdir}/locale
%ifos cygwin cygwin32 mingw mingw32
%define _exeext .exe
%define debug_package %{nil}
%define _libdir %{_exec_prefix}/lib
%else
%define _exeext %{nil}
%endif
%ifos cygwin cygwin32
%define optflags -O3 -pipe -march=i486 -funroll-loops
%endif
%ifos mingw mingw32
%if %{defined _mingw32_cflags}
%define optflags %{_mingw32_cflags}
%else
%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields
%endif
%endif
%if "%{_build}" != "%{_host}"
%define _host_rpmprefix %{_host}-
%else
%define _host_rpmprefix %{nil}
%endif
%define srcvers 2.61
%define rpmvers %{expand:%(echo "2.61" | tr - _ )}
%define name rtems-4.8-autoconf
Name: %{name}
License: GPL
URL: http://www.gnu.org/software/autoconf
Group: Development/Tools
Version: %{rpmvers}
Release: 7%{?dist}
Summary: Tool for automatically generating GNU style Makefile.in's
Obsoletes: rtems-4.8-autoconf-rtems < %{version}-%{release}
Provides: rtems-4.8-autoconf-rtems = %{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: perl m4 gawk emacs
%if "%{version}" >= "2.62"
BuildRequires: m4 >= 1.4.5
%endif
Requires: m4 gawk
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
Source0: ftp://ftp.gnu.org/gnu/autoconf/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 autoconf-%{srcvers}
%{?PATCH0:%patch0 -p1}
# Work around rpm inserting bogus perl-module deps
cat << \EOF > %{name}-prov
#!/bin/sh
%{__perl_provides} $* |\
sed -e '/^perl(Autom4te/d'
EOF
%define __perl_provides %{_builddir}/autoconf-%{srcvers}/%{name}-prov
chmod +x %{__perl_provides}
cat << \EOF > %{name}-requ
#!/bin/sh
%{__perl_requires} $* |\
sed -e '/^perl(Autom4te/d'
EOF
%define __perl_requires %{_builddir}/autoconf-%{srcvers}/%{name}-requ
chmod +x %{__perl_requires}
%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
# RTEMS's standards.info comes from binutils
rm -f $RPM_BUILD_ROOT%{_infodir}/standards.info*
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir
# 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
;;
# Fix up brp-compress to handle %%_prefix != /usr
*/brp-compress*)
b=$(basename $a)
sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b
chmod a+x $b
;;
esac
done
sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \
-e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \
< os_install_post~ > os_install_post
%define __os_install_post . ./os_install_post
%clean
rm -rf $RPM_BUILD_ROOT
%post
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/autoconf.info.gz ||:
%preun
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/autoconf.info.gz ||:
fi
%files
%defattr(-,root,root)
# %doc AUTHORS COPYING ChangeLog NEWS README THANKS
%dir %{_bindir}
%{_bindir}/*
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/autoconf.info*
%dir %{_mandir}
%dir %{_mandir}/man1
%{_mandir}/man1/*
%dir %{_datadir}
%{_datadir}/autoconf
%exclude %{_datadir}/emacs/site-lisp

View File

@@ -1,195 +0,0 @@
#
# Please send bugfixes or comments to
# http://www.rtems.org/bugzilla
#
%define _prefix /opt/rtems-4.8
%define _exec_prefix %{_prefix}
%define _bindir %{_exec_prefix}/bin
%define _sbindir %{_exec_prefix}/sbin
%define _libexecdir %{_exec_prefix}/libexec
%define _datarootdir %{_prefix}/share
%define _datadir %{_datarootdir}
%define _sysconfdir %{_prefix}/etc
%define _sharedstatedir %{_prefix}/com
%define _localstatedir %{_prefix}/var
%define _includedir %{_prefix}/include
%define _libdir %{_exec_prefix}/%{_lib}
%define _mandir %{_datarootdir}/man
%define _infodir %{_datarootdir}/info
%define _localedir %{_datarootdir}/locale
%ifos cygwin cygwin32 mingw mingw32
%define _exeext .exe
%define debug_package %{nil}
%define _libdir %{_exec_prefix}/lib
%else
%define _exeext %{nil}
%endif
%ifos cygwin cygwin32
%define optflags -O3 -pipe -march=i486 -funroll-loops
%endif
%ifos mingw mingw32
%if %{defined _mingw32_cflags}
%define optflags %{_mingw32_cflags}
%else
%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields
%endif
%endif
%if "%{_build}" != "%{_host}"
%define _host_rpmprefix %{_host}-
%else
%define _host_rpmprefix %{nil}
%endif
%define rpmvers 1.10
%define srcvers 1.10
%define amvers 1.10
%define name rtems-4.8-automake
%define requirements rtems-4.8-autoconf >= 2.60
Name: %{name}
URL: http://sources.redhat.com/automake
License: GPL
Group: Development/Tools
Version: %{rpmvers}
Release: 7%{?dist}
Summary: Tool for automatically generating GNU style Makefile.in's
Obsoletes: rtems-4.8-automake-rtems < %{version}-%{release}
Provides: rtems-4.8-automake-rtems = %{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: %{requirements} perl
%if "%{version}" < "1.11"
# automake >= 1.11 ships man-pages
BuildRequires: help2man
%endif
Requires: %{requirements}
Requires(post): /sbin/install-info
Requires(preun):/sbin/install-info
Source0: ftp://ftp.gnu.org/gnu/automake/automake-%{srcvers}.tar.bz2
%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 automake-%{srcvers}
%{?PATCH0:%patch0 -p1}
# Work around rpm inserting bogus perl-module deps
cat << \EOF > %{name}-prov
#!/bin/sh
%{__perl_provides} $* |\
sed -e '/^perl(Automake/d'
EOF
%define __perl_provides %{_builddir}/automake-%{srcvers}/%{name}-prov
chmod +x %{__perl_provides}
cat << \EOF > %{name}-requ
#!/bin/sh
%{__perl_requires} $* |\
sed -e '/^perl(Automake/d'
EOF
%define __perl_requires %{_builddir}/automake-%{srcvers}/%{name}-requ
chmod +x %{__perl_requires}
%build
PATH=%{_bindir}:$PATH
# Don't use %%configure, it replaces config.sub/config.guess with the
# outdated versions bundled with rpm.
./configure --prefix=%{_prefix} --infodir=%{_infodir} --mandir=%{_mandir} \
--bindir=%{_bindir} --datadir=%{_datadir} \
--docdir=%{_datadir}/automake-%{amvers}/doc
make
%install
rm -rf "$RPM_BUILD_ROOT"
make DESTDIR=${RPM_BUILD_ROOT} install
%if "%{version}" < "1.11"
# automake >= 1.11 ships man-pages
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
%endif
mkdir -p $RPM_BUILD_ROOT%{_datadir}/aclocal
echo "/usr/share/aclocal" > $RPM_BUILD_ROOT%{_datadir}/aclocal/dirlist
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir
# 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
;;
# Fix up brp-compress to handle %%_prefix != /usr
*/brp-compress*)
b=$(basename $a)
sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b
chmod a+x $b
;;
esac
done
sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \
-e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \
< os_install_post~ > os_install_post
%define __os_install_post . ./os_install_post
%clean
rm -rf $RPM_BUILD_ROOT
%post
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/automake.info.gz ||:
%preun
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/automake.info.gz ||:
fi
%files
%defattr(-,root,root)
%doc AUTHORS COPYING ChangeLog NEWS README THANKS
%dir %{_bindir}
%{_bindir}/aclocal*
%{_bindir}/automake*
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/automake.info*.gz
%dir %{_mandir}
%dir %{_mandir}/man1
%{_mandir}/man1/*
%dir %{_datadir}
%{_datadir}/aclocal
%{_datadir}/aclocal-%{amvers}
%{_datadir}/automake-%{amvers}

View File

@@ -1,23 +0,0 @@
%post
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/autoconf.info.gz ||:
%preun
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/autoconf.info.gz ||:
fi
%files
%defattr(-,root,root)
# %doc AUTHORS COPYING ChangeLog NEWS README THANKS
%sysdir %{_bindir}
%{_bindir}/*
%sysdir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/autoconf.info*
%sysdir %{_mandir}
%sysdir %{_mandir}/man1
%{_mandir}/man1/*
%sysdir %{_datadir}
%{_datadir}/autoconf
%exclude %{_datadir}/emacs/site-lisp

View File

@@ -1,27 +0,0 @@
%post
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/automake.info.gz ||:
%preun
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/automake.info.gz ||:
fi
%files
%defattr(-,root,root)
%doc AUTHORS COPYING ChangeLog NEWS README THANKS
%sysdir %{_bindir}
%{_bindir}/aclocal*
%{_bindir}/automake*
%sysdir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/automake.info*.gz
%sysdir %{_mandir}
%sysdir %{_mandir}/man1
%{_mandir}/man1/*
%sysdir %{_datadir}
%if "%{_prefix}" != "/usr"
%{_datadir}/aclocal
%endif
%{_datadir}/aclocal-%{amvers}
%{_datadir}/automake-%{amvers}

View File

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

View File

@@ -1,56 +0,0 @@
%if %build_infos
# ==============================================================
# @rpmprefix@binutils-common
# ==============================================================
%package -n @rpmprefix@binutils-common
Summary: Base package for RTEMS binutils
Group: Development/Tools
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n @rpmprefix@binutils-common
RTEMS is an open source operating system for embedded systems.
This is the base for binutils regardless of target CPU.
%post -n @rpmprefix@binutils-common
/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.17"
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || :
%endif
%preun -n @rpmprefix@binutils-common
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.17"
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || :
%endif
fi
%files -n @rpmprefix@binutils-common
%defattr(-,root,root)
%sysdir %{_prefix}
%sysdir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/as.info*
%{_infodir}/bfd.info*
%{_infodir}/binutils.info*
%{_infodir}/ld.info*
%{_infodir}/standards.info*
%if "%{binutils_version}" > "2.17"
%{_infodir}/gprof.info*
%endif
%sysdir %{_prefix}/share
%sysdir %{_prefix}/share/locale
%endif

View File

@@ -1,40 +0,0 @@
%define binutils_pkgvers @BINUTILS_PKGVERS@
%define binutils_version @BINUTILS_VERS@
%define binutils_rpmvers %{expand:%(echo "@BINUTILS_VERS@" | tr - _ )}
Name: @rpmprefix@@tool_target@-binutils
Summary: Binutils for target @tool_target@
Group: Development/Tools
Version: %{binutils_rpmvers}
Release: @BINUTILS_RPMREL@
License: GPL/LGPL
URL: http://sources.redhat.com/binutils
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: %{_host_rpmprefix}gcc
%if "%{binutils_version}" >= "2.18"
# Bug in bfd: Doesn't build without texinfo installed
BuildRequires: texinfo >= 4.2
%else
%if %build_infos
# Required for building the infos
BuildRequires: /sbin/install-info
BuildRequires: texinfo >= 4.2
%else
%if "@tool_target@" == "i686-pc-cygwin"
BuildRequires: texinfo >= 4.2
%endif
%endif
%endif
BuildRequires: flex
BuildRequires: bison
%if %build_infos
Requires: @rpmprefix@binutils-common
%endif
@SOURCES@
%description
Cross binutils for target @tool_target@

View File

@@ -1,33 +0,0 @@
%build
%if "%{_prefix}" != "/usr"
export PATH="%{_bindir}:${PATH}"
%endif
%if "@tool_target@" == "i686-pc-cygwin"
# The cygwin sources are leaking memory
RPM_OPT_FLAGS="$(echo "$RPM_OPT_FLAGS"|sed -e 's; -Wp,-D_FORTIFY_SOURCE=2;;')"
%endif
mkdir -p build
cd build
%if "%{_build}" != "%{_host}"
CFLAGS_FOR_BUILD="-g -O2 -Wall" \
%endif
CFLAGS="$RPM_OPT_FLAGS" \
../binutils-%{binutils_pkgvers}/configure \
--build=%_build --host=%_host \
--target=@tool_target@ \
--verbose --disable-nls \
--without-included-gettext \
--disable-win32-registry \
--disable-werror \
--with-sysroot=%{_prefix}/@tool_target@/sys-root \
--prefix=%{_prefix} --bindir=%{_bindir} \
--exec-prefix=%{_exec_prefix} \
--includedir=%{_includedir} --libdir=%{_libdir} \
--mandir=%{_mandir} --infodir=%{_infodir}
make %{?_smp_mflags} all
%if %build_infos
make info
%endif
cd ..

View File

@@ -1,53 +0,0 @@
%install
%if "%{_prefix}" != "/usr"
export PATH="%{_bindir}:${PATH}"
%endif
rm -rf $RPM_BUILD_ROOT
cd build
make DESTDIR=$RPM_BUILD_ROOT install
%if %build_infos
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} \
exec_prefix=$RPM_BUILD_ROOT%{_exec_prefix} \
install-info
%endif
%if %build_infos
# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it.
rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info*
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
%else
# Conflict with a native binutils' infos
rm -rf $RPM_BUILD_ROOT%{_infodir}
%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}/@tool_target@-dlltool%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/@tool_target@-dlltool*
fi
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/@tool_target@-nlmconv%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/@tool_target@-nlmconv*
fi
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/@tool_target@-windres%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/@tool_target@-windres*
fi
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/@tool_target@-windmc%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/@tool_target@-windmc*
fi
cd ..

View File

@@ -1,8 +0,0 @@
%prep
%setup -q -c -T -n %{name}-%{version}
%setup -q -D -T -n %{name}-%{version} -a0
cd binutils-%{binutils_pkgvers}
%{?PATCH0:%patch0 -p1}
cd ..

View File

@@ -1,32 +0,0 @@
# 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}/,g' < $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

View File

@@ -1,29 +0,0 @@
# ==============================================================
# @tool_target@-binutils
# ==============================================================
# %package -n @rpmprefix@@tool_target@-binutils
# Summary: rtems binutils for @tool_target@
# Group: Development/Tools
# %if %build_infos
# Requires: @rpmprefix@binutils-common
# %endif
%description -n @rpmprefix@@tool_target@-binutils
GNU binutils targetting @tool_target@.
%files -n @rpmprefix@@tool_target@-binutils
%defattr(-,root,root)
%sysdir %{_prefix}
%sysdir %{_mandir}
%sysdir %{_mandir}/man1
%{_mandir}/man1/@tool_target@-*.1*
%sysdir %{_bindir}
%{_bindir}/@tool_target@-*
%dir %{_exec_prefix}/@tool_target@
%dir %{_exec_prefix}/@tool_target@/bin
%{_exec_prefix}/@tool_target@/bin/*
%dir %{_exec_prefix}/@tool_target@/lib
%{_exec_prefix}/@tool_target@/lib/ldscripts

View File

@@ -1,2 +0,0 @@
#!/bin/sh
autoreconf -fis

View File

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

View File

@@ -1,49 +0,0 @@
#
# Please send bugfixes or comments to
# http://www.rtems.org/bugzilla
#
%if "%{_prefix}" != "/usr"
%define _prefix @_prefix@
%define _exec_prefix %{_prefix}
%define _bindir %{_exec_prefix}/bin
%define _sbindir %{_exec_prefix}/sbin
%define _libexecdir %{_exec_prefix}/libexec
%define _datarootdir %{_prefix}/share
%define _datadir %{_datarootdir}
%define _sysconfdir %{_prefix}/etc
%define _sharedstatedir %{_prefix}/com
%define _localstatedir %{_prefix}/var
%define _includedir %{_prefix}/include
%define _libdir %{_exec_prefix}/%{_lib}
%define _mandir %{_datarootdir}/man
%define _infodir %{_datarootdir}/info
%define _localedir %{_datarootdir}/locale
%endif
%ifos cygwin cygwin32 mingw mingw32
%define _exeext .exe
%define debug_package %{nil}
%define _libdir %{_exec_prefix}/lib
%else
%define _exeext %{nil}
%endif
%ifos cygwin cygwin32
%define optflags -O3 -pipe -march=i486 -funroll-loops
%endif
%ifos mingw mingw32
%if %{defined _mingw32_cflags}
%define optflags %{_mingw32_cflags}
%else
%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields
%endif
%endif
%if "%{_build}" != "%{_host}"
%define _host_rpmprefix %{_host}-
%else
%define _host_rpmprefix %{nil}
%endif

View File

@@ -1,152 +0,0 @@
## $Id$
m4_define([RTEMS_API],[4.8])
AC_PREREQ(2.60)
AC_INIT([crossrpms],[0.20080604.1],[http://www.rtems.org/bugzilla])
AC_CONFIG_SRCDIR([binutils/binutils.add])
AC_CONFIG_AUX_DIR(.)
AC_CANONICAL_HOST
AC_PREFIX_DEFAULT([/opt/rtems-][RTEMS_API])
AM_INIT_AUTOMAKE([1.9])
AC_ARG_ENABLE([targets],
AS_HELP_STRING([--enable-targets=<targets>],[build for targets <targets>]),
[targets="$enable_targets"],
[targets=rtems]
)
case $targets in
rtems )
savdir=`pwd`
cd $srcdir
targets=
for d in rtems*/*/Makefile.am; do
o=`echo $d | sed -e 's,/.*,,'`
a=`echo $d | sed -e 's,/Makefile\.am,,;s,.*/,,'`
targets="$targets $a-$o"
done
cd $savdir
;;
all )
savdir=`pwd`
cd $srcdir
targets=
for d in rtems*/*/Makefile.am; do
o=`echo $d | sed -e 's,/.*,,'`
a=`echo $d | sed -e 's,/Makefile\.am,,;s,.*/,,'`
targets="$targets $a-$o"
done
for d in solaris*/*/Makefile.am; \
do
o=`echo $d | sed -e 's,/.*,,'`
a=`echo $d | sed -e 's,/Makefile\.am,,;s,.*/,,'`
targets="$targets $a-sun-$o"
done
cd $savdir
;;
esac
case "$prefix" in
/usr)
sysdirpattern="/%sysdir/d"
rpmprefix=
host_subdirs=
;;
/usr/local)
sysdirpattern="/%sysdir/d"
rpmprefix="local-"
host_subdirs=autotools
;;
/opt/rtems)
sysdirpattern="s/^%sysdir/%dir/g"
rpmprefix="rtems-"
host_subdirs=autotools
;;
NONE|${ac_default_prefix}) # Default prefix
sysdirpattern="s/^%sysdir/%dir/g"
rpmprefix="[rtems-]RTEMS_API[-]"
host_subdirs=autotools
;;
*)
sysdirpattern="s/^%sysdir/%dir/g"
rpmprefix="custom-"
host_subdirs=autotools
;;
esac
AC_SUBST(sysdirpattern)
AC_SUBST(HOST_SUBDIRS,$host_subdirs)
AC_ARG_ENABLE([rpmprefix],
[ --enable-rpmprefix=<rpmprefix> prefix rpms],[
case "$enable_rpmprefix" in
yes) # ignore, use default
;;
no) rpmprefix=
;;
*) # presume user knows what he is doing
rpmprefix=$enable_rpmprefix;;
esac
])
AC_SUBST(rpmprefix)
SPECSTRIP_OPTS=
AC_ARG_ENABLE([infos],
[ --enable-infos enable building infos],[
case "$enable_infos" in
yes)
SPECSTRIP_OPTS="$SPECSTRIP_OPTS --enable-infos";;
no)
SPECSTRIP_OPTS="$SPECSTRIP_OPTS --disable-infos";;
*)
AC_MSG_ERROR([Invalid argument to --enable-infos])
esac
])
AC_SUBST(SPECSTRIP_OPTS)
AS_IF([test "${host}" != "${build}"],[
AC_MSG_CHECKING(for RPM OS)
case "$host" in
sparc-*solaris*) RPM_OS=solaris2.7 ;;
*)
AC_MSG_ERROR([Unsupported host ${host}])
;;
esac
AC_MSG_RESULT($RPM_OS)
])
AC_SUBST(RPM_OS)
for f in $targets; do
ac_cv_mytarget=`$SHELL "$ac_aux_dir/config.sub" $f` ||
AC_MSG_ERROR([$SHELL $ac_aux_dir/config.sub $f failed])
RTEMS_CANONICAL_SPLIT(mytarget)
AS_IF([test -d $srcdir/$mytarget_os/$mytarget_cpu],[
target_subdirs="$target_subdirs $mytarget_os/$mytarget_cpu"],[
AC_MSG_WARN([ignoring unsupported target $f])
])
done
AC_SUBST(TARGET_SUBDIRS,$target_subdirs)
AC_SUBST(rtems_api,RTEMS_API)
AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([rtems4.8/Makefile])
AC_CONFIG_FILES([rtems4.8/arm/Makefile])
AC_CONFIG_FILES([rtems4.8/bfin/Makefile])
AC_CONFIG_FILES([rtems4.8/h8300/Makefile])
AC_CONFIG_FILES([rtems4.8/i386/Makefile])
AC_CONFIG_FILES([rtems4.8/m68k/Makefile])
AC_CONFIG_FILES([rtems4.8/mips/Makefile])
AC_CONFIG_FILES([rtems4.8/mipstx39/Makefile])
AC_CONFIG_FILES([rtems4.8/powerpc/Makefile])
AC_CONFIG_FILES([rtems4.8/sh/Makefile])
AC_CONFIG_FILES([rtems4.8/sparc/Makefile])
AC_CONFIG_FILES([autotools/Makefile])
AC_OUTPUT

View File

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

View File

@@ -1,60 +0,0 @@
%if %build_infos
# ==============================================================
# @rpmprefix@gcc-common
# ==============================================================
%package -n @rpmprefix@gcc-common
Summary: Base package for rtems gcc and newlib C Library
Group: Development/Tools
Version: %{gcc_rpmvers}
License: GPL
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n @rpmprefix@gcc-common
GCC files that are shared by all targets.
%files -n @rpmprefix@gcc-common
%defattr(-,root,root)
%sysdir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/cpp.info*
%{_infodir}/cppinternals.info*
%{_infodir}/gcc.info*
%{_infodir}/gccint.info*
%if "%{gcc_version}" >= "3.4"
%{_infodir}/gccinstall.info*
%endif
%sysdir %{_mandir}
%if "%{gcc_version}" < "3.4"
%sysdir %{_mandir}/man1
%{_mandir}/man1/cpp.1*
%{_mandir}/man1/gcov.1*
%endif
%sysdir %{_mandir}/man7
%{_mandir}/man7/fsf-funding.7*
%{_mandir}/man7/gfdl.7*
%{_mandir}/man7/gpl.7*
%post -n @rpmprefix@gcc-common
/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}/gccint.info.gz || :
%if "%{gcc_version}" >= "3.4"
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || :
%endif
%preun -n @rpmprefix@gcc-common
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}/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 %build_infos
%if %build_gcj
# ==============================================================
# @rpmprefix@gcc-gcj-common
# ==============================================================
%package -n @rpmprefix@gcc-gcj-common
Summary: Base package for rtems gcc/java compiler (gcj)
Group: Development/Tools
Version: %{gcc_rpmvers}
License: GPL
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n @rpmprefix@gcc-gcj-common
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@gcc-gcj-common
%defattr(-,root,root)
%if "%{gcc_version}" <= "3.4"
%sysdir %{_bindir}
%{_bindir}/jar%{_exeext}
%{_bindir}/grepjar%{_exeext}
%endif
%sysdir %{_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"
%sysdir %{_mandir}
%sysdir %{_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@gcc-gcj-common
/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@gcc-gcj-common
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 %build_infos
%if %build_f95
# ==============================================================
# @rpmprefix@gcc-gfortran-common
# ==============================================================
%package -n @rpmprefix@gcc-gfortran-common
Summary: Base package for RTEMS gcc/gfortran compiler
Group: Development/Tools
License: GPL
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n @rpmprefix@gcc-gfortran-common
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@gcc-gfortran-common
%defattr(-,root,root)
%sysdir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/gfortran.info*.gz
%post -n @rpmprefix@gcc-gfortran-common
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gfortran.info.gz || :
%preun -n @rpmprefix@gcc-gfortran-common
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 %build_infos
%if %build_gnat
# ==============================================================
# @rpmprefix@gcc-gnat-common
# ==============================================================
%package -n @rpmprefix@gcc-gnat-common
Summary: Base package for RTEMS gcc/gnat compiler
Group: Development/Tools
License: GPL
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n @rpmprefix@gcc-gnat-common
RTEMS is an open source operating system for embedded systems.
This is the gcc/gnat tools for the gcc/gnat compiler
%files -n @rpmprefix@gcc-gnat-common
%defattr(-,root,root)
%sysdir %{_bindir}
%{_bindir}/vxaddr2line%{_exeext}
%sysdir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/gnat*
%post -n @rpmprefix@gcc-gnat-common
/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@gcc-gnat-common
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,36 +0,0 @@
%if %build_infos
%if %build_newlib
# ==============================================================
# @rpmprefix@newlib-common
# ==============================================================
%package -n @rpmprefix@newlib-common
Summary: Base package for RTEMS newlib C Library
Group: Development/Tools
Version: %{newlib_version}
License: Distributable
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n @rpmprefix@newlib-common
newlib files that are shared by all targets.
%files -n @rpmprefix@newlib-common
%defattr(-,root,root)
%sysdir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/libc.info*
%{_infodir}/libm.info*
%post -n @rpmprefix@newlib-common
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || :
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || :
%preun -n @rpmprefix@newlib-common
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || :
fi
%endif
%endif

View File

@@ -1,73 +0,0 @@
%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
%if "%{_build}" != "%{_host}"
CFLAGS_FOR_BUILD="-g -O2 -Wall" \
CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \
%else
# gcc is not ready to be compiled with -std=gnu99
CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \
%endif
../gcc-%{gcc_pkgvers}/configure \
--prefix=%{_prefix} \
--bindir=%{_bindir} \
--exec_prefix=%{_exec_prefix} \
--includedir=%{_includedir} \
--libdir=%{_libdir} \
--libexecdir=%{_libexecdir} \
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--datadir=%{_datadir} \
--build=%_build --host=%_host \
--target=@tool_target@ \
--disable-libstdcxx-pch \
--with-gnu-as --with-gnu-ld --verbose \
--with-newlib \
--with-system-zlib \
--disable-nls --without-included-gettext \
--disable-win32-registry \
--enable-version-specific-runtime-libs \
--enable-threads \
--with-sysroot=%{_exec_prefix}/@tool_target@/sys-root \
--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_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h
%endif
make %{?_smp_mflags} all
%if %build_infos
make info
%endif
cd ..

View File

@@ -1,108 +0,0 @@
%define gcc_pkgvers @GCC_PKGVERS@
%define gcc_version @GCC_VERS@
%define gcc_rpmvers %{expand:%(echo "@GCC_VERS@" | tr - _ )}
%if %build_newlib
%define newlib_version @NEWLIB_VERS@
%define gccnewlib_version gcc%{gcc_version}newlib%{newlib_version}
%endif
%define mpfr_version 2.3.1
Name: @rpmprefix@@tool_target@-gcc
Summary: @tool_target@ gcc
Group: Development/Tools
Version: %{gcc_rpmvers}
Release: @GCC_RPMREL@
License: GPL
URL: http://gcc.gnu.org
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%define _use_internal_dependency_generator 0
BuildRequires: %{_host_rpmprefix}gcc
%if "%{gcc_version}" >= "4.3.0"
BuildRequires: gmp-devel >= 4.1
%if "%{_build}" != "%{_host}"
BuildRequires: %{_host_rpmprefix}gmp-devel
BuildRequires: %{_host_rpmprefix}mpfr-devel
%endif
%if 0%{?fedora} >= 8
BuildRequires: mpfr-devel >= 2.3.0
%endif
%if "%{?suse}" > "10.3"
BuildRequires: mpfr-devel >= 2.3.0
%endif
# These distros ship an insufficient mpfr
%{?el4:%define _build_mpfr 1}
%{?suse10_2:%define _build_mpfr 1}
%{?suse10_3:%define _build_mpfr 1}
%endif
%if "%{_build}" != "%{_host}"
BuildRequires: @rpmprefix@@tool_target@-gcc
%endif
%if "%{gcc_version}" >= "4.2.0"
BuildRequires: flex bison
%if %build_f95
BuildRequires: gmp-devel >= 4.1
%if 0%{?fedora} >= 8
BuildRequires: mpfr-devel >= 2.2.1
%endif
%endif
%endif
%if %build_gcj
# Building gcj requires bison and zlib
BuildRequires: bison
%endif
BuildRequires: texinfo >= 4.2
BuildRequires: @rpmprefix@@tool_target@-binutils
BuildRequires: @rpmprefix@@tool_target@-sys-root
BuildRequires: @rpmprefix@@tool_target@-w32api-sys-root
%if %build_infos
Requires: @rpmprefix@gcc-common
%endif
Requires: @rpmprefix@@tool_target@-binutils
Requires: @rpmprefix@@tool_target@-sys-root
Requires: @rpmprefix@@tool_target@-w32api-sys-root
%if %build_newlib
Requires: @rpmprefix@@tool_target@-newlib = %{newlib_version}-%{release}
%endif
%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
BuildRequires: @rpmprefix@@tool_target@-newlib < %{newlib_version}-%{release}
%endif
%if %build_f95
BuildRequires: gmp-devel
%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
@SOURCES@
%if "%{gcc_version}" >= "4.3.0"
Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2
%endif
%description
Cross gcc for @tool_target@.

View File

@@ -1,148 +0,0 @@
%install
%if "%{_prefix}" != "/usr"
export PATH="%{_bindir}:${PATH}"
%endif
rm -rf $RPM_BUILD_ROOT
cd build
make DESTDIR=$RPM_BUILD_ROOT install
cd ..
%if %build_newlib
cd build/@tool_target@/newlib
make DESTDIR=$RPM_BUILD_ROOT install-info
cd ../../..
%endif
%if "%{gcc_version}" <= "4.1.2"
# Misplaced header file
if test -f $RPM_BUILD_ROOT%{_includedir}/mf-runtime.h; then
mv $RPM_BUILD_ROOT%{_includedir}/mf-runtime.h \
$RPM_BUILD_ROOT%{gcclib}/@tool_target@/%{gcc_version}/include/
fi
%endif
# host library
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty.a
# We use the version from binutils
rm -f $RPM_BUILD_ROOT%{_bindir}/@tool_target@-c++filt%{_exeext}
%if %build_gnat
# Seemingly a VAX tool. Not meaningful, here.
rm -f $RPM_BUILD_ROOT%{_bindir}/vxaddr2line%{_exeext}
%endif
%if %build_infos
# We don't ship info/dir
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir
%else
# 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}/@tool_target@-gfortran
%endif
%if "%{gcc_version}" >= "3.4"
# Bug in gcc-3.4.0pre
rm -f $RPM_BUILD_ROOT%{_bindir}/@tool_target@-@tool_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}/@tool_target@/%{gcc_version}/install-tools
rm -rf ${RPM_BUILD_ROOT}%{gccexec}/@tool_target@/%{gcc_version}/install-tools
%endif
# Collect multilib subdirectories
f=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'`
%if %build_newlib
echo "%defattr(-,root,root,-)" > build/files.newlib
TGTDIR="%{_exec_prefix}/@tool_target@/lib"
for i in $f; do
case $i in
\.) echo "%dir ${TGTDIR}" >> build/files.newlib
;;
*) echo "%dir ${TGTDIR}/$i" >> build/files.newlib
;;
esac
done
%endif
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}/@tool_target@" >> dirs
TGTDIR="%{gcclib}/@tool_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 build/files.gcc
cp dirs build/files.g77
cp dirs build/files.gfortran
cp dirs build/files.objc
cp dirs build/files.gcj
cp dirs build/files.g++
TGTDIR="%{gcclib}/@tool_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" >> build/files.objc ;;
*include/objc*) ;;
*include/g++*);;
*include/c++*);;
*adainclude*);;
*adalib*);;
*gnat1);;
*jc1) ;;
*jvgenmain) ;;
*/libgfortran*.*) echo "$i" >> build/files.gfortran ;;
*/libstdc++.*) echo "$i" >> build/files.g++ ;;
*/libsupc++.*) echo "$i" >> build/files.g++ ;;
*) echo "$i" >> build/files.gcc ;;
esac
done
TGTDIR="%{_exec_prefix}/@tool_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 newlib
*) echo "$i" >> build/files.newlib ;;
esac
done

View File

@@ -1,53 +0,0 @@
%prep
%setup -c -T -n %{name}-%{version}
%setup -q -T -D -n %{name}-%{version} -a0
%{?PATCH0:%patch0 -p0}
%if %build_cxx
%setup -q -T -D -n %{name}-%{version} -a1
%{?PATCH1:%patch1 -p0}
%endif
%if %build_f95
%setup -q -T -D -n %{name}-%{version} -a2
%{?PATCH2:%patch2 -p0}
%endif
%if %build_gcj
%setup -q -T -D -n %{name}-%{version} -a3
%{?PATCH3:%patch3 -p0}
%endif
%if %build_gnat
%setup -q -T -D -n %{name}-%{version} -a4
%{?PATCH4:%patch4 -p0}
%endif
%if %build_objc
%setup -q -T -D -n %{name}-%{version} -a5
%{?PATCH5:%patch5 -p0}
%endif
%if %build_newlib
%setup -q -T -D -n %{name}-%{version} -a50
cd newlib-%{newlib_version}
%{?PATCH50:%patch50 -p1}
cd ..
# Copy the C library into gcc's source tree
ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_pkgvers}
%endif
%if 0%{?_build_mpfr}
%setup -q -T -D -n %{name}-%{version} -a60
%{?PATCH60:%patch60 -p1}
# Build mpfr one-tree style
ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr
%endif
@PREP@
# Fix timestamps
cd gcc-%{gcc_pkgvers}
contrib/gcc_update --touch
cd ..

View File

@@ -1,73 +0,0 @@
# 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}/,g' < $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
cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides
#!/bin/sh
grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/@tool_target@/(lib|include|sys-root)' \
| grep -v '^${RPM_BUILD_ROOT}%{gcclib}/@tool_target@/' | %__find_provides
EOF
chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides
%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides
cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires
#!/bin/sh
grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/@tool_target@/(lib|include|sys-root)' \
| grep -v '^${RPM_BUILD_ROOT}%{gcclib}/@tool_target@/' | %__find_requires
EOF
chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires
%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires
%ifnarch noarch
# Extract %%__debug_install_post into debug_install_post~
cat << \EOF > debug_install_post~
%__debug_install_post
EOF
# Generate customized debug_install_post script
cat debug_install_post~ | while read a x y; do
case $a in
# Prevent find-debuginfo.sh* from trying to handle foreign binaries
*/find-debuginfo.sh)
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
;;
esac
done
sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \
< debug_install_post~ > debug_install_post
%define __debug_install_post . ./debug_install_post
%endif

View File

@@ -1,44 +0,0 @@
%if %build_cxx
# ==============================================================
# @rpmprefix@@tool_target@-gcc-c++
# ==============================================================
%package -n @rpmprefix@@tool_target@-gcc-c++
Summary: GCC c++ compiler for @tool_target@
Group: Development/Tools
Version: %{gcc_rpmvers}
License: GPL
%if "%{_build}" != "%{_host}"
BuildRequires: @rpmprefix@@tool_target@-gcc-c++
%endif
Provides: @rpmprefix@@tool_target@-c++ = %{gcc_rpmvers}-%{release}
Obsoletes: @rpmprefix@@tool_target@-c++ < %{gcc_rpmvers}-%{release}
%if %build_infos
Requires: @rpmprefix@gcc-common
%endif
Requires: @rpmprefix@@tool_target@-gcc = %{gcc_rpmvers}-%{release}
%description -n @rpmprefix@@tool_target@-gcc-c++
GCC c++ compiler for @tool_target@.
%files -n @rpmprefix@@tool_target@-gcc-c++ -f build/files.g++
%defattr(-,root,root)
%{_mandir}/man1/@tool_target@-g++.1*
%{_bindir}/@tool_target@-c++%{_exeext}
%{_bindir}/@tool_target@-g++%{_exeext}
%dir %{gccexec}
%dir %{gccexec}/@tool_target@
%dir %{gccexec}/@tool_target@/%{gcc_version}
%{gccexec}/@tool_target@/%{gcc_version}/cc1plus%{_exeext}
%dir %{gcclib}/@tool_target@/%{gcc_version}/include
%if "%{gcc_version}" >= "3.2"
%{gcclib}/@tool_target@/%{gcc_version}/include/c++
%else
%{gcclib}/@tool_target@/%{gcc_version}/include/g++
%endif
%endif

View File

@@ -1,32 +0,0 @@
%if %build_g77
# ==============================================================
# @rpmprefix@@tool_target@-gcc-g77
# ==============================================================
%package -n @rpmprefix@@tool_target@-gcc-g77
Summary: Fortran 77 support for @tool_target@-gcc
Group: Development/Tools
Version: %{gcc_rpmvers}
License: GPL
Provides: @rpmprefix@@tool_target@-g77 = %{gcc_rpmvers}-%{release}
Obsoletes: @rpmprefix@@tool_target@-g77 < %{gcc_rpmvers}-%{release}
%if %build_infos
Requires: @rpmprefix@gcc-g77-common
%endif
Requires: @rpmprefix@@tool_target@-gcc = %{gcc_rpmvers}-%{release}
%description -n @rpmprefix@@tool_target@-gcc-g77
GCC Fortran 77 compiler for @tool_target@.
%files -n @rpmprefix@@tool_target@-gcc-g77 -f build/files.g77
%defattr(-,root,root)
%{_bindir}/@tool_target@-g77%{_exeext}
%{_mandir}/man1/@tool_target@-g77.1*
%dir %{gccexec}
%dir %{gccexec}/@tool_target@
%dir %{gccexec}/@tool_target@/%{gcc_version}
%{gccexec}/@tool_target@/%{gcc_version}/f771%{_exeext}
%endif

View File

@@ -1,56 +0,0 @@
# ==============================================================
# @rpmprefix@@tool_target@-gcc
# ==============================================================
# %package -n @rpmprefix@@tool_target@-gcc
# Summary: GNU cc compiler for @tool_target@
# Group: Development/Tools
# Version: %{gcc_rpmvers}
# Requires: @rpmprefix@@tool_target@-binutils
# Requires: @rpmprefix@@tool_target@-newlib = %{newlib_version}-%{release}
# License: GPL
# %if %build_infos
# Requires: @rpmprefix@gcc-common
# %endif
%description -n @rpmprefix@@tool_target@-gcc
GNU cc compiler for @tool_target@.
%files -n @rpmprefix@@tool_target@-gcc -f build/files.gcc
%defattr(-,root,root)
%sysdir %{_mandir}
%sysdir %{_mandir}/man1
%{_mandir}/man1/@tool_target@-gcc.1*
%if "%{gcc_version}" >= "3.4"
%{_mandir}/man1/@tool_target@-cpp.1*
%{_mandir}/man1/@tool_target@-gcov.1*
%endif
%sysdir %{_bindir}
%{_bindir}/@tool_target@-cpp%{_exeext}
%{_bindir}/@tool_target@-gcc%{_exeext}
%if "%{gcc_version}" >= "3.3"
%{_bindir}/@tool_target@-gcc-%{gcc_version}%{_exeext}
%endif
%{_bindir}/@tool_target@-gcov%{_exeext}
%{_bindir}/@tool_target@-gccbug
%dir %{gcclib}/@tool_target@/%{gcc_version}/include
%if "%{gcc_version}" > "4.0.3"
%if "@tool_target@" != "bfin-rtems@rtems_api@"
%if "@tool_target@" != "avr-rtems@rtems_api@"
%dir %{gcclib}/@tool_target@/%{gcc_version}/include/ssp
%endif
%endif
%endif
%if "%{gcc_version}" >= "4.3.0"
%dir %{gcclib}/@tool_target@/%{gcc_version}/include-fixed
%endif
%dir %{gccexec}
%dir %{gccexec}/@tool_target@
%dir %{gccexec}/@tool_target@/%{gcc_version}
%{gccexec}/@tool_target@/%{gcc_version}/cc1%{_exeext}
%{gccexec}/@tool_target@/%{gcc_version}/collect2%{_exeext}

View File

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

View File

@@ -1,34 +0,0 @@
%if %build_f95
# ==============================================================
# @rpmprefix@@tool_target@-gcc-gfortran
# ==============================================================
%package -n @rpmprefix@@tool_target@-gcc-gfortran
Summary: Fortran 95 support for @tool_target@-gcc
Group: Development/Tools
Version: %{gcc_rpmvers}
License: GPL
Provides: @rpmprefix@@tool_target@-gfortran = %{gcc_rpmvers}-%{release}
Obsoletes: @rpmprefix@@tool_target@-gfortran < %{gcc_rpmvers}-%{release}
%if %build_infos
Requires: @rpmprefix@gcc-gfortran-common
%endif
Requires: @rpmprefix@@tool_target@-gcc = %{gcc_rpmvers}-%{release}
Obsoletes: @rpmprefix@@tool_target@-g77 < %{gcc_rpmvers}-%{release}
%description -n @rpmprefix@@tool_target@-gcc-gfortran
GCC fortran compiler for @tool_target@.
%files -n @rpmprefix@@tool_target@-gcc-gfortran -f build/files.gfortran
%defattr(-,root,root)
%{_bindir}/@tool_target@-gfortran%{_exeext}
%{_mandir}/man1/@tool_target@-gfortran.1*
%dir %{gccexec}
%dir %{gccexec}/@tool_target@
%dir %{gccexec}/@tool_target@/%{gcc_version}
%{gccexec}/@tool_target@/%{gcc_version}/f951%{_exeext}
%endif

View File

@@ -1,35 +0,0 @@
%if %build_gnat
# ==============================================================
# @rpmprefix@@tool_target@-gnat
# ==============================================================
%package -n @rpmprefix@@tool_target@-gcc-gnat
Summary: Ada support for for @tool_target@-gcc
Group: Development/Tools
Version: %{gcc_rpmvers}
License: GPL
Provides: @rpmprefix@@tool_target@-gcc-gnat = %{gcc_rpmvers}-%{release}
%if %_build_infos
Requires: @rpmprefix@gcc-gnat-common
%endif
Requires: @rpmprefix@@tool_target@-gcc = %{gcc_rpmvers}-%{release}
%description -n @rpmprefix@@tool_target@-gcc-gnat
RTEMS is an open source operating system for embedded systems.
This is the gcc/gnat compiler for @tool_target@.
%files -n @rpmprefix@@tool_target@-gcc-gnat
%defattr(-,root,root)
%{_bindir}/@tool_target@-gnat*
%{_bindir}/@tool_target@-gprmake%{_exeext}
%dir %{gccexec}
%dir %{gccexec}/@tool_target@
%dir %{gccexec}/@tool_target@/%{gcc_version}
%{gccexec}/@tool_target@/%{gcc_version}/gnat1%{_exeext}
%{gcclib}/@tool_target@/%{gcc_version}/adalib
%{gcclib}/@tool_target@/%{gcc_version}/adainclude
%endif

View File

@@ -1,27 +0,0 @@
%if %build_newlib
# ==============================================================
# @rpmprefix@@tool_target@-newlib
# ==============================================================
%package -n @rpmprefix@@tool_target@-newlib
Summary: C Library (newlib) for @tool_target@
Group: Development/Tools
License: Distributable
Version: %{newlib_version}
Provides: @rpmprefix@@tool_target@-libc = %{newlib_version}-%{release}
Obsoletes: @rpmprefix@@tool_target@-libc < %{newlib_version}-%{release}
%if %build_infos
Requires: @rpmprefix@newlib-common
%endif
%description -n @rpmprefix@@tool_target@-newlib
Newlib C Library for @tool_target@.
%files -n @rpmprefix@@tool_target@-newlib -f build/files.newlib
%defattr(-,root,root)
%sysdir %{_prefix}
%dir %{_exec_prefix}/@tool_target@
%{_exec_prefix}/@tool_target@/include
%endif

View File

@@ -1,28 +0,0 @@
%if %build_objc
# ==============================================================
# @rpmprefix@@tool_target@-gcc-objc
# ==============================================================
%package -n @rpmprefix@@tool_target@-gcc-objc
Summary: Objective C support for @tool_target@-gcc
Group: Development/Tools
Version: %{gcc_rpmvers}
License: GPL
Provides: @rpmprefix@@tool_target@-objc = %{gcc_rpmvers}-%{release}
Obsoletes: @rpmprefix@@tool_target@-objc < %{gcc_rpmvers}-%{release}
Requires: @rpmprefix@@tool_target@-gcc = %{gcc_rpmvers}-%{release}
%description -n @rpmprefix@@tool_target@-gcc-objc
GCC objc compiler for @tool_target@.
%files -n @rpmprefix@@tool_target@-gcc-objc -f build/files.objc
%defattr(-,root,root)
%dir %{gccexec}
%dir %{gccexec}/@tool_target@
%dir %{gccexec}/@tool_target@/%{gcc_version}
%{gccexec}/@tool_target@/%{gcc_version}/cc1obj%{_exeext}
%{gcclib}/@tool_target@/%{gcc_version}/include/objc
%endif

View File

@@ -1,39 +0,0 @@
%if %build_infos
# ==============================================================
# @rpmprefix@gdb-common
# ==============================================================
%package -n @rpmprefix@gdb-common
Summary: Base package for RTEMS gdbs
Group: Development/Tools
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n @rpmprefix@gdb-common
GDB files shared by all targets.
%post -n @rpmprefix@gdb-common
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || :
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || :
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || :
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || :
%preun -n @rpmprefix@gdb-common
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || :
fi
%files -n @rpmprefix@gdb-common
%defattr(-,root,root)
%sysdir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/gdb.info*
%{_infodir}/gdbint.info*
%{_infodir}/stabs.info*
%{_infodir}/annotate.info*
%endif

View File

@@ -1,38 +0,0 @@
%build
%if "%{_prefix}" != "/usr"
export PATH="%{_bindir}:${PATH}"
%endif
mkdir -p build
cd build
%if "%{_build}" != "%{_host}"
CFLAGS_FOR_BUILD="-g -O2 -Wall" \
%endif
CFLAGS="$RPM_OPT_FLAGS" \
../gdb-%{gdb_version}/configure \
--build=%_build --host=%_host \
--target=@tool_target@ \
--verbose --disable-nls \
--without-included-gettext \
--disable-win32-registry \
--disable-werror \
%{build_sim} \
%if "%{gdb_version}" >= "6.7"
--with-system-readline \
%endif
%if "%{gdb_version}" >= "6.6"
--with-expat \
%endif
%if "%{gdb_version}" >= "6.8.50"
--without-python \
%endif
--with-sysroot=%{_prefix}/@tool_target@/sys-root \
--prefix=%{_prefix} --bindir=%{_bindir} \
--includedir=%{_includedir} --libdir=%{_libdir} \
--mandir=%{_mandir} --infodir=%{_infodir}
make %{?_smp_mflags} all
%if %build_infos
make info
%endif
cd ..

View File

@@ -1,76 +0,0 @@
%define gdb_version @GDB_VERS@
%define gdb_rpmvers %{expand:%(echo @GDB_VERS@ | tr - _)}
Name: @rpmprefix@@tool_target@-gdb
Summary: Gdb for target @tool_target@
Group: Development/Tools
Version: %{gdb_rpmvers}
Release: @GDB_RPMREL@
License: GPL/LGPL
URL: http://sources.redhat.com/gdb
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: %{_host_rpmprefix}gcc
%define build_sim --enable-sim
%if "%{_build}" != "%{_host}"
# psim doesn't support Cdn-X
%if "@tool_target@" == "powerpc-rtems@rtems_api@"
%define build_sim --disable-sim
%endif
%endif
%ifos mingw mingw32
# Mingw lacks functions required by the simulator
%if "@tool_target@" == "sparc-rtems@rtems_api@"
%define build_sim --disable-sim
%endif
%if "@tool_target@" == "h8300-rtems@rtems_api@"
%define build_sim --disable-sim
%endif
%if "%{gdb_version}" >= "6.8.50"
%if "@tool_target@" == "m32c-rtems@rtems_api@"
%define build_sim --disable-sim
%endif
%endif
%if "@tool_target@" == "lm32-rtems@rtems_api@"
%define build_sim --disable-sim
%endif
%if "@tool_target@" == "mipstx39-rtems@rtems_api@"
%define build_sim --disable-sim
%endif
%endif
%if "%{gdb_version}" >= "6.6"
# suse
%if "%{?suse}" >= "10.3"
BuildRequires: libexpat-devel
%else
# Fedora/CentOS/Cygwin/MinGW
BuildRequires: %{_host_rpmprefix}expat-devel
%endif
%endif
%if "%{gdb_version}" < "6.7"
%if "%{_build}" != "%{_host}"
BuildRequires: %{_host_rpmprefix}termcap-devel
%endif
%endif
BuildRequires: %{_host_rpmprefix}readline-devel
BuildRequires: %{_host_rpmprefix}ncurses-devel
%if %build_infos
# Required for building the infos
BuildRequires: /sbin/install-info
BuildRequires: texinfo >= 4.2
%endif
%if %build_infos
Requires: @rpmprefix@gdb-common
%endif
@SOURCES@
%description
GDB for target @tool_target@

View File

@@ -1,30 +0,0 @@
%install
%if "%{_prefix}" != "/usr"
export PATH="%{_bindir}:${PATH}"
%endif
rm -rf $RPM_BUILD_ROOT
cd build
make DESTDIR=$RPM_BUILD_ROOT install
%if %build_infos
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir
# 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*
%else
# Conflict with a native gdb's infos
rm -rf $RPM_BUILD_ROOT%{_infodir}
%endif
# We don't ship host files
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty*
# host library, installed to a bogus directory
rm -f ${RPM_BUILD_ROOT}%{_libdir}/lib@tool_target@-sim.a
cd ..

View File

@@ -1,12 +0,0 @@
%prep
%setup -q -c -T -n %{name}-%{version}
%setup -q -D -T -n %{name}-%{version} -a0
cd gdb-%{gdb_version}
%{?PATCH0:%patch0 -p1}
cd ..
%if "%{gdb_version}" >= "6.7"
# Force using a system-provided libreadline
rm -f gdb-%{gdb_version}/readline/configure
%endif

View File

@@ -1,32 +0,0 @@
# 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}/,g' < $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

View File

@@ -1,22 +0,0 @@
# ==============================================================
# @tool_target@-gdb
# ==============================================================
# %package -n @rpmprefix@@tool_target@-gdb
# Summary: rtems gdb for @tool_target@
# Group: Development/Tools
# %if %build_infos
# Requires: @rpmprefix@gdb-common
# %endif
%description -n @rpmprefix@@tool_target@-gdb
GNU gdb targetting @tool_target@.
%files -n @rpmprefix@@tool_target@-gdb
%defattr(-,root,root)
%sysdir %{_mandir}
%sysdir %{_mandir}/man1
%{_mandir}/man1/@tool_target@-*.1*
%sysdir %{_bindir}
%{_bindir}/@tool_target@-*

View File

@@ -1,17 +0,0 @@
noinst_DATA =
CLEANFILES =
EXTRA_DIST =
SPECSTRIP = $(top_srcdir)/specstrip --prefix=$(prefix) $(SPECSTRIP_OPTS)
MKSPEC = sed \
-e "s,[@]rpmprefix[@],$(rpmprefix),g" \
-e "s,[@]_prefix[@],$(prefix),g" \
-e "s/[@]tool_target[@]/$(TARGET)/g" \
-e "/^%package -n [@]rpmprefix[@][@]tool_target[@]-gcc/d" \
-e "@sysdirpattern@" \
-e "/[@]PATCH/d"
MKSPEC0 = sed \
-e "s/[@]tool_target[@]/$(TARGET)/g" \
-e "s/[@]rtems_api[@]/$(rtems_api)/g"

View File

@@ -1,24 +0,0 @@
diff -uNr binutils-2.18.orig/configure binutils-2.18/configure
--- binutils-2.18.orig/configure 2007-08-06 22:29:40.000000000 +0200
+++ binutils-2.18/configure 2007-11-04 10:15:52.000000000 +0100
@@ -6128,7 +6128,7 @@
# For an installed makeinfo, we require it to be from texinfo 4.4 or
# higher, else we use the "missing" dummy.
if ${MAKEINFO} --version \
- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then
+ | egrep 'texinfo[^0-9]*(4\.([4-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
:
else
MAKEINFO="$MISSING makeinfo"
diff -uNr binutils-2.18.orig/configure.ac binutils-2.18/configure.ac
--- binutils-2.18.orig/configure.ac 2007-08-28 22:24:26.000000000 +0200
+++ binutils-2.18/configure.ac 2007-11-04 10:15:52.000000000 +0100
@@ -2403,7 +2403,7 @@
# For an installed makeinfo, we require it to be from texinfo 4.4 or
# higher, else we use the "missing" dummy.
if ${MAKEINFO} --version \
- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then
+ | egrep 'texinfo[^0-9]*(4\.([4-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
:
else
MAKEINFO="$MISSING makeinfo"

View File

@@ -1,17 +0,0 @@
--- /home/joel/tools-original/gcc-4.2.0/gcc/ada/s-osinte-rtems.ads 2005-06-30 20:29:17.000000000 -0500
+++ gcc-4.2.0/gcc/ada/s-osinte-rtems.ads 2007-06-22 17:25:56.000000000 -0500
@@ -291,12 +291,10 @@
sig : Signal) return int;
pragma Import (C, pthread_kill, "pthread_kill");
- type sigset_t_ptr is access all sigset_t;
-
function pthread_sigmask
(how : int;
- set : sigset_t_ptr;
- oset : sigset_t_ptr) return int;
+ set : access sigset_t;
+ oset : access sigset_t) return int;
pragma Import (C, pthread_sigmask, "pthread_sigmask");
----------------------------

View File

@@ -1,44 +0,0 @@
diff -Naur gcc-4.2.4.orig/configure gcc-4.2.4/configure
--- gcc-4.2.4.orig/configure 2007-09-15 02:42:24.000000000 +0200
+++ gcc-4.2.4/configure 2008-05-26 08:48:31.000000000 +0200
@@ -1260,7 +1260,7 @@
noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss ${libgcj} target-libmudflap"
;;
*-*-rtems*)
- noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libiberty target-libgloss ${libgcj}"
;;
# The tpf target doesn't support gdb yet.
*-*-tpf*)
diff -Naur gcc-4.2.4.orig/configure.in gcc-4.2.4/configure.in
--- gcc-4.2.4.orig/configure.in 2007-09-15 02:42:24.000000000 +0200
+++ gcc-4.2.4/configure.in 2008-05-26 08:48:31.000000000 +0200
@@ -420,7 +420,7 @@
noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss ${libgcj} target-libmudflap"
;;
*-*-rtems*)
- noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
+ noconfigdirs="$noconfigdirs target-libiberty target-libgloss ${libgcj}"
;;
# The tpf target doesn't support gdb yet.
*-*-tpf*)
diff -Naur gcc-4.2.4.orig/gcc/config/c4x/rtems.h gcc-4.2.4/gcc/config/c4x/rtems.h
--- gcc-4.2.4.orig/gcc/config/c4x/rtems.h 2007-09-01 17:28:30.000000000 +0200
+++ gcc-4.2.4/gcc/config/c4x/rtems.h 2008-05-26 08:51:24.000000000 +0200
@@ -23,6 +23,5 @@
#define TARGET_OS_CPP_BUILTINS() \
do { \
builtin_define ("__rtems__"); \
- builtin_define ("__USE_INIT_FINI__"); \
builtin_assert ("system=rtems"); \
} while (0)
diff -Naur gcc-4.2.4.orig/gcc/config/mips/elf.h gcc-4.2.4/gcc/config/mips/elf.h
--- gcc-4.2.4.orig/gcc/config/mips/elf.h 2007-09-01 17:28:30.000000000 +0200
+++ gcc-4.2.4/gcc/config/mips/elf.h 2008-05-26 08:58:40.000000000 +0200
@@ -48,6 +48,4 @@
#undef ENDFILE_SPEC
#define ENDFILE_SPEC "crtend%O%s crtn%O%s"
-#define NO_IMPLICIT_EXTERN_C 1
-
#define HANDLE_PRAGMA_PACK_PUSH_POP 1

File diff suppressed because it is too large Load Diff

View File

@@ -1,185 +0,0 @@
diff -Naur gdb-6.6.orig/bfd/sysdep.h gdb-6.6/bfd/sysdep.h
--- gdb-6.6.orig/bfd/sysdep.h 2005-05-05 20:51:14.000000000 +0200
+++ gdb-6.6/bfd/sysdep.h 2009-07-24 08:13:48.000000000 +0200
@@ -135,7 +135,7 @@
#endif
#if !HAVE_DECL_STRSTR
-extern char *strstr ();
+/* extern char *strstr (); */
#endif
#ifdef HAVE_FTELLO
diff -Naur gdb-6.6.orig/configure gdb-6.6/configure
--- gdb-6.6.orig/configure 2006-11-15 00:26:39.000000000 +0100
+++ gdb-6.6/configure 2009-07-24 08:13:48.000000000 +0200
@@ -3679,7 +3679,7 @@
# For an installed makeinfo, we require it to be from texinfo 4.4 or
# higher, else we use the "missing" dummy.
if ${MAKEINFO} --version \
- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then
+ | egrep 'texinfo[^0-9]*(4\.([4-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
:
else
MAKEINFO="$MISSING makeinfo"
diff -Naur gdb-6.6.orig/configure.in gdb-6.6/configure.in
--- gdb-6.6.orig/configure.in 2006-12-18 08:22:58.000000000 +0100
+++ gdb-6.6/configure.in 2009-07-24 08:13:48.000000000 +0200
@@ -2228,7 +2228,7 @@
# For an installed makeinfo, we require it to be from texinfo 4.4 or
# higher, else we use the "missing" dummy.
if ${MAKEINFO} --version \
- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then
+ | egrep 'texinfo[^0-9]*(4\.([4-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
:
else
MAKEINFO="$MISSING makeinfo"
diff -Naur gdb-6.6.orig/gdb/arch-utils.c gdb-6.6/gdb/arch-utils.c
--- gdb-6.6.orig/gdb/arch-utils.c 2006-11-10 20:20:35.000000000 +0100
+++ gdb-6.6/gdb/arch-utils.c 2009-07-24 08:13:48.000000000 +0200
@@ -349,6 +349,15 @@
};
static const char *set_endian_string;
+enum bfd_endian
+selected_byte_order (void)
+{
+ if (target_byte_order_user != BFD_ENDIAN_UNKNOWN)
+ return TARGET_BYTE_ORDER;
+ else
+ return BFD_ENDIAN_UNKNOWN;
+}
+
/* Called by ``show endian''. */
static void
diff -Naur gdb-6.6.orig/gdb/arch-utils.h gdb-6.6/gdb/arch-utils.h
--- gdb-6.6.orig/gdb/arch-utils.h 2006-11-10 20:20:35.000000000 +0100
+++ gdb-6.6/gdb/arch-utils.h 2009-07-24 08:13:48.000000000 +0200
@@ -126,6 +126,10 @@
extern int legacy_register_sim_regno (int regnum);
+/* Return the selected byte order, or BFD_ENDIAN_UNKNOWN if no byte
+ order was explicitly selected. */
+extern enum bfd_endian selected_byte_order (void);
+
/* Return the selected architecture's name, or NULL if no architecture
was explicitly selected. */
extern const char *selected_architecture_name (void);
diff -Naur gdb-6.6.orig/gdb/ChangeLog.rtems gdb-6.6/gdb/ChangeLog.rtems
--- gdb-6.6.orig/gdb/ChangeLog.rtems 1970-01-01 01:00:00.000000000 +0100
+++ gdb-6.6/gdb/ChangeLog.rtems 2009-07-24 08:13:48.000000000 +0200
@@ -0,0 +1,6 @@
+2007-02-08 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * arch-utils.c (selected_byte_order): New.
+ * arch-utils.h (selected_byte_order): New prototype.
+ * remote-sim.c (gdbsim_open): Use selected_byte_order.
+
diff -Naur gdb-6.6.orig/gdb/memory-map.c gdb-6.6/gdb/memory-map.c
--- gdb-6.6.orig/gdb/memory-map.c 2006-10-05 21:42:31.000000000 +0200
+++ gdb-6.6/gdb/memory-map.c 2009-07-24 08:13:48.000000000 +0200
@@ -141,10 +141,10 @@
{
if (strcmp (data->property_name, "blocksize") == 0)
{
+ char *end = NULL;
if (!data->character_data)
throw_error (XML_PARSE_ERROR,
_("Empty content of 'property' element"));
- char *end = NULL;
data->currently_parsing->attrib.blocksize
= strtoul (data->character_data, &end, 0);
if (*end != '\0')
diff -Naur gdb-6.6.orig/gdb/remote-sim.c gdb-6.6/gdb/remote-sim.c
--- gdb-6.6.orig/gdb/remote-sim.c 2006-11-10 20:20:36.000000000 +0100
+++ gdb-6.6/gdb/remote-sim.c 2009-07-24 08:13:48.000000000 +0200
@@ -504,9 +504,9 @@
+ 50) /* slack */ ;
arg_buf = (char *) alloca (len);
strcpy (arg_buf, "gdbsim"); /* 7 */
- /* Specify the byte order for the target when it is both selectable
- and explicitly specified by the user (not auto detected). */
- switch (TARGET_BYTE_ORDER)
+ /* Specify the byte order for the target when it is explicitly
+ specified by the user (not auto detected). */
+ switch (selected_byte_order ())
{
case BFD_ENDIAN_BIG:
strcat (arg_buf, " -E big");
diff -Naur gdb-6.6.orig/sim/common/sim-signal.c gdb-6.6/sim/common/sim-signal.c
--- gdb-6.6.orig/sim/common/sim-signal.c 2005-11-29 03:43:06.000000000 +0100
+++ gdb-6.6/sim/common/sim-signal.c 2009-07-24 08:28:24.000000000 +0200
@@ -27,7 +27,7 @@
to not think the process has died (so it can be debugged at the point of
failure). */
-#ifdef _MSC_VER
+#ifdef _WIN32
#ifndef SIGTRAP
#define SIGTRAP 5
#endif
diff -Naur gdb-6.6.orig/sim/erc32/erc32.c gdb-6.6/sim/erc32/erc32.c
--- gdb-6.6.orig/sim/erc32/erc32.c 1999-04-16 03:35:00.000000000 +0200
+++ gdb-6.6/sim/erc32/erc32.c 2009-07-24 08:13:48.000000000 +0200
@@ -413,7 +413,7 @@
if (rom8) mec_memcfg &= ~0x20000;
else mec_memcfg |= 0x20000;
- mem_ramsz = (256 * 1024) << ((mec_memcfg >> 10) & 7);
+ mem_ramsz = (512 * 1024) << ((mec_memcfg >> 10) & 7);
mem_romsz = (128 * 1024) << ((mec_memcfg >> 18) & 7);
if (sparclite_board) {
diff -Naur gdb-6.6.orig/sim/erc32/exec.c gdb-6.6/sim/erc32/exec.c
--- gdb-6.6.orig/sim/erc32/exec.c 2005-03-07 12:09:05.000000000 +0100
+++ gdb-6.6/sim/erc32/exec.c 2009-07-24 08:13:48.000000000 +0200
@@ -1713,7 +1713,7 @@
sregs->fdp[rs2 | 1] = sregs->fs[rs2 & ~1];
sregs->fdp[rs2 & ~1] = sregs->fs[rs2 | 1];
default:
- ;
+ break;
}
#endif
@@ -1886,7 +1886,7 @@
sregs->fs[rd & ~1] = sregs->fdp[rd | 1];
sregs->fs[rd | 1] = sregs->fdp[rd & ~1];
default:
- ;
+ break;
}
#endif
if (sregs->fpstate == FP_EXC_PE) {
diff -Naur gdb-6.6.orig/sim/ppc/ppc-instructions gdb-6.6/sim/ppc/ppc-instructions
--- gdb-6.6.orig/sim/ppc/ppc-instructions 2006-11-29 16:25:26.000000000 +0100
+++ gdb-6.6/sim/ppc/ppc-instructions 2009-07-24 08:13:48.000000000 +0200
@@ -3402,6 +3402,14 @@
case spr_dec:
*rT = cpu_get_decrementer(processor);
break;
+ case spr_tbrl:
+ if (is_64bit_implementation) *rT = TB;
+ else *rT = EXTRACTED64(TB, 32, 63);
+ break;
+ case spr_tbru:
+ if (is_64bit_implementation) *rT = EXTRACTED64(TB, 0, 31);
+ else *rT = EXTRACTED64(TB, 0, 31);
+ break;
case spr_tbu:
case spr_tbl:
/* NOTE - these SPR's are not readable. Use mftb[ul] */
diff -Naur gdb-6.6.orig/sim/ppc/ppc-spr-table gdb-6.6/sim/ppc/ppc-spr-table
--- gdb-6.6.orig/sim/ppc/ppc-spr-table 2003-06-22 18:48:12.000000000 +0200
+++ gdb-6.6/sim/ppc/ppc-spr-table 2009-07-24 08:13:48.000000000 +0200
@@ -32,6 +32,8 @@
SRR0:26:0:0
SRR1:27:0:0
VRSAVE:256:0:0
+TBRL:268:0:0
+TBRU:269:0:0
SPRG0:272:0:0
SPRG1:273:0:0
SPRG2:274:0:0

View File

@@ -1,597 +0,0 @@
diff -Naur gdb-6.8.orig/sim/common/aclocal.m4 gdb-6.8/sim/common/aclocal.m4
--- gdb-6.8.orig/sim/common/aclocal.m4 2006-06-13 10:06:48.000000000 +0200
+++ gdb-6.8/sim/common/aclocal.m4 2008-04-28 07:18:30.000000000 +0200
@@ -18,7 +18,7 @@
#
# SIM_AC_OUTPUT
-AC_DEFUN(SIM_AC_COMMON,
+AC_DEFUN([SIM_AC_COMMON],
[
# autoconf.info says this should be called right after AC_INIT.
AC_CONFIG_HEADER(ifelse([$1],,config.h,[$1]):config.in)
@@ -245,7 +245,7 @@
dnl supported.
dnl ??? Until there is demonstrable value in doing something more complicated,
dnl let's not.
-AC_DEFUN(SIM_AC_OPTION_ENVIRONMENT,
+AC_DEFUN([SIM_AC_OPTION_ENVIRONMENT],
[
AC_ARG_ENABLE(sim-environment,
[ --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.],
@@ -269,7 +269,7 @@
dnl Without this option all possible alignment restrictions are accommodated.
dnl arg[1] is hardwired target alignment
dnl arg[2] is default target alignment
-AC_DEFUN(SIM_AC_OPTION_ALIGNMENT,
+AC_DEFUN([SIM_AC_OPTION_ALIGNMENT],
wire_alignment="[$1]"
default_alignment="[$2]"
[
@@ -318,7 +318,7 @@
dnl Conditionally compile in assertion statements.
-AC_DEFUN(SIM_AC_OPTION_ASSERT,
+AC_DEFUN([SIM_AC_OPTION_ASSERT],
[
AC_ARG_ENABLE(sim-assert,
[ --enable-sim-assert Specify whether to perform random assertions.],
@@ -342,7 +342,7 @@
dnl arg[3] is the number of bits in an address
dnl arg[4] is the number of bits in an OpenFirmware cell.
dnl FIXME: this information should be obtained from bfd/archure
-AC_DEFUN(SIM_AC_OPTION_BITSIZE,
+AC_DEFUN([SIM_AC_OPTION_BITSIZE],
wire_word_bitsize="[$1]"
wire_word_msb="[$2]"
wire_address_bitsize="[$3]"
@@ -408,7 +408,7 @@
dnl that support both big and little endian targets.
dnl arg[1] is hardwired target endianness.
dnl arg[2] is default target endianness.
-AC_DEFUN(SIM_AC_OPTION_ENDIAN,
+AC_DEFUN([SIM_AC_OPTION_ENDIAN],
[
wire_endian="[$1]"
default_endian="[$2]"
@@ -458,7 +458,7 @@
dnl --enable-sim-hostendian is for users of the simulator when
dnl they find that AC_C_BIGENDIAN does not function correctly
dnl (for instance in a canadian cross)
-AC_DEFUN(SIM_AC_OPTION_HOSTENDIAN,
+AC_DEFUN([SIM_AC_OPTION_HOSTENDIAN],
[
AC_ARG_ENABLE(sim-hostendian,
[ --enable-sim-hostendian=end Specify host byte endian orientation.],
@@ -490,7 +490,7 @@
dnl And optionally the bitsize of the floating point register.
dnl arg[1] specifies the presence (or absence) of floating point hardware
dnl arg[2] specifies the number of bits in a floating point register
-AC_DEFUN(SIM_AC_OPTION_FLOAT,
+AC_DEFUN([SIM_AC_OPTION_FLOAT],
[
default_sim_float="[$1]"
default_sim_float_bitsize="[$2]"
@@ -519,7 +519,7 @@
dnl The argument is the default cache size if none is specified.
-AC_DEFUN(SIM_AC_OPTION_SCACHE,
+AC_DEFUN([SIM_AC_OPTION_SCACHE],
[
default_sim_scache="ifelse([$1],,0,[$1])"
AC_ARG_ENABLE(sim-scache,
@@ -539,7 +539,7 @@
dnl The argument is the default model if none is specified.
-AC_DEFUN(SIM_AC_OPTION_DEFAULT_MODEL,
+AC_DEFUN([SIM_AC_OPTION_DEFAULT_MODEL],
[
default_sim_default_model="ifelse([$1],,0,[$1])"
AC_ARG_ENABLE(sim-default-model,
@@ -559,7 +559,7 @@
dnl arg[1] Enable sim-hw by default? ("yes" or "no")
dnl arg[2] is a space separated list of devices that override the defaults
dnl arg[3] is a space separated list of extra target specific devices.
-AC_DEFUN(SIM_AC_OPTION_HARDWARE,
+AC_DEFUN([SIM_AC_OPTION_HARDWARE],
[
if test x"[$1]" = x"yes"; then
sim_hw_p=yes
@@ -621,7 +621,7 @@
dnl performance by inlining functions.
dnl Guarantee that unconfigured simulators do not do any inlining
sim_inline="-DDEFAULT_INLINE=0"
-AC_DEFUN(SIM_AC_OPTION_INLINE,
+AC_DEFUN([SIM_AC_OPTION_INLINE],
[
default_sim_inline="ifelse([$1],,,-DDEFAULT_INLINE=[$1])"
AC_ARG_ENABLE(sim-inline,
@@ -666,7 +666,7 @@
AC_SUBST(sim_inline)
-AC_DEFUN(SIM_AC_OPTION_PACKAGES,
+AC_DEFUN([SIM_AC_OPTION_PACKAGES],
[
AC_ARG_ENABLE(sim-packages,
[ --enable-sim-packages=list Specify the packages to be included in the build.],
@@ -692,7 +692,7 @@
AC_SUBST(sim_packages)
-AC_DEFUN(SIM_AC_OPTION_REGPARM,
+AC_DEFUN([SIM_AC_OPTION_REGPARM],
[
AC_ARG_ENABLE(sim-regparm,
[ --enable-sim-regparm=nr-parm Pass parameters in registers instead of on the stack - x86/GCC specific.],
@@ -709,7 +709,7 @@
AC_SUBST(sim_regparm)
-AC_DEFUN(SIM_AC_OPTION_RESERVED_BITS,
+AC_DEFUN([SIM_AC_OPTION_RESERVED_BITS],
[
default_sim_reserved_bits="ifelse([$1],,1,[$1])"
AC_ARG_ENABLE(sim-reserved-bits,
@@ -726,7 +726,7 @@
AC_SUBST(sim_reserved_bits)
-AC_DEFUN(SIM_AC_OPTION_SMP,
+AC_DEFUN([SIM_AC_OPTION_SMP],
[
default_sim_smp="ifelse([$1],,5,[$1])"
AC_ARG_ENABLE(sim-smp,
@@ -746,7 +746,7 @@
AC_SUBST(sim_smp)
-AC_DEFUN(SIM_AC_OPTION_STDCALL,
+AC_DEFUN([SIM_AC_OPTION_STDCALL],
[
AC_ARG_ENABLE(sim-stdcall,
[ --enable-sim-stdcall=type Use an alternative function call/return mechanism - x86/GCC specific.],
@@ -763,7 +763,7 @@
AC_SUBST(sim_stdcall)
-AC_DEFUN(SIM_AC_OPTION_XOR_ENDIAN,
+AC_DEFUN([SIM_AC_OPTION_XOR_ENDIAN],
[
default_sim_xor_endian="ifelse([$1],,8,[$1])"
AC_ARG_ENABLE(sim-xor-endian,
@@ -782,7 +782,7 @@
dnl --enable-build-warnings is for developers of the simulator.
dnl it enables extra GCC specific warnings.
-AC_DEFUN(SIM_AC_OPTION_WARNINGS,
+AC_DEFUN([SIM_AC_OPTION_WARNINGS],
[
# NOTE: Don't add -Wall or -Wunused, they both include
# -Wunused-parameter which reports bogus warnings.
@@ -866,7 +866,7 @@
dnl one afterwards. The two pieces of the common fragment are inserted into
dnl the target's fragment at the appropriate points.
-AC_DEFUN(SIM_AC_OUTPUT,
+AC_DEFUN([SIM_AC_OUTPUT],
[
AC_LINK_FILES($sim_link_files, $sim_link_links)
dnl Make @cgen_breaks@ non-null only if the sim uses CGEN.
@@ -895,7 +895,7 @@
sinclude(../../config/gettext-sister.m4)
dnl --enable-cgen-maint support
-AC_DEFUN(SIM_AC_OPTION_CGEN_MAINT,
+AC_DEFUN([SIM_AC_OPTION_CGEN_MAINT],
[
cgen_maint=no
dnl Default is to use one in build tree.
diff -Naur gdb-6.8.orig/sim/erc32/configure gdb-6.8/sim/erc32/configure
--- gdb-6.8.orig/sim/erc32/configure 2006-12-20 23:35:51.000000000 +0100
+++ gdb-6.8/sim/erc32/configure 2008-04-29 05:18:03.000000000 +0200
@@ -309,7 +309,7 @@
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS sim_environment sim_alignment sim_assert sim_bitsize sim_endian sim_hostendian sim_float sim_scache sim_default_model sim_hw_cflags sim_hw_objs sim_hw sim_inline sim_packages sim_regparm sim_reserved_bits sim_smp sim_stdcall sim_xor_endian WARN_CFLAGS WERROR_CFLAGS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CC_FOR_BUILD HDEFINES AR RANLIB ac_ct_RANLIB USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT CPP EGREP MAINT sim_bswap sim_cflags sim_debug sim_stdio sim_trace sim_profile TERMCAP READLINE cgen_breaks LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS sim_environment sim_alignment sim_assert sim_bitsize sim_endian sim_hostendian sim_float sim_scache sim_default_model sim_hw_cflags sim_hw_objs sim_hw sim_inline sim_packages sim_regparm sim_reserved_bits sim_smp sim_stdcall sim_xor_endian WARN_CFLAGS WERROR_CFLAGS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CC_FOR_BUILD HDEFINES AR RANLIB ac_ct_RANLIB USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT CPP EGREP MAINT sim_bswap sim_cflags sim_debug sim_stdio sim_trace sim_profile READLINE READLINE_DEPS READLINE_CFLAGS cgen_breaks LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -858,6 +858,11 @@
--enable-sim-trace=opts Enable tracing flags
--enable-sim-profile=opts Enable profiling flags
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-system-readline use installed readline library
+
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
@@ -4493,57 +4498,36 @@
done
-# In the Cygwin environment, we need some additional flags.
-echo "$as_me:$LINENO: checking for cygwin" >&5
-echo $ECHO_N "checking for cygwin... $ECHO_C" >&6
-if test "${sim_cv_os_cygwin+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __CYGWIN__
-lose
-#endif
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "lose" >/dev/null 2>&1; then
- sim_cv_os_cygwin=yes
-else
- sim_cv_os_cygwin=no
-fi
-rm -f conftest*
+# Check whether --with-system-readline or --without-system-readline was given.
+if test "${with_system_readline+set}" = set; then
+ withval="$with_system_readline"
-fi
-echo "$as_me:$LINENO: result: $sim_cv_os_cygwin" >&5
-echo "${ECHO_T}$sim_cv_os_cygwin" >&6
+fi;
-if test x$sim_cv_os_cygwin = xyes; then
- TERMCAP='`if test -r ../../libtermcap/libtermcap.a; then echo ../../libtermcap/libtermcap.a; else echo -ltermcap; fi` -luser32'
-else
- echo "$as_me:$LINENO: checking for main in -ltermcap" >&5
-echo $ECHO_N "checking for main in -ltermcap... $ECHO_C" >&6
-if test "${ac_cv_lib_termcap_main+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ltermcap $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
+if test "$with_system_readline" = yes; then
+ echo "$as_me:$LINENO: checking for readline" >&5
+echo $ECHO_N "checking for readline... $ECHO_C" >&6
+ save_LIBS="$LIBS"
+ LIBS="-lreadline $save_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
-
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char add_history ();
int
main ()
{
-main ();
+add_history ();
;
return 0;
}
@@ -4570,41 +4554,13 @@
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_cv_lib_termcap_main=yes
+ READLINE=-lreadline
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_termcap_main=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_main" >&5
-echo "${ECHO_T}$ac_cv_lib_termcap_main" >&6
-if test $ac_cv_lib_termcap_main = yes; then
- TERMCAP=-ltermcap
-else
- TERMCAP=""
-fi
-
-fi
-
-
-# We prefer the in-tree readline. Top-level dependencies make sure
-# src/readline (if it's there) is configured before src/sim.
-if test -r ../../readline/Makefile; then
- READLINE=../../readline/libreadline.a
-else
- echo "$as_me:$LINENO: checking for readline in -lreadline" >&5
-echo $ECHO_N "checking for readline in -lreadline... $ECHO_C" >&6
-if test "${ac_cv_lib_readline_readline+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lreadline $TERMCAP $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
+ LIBS="-lreadline -lncurses $save_LIBS"
+ cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
@@ -4617,11 +4573,11 @@
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
-char readline ();
+char add_history ();
int
main ()
{
-readline ();
+add_history ();
;
return 0;
}
@@ -4648,28 +4604,34 @@
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_cv_lib_readline_readline=yes
+ READLINE="-lreadline -lncurses"
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_readline_readline=no
+{ { echo "$as_me:$LINENO: error: unable to detect readline" >&5
+echo "$as_me: error: unable to detect readline" >&2;}
+ { (exit 1); exit 1; }; }
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_readline_readline" >&5
-echo "${ECHO_T}$ac_cv_lib_readline_readline" >&6
-if test $ac_cv_lib_readline_readline = yes; then
- READLINE=-lreadline
-else
- { { echo "$as_me:$LINENO: error: the required \"readline\" library is missing" >&5
-echo "$as_me: error: the required \"readline\" library is missing" >&2;}
- { (exit 1); exit 1; }; }
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ LIBS="$save_LIBS"
+ echo "$as_me:$LINENO: result: $READLINE" >&5
+echo "${ECHO_T}$READLINE" >&6
+ READLINE_DEPS=
+ READLINE_CFLAGS=
+else
+ READLINE='$(READLINE_DIR)/libreadline.a'
+ READLINE_DEPS='$(READLINE)'
+ READLINE_CFLAGS='-I$(READLINE_SRC)/..'
fi
-fi
+
+
ac_sources="$sim_link_files"
@@ -5389,8 +5351,9 @@
s,@sim_stdio@,$sim_stdio,;t t
s,@sim_trace@,$sim_trace,;t t
s,@sim_profile@,$sim_profile,;t t
-s,@TERMCAP@,$TERMCAP,;t t
s,@READLINE@,$READLINE,;t t
+s,@READLINE_DEPS@,$READLINE_DEPS,;t t
+s,@READLINE_CFLAGS@,$READLINE_CFLAGS,;t t
s,@cgen_breaks@,$cgen_breaks,;t t
s,@LIBOBJS@,$LIBOBJS,;t t
s,@LTLIBOBJS@,$LTLIBOBJS,;t t
diff -Naur gdb-6.8.orig/sim/erc32/configure.ac gdb-6.8/sim/erc32/configure.ac
--- gdb-6.8.orig/sim/erc32/configure.ac 2006-12-20 23:35:51.000000000 +0100
+++ gdb-6.8/sim/erc32/configure.ac 2008-04-29 05:18:00.000000000 +0200
@@ -11,27 +11,32 @@
AC_CHECK_HEADERS(stdlib.h)
-# In the Cygwin environment, we need some additional flags.
-AC_CACHE_CHECK([for cygwin], sim_cv_os_cygwin,
-[AC_EGREP_CPP(lose, [
-#ifdef __CYGWIN__
-lose
-#endif],[sim_cv_os_cygwin=yes],[sim_cv_os_cygwin=no])])
+AC_ARG_WITH([system-readline],
+ [AS_HELP_STRING([--with-system-readline],
+ [use installed readline library])])
-if test x$sim_cv_os_cygwin = xyes; then
- TERMCAP='`if test -r ../../libtermcap/libtermcap.a; then echo ../../libtermcap/libtermcap.a; else echo -ltermcap; fi` -luser32'
+if test "$with_system_readline" = yes; then
+ AC_MSG_CHECKING([for readline])
+ save_LIBS="$LIBS"
+ LIBS="-lreadline $save_LIBS"
+ AC_LINK_IFELSE([AC_LANG_CALL([],
+ [add_history])], [READLINE=-lreadline],
+ [ LIBS="-lreadline -lncurses $save_LIBS"
+ AC_LINK_IFELSE([AC_LANG_CALL([],
+ [add_history])], [READLINE="-lreadline -lncurses"],
+ [AC_MSG_ERROR([unable to detect readline])])
+ ])
+ LIBS="$save_LIBS"
+ AC_MSG_RESULT($READLINE)
+ READLINE_DEPS=
+ READLINE_CFLAGS=
else
- AC_CHECK_LIB(termcap, main, TERMCAP=-ltermcap, TERMCAP="")
-fi
-AC_SUBST(TERMCAP)
-
-# We prefer the in-tree readline. Top-level dependencies make sure
-# src/readline (if it's there) is configured before src/sim.
-if test -r ../../readline/Makefile; then
- READLINE=../../readline/libreadline.a
-else
- AC_CHECK_LIB(readline, readline, READLINE=-lreadline,
- AC_ERROR([the required "readline" library is missing]), $TERMCAP)
+ READLINE='$(READLINE_DIR)/libreadline.a'
+ READLINE_DEPS='$(READLINE)'
+ READLINE_CFLAGS='-I$(READLINE_SRC)/..'
fi
AC_SUBST(READLINE)
+AC_SUBST(READLINE_DEPS)
+AC_SUBST(READLINE_CFLAGS)
+
SIM_AC_OUTPUT
diff -Naur gdb-6.8.orig/sim/erc32/erc32.c gdb-6.8/sim/erc32/erc32.c
--- gdb-6.8.orig/sim/erc32/erc32.c 1999-04-16 03:35:00.000000000 +0200
+++ gdb-6.8/sim/erc32/erc32.c 2008-04-28 07:18:30.000000000 +0200
@@ -24,6 +24,7 @@
#include <sys/types.h>
#include <stdio.h>
+#include <string.h>
#include <termios.h>
#include <sys/fcntl.h>
#include <sys/file.h>
@@ -413,7 +414,7 @@
if (rom8) mec_memcfg &= ~0x20000;
else mec_memcfg |= 0x20000;
- mem_ramsz = (256 * 1024) << ((mec_memcfg >> 10) & 7);
+ mem_ramsz = (512 * 1024) << ((mec_memcfg >> 10) & 7);
mem_romsz = (128 * 1024) << ((mec_memcfg >> 18) & 7);
if (sparclite_board) {
@@ -1659,7 +1660,7 @@
errmec = 0;
return(1);
}
-#endif;
+#endif
if ((addr >= mem_ramstart) && (addr < (mem_ramstart + mem_ramsz))) {
fetch_bytes (asi, &ramb[addr & mem_rammask], data, sz);
@@ -1736,7 +1737,7 @@
errmec = 0;
return(1);
}
-#endif;
+#endif
if ((addr >= mem_ramstart) && (addr < (mem_ramstart + mem_ramsz))) {
if (mem_accprot) {
diff -Naur gdb-6.8.orig/sim/erc32/exec.c gdb-6.8/sim/erc32/exec.c
--- gdb-6.8.orig/sim/erc32/exec.c 2005-03-07 12:09:05.000000000 +0100
+++ gdb-6.8/sim/erc32/exec.c 2008-04-28 07:18:30.000000000 +0200
@@ -1713,7 +1713,7 @@
sregs->fdp[rs2 | 1] = sregs->fs[rs2 & ~1];
sregs->fdp[rs2 & ~1] = sregs->fs[rs2 | 1];
default:
- ;
+ break;
}
#endif
@@ -1886,7 +1886,7 @@
sregs->fs[rd & ~1] = sregs->fdp[rd | 1];
sregs->fs[rd | 1] = sregs->fdp[rd & ~1];
default:
- ;
+ break;
}
#endif
if (sregs->fpstate == FP_EXC_PE) {
diff -Naur gdb-6.8.orig/sim/erc32/Makefile.in gdb-6.8/sim/erc32/Makefile.in
--- gdb-6.8.orig/sim/erc32/Makefile.in 2008-01-01 23:53:24.000000000 +0100
+++ gdb-6.8/sim/erc32/Makefile.in 2008-04-28 07:18:30.000000000 +0200
@@ -18,12 +18,12 @@
## COMMON_PRE_CONFIG_FRAG
-TERMCAP_LIB = @TERMCAP@
+# TERMCAP_LIB = -lncurses
READLINE_LIB = @READLINE@
SIM_OBJS = exec.o erc32.o func.o help.o float.o interf.o
SIM_EXTRA_LIBS = $(READLINE_LIB) $(TERMCAP_LIB) -lm
-SIM_EXTRA_ALL = sis
+SIM_EXTRA_ALL = sis$(EXEEXT)
SIM_EXTRA_INSTALL = install-sis
SIM_EXTRA_CLEAN = clean-sis
@@ -37,8 +37,8 @@
# `sis' doesn't need interf.o.
SIS_OFILES = exec.o erc32.o func.o help.o float.o
-sis: sis.o $(SIS_OFILES) $(COMMON_OBJS) $(LIBDEPS)
- $(CC) $(ALL_CFLAGS) -o sis \
+sis$(EXEEXT): sis.o $(SIS_OFILES) $(COMMON_OBJS) $(LIBDEPS)
+ $(CC) $(ALL_CFLAGS) -o sis$(EXEEXT) \
sis.o $(SIS_OFILES) $(COMMON_OBJS) $(EXTRA_LIBS)
# FIXME: This computes the build host's endianness, doesn't it?
@@ -51,11 +51,11 @@
# Copy the files into directories where they will be run.
install-sis: installdirs
- n=`echo sis | sed '$(program_transform_name)'`; \
- $(INSTALL_PROGRAM) sis$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT)
+ n=`echo sis$(EXEEXT) | sed '$(program_transform_name)'`; \
+ $(INSTALL_PROGRAM) sis$(EXEEXT) $(DESTDIR)$(bindir)/$$n
clean-sis:
- rm -f sis end end.h
+ rm -f sis$(EXEEXT) end end.h
configure:
@echo "Rebuilding configure..."
diff -Naur gdb-6.8.orig/sim/ppc/ppc-instructions gdb-6.8/sim/ppc/ppc-instructions
--- gdb-6.8.orig/sim/ppc/ppc-instructions 2006-11-29 16:20:55.000000000 +0100
+++ gdb-6.8/sim/ppc/ppc-instructions 2008-04-28 07:18:30.000000000 +0200
@@ -3402,6 +3402,14 @@
case spr_dec:
*rT = cpu_get_decrementer(processor);
break;
+ case spr_tbrl:
+ if (is_64bit_implementation) *rT = TB;
+ else *rT = EXTRACTED64(TB, 32, 63);
+ break;
+ case spr_tbru:
+ if (is_64bit_implementation) *rT = EXTRACTED64(TB, 0, 31);
+ else *rT = EXTRACTED64(TB, 0, 31);
+ break;
case spr_tbu:
case spr_tbl:
/* NOTE - these SPR's are not readable. Use mftb[ul] */
diff -Naur gdb-6.8.orig/sim/ppc/ppc-spr-table gdb-6.8/sim/ppc/ppc-spr-table
--- gdb-6.8.orig/sim/ppc/ppc-spr-table 2003-06-22 18:48:12.000000000 +0200
+++ gdb-6.8/sim/ppc/ppc-spr-table 2008-04-28 07:18:30.000000000 +0200
@@ -32,6 +32,8 @@
SRR0:26:0:0
SRR1:27:0:0
VRSAVE:256:0:0
+TBRL:268:0:0
+TBRU:269:0:0
SPRG0:272:0:0
SPRG1:273:0:0
SPRG2:274:0:0

View File

@@ -1,948 +0,0 @@
diff -Naur newlib-1.15.0.orig/newlib/libc/include/inttypes.h newlib-1.15.0/newlib/libc/include/inttypes.h
--- newlib-1.15.0.orig/newlib/libc/include/inttypes.h 2005-12-16 20:03:12.000000000 +0100
+++ newlib-1.15.0/newlib/libc/include/inttypes.h 2008-09-03 10:27:41.000000000 +0200
@@ -242,9 +242,12 @@
#define SCNxMAX __SCNMAX(x)
/* ptr types */
-#if __have_longlong64
-#define __PRIPTR(x) __STRINGIFY(ll##x)
-#define __SCNPTR(x) __STRINGIFY(ll##x)
+#if __ptrint_t_long_defined
+#define __PRIPTR(x) __STRINGIFY(l##x)
+#define __SCNPTR(x) __STRINGIFY(l##x)
+#elif __ptrint_t_int_defined
+#define __PRIPTR(x) __STRINGIFY(x)
+#define __SCNPTR(x) __STRINGIFY(x)
#elif __have_long64
#define __PRIPTR(x) __STRINGIFY(l##x)
#define __SCNPTR(x) __STRINGIFY(l##x)
diff -Naur newlib-1.15.0.orig/newlib/libc/include/machine/ieeefp.h newlib-1.15.0/newlib/libc/include/machine/ieeefp.h
--- newlib-1.15.0.orig/newlib/libc/include/machine/ieeefp.h 2006-11-08 20:26:43.000000000 +0100
+++ newlib-1.15.0/newlib/libc/include/machine/ieeefp.h 2008-09-03 10:29:27.000000000 +0200
@@ -62,8 +62,12 @@
# define __IEEE_BIG_ENDIAN
# endif
#else
-# define __IEEE_BIG_ENDIAN
# ifdef __ARMEL__
+# define __IEEE_LITTLE_ENDIAN
+# else
+# define __IEEE_BIG_ENDIAN
+# endif
+# ifdef __ARMWEL__
# define __IEEE_BYTES_LITTLE_ENDIAN
# endif
#endif
diff -Naur newlib-1.15.0.orig/newlib/libc/include/machine/setjmp.h newlib-1.15.0/newlib/libc/include/machine/setjmp.h
--- newlib-1.15.0.orig/newlib/libc/include/machine/setjmp.h 2006-12-18 17:48:03.000000000 +0100
+++ newlib-1.15.0/newlib/libc/include/machine/setjmp.h 2008-09-03 10:27:41.000000000 +0200
@@ -27,7 +27,7 @@
/* necv70 was 9 as well. */
-#ifdef __mc68000__
+#if defined(__m68k__) || defined(__mc68000__)
/*
* onsstack,sigmask,sp,pc,psl,d2-d7,a2-a6,
* fp2-fp7 for 68881.
diff -Naur newlib-1.15.0.orig/newlib/libc/include/stdint.h newlib-1.15.0/newlib/libc/include/stdint.h
--- newlib-1.15.0.orig/newlib/libc/include/stdint.h 2006-08-16 23:39:43.000000000 +0200
+++ newlib-1.15.0/newlib/libc/include/stdint.h 2008-09-03 10:27:41.000000000 +0200
@@ -348,8 +348,7 @@
#endif
/* This must match size_t in stddef.h, currently long unsigned int */
-#define SIZE_MIN (-__STDINT_EXP(LONG_MAX) - 1L)
-#define SIZE_MAX __STDINT_EXP(LONG_MAX)
+#define SIZE_MAX (__STDINT_EXP(LONG_MAX) * 2UL + 1)
/* This must match sig_atomic_t in <signal.h> (currently int) */
#define SIG_ATOMIC_MIN (-__STDINT_EXP(INT_MAX) - 1)
@@ -393,6 +392,9 @@
#define UINTMAX_C(x) x##UL
#endif
+#ifdef __rtems__
+#include <machine/stdint.h>
+#endif
#ifdef __cplusplus
}
diff -Naur newlib-1.15.0.orig/newlib/libc/include/sys/errno.h newlib-1.15.0/newlib/libc/include/sys/errno.h
--- newlib-1.15.0.orig/newlib/libc/include/sys/errno.h 2002-09-24 16:10:12.000000000 +0200
+++ newlib-1.15.0/newlib/libc/include/sys/errno.h 2008-09-03 10:27:41.000000000 +0200
@@ -148,6 +148,7 @@
#define ECASECLASH 137 /* Filename exists with different case */
#define EILSEQ 138
#define EOVERFLOW 139 /* Value too large for defined data type */
+#define ECANCELED 140 /* Operation canceled. */
/* From cygwin32. */
#define EWOULDBLOCK EAGAIN /* Operation would block */
diff -Naur newlib-1.15.0.orig/newlib/libc/include/sys/features.h newlib-1.15.0/newlib/libc/include/sys/features.h
--- newlib-1.15.0.orig/newlib/libc/include/sys/features.h 2006-09-14 00:09:27.000000000 +0200
+++ newlib-1.15.0/newlib/libc/include/sys/features.h 2008-09-03 10:27:41.000000000 +0200
@@ -38,6 +38,7 @@
#define _POSIX_MEMLOCK_RANGE 1
#define _POSIX_MEMORY_PROTECTION 1
#define _POSIX_MESSAGE_PASSING 1
+#define _POSIX_MONOTONIC_CLOCK 200112L
#define _POSIX_PRIORITIZED_IO 1
#define _POSIX_PRIORITY_SCHEDULING 1
#define _POSIX_REALTIME_SIGNALS 1
@@ -81,17 +82,97 @@
#endif
#ifdef __CYGWIN__
-# define _POSIX_JOB_CONTROL 1
-# define _POSIX_SAVED_IDS 0
-# define _POSIX_VERSION 199009L
-# define _POSIX_THREADS 1
-# define _POSIX_THREAD_PROCESS_SHARED 1
-# define _POSIX_THREAD_SAFE_FUNCTIONS 1
-# define _POSIX_THREAD_PRIORITY_SCHEDULING 1
-# define _POSIX_THREAD_ATTR_STACKSIZE 1
-# define _POSIX_SEMAPHORES 1
-# define _POSIX_TIMERS 1
-# define _POSIX_MEMLOCK_RANGE 1
+
+#if !defined(__STRICT_ANSI__) || defined(__cplusplus) || __STDC_VERSION__ >= 199901L
+#define _POSIX_VERSION 200112L
+#define _POSIX2_VERSION 200112L
+#define _XOPEN_VERSION 600
+
+#define _POSIX_ADVISORY_INFO 200112L
+/* #define _POSIX_ASYNCHRONOUS_IO -1 */
+/* #define _POSIX_BARRIERS -1 */
+#define _POSIX_CHOWN_RESTRICTED 1
+/* #define _POSIX_CLOCK_SELECTION -1 */
+/* #define _POSIX_CPUTIME -1 */
+#define _POSIX_FSYNC 200112L
+#define _POSIX_IPV6 200112L
+#define _POSIX_JOB_CONTROL 1
+#define _POSIX_MAPPED_FILES 200112L
+/* #define _POSIX_MEMLOCK -1 */
+#define _POSIX_MEMLOCK_RANGE 200112L
+#define _POSIX_MEMORY_PROTECTION 200112L
+#define _POSIX_MESSAGE_PASSING 200112L
+/* #define _POSIX_MONOTONIC_CLOCK -1 */
+#define _POSIX_NO_TRUNC 1
+/* #define _POSIX_PRIORITIZED_IO -1 */
+#define _POSIX_PRIORITY_SCHEDULING 200112L
+#define _POSIX_RAW_SOCKETS 200112L
+#define _POSIX_READER_WRITER_LOCKS 200112L
+#define _POSIX_REALTIME_SIGNALS 200112L
+#define _POSIX_REGEXP 1
+#define _POSIX_SAVED_IDS 1
+#define _POSIX_SEMAPHORES 200112L
+#define _POSIX_SHARED_MEMORY_OBJECTS 200112L
+#define _POSIX_SHELL 1
+/* #define _POSIX_SPAWN -1 */
+/* #define _POSIX_SPIN_LOCKS -1 */
+/* #define _POSIX_SPORADIC_SERVER -1 */
+#define _POSIX_SYNCHRONIZED_IO 200112L
+/* #define _POSIX_THREAD_ATTR_STACKADDR -1 */
+#define _POSIX_THREAD_ATTR_STACKSIZE 200112L
+/* #define _POSIX_THREAD_CPUTIME -1 */
+/* #define _POSIX_THREAD_PRIO_INHERIT -1 */
+/* #define _POSIX_THREAD_PRIO_PROTECT -1 */
+#define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L
+#define _POSIX_THREAD_PROCESS_SHARED 200112L
+#define _POSIX_THREAD_SAFE_FUNCTIONS 200112L
+/* #define _POSIX_THREAD_SPORADIC_SERVER -1 */
+#define _POSIX_THREADS 200112L
+/* #define _POSIX_TIMEOUTS -1 */
+#define _POSIX_TIMERS 1
+/* #define _POSIX_TRACE -1 */
+/* #define _POSIX_TRACE_EVENT_FILTER -1 */
+/* #define _POSIX_TRACE_INHERIT -1 */
+/* #define _POSIX_TRACE_LOG -1 */
+/* #define _POSIX_TYPED_MEMORY_OBJECTS -1 */
+#define _POSIX_VDISABLE '\0'
+#define _POSIX2_C_BIND 200112L
+#define _POSIX2_C_DEV 200112L
+#define _POSIX2_CHAR_TERM 200112L
+/* #define _POSIX2_FORT_DEV -1 */
+/* #define _POSIX2_FORT_RUN -1 */
+/* #define _POSIX2_LOCALEDEF -1 */
+/* #define _POSIX2_PBS -1 */
+/* #define _POSIX2_PBS_ACCOUNTING -1 */
+/* #define _POSIX2_PBS_CHECKPOINT -1 */
+/* #define _POSIX2_PBS_LOCATE -1 */
+/* #define _POSIX2_PBS_MESSAGE -1 */
+/* #define _POSIX2_PBS_TRACK -1 */
+#define _POSIX2_SW_DEV 200112L
+#define _POSIX2_UPE 200112L
+/* #define _POSIX_V6_ILP32_OFF32 -1 */
+#define _XBS5_ILP32_OFF32 _POSIX_V6_ILP32_OFF32
+#define _POSIX_V6_ILP32_OFFBIG 1
+#define _XBS5_ILP32_OFFBIG _POSIX_V6_ILP32_OFFBIG
+/* #define _POSIX_V6_LP64_OFF64 -1 */
+#define _XBS5_LP64_OFF64 _POSIX_V6_LP64_OFF64
+/* #define _POSIX_V6_LPBIG_OFFBIG -1 */
+#define _XBS5_LPBIG_OFFBIG _POSIX_V6_LPBIG_OFFBIG
+#define _XOPEN_CRYPT 1
+#define _XOPEN_ENH_I18N 1
+/* #define _XOPEN_LEGACY -1 */
+/* #define _XOPEN_REALTIME -1 */
+/* #define _XOPEN_REALTIME_THREADS -1 */
+#define _XOPEN_SHM 1
+/* #define _XOPEN_STREAMS -1 */
+/* #define _XOPEN_UNIX -1 */
+
+#endif /* !__STRICT_ANSI__ || __cplusplus || __STDC_VERSION__ >= 199901L */
+#endif /* __CYGWIN__ */
+
+#ifdef __SPU__
+/* Not much for now! */
+#define _POSIX_TIMERS 1
#endif
#ifdef __cplusplus
diff -Naur newlib-1.15.0.orig/newlib/libc/include/sys/time.h newlib-1.15.0/newlib/libc/include/sys/time.h
--- newlib-1.15.0.orig/newlib/libc/include/sys/time.h 2006-02-15 11:26:30.000000000 +0100
+++ newlib-1.15.0/newlib/libc/include/sys/time.h 2008-09-03 10:27:41.000000000 +0200
@@ -70,7 +70,7 @@
} while (0)
#endif /* defined (__rtems__) || defined (__CYGWIN__) */
-int _EXFUN(gettimeofday, (struct timeval *__p, struct timezone *__z));
+int _EXFUN(gettimeofday, (struct timeval *__p, void *__tz));
int _EXFUN(settimeofday, (const struct timeval *, const struct timezone *));
int _EXFUN(utimes, (const char *__path, const struct timeval *__tvp));
int _EXFUN(getitimer, (int __which, struct itimerval *__value));
diff -Naur newlib-1.15.0.orig/newlib/libc/include/sys/_types.h newlib-1.15.0/newlib/libc/include/sys/_types.h
--- newlib-1.15.0.orig/newlib/libc/include/sys/_types.h 2004-06-11 22:37:09.000000000 +0200
+++ newlib-1.15.0/newlib/libc/include/sys/_types.h 2008-09-03 10:27:41.000000000 +0200
@@ -39,4 +39,7 @@
/* Iconv descriptor type */
typedef void *_iconv_t;
+typedef long * __intptr_t;
+typedef unsigned long* __uintptr_t;
+
#endif /* _SYS__TYPES_H */
diff -Naur newlib-1.15.0.orig/newlib/libc/include/sys/unistd.h newlib-1.15.0/newlib/libc/include/sys/unistd.h
--- newlib-1.15.0.orig/newlib/libc/include/sys/unistd.h 2006-11-07 16:33:40.000000000 +0100
+++ newlib-1.15.0/newlib/libc/include/sys/unistd.h 2008-09-03 10:27:41.000000000 +0200
@@ -27,6 +27,9 @@
int _EXFUN(chroot, (const char *__path ));
#endif
int _EXFUN(close, (int __fildes ));
+#if defined(__CYGWIN__)
+size_t _EXFUN(confstr, (int __name, char *__buf, size_t __len));
+#endif
char _EXFUN(*ctermid, (char *__s ));
char _EXFUN(*cuserid, (char *__s ));
#if defined(__CYGWIN__)
@@ -151,6 +154,7 @@
int _EXFUN(ttyname_r, (int, char *, size_t));
#endif
int _EXFUN(unlink, (const char *__path ));
+int _EXFUN(usleep, (useconds_t __useconds));
int _EXFUN(vhangup, (void ));
_READ_WRITE_RETURN_TYPE _EXFUN(write, (int __fd, const void *__buf, size_t __nbyte ));
@@ -196,23 +200,21 @@
int _EXFUN(truncate, (const char *, off_t __length));
#endif
#endif
+
#if defined(__CYGWIN__) || defined(__rtems__)
int _EXFUN(getdtablesize, (void));
int _EXFUN(setdtablesize, (int));
useconds_t _EXFUN(ualarm, (useconds_t __useconds, useconds_t __interval));
-unsigned _EXFUN(usleep, (unsigned int __useconds));
#if !(defined (_WINSOCK_H) || defined (__USE_W32_SOCKETS))
/* winsock[2].h defines as __stdcall, and with int as 2nd arg */
int _EXFUN(gethostname, (char *__name, size_t __len));
#endif
char * _EXFUN(mktemp, (char *));
-#if defined(__CYGWIN__)
+#if defined(__CYGWIN__) || defined(__rtems__)
void _EXFUN(sync, (void));
-#else /* defined(__rtems__) */
-int _EXFUN(sync, (void));
#endif
#endif
-int _EXFUN(readlink, (const char *__path, char *__buf, int __buflen));
+ssize_t _EXFUN(readlink, (const char *__path, char *__buf, size_t __buflen));
int _EXFUN(symlink, (const char *__name1, const char *__name2));
#define F_OK 0
@@ -231,63 +233,55 @@
#define STDERR_FILENO 2 /* standard error file descriptor */
/*
- * 4.8.1 Get Configurable System Variables, P1003.1b-1993, p. 96
- *
- * NOTE: Table 4-2, Configurable System Variables, p. 96
- */
-
-#define _SC_ARG_MAX 0
-#define _SC_CHILD_MAX 1
-#define _SC_CLK_TCK 2
-#define _SC_NGROUPS_MAX 3
-#define _SC_OPEN_MAX 4
- /* no _SC_STREAM_MAX */
-#define _SC_JOB_CONTROL 5
-#define _SC_SAVED_IDS 6
-#define _SC_VERSION 7
-#define _SC_PAGESIZE 8
-/* CYGWIN-specific values .. do not touch */
-#define _SC_NPROCESSORS_CONF 9
-#define _SC_NPROCESSORS_ONLN 10
-#define _SC_PHYS_PAGES 11
-#define _SC_AVPHYS_PAGES 12
-/* end of CYGWIN-specific values */
-#define _SC_MQ_OPEN_MAX 13
-#define _SC_MQ_PRIO_MAX 14
-#define _SC_RTSIG_MAX 15
-#define _SC_SEM_NSEMS_MAX 16
-#define _SC_SEM_VALUE_MAX 17
-#define _SC_SIGQUEUE_MAX 18
-#define _SC_TIMER_MAX 19
-#define _SC_TZNAME_MAX 20
-
-#define _SC_ASYNCHRONOUS_IO 21
-#define _SC_FSYNC 22
-#define _SC_MAPPED_FILES 23
-#define _SC_MEMLOCK 24
-#define _SC_MEMLOCK_RANGE 25
-#define _SC_MEMORY_PROTECTION 26
-#define _SC_MESSAGE_PASSING 27
-#define _SC_PRIORITIZED_IO 28
-#define _SC_REALTIME_SIGNALS 29
-#define _SC_SEMAPHORES 30
-#define _SC_SHARED_MEMORY_OBJECTS 31
-#define _SC_SYNCHRONIZED_IO 32
-#define _SC_TIMERS 33
-#define _SC_AIO_LISTIO_MAX 34
-#define _SC_AIO_MAX 35
-#define _SC_AIO_PRIO_DELTA_MAX 36
-#define _SC_DELAYTIMER_MAX 37
-
-/*
- * P1003.1c/D10, p. 52 adds the following.
+ * sysconf values per IEEE Std 1003.1, 2004 Edition
*/
+#define _SC_ARG_MAX 0
+#define _SC_CHILD_MAX 1
+#define _SC_CLK_TCK 2
+#define _SC_NGROUPS_MAX 3
+#define _SC_OPEN_MAX 4
+#define _SC_JOB_CONTROL 5
+#define _SC_SAVED_IDS 6
+#define _SC_VERSION 7
+#define _SC_PAGESIZE 8
+#define _SC_PAGE_SIZE _SC_PAGESIZE
+/* These are non-POSIX values we accidentally introduced in 2000 without
+ guarding them. Keeping them unguarded for backward compatibility. */
+#define _SC_NPROCESSORS_CONF 9
+#define _SC_NPROCESSORS_ONLN 10
+#define _SC_PHYS_PAGES 11
+#define _SC_AVPHYS_PAGES 12
+/* End of non-POSIX values. */
+#define _SC_MQ_OPEN_MAX 13
+#define _SC_MQ_PRIO_MAX 14
+#define _SC_RTSIG_MAX 15
+#define _SC_SEM_NSEMS_MAX 16
+#define _SC_SEM_VALUE_MAX 17
+#define _SC_SIGQUEUE_MAX 18
+#define _SC_TIMER_MAX 19
+#define _SC_TZNAME_MAX 20
+#define _SC_ASYNCHRONOUS_IO 21
+#define _SC_FSYNC 22
+#define _SC_MAPPED_FILES 23
+#define _SC_MEMLOCK 24
+#define _SC_MEMLOCK_RANGE 25
+#define _SC_MEMORY_PROTECTION 26
+#define _SC_MESSAGE_PASSING 27
+#define _SC_PRIORITIZED_IO 28
+#define _SC_REALTIME_SIGNALS 29
+#define _SC_SEMAPHORES 30
+#define _SC_SHARED_MEMORY_OBJECTS 31
+#define _SC_SYNCHRONIZED_IO 32
+#define _SC_TIMERS 33
+#define _SC_AIO_LISTIO_MAX 34
+#define _SC_AIO_MAX 35
+#define _SC_AIO_PRIO_DELTA_MAX 36
+#define _SC_DELAYTIMER_MAX 37
#define _SC_THREAD_KEYS_MAX 38
#define _SC_THREAD_STACK_MIN 39
#define _SC_THREAD_THREADS_MAX 40
#define _SC_TTY_NAME_MAX 41
-
#define _SC_THREADS 42
#define _SC_THREAD_ATTR_STACKADDR 43
#define _SC_THREAD_ATTR_STACKSIZE 44
@@ -302,40 +296,143 @@
#define _SC_GETPW_R_SIZE_MAX 51
#define _SC_LOGIN_NAME_MAX 52
#define _SC_THREAD_DESTRUCTOR_ITERATIONS 53
+#define _SC_ADVISORY_INFO 54
+#define _SC_ATEXIT_MAX 55
+#define _SC_BARRIERS 56
+#define _SC_BC_BASE_MAX 57
+#define _SC_BC_DIM_MAX 58
+#define _SC_BC_SCALE_MAX 59
+#define _SC_BC_STRING_MAX 60
+#define _SC_CLOCK_SELECTION 61
+#define _SC_COLL_WEIGHTS_MAX 62
+#define _SC_CPUTIME 63
+#define _SC_EXPR_NEST_MAX 64
+#define _SC_HOST_NAME_MAX 65
+#define _SC_IOV_MAX 66
+#define _SC_IPV6 67
+#define _SC_LINE_MAX 68
+#define _SC_MONOTONIC_CLOCK 69
+#define _SC_RAW_SOCKETS 70
+#define _SC_READER_WRITER_LOCKS 71
+#define _SC_REGEXP 72
+#define _SC_RE_DUP_MAX 73
+#define _SC_SHELL 74
+#define _SC_SPAWN 75
+#define _SC_SPIN_LOCKS 76
+#define _SC_SPORADIC_SERVER 77
+#define _SC_SS_REPL_MAX 78
+#define _SC_SYMLOOP_MAX 79
+#define _SC_THREAD_CPUTIME 80
+#define _SC_THREAD_SPORADIC_SERVER 81
+#define _SC_TIMEOUTS 82
+#define _SC_TRACE 83
+#define _SC_TRACE_EVENT_FILTER 84
+#define _SC_TRACE_EVENT_NAME_MAX 85
+#define _SC_TRACE_INHERIT 86
+#define _SC_TRACE_LOG 87
+#define _SC_TRACE_NAME_MAX 88
+#define _SC_TRACE_SYS_MAX 89
+#define _SC_TRACE_USER_EVENT_MAX 90
+#define _SC_TYPED_MEMORY_OBJECTS 91
+#define _SC_V6_ILP32_OFF32 92
+#define _SC_XBS5_ILP32_OFF32 _SC_V6_ILP32_OFF32
+#define _SC_V6_ILP32_OFFBIG 93
+#define _SC_XBS5_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG
+#define _SC_V6_LP64_OFF64 94
+#define _SC_XBS5_LP64_OFF64 _SC_V6_LP64_OFF64
+#define _SC_V6_LPBIG_OFFBIG 95
+#define _SC_XBS5_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG
+#define _SC_XOPEN_CRYPT 96
+#define _SC_XOPEN_ENH_I18N 97
+#define _SC_XOPEN_LEGACY 98
+#define _SC_XOPEN_REALTIME 99
+#define _SC_STREAM_MAX 100
+#define _SC_PRIORITY_SCHEDULING 101
+#define _SC_XOPEN_REALTIME_THREADS 102
+#define _SC_XOPEN_SHM 103
+#define _SC_XOPEN_STREAMS 104
+#define _SC_XOPEN_UNIX 105
+#define _SC_XOPEN_VERSION 106
+#define _SC_2_CHAR_TERM 107
+#define _SC_2_C_BIND 108
+#define _SC_2_C_DEV 109
+#define _SC_2_FORT_DEV 110
+#define _SC_2_FORT_RUN 111
+#define _SC_2_LOCALEDEF 112
+#define _SC_2_PBS 113
+#define _SC_2_PBS_ACCOUNTING 114
+#define _SC_2_PBS_CHECKPOINT 115
+#define _SC_2_PBS_LOCATE 116
+#define _SC_2_PBS_MESSAGE 117
+#define _SC_2_PBS_TRACK 118
+#define _SC_2_SW_DEV 119
+#define _SC_2_UPE 120
+#define _SC_2_VERSION 121
-#if !defined(__rtems__)
-#define _SC_STREAM_MAX 100
-#endif
-#if !defined(__CYGWIN__) && !defined(__rtems__)
-#define _SC_PRIORITY_SCHEDULING 101
-#endif
-
-# define _PC_LINK_MAX 0
-# define _PC_MAX_CANON 1
-# define _PC_MAX_INPUT 2
-# define _PC_NAME_MAX 3
-# define _PC_PATH_MAX 4
-# define _PC_PIPE_BUF 5
-# define _PC_CHOWN_RESTRICTED 6
-# define _PC_NO_TRUNC 7
-# define _PC_VDISABLE 8
-# define _PC_ASYNC_IO 9
-# define _PC_PRIO_IO 10
-# define _PC_SYNC_IO 11
-# define _PC_FILESIZEBITS 12
-# define _PC_2_SYMLINKS 13
-# define _PC_SYMLINK_MAX 14
+/*
+ * pathconf values per IEEE Std 1003.1, 2004 Edition
+ */
+
+#define _PC_LINK_MAX 0
+#define _PC_MAX_CANON 1
+#define _PC_MAX_INPUT 2
+#define _PC_NAME_MAX 3
+#define _PC_PATH_MAX 4
+#define _PC_PIPE_BUF 5
+#define _PC_CHOWN_RESTRICTED 6
+#define _PC_NO_TRUNC 7
+#define _PC_VDISABLE 8
+#define _PC_ASYNC_IO 9
+#define _PC_PRIO_IO 10
+#define _PC_SYNC_IO 11
+#define _PC_FILESIZEBITS 12
+#define _PC_2_SYMLINKS 13
+#define _PC_SYMLINK_MAX 14
#ifdef __CYGWIN__
/* Ask for POSIX permission bits support. */
-# define _PC_POSIX_PERMISSIONS 90
+#define _PC_POSIX_PERMISSIONS 90
/* Ask for full POSIX permission support including uid/gid settings. */
-# define _PC_POSIX_SECURITY 91
+#define _PC_POSIX_SECURITY 91
#endif
-/* FIXME: This is temporary until winsup gets sorted out. */
-#ifdef __CYGWIN__
-#define MAXPATHLEN (260 - 1 /* NUL */)
-#else
+/*
+ * confstr values per IEEE Std 1003.1, 2004 Edition
+ */
+
+#ifdef __CYGWIN__ /* Only defined on Cygwin for now. */
+#define _CS_PATH 0
+#define _CS_POSIX_V6_ILP32_OFF32_CFLAGS 1
+#define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS
+#define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS 2
+#define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
+#define _CS_POSIX_V6_ILP32_OFF32_LIBS 3
+#define _CS_XBS5_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LIBS
+#define _CS_XBS5_ILP32_OFF32_LINTFLAGS 4
+#define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS 5
+#define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
+#define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS 6
+#define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
+#define _CS_POSIX_V6_ILP32_OFFBIG_LIBS 7
+#define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LIBS
+#define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS 8
+#define _CS_POSIX_V6_LP64_OFF64_CFLAGS 9
+#define _CS_XBS5_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS
+#define _CS_POSIX_V6_LP64_OFF64_LDFLAGS 10
+#define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGS
+#define _CS_POSIX_V6_LP64_OFF64_LIBS 11
+#define _CS_XBS5_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LIBS
+#define _CS_XBS5_LP64_OFF64_LINTFLAGS 12
+#define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS 13
+#define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
+#define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS 14
+#define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
+#define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS 15
+#define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
+#define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS 16
+#define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS 17
+#endif
+
+#ifndef __CYGWIN__
# define MAXPATHLEN 1024
#endif
diff -Naur newlib-1.15.0.orig/newlib/libc/include/tar.h newlib-1.15.0/newlib/libc/include/tar.h
--- newlib-1.15.0.orig/newlib/libc/include/tar.h 1970-01-01 01:00:00.000000000 +0100
+++ newlib-1.15.0/newlib/libc/include/tar.h 2008-09-03 10:27:41.000000000 +0200
@@ -0,0 +1,39 @@
+/*
+ * tar.h
+ */
+
+#ifndef _TAR_H
+#define _TAR_H
+
+/* General definitions */
+#define TMAGIC "ustar" /* ustar plus null byte. */
+#define TMAGLEN 6 /* Length of the above. */
+#define TVERSION "00" /* 00 without a null byte. */
+#define TVERSLEN 2 /* Length of the above. */
+
+/* Typeflag field definitions */
+#define REGTYPE '0' /* Regular file. */
+#define AREGTYPE '\0' /* Regular file. */
+#define LNKTYPE '1' /* Link. */
+#define SYMTYPE '2' /* Symbolic link. */
+#define CHRTYPE '3' /* Character special. */
+#define BLKTYPE '4' /* Block special. */
+#define DIRTYPE '5' /* Directory. */
+#define FIFOTYPE '6' /* FIFO special. */
+#define CONTTYPE '7' /* Reserved. */
+
+/* Mode field bit definitions (octal) */
+#define TSUID 04000 /* Set UID on execution. */
+#define TSGID 02000 /* Set GID on execution. */
+#define TSVTX 01000 /* On directories, restricted deletion flag. */
+#define TUREAD 00400 /* Read by owner. */
+#define TUWRITE 00200 /* Write by owner. */
+#define TUEXEC 00100 /* Execute/search by owner. */
+#define TGREAD 00040 /* Read by group. */
+#define TGWRITE 00020 /* Write by group. */
+#define TGEXEC 00010 /* Execute/search by group. */
+#define TOREAD 00004 /* Read by other. */
+#define TOWRITE 00002 /* Write by other. */
+#define TOEXEC 00001 /* Execute/search by other. */
+
+#endif
diff -Naur newlib-1.15.0.orig/newlib/libc/include/time.h newlib-1.15.0/newlib/libc/include/time.h
--- newlib-1.15.0.orig/newlib/libc/include/time.h 2005-11-18 16:57:24.000000000 +0100
+++ newlib-1.15.0/newlib/libc/include/time.h 2008-09-03 10:27:41.000000000 +0200
@@ -226,6 +226,16 @@
#endif
+#if defined(_POSIX_MONOTONIC_CLOCK)
+
+/* The identifier for the system-wide monotonic clock, which is defined
+ as a clock whose value cannot be set via clock_settime() and which
+ cannot have backward clock jumps. */
+
+#define CLOCK_MONOTONIC (clockid_t)4
+
+#endif
+
#if defined(_POSIX_CPUTIME)
/* Accessing a Process CPU-time CLock, P1003.4b/D8, p. 55 */
diff -Naur newlib-1.15.0.orig/newlib/libc/machine/arm/machine/endian.h newlib-1.15.0/newlib/libc/machine/arm/machine/endian.h
--- newlib-1.15.0.orig/newlib/libc/machine/arm/machine/endian.h 2004-05-07 22:29:24.000000000 +0200
+++ newlib-1.15.0/newlib/libc/machine/arm/machine/endian.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-/* ARM configuration file */
-
-#ifndef _MACHINE_ENDIAN_H
-# define _MACHINE_ENDIAN_H
-
-#ifdef __ARMEB__
-#define BYTE_ORDER BIG_ENDIAN
-#else
-#define BYTE_ORDER LITTLE_ENDIAN
-#endif
-
-#endif
diff -Naur newlib-1.15.0.orig/newlib/libc/machine/powerpc/setjmp.S newlib-1.15.0/newlib/libc/machine/powerpc/setjmp.S
--- newlib-1.15.0.orig/newlib/libc/machine/powerpc/setjmp.S 2002-04-19 21:16:17.000000000 +0200
+++ newlib-1.15.0/newlib/libc/machine/powerpc/setjmp.S 2008-09-03 10:27:41.000000000 +0200
@@ -5,13 +5,14 @@
#include "ppc-asm.h"
FUNC_START(setjmp)
-#ifdef __ALTIVEC__
- addi 3,3,15 # align Altivec to 16 byte boundary
+ mfmsr 4
+ rlwinm. 4,4,0,6,6 # check MSR_VE
+ addi 3,3,7
+ rlwinm 3,3,0,0,28 # align to 8 byte boundary
+ beq 1f
+ addi 3,3,15 # VE is enabled; align to 16 byte bdry
rlwinm 3,3,0,0,27
-#else
- addi 3,3,7 # align to 8 byte boundary
- rlwinm 3,3,0,0,28
-#endif
+1:
stw 1,0(3) # offset 0
stwu 2,4(3) # offset 4
stwu 13,4(3) # offset 8
@@ -39,6 +40,12 @@
stwu 4,4(3) # offset 88
# one word pad to get floating point aligned on 8 byte boundary
#ifndef _SOFT_FLOAT
+ mfmsr 4
+ rlwinm. 4,4,0,18,18
+ bne 1f # only save FPregs if FPU is enabled
+ addi 3,3,18*8 # skip FPregs
+ b 2f
+1:
stfdu 14,8(3) # offset 96
stfdu 15,8(3) # offset 104
stfdu 16,8(3) # offset 112
@@ -57,12 +64,20 @@
stfdu 29,8(3) # offset 216
stfdu 30,8(3) # offset 224
stfdu 31,8(3) # offset 232
+2:
#endif
/* This requires a total of 21 * 4 + 18 * 8 + 4 + 4 + 4
bytes == 60 * 4 bytes == 240 bytes. */
-#ifdef __ALTIVEC__
+#if defined(__ALTIVEC__)
+ /* could reuse r4 but I reload it just in case the code changes... */
+ mfmsr 4
+ rlwinm. 4,4,0,6,6 # check MSR_VE
+ bne 1f # only save vector regs if altivec is enabled
+ addi 3,3,(8 + 12*16) # skip vector regs
+ b 2f
+1:
/* save Altivec vrsave and vr20-vr31 registers */
mfspr 4,256 # vrsave register
stwu 4,16(3) # offset 248
@@ -90,6 +105,7 @@
stvx 30,0,3 # offset 416
addi 3,3,16
stvx 31,0,3 # offset 432
+2:
/* This requires a total of 240 + 8 + 8 + 12 * 16 == 448 bytes. */
#endif
@@ -99,13 +115,14 @@
FUNC_START(longjmp)
-#ifdef __ALTIVEC__
- addi 3,3,15 # align Altivec to 16 byte boundary
+ mfmsr 4
+ rlwinm. 4,4,0,6,6 # check MSR_VE
+ addi 3,3,7
+ rlwinm 3,3,0,0,28 # align to 8 byte boundary
+ beq 1f
+ addi 3,3,15 # VE is enabled; align to 16 byte bdry
rlwinm 3,3,0,0,27
-#else
- addi 3,3,7 # align to 8 byte boundary
- rlwinm 3,3,0,0,28
-#endif
+1:
lwz 1,0(3) # offset 0
lwzu 2,4(3) # offset 4
lwzu 13,4(3) # offset 8
@@ -129,10 +146,17 @@
lwzu 31,4(3) # offset 80
lwzu 5,4(3) # offset 84
mtlr 5
+#if !defined(_SOFT_FLOAT)
+ mfmsr 5
+ rlwinm. 5,5,0,18,18 # is MSR_FP set?
+#endif
lwzu 5,4(3) # offset 88
- mtcrf 255,5
# one word pad to get floating point aligned on 8 byte boundary
#ifndef _SOFT_FLOAT
+ bne 1f
+ addi 3,3,18*8 # skip FPregs
+ b 2f
+1:
lfdu 14,8(3) # offset 96
lfdu 15,8(3) # offset 104
lfdu 16,8(3) # offset 112
@@ -151,9 +175,17 @@
lfdu 29,8(3) # offset 216
lfdu 30,8(3) # offset 224
lfdu 31,8(3) # offset 232
+2:
#endif
+ mtcrf 255,5
-#ifdef __ALTIVEC__
+#if defined(__ALTIVEC__)
+ mfmsr 5
+ rlwinm. 5,5,0,6,6 # is MSR_FP set?
+ bne 1f
+ addi 3,3,(8+12*16) # skip vector regs
+ b 2f
+1:
/* restore Altivec vrsave and v20-v31 registers */
lwzu 5,16(3) # offset 248
mtspr 256,5 # vrsave
@@ -181,6 +213,7 @@
lvx 30,0,3 # offset 416
addi 3,3,16
lvx 31,0,3 # offset 432
+2:
#endif
mr. 3,4
diff -Naur newlib-1.15.0.orig/newlib/libc/sys/rtems/machine/stdint.h newlib-1.15.0/newlib/libc/sys/rtems/machine/stdint.h
--- newlib-1.15.0.orig/newlib/libc/sys/rtems/machine/stdint.h 1970-01-01 01:00:00.000000000 +0100
+++ newlib-1.15.0/newlib/libc/sys/rtems/machine/stdint.h 2008-09-03 10:27:41.000000000 +0200
@@ -0,0 +1,31 @@
+/*
+ *
+ */
+#ifndef _MACHINE_STDINT_H
+#define _MACHINE_STDINT_H
+
+#ifndef _STDINT_H
+#error machine/stdint.h is an internal file and must not be directly included
+#endif
+
+#if defined(__sparc__) \
+ || defined(__powerpc__) || defined(__PPC__) \
+ || defined(__mips__) \
+ || defined(__sh__) \
+ || defined(__AVR__) \
+ || defined(_C4x) || defined(_C3x) \
+ || defined(__H8300__)
+/* PTRDIFF_TYPE = int */
+#define __ptrint_t_int_defined 1
+#endif
+
+#if defined(__i386__) \
+ || defined(__m68k__) \
+ || defined(__bfin__) \
+ || defined(__arm__) \
+ || defined(__H8300S__) || defined(__H8300H__)
+/* PTRDIFF_TYPE = long */
+#define __ptrint_t_long_defined 1
+#endif
+
+#endif
diff -Naur newlib-1.15.0.orig/newlib/libc/sys/rtems/sys/param.h newlib-1.15.0/newlib/libc/sys/rtems/sys/param.h
--- newlib-1.15.0.orig/newlib/libc/sys/rtems/sys/param.h 2004-05-07 22:29:24.000000000 +0200
+++ newlib-1.15.0/newlib/libc/sys/rtems/sys/param.h 2008-09-03 10:27:41.000000000 +0200
@@ -93,7 +93,6 @@
#include <sys/resource.h>
#include <sys/ucred.h>
#include <sys/uio.h>
-#include <sys/rtprio.h>
#ifndef FALSE
#define FALSE 0
diff -Naur newlib-1.15.0.orig/newlib/Makefile.am newlib-1.15.0/newlib/Makefile.am
--- newlib-1.15.0.orig/newlib/Makefile.am 2006-06-05 19:42:57.000000000 +0200
+++ newlib-1.15.0/newlib/Makefile.am 2008-09-03 10:27:41.000000000 +0200
@@ -81,7 +81,7 @@
libc.a
endif
-noinst_DATA = stmp-targ-include
+BUILT_SOURCES = stmp-targ-include
toollib_DATA = $(CRT0) $(CRT1)
@@ -186,9 +186,6 @@
$(CRT1_DIR)$(CRT1): ; @true
-
-all-recursive: stmp-targ-include
-
# The targ-include directory just holds the includes files for the
# particular system and machine we have been configured for. It is
# used while building.
diff -Naur newlib-1.15.0.orig/newlib/Makefile.in newlib-1.15.0/newlib/Makefile.in
--- newlib-1.15.0.orig/newlib/Makefile.in 2006-12-18 21:32:41.000000000 +0100
+++ newlib-1.15.0/newlib/Makefile.in 2008-09-03 10:27:41.000000000 +0200
@@ -103,7 +103,7 @@
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
toollibDATA_INSTALL = $(INSTALL_DATA)
-DATA = $(noinst_DATA) $(toollib_DATA)
+DATA = $(toollib_DATA)
ETAGS = etags
CTAGS = ctags
DEJATOOL = $(PACKAGE)
@@ -205,12 +205,7 @@
USE_LIBTOOL_FALSE = @USE_LIBTOOL_FALSE@
USE_LIBTOOL_TRUE = @USE_LIBTOOL_TRUE@
VERSION = @VERSION@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_AS = @ac_ct_AS@
ac_ct_CC = @ac_ct_CC@
-ac_ct_RANLIB = @ac_ct_RANLIB@
-ac_ct_READELF = @ac_ct_READELF@
-ac_ct_STRIP = @ac_ct_STRIP@
aext = @aext@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
@@ -226,12 +221,16 @@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
+htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
@@ -240,6 +239,7 @@
libdir = @libdir@
libexecdir = @libexecdir@
libm_machine_dir = @libm_machine_dir@
+localedir = @localedir@
localstatedir = @localstatedir@
lpfx = @lpfx@
machine_dir = @machine_dir@
@@ -248,8 +248,10 @@
newlib_basedir = @newlib_basedir@
oext = @oext@
oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
+psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
subdirs = @subdirs@
@@ -323,7 +325,7 @@
@USE_LIBTOOL_FALSE@toollib_LIBRARIES = libm.a \
@USE_LIBTOOL_FALSE@ libc.a
-noinst_DATA = stmp-targ-include
+BUILT_SOURCES = stmp-targ-include
toollib_DATA = $(CRT0) $(CRT1)
# The functions ldexp, frexp and modf are traditionally supplied in
@@ -382,7 +384,7 @@
# dejagnu support
RUNTESTFLAGS =
-all: newlib.h
+all: $(BUILT_SOURCES) newlib.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
@@ -687,14 +689,16 @@
done
check-am:
$(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
-check: check-recursive
+check: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) check-recursive
all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) newlib.h
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
-install: install-recursive
+install: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
@@ -719,6 +723,7 @@
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
clean: clean-recursive
clean-am: clean-generic clean-libtool clean-toollibLIBRARIES \
@@ -837,8 +842,6 @@
$(CRT1_DIR)$(CRT1): ; @true
-all-recursive: stmp-targ-include
-
# The targ-include directory just holds the includes files for the
# particular system and machine we have been configured for. It is
# used while building.

View File

@@ -1,2 +0,0 @@
Makefile
Makefile.in

View File

@@ -1,13 +0,0 @@
# $Id$
SUBDIRS =
SUBDIRS += arm
SUBDIRS += bfin
SUBDIRS += h8300
SUBDIRS += i386
SUBDIRS += m68k
SUBDIRS += mips
SUBDIRS += mipstx39
SUBDIRS += powerpc
SUBDIRS += sh
SUBDIRS += sparc

View File

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

View File

@@ -1,24 +0,0 @@
# $Id$
TARGET = arm-rtems4.8
include $(top_srcdir)/mkspec.am
BINUTILS_VERS = 2.18
BINUTILS_PKGVERS = $(BINUTILS_VERS)
BINUTILS_RPMREL = 5
include ../binutils.am
BINUTILS_OPTS +=
GCC_VERS = 4.2.4
GCC_PKGVERS = $(GCC_VERS)
GCC_RPMREL = 33
NEWLIB_VERS = 1.15.0
include ../gcc.am
GCC_OPTS += --languages=cxx
GDB_VERS = 6.6
GDB_PKGVERS = $(GDB_VERS)
GDB_RPMREL = 15
include ../gdb.am
GDB_OPTS +=

View File

@@ -1,5 +0,0 @@
Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 0}
%if "%{binutils_version}" == "2.18"
Patch0: binutils-2.18-rtems4.8-20071104.diff
%endif

View File

@@ -1,38 +0,0 @@
%if "%{gcc_version}" == "4.2.4"
Source0: ftp://gcc.gnu.org/pub/gcc/%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2
Patch0: gcc-core-4.2.4-rtems4.8-20080526.diff
%endif
%{?_without_sources:NoSource: 0}
%if %build_cxx
Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-g++-%{gcc_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 1}
%endif
%if %build_f95
Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-fortran-%{gcc_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 2}
%endif
%if %build_gcj
Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-java-%{gcc_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 3}
%endif
%if %build_gnat
Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-ada-%{gcc_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 4}
%endif
%if %build_objc
Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-objc-%{gcc_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 5}
%endif
%if %build_newlib
Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_version}.tar.gz
%if "%{newlib_version}" == "1.15.0"
Patch50: newlib-1.15.0-rtems4.8-20080903.diff
%endif
%{?_without_sources:NoSource: 50}
%endif

View File

@@ -1,8 +0,0 @@
Source0: ftp://ftp.gnu.org/pub/gnu/gdb/gdb-%{gdb_version}.tar.bz2
%{?_without_sources:NoSource: 0}
%if "%{gdb_version}" == "6.6"
Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.8/gdb-6.6-rtems4.8-20090724.diff
%endif
%if "%{gdb_version}" == "6.8"
Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.8/gdb-6.8-rtems4.8-20080429.diff
%endif

View File

@@ -1,277 +0,0 @@
#
# Please send bugfixes or comments to
# http://www.rtems.org/bugzilla
#
%define _prefix /opt/rtems-4.8
%define _exec_prefix %{_prefix}
%define _bindir %{_exec_prefix}/bin
%define _sbindir %{_exec_prefix}/sbin
%define _libexecdir %{_exec_prefix}/libexec
%define _datarootdir %{_prefix}/share
%define _datadir %{_datarootdir}
%define _sysconfdir %{_prefix}/etc
%define _sharedstatedir %{_prefix}/com
%define _localstatedir %{_prefix}/var
%define _includedir %{_prefix}/include
%define _libdir %{_exec_prefix}/%{_lib}
%define _mandir %{_datarootdir}/man
%define _infodir %{_datarootdir}/info
%define _localedir %{_datarootdir}/locale
%ifos cygwin cygwin32 mingw mingw32
%define _exeext .exe
%define debug_package %{nil}
%define _libdir %{_exec_prefix}/lib
%else
%define _exeext %{nil}
%endif
%ifos cygwin cygwin32
%define optflags -O3 -pipe -march=i486 -funroll-loops
%endif
%ifos mingw mingw32
%if %{defined _mingw32_cflags}
%define optflags %{_mingw32_cflags}
%else
%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields
%endif
%endif
%if "%{_build}" != "%{_host}"
%define _host_rpmprefix %{_host}-
%else
%define _host_rpmprefix %{nil}
%endif
%define binutils_pkgvers 2.18
%define binutils_version 2.18
%define binutils_rpmvers %{expand:%(echo "2.18" | tr - _ )}
Name: rtems-4.8-arm-rtems4.8-binutils
Summary: Binutils for target arm-rtems4.8
Group: Development/Tools
Version: %{binutils_rpmvers}
Release: 5%{?dist}
License: GPL/LGPL
URL: http://sources.redhat.com/binutils
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: %{_host_rpmprefix}gcc
%if "%{binutils_version}" >= "2.18"
# Bug in bfd: Doesn't build without texinfo installed
BuildRequires: texinfo >= 4.2
%else
# Required for building the infos
BuildRequires: /sbin/install-info
BuildRequires: texinfo >= 4.2
%endif
BuildRequires: flex
BuildRequires: bison
Requires: rtems-4.8-binutils-common
Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 0}
%if "%{binutils_version}" == "2.18"
Patch0: binutils-2.18-rtems4.8-20071104.diff
%endif
%description
Cross binutils for target arm-rtems4.8
%prep
%setup -q -c -T -n %{name}-%{version}
%setup -q -D -T -n %{name}-%{version} -a0
cd binutils-%{binutils_pkgvers}
%{?PATCH0:%patch0 -p1}
cd ..
%build
export PATH="%{_bindir}:${PATH}"
%if "arm-rtems4.8" == "i686-pc-cygwin"
# The cygwin sources are leaking memory
RPM_OPT_FLAGS="$(echo "$RPM_OPT_FLAGS"|sed -e 's; -Wp,-D_FORTIFY_SOURCE=2;;')"
%endif
mkdir -p build
cd build
%if "%{_build}" != "%{_host}"
CFLAGS_FOR_BUILD="-g -O2 -Wall" \
%endif
CFLAGS="$RPM_OPT_FLAGS" \
../binutils-%{binutils_pkgvers}/configure \
--build=%_build --host=%_host \
--target=arm-rtems4.8 \
--verbose --disable-nls \
--without-included-gettext \
--disable-win32-registry \
--disable-werror \
--prefix=%{_prefix} --bindir=%{_bindir} \
--exec-prefix=%{_exec_prefix} \
--includedir=%{_includedir} --libdir=%{_libdir} \
--mandir=%{_mandir} --infodir=%{_infodir}
make %{?_smp_mflags} all
make info
cd ..
%install
export PATH="%{_bindir}:${PATH}"
rm -rf $RPM_BUILD_ROOT
cd build
make DESTDIR=$RPM_BUILD_ROOT 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} \
exec_prefix=$RPM_BUILD_ROOT%{_exec_prefix} \
install-info
# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it.
rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info*
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
# We don't ship host files
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty*
# manpages without corresponding tools
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/arm-rtems4.8-dlltool%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/arm-rtems4.8-dlltool*
fi
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/arm-rtems4.8-nlmconv%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/arm-rtems4.8-nlmconv*
fi
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/arm-rtems4.8-windres%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/arm-rtems4.8-windres*
fi
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/arm-rtems4.8-windmc%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/arm-rtems4.8-windmc*
fi
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
;;
# Fix up brp-compress to handle %%_prefix != /usr
*/brp-compress*)
b=$(basename $a)
sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b
chmod a+x $b
;;
esac
done
sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \
-e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \
< os_install_post~ > os_install_post
%define __os_install_post . ./os_install_post
%clean
rm -rf $RPM_BUILD_ROOT
# ==============================================================
# arm-rtems4.8-binutils
# ==============================================================
# %package -n rtems-4.8-arm-rtems4.8-binutils
# Summary: rtems binutils for arm-rtems4.8
# Group: Development/Tools
# %if %build_infos
# Requires: rtems-4.8-binutils-common
# %endif
%description -n rtems-4.8-arm-rtems4.8-binutils
GNU binutils targetting arm-rtems4.8.
%files -n rtems-4.8-arm-rtems4.8-binutils
%defattr(-,root,root)
%dir %{_prefix}
%dir %{_mandir}
%dir %{_mandir}/man1
%{_mandir}/man1/arm-rtems4.8-*.1*
%dir %{_bindir}
%{_bindir}/arm-rtems4.8-*
%dir %{_exec_prefix}/arm-rtems4.8
%dir %{_exec_prefix}/arm-rtems4.8/bin
%{_exec_prefix}/arm-rtems4.8/bin/*
%dir %{_exec_prefix}/arm-rtems4.8/lib
%{_exec_prefix}/arm-rtems4.8/lib/ldscripts
# ==============================================================
# rtems-4.8-binutils-common
# ==============================================================
%package -n rtems-4.8-binutils-common
Summary: Base package for RTEMS binutils
Group: Development/Tools
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n rtems-4.8-binutils-common
RTEMS is an open source operating system for embedded systems.
This is the base for binutils regardless of target CPU.
%post -n rtems-4.8-binutils-common
/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.17"
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || :
%endif
%preun -n rtems-4.8-binutils-common
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.17"
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || :
%endif
fi
%files -n rtems-4.8-binutils-common
%defattr(-,root,root)
%dir %{_prefix}
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/as.info*
%{_infodir}/bfd.info*
%{_infodir}/binutils.info*
%{_infodir}/ld.info*
%{_infodir}/standards.info*
%if "%{binutils_version}" > "2.17"
%{_infodir}/gprof.info*
%endif
%dir %{_prefix}/share
%dir %{_prefix}/share/locale

View File

@@ -1,632 +0,0 @@
#
# Please send bugfixes or comments to
# http://www.rtems.org/bugzilla
#
%define _prefix /opt/rtems-4.8
%define _exec_prefix %{_prefix}
%define _bindir %{_exec_prefix}/bin
%define _sbindir %{_exec_prefix}/sbin
%define _libexecdir %{_exec_prefix}/libexec
%define _datarootdir %{_prefix}/share
%define _datadir %{_datarootdir}
%define _sysconfdir %{_prefix}/etc
%define _sharedstatedir %{_prefix}/com
%define _localstatedir %{_prefix}/var
%define _includedir %{_prefix}/include
%define _libdir %{_exec_prefix}/%{_lib}
%define _mandir %{_datarootdir}/man
%define _infodir %{_datarootdir}/info
%define _localedir %{_datarootdir}/locale
%ifos cygwin cygwin32 mingw mingw32
%define _exeext .exe
%define debug_package %{nil}
%define _libdir %{_exec_prefix}/lib
%else
%define _exeext %{nil}
%endif
%ifos cygwin cygwin32
%define optflags -O3 -pipe -march=i486 -funroll-loops
%endif
%ifos mingw mingw32
%if %{defined _mingw32_cflags}
%define optflags %{_mingw32_cflags}
%else
%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields
%endif
%endif
%if "%{_build}" != "%{_host}"
%define _host_rpmprefix %{_host}-
%else
%define _host_rpmprefix %{nil}
%endif
%define gcc_pkgvers 4.2.4
%define gcc_version 4.2.4
%define gcc_rpmvers %{expand:%(echo "4.2.4" | tr - _ )}
%define newlib_version 1.15.0
%define gccnewlib_version gcc%{gcc_version}newlib%{newlib_version}
%define mpfr_version 2.3.1
Name: rtems-4.8-arm-rtems4.8-gcc
Summary: arm-rtems4.8 gcc
Group: Development/Tools
Version: %{gcc_rpmvers}
Release: 33%{?dist}
License: GPL
URL: http://gcc.gnu.org
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%define _use_internal_dependency_generator 0
BuildRequires: %{_host_rpmprefix}gcc
%if "%{gcc_version}" >= "4.3.0"
BuildRequires: gmp-devel >= 4.1
%if "%{_build}" != "%{_host}"
BuildRequires: %{_host_rpmprefix}gmp-devel
BuildRequires: %{_host_rpmprefix}mpfr-devel
%endif
%if 0%{?fedora} >= 8
BuildRequires: mpfr-devel >= 2.3.0
%endif
%if "%{?suse}" > "10.3"
BuildRequires: mpfr-devel >= 2.3.0
%endif
# These distros ship an insufficient mpfr
%{?el4:%define _build_mpfr 1}
%{?suse10_2:%define _build_mpfr 1}
%{?suse10_3:%define _build_mpfr 1}
%endif
%if "%{_build}" != "%{_host}"
BuildRequires: rtems-4.8-arm-rtems4.8-gcc
%endif
%if "%{gcc_version}" >= "4.2.0"
BuildRequires: flex bison
%endif
BuildRequires: texinfo >= 4.2
BuildRequires: rtems-4.8-arm-rtems4.8-binutils
Requires: rtems-4.8-gcc-common
Requires: rtems-4.8-arm-rtems4.8-binutils
Requires: rtems-4.8-arm-rtems4.8-newlib = %{newlib_version}-%{release}
%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
%if "%{gcc_version}" == "4.2.4"
Source0: ftp://gcc.gnu.org/pub/gcc/%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2
Patch0: gcc-core-4.2.4-rtems4.8-20080526.diff
%endif
%{?_without_sources:NoSource: 0}
Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-g++-%{gcc_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 1}
Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_version}.tar.gz
%if "%{newlib_version}" == "1.15.0"
Patch50: newlib-1.15.0-rtems4.8-20080903.diff
%endif
%{?_without_sources:NoSource: 50}
%if "%{gcc_version}" >= "4.3.0"
Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2
%endif
%description
Cross gcc for arm-rtems4.8.
%prep
%setup -c -T -n %{name}-%{version}
%setup -q -T -D -n %{name}-%{version} -a0
%{?PATCH0:%patch0 -p0}
%setup -q -T -D -n %{name}-%{version} -a1
%{?PATCH1:%patch1 -p0}
%setup -q -T -D -n %{name}-%{version} -a50
cd newlib-%{newlib_version}
%{?PATCH50:%patch50 -p1}
cd ..
# Copy the C library into gcc's source tree
ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_pkgvers}
%if 0%{?_build_mpfr}
%setup -q -T -D -n %{name}-%{version} -a60
%{?PATCH60:%patch60 -p1}
# Build mpfr one-tree style
ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr
%endif
%if "%{gcc_version}" < "4.1.0"
sed -e 's/\(version_string.* = \"[^\"]*\)/\1 (RTEMS gcc-%{gcc_version}\/newlib-%{newlib_version}-%release)/' \
gcc-%{gcc_pkgvers}/gcc/version.c > gcc-%{gcc_pkgvers}/gcc/version.c~
%else
sed -e 's/^#define VERSUFFIX.*$/#define VERSUFFIX \" (RTEMS gcc-%{gcc_version}\/newlib-%{newlib_version}-%{release})\"/' \
gcc-%{gcc_pkgvers}/gcc/version.c > gcc-%{gcc_pkgvers}/gcc/version.c~
%endif
mv gcc-%{gcc_pkgvers}/gcc/version.c~ gcc-%{gcc_pkgvers}/gcc/version.c
# Fix timestamps
cd gcc-%{gcc_pkgvers}
contrib/gcc_update --touch
cd ..
%build
mkdir -p build
cd build
languages="c"
languages="$languages,c++"
export PATH="%{_bindir}:${PATH}"
%if "%{_build}" != "%{_host}"
CFLAGS_FOR_BUILD="-g -O2 -Wall" \
CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \
%else
# gcc is not ready to be compiled with -std=gnu99
CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \
%endif
../gcc-%{gcc_pkgvers}/configure \
--prefix=%{_prefix} \
--bindir=%{_bindir} \
--exec_prefix=%{_exec_prefix} \
--includedir=%{_includedir} \
--libdir=%{_libdir} \
--libexecdir=%{_libexecdir} \
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--datadir=%{_datadir} \
--build=%_build --host=%_host \
--target=arm-rtems4.8 \
--disable-libstdcxx-pch \
--with-gnu-as --with-gnu-ld --verbose \
--with-newlib \
--with-system-zlib \
--disable-nls --without-included-gettext \
--disable-win32-registry \
--enable-version-specific-runtime-libs \
--enable-threads \
--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_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h
%endif
make %{?_smp_mflags} all
make info
cd ..
%install
export PATH="%{_bindir}:${PATH}"
rm -rf $RPM_BUILD_ROOT
cd build
make DESTDIR=$RPM_BUILD_ROOT install
cd ..
cd build/arm-rtems4.8/newlib
make DESTDIR=$RPM_BUILD_ROOT install-info
cd ../../..
%if "%{gcc_version}" <= "4.1.2"
# Misplaced header file
if test -f $RPM_BUILD_ROOT%{_includedir}/mf-runtime.h; then
mv $RPM_BUILD_ROOT%{_includedir}/mf-runtime.h \
$RPM_BUILD_ROOT%{gcclib}/arm-rtems4.8/%{gcc_version}/include/
fi
%endif
# host library
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty.a
# We use the version from binutils
rm -f $RPM_BUILD_ROOT%{_bindir}/arm-rtems4.8-c++filt%{_exeext}
# We don't ship info/dir
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir
%if "%{gcc_version}" >= "3.4"
# Bug in gcc-3.4.0pre
rm -f $RPM_BUILD_ROOT%{_bindir}/arm-rtems4.8-arm-rtems4.8-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}/arm-rtems4.8/%{gcc_version}/install-tools
rm -rf ${RPM_BUILD_ROOT}%{gccexec}/arm-rtems4.8/%{gcc_version}/install-tools
%endif
# Collect multilib subdirectories
f=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'`
echo "%defattr(-,root,root,-)" > build/files.newlib
TGTDIR="%{_exec_prefix}/arm-rtems4.8/lib"
for i in $f; do
case $i in
\.) echo "%dir ${TGTDIR}" >> build/files.newlib
;;
*) echo "%dir ${TGTDIR}/$i" >> build/files.newlib
;;
esac
done
rm -f dirs ;
echo "%defattr(-,root,root,-)" >> dirs
echo "%dir %{_prefix}" >> dirs
echo "%dir %{_libdir}" >> dirs
%if "%{gcc_version}" >= "3.4"
echo "%dir %{_libexecdir}" >> dirs
%endif
echo "%dir %{gcclib}" >> dirs
echo "%dir %{gcclib}/arm-rtems4.8" >> dirs
TGTDIR="%{gcclib}/arm-rtems4.8/%{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 build/files.gcc
cp dirs build/files.g77
cp dirs build/files.gfortran
cp dirs build/files.objc
cp dirs build/files.gcj
cp dirs build/files.g++
TGTDIR="%{gcclib}/arm-rtems4.8/%{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" >> build/files.objc ;;
*include/objc*) ;;
*include/g++*);;
*include/c++*);;
*adainclude*);;
*adalib*);;
*gnat1);;
*jc1) ;;
*jvgenmain) ;;
*/libgfortran*.*) echo "$i" >> build/files.gfortran ;;
*/libstdc++.*) echo "$i" >> build/files.g++ ;;
*/libsupc++.*) echo "$i" >> build/files.g++ ;;
*) echo "$i" >> build/files.gcc ;;
esac
done
TGTDIR="%{_exec_prefix}/arm-rtems4.8/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 newlib
*) echo "$i" >> build/files.newlib ;;
esac
done
# 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
;;
# Fix up brp-compress to handle %%_prefix != /usr
*/brp-compress*)
b=$(basename $a)
sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b
chmod a+x $b
;;
esac
done
sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \
-e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \
< os_install_post~ > os_install_post
%define __os_install_post . ./os_install_post
cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides
#!/bin/sh
grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/arm-rtems4.8/(lib|include|sys-root)' \
| grep -v '^${RPM_BUILD_ROOT}%{gcclib}/arm-rtems4.8/' | %__find_provides
EOF
chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides
%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides
cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires
#!/bin/sh
grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/arm-rtems4.8/(lib|include|sys-root)' \
| grep -v '^${RPM_BUILD_ROOT}%{gcclib}/arm-rtems4.8/' | %__find_requires
EOF
chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires
%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires
%ifnarch noarch
# Extract %%__debug_install_post into debug_install_post~
cat << \EOF > debug_install_post~
%__debug_install_post
EOF
# Generate customized debug_install_post script
cat debug_install_post~ | while read a x y; do
case $a in
# Prevent find-debuginfo.sh* from trying to handle foreign binaries
*/find-debuginfo.sh)
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
;;
esac
done
sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \
< debug_install_post~ > debug_install_post
%define __debug_install_post . ./debug_install_post
%endif
%clean
rm -rf $RPM_BUILD_ROOT
# ==============================================================
# rtems-4.8-arm-rtems4.8-gcc
# ==============================================================
# %package -n rtems-4.8-arm-rtems4.8-gcc
# Summary: GNU cc compiler for arm-rtems4.8
# Group: Development/Tools
# Version: %{gcc_rpmvers}
# Requires: rtems-4.8-arm-rtems4.8-binutils
# Requires: rtems-4.8-arm-rtems4.8-newlib = %{newlib_version}-%{release}
# License: GPL
# %if %build_infos
# Requires: rtems-4.8-gcc-common
# %endif
%description -n rtems-4.8-arm-rtems4.8-gcc
GNU cc compiler for arm-rtems4.8.
%files -n rtems-4.8-arm-rtems4.8-gcc -f build/files.gcc
%defattr(-,root,root)
%dir %{_mandir}
%dir %{_mandir}/man1
%{_mandir}/man1/arm-rtems4.8-gcc.1*
%if "%{gcc_version}" >= "3.4"
%{_mandir}/man1/arm-rtems4.8-cpp.1*
%{_mandir}/man1/arm-rtems4.8-gcov.1*
%endif
%dir %{_bindir}
%{_bindir}/arm-rtems4.8-cpp%{_exeext}
%{_bindir}/arm-rtems4.8-gcc%{_exeext}
%if "%{gcc_version}" >= "3.3"
%{_bindir}/arm-rtems4.8-gcc-%{gcc_version}%{_exeext}
%endif
%{_bindir}/arm-rtems4.8-gcov%{_exeext}
%{_bindir}/arm-rtems4.8-gccbug
%dir %{gcclib}/arm-rtems4.8/%{gcc_version}/include
%if "%{gcc_version}" > "4.0.3"
%if "arm-rtems4.8" != "bfin-rtems4.8"
%if "arm-rtems4.8" != "avr-rtems4.8"
%dir %{gcclib}/arm-rtems4.8/%{gcc_version}/include/ssp
%endif
%endif
%endif
%if "%{gcc_version}" >= "4.3.0"
%dir %{gcclib}/arm-rtems4.8/%{gcc_version}/include-fixed
%endif
%dir %{gccexec}
%dir %{gccexec}/arm-rtems4.8
%dir %{gccexec}/arm-rtems4.8/%{gcc_version}
%{gccexec}/arm-rtems4.8/%{gcc_version}/cc1%{_exeext}
%{gccexec}/arm-rtems4.8/%{gcc_version}/collect2%{_exeext}
# ==============================================================
# rtems-4.8-gcc-common
# ==============================================================
%package -n rtems-4.8-gcc-common
Summary: Base package for rtems gcc and newlib C Library
Group: Development/Tools
Version: %{gcc_rpmvers}
License: GPL
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n rtems-4.8-gcc-common
GCC files that are shared by all targets.
%files -n rtems-4.8-gcc-common
%defattr(-,root,root)
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/cpp.info*
%{_infodir}/cppinternals.info*
%{_infodir}/gcc.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 rtems-4.8-gcc-common
/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}/gccint.info.gz || :
%if "%{gcc_version}" >= "3.4"
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || :
%endif
%preun -n rtems-4.8-gcc-common
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}/gccint.info.gz || :
%if "%{gcc_version}" >= "3.4"
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || :
%endif
fi
# ==============================================================
# rtems-4.8-arm-rtems4.8-gcc-c++
# ==============================================================
%package -n rtems-4.8-arm-rtems4.8-gcc-c++
Summary: GCC c++ compiler for arm-rtems4.8
Group: Development/Tools
Version: %{gcc_rpmvers}
License: GPL
%if "%{_build}" != "%{_host}"
BuildRequires: rtems-4.8-arm-rtems4.8-gcc-c++
%endif
Provides: rtems-4.8-arm-rtems4.8-c++ = %{gcc_rpmvers}-%{release}
Obsoletes: rtems-4.8-arm-rtems4.8-c++ < %{gcc_rpmvers}-%{release}
Requires: rtems-4.8-gcc-common
Requires: rtems-4.8-arm-rtems4.8-gcc = %{gcc_rpmvers}-%{release}
%description -n rtems-4.8-arm-rtems4.8-gcc-c++
GCC c++ compiler for arm-rtems4.8.
%files -n rtems-4.8-arm-rtems4.8-gcc-c++ -f build/files.g++
%defattr(-,root,root)
%{_mandir}/man1/arm-rtems4.8-g++.1*
%{_bindir}/arm-rtems4.8-c++%{_exeext}
%{_bindir}/arm-rtems4.8-g++%{_exeext}
%dir %{gccexec}
%dir %{gccexec}/arm-rtems4.8
%dir %{gccexec}/arm-rtems4.8/%{gcc_version}
%{gccexec}/arm-rtems4.8/%{gcc_version}/cc1plus%{_exeext}
%dir %{gcclib}/arm-rtems4.8/%{gcc_version}/include
%if "%{gcc_version}" >= "3.2"
%{gcclib}/arm-rtems4.8/%{gcc_version}/include/c++
%else
%{gcclib}/arm-rtems4.8/%{gcc_version}/include/g++
%endif
# ==============================================================
# rtems-4.8-arm-rtems4.8-newlib
# ==============================================================
%package -n rtems-4.8-arm-rtems4.8-newlib
Summary: C Library (newlib) for arm-rtems4.8
Group: Development/Tools
License: Distributable
Version: %{newlib_version}
Provides: rtems-4.8-arm-rtems4.8-libc = %{newlib_version}-%{release}
Obsoletes: rtems-4.8-arm-rtems4.8-libc < %{newlib_version}-%{release}
Requires: rtems-4.8-newlib-common
%description -n rtems-4.8-arm-rtems4.8-newlib
Newlib C Library for arm-rtems4.8.
%files -n rtems-4.8-arm-rtems4.8-newlib -f build/files.newlib
%defattr(-,root,root)
%dir %{_prefix}
%dir %{_exec_prefix}/arm-rtems4.8
%{_exec_prefix}/arm-rtems4.8/include
# ==============================================================
# rtems-4.8-newlib-common
# ==============================================================
%package -n rtems-4.8-newlib-common
Summary: Base package for RTEMS newlib C Library
Group: Development/Tools
Version: %{newlib_version}
License: Distributable
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n rtems-4.8-newlib-common
newlib files that are shared by all targets.
%files -n rtems-4.8-newlib-common
%defattr(-,root,root)
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/libc.info*
%{_infodir}/libm.info*
%post -n rtems-4.8-newlib-common
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || :
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || :
%preun -n rtems-4.8-newlib-common
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || :
fi

View File

@@ -1,284 +0,0 @@
#
# Please send bugfixes or comments to
# http://www.rtems.org/bugzilla
#
%define _prefix /opt/rtems-4.8
%define _exec_prefix %{_prefix}
%define _bindir %{_exec_prefix}/bin
%define _sbindir %{_exec_prefix}/sbin
%define _libexecdir %{_exec_prefix}/libexec
%define _datarootdir %{_prefix}/share
%define _datadir %{_datarootdir}
%define _sysconfdir %{_prefix}/etc
%define _sharedstatedir %{_prefix}/com
%define _localstatedir %{_prefix}/var
%define _includedir %{_prefix}/include
%define _libdir %{_exec_prefix}/%{_lib}
%define _mandir %{_datarootdir}/man
%define _infodir %{_datarootdir}/info
%define _localedir %{_datarootdir}/locale
%ifos cygwin cygwin32 mingw mingw32
%define _exeext .exe
%define debug_package %{nil}
%define _libdir %{_exec_prefix}/lib
%else
%define _exeext %{nil}
%endif
%ifos cygwin cygwin32
%define optflags -O3 -pipe -march=i486 -funroll-loops
%endif
%ifos mingw mingw32
%if %{defined _mingw32_cflags}
%define optflags %{_mingw32_cflags}
%else
%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields
%endif
%endif
%if "%{_build}" != "%{_host}"
%define _host_rpmprefix %{_host}-
%else
%define _host_rpmprefix %{nil}
%endif
%define gdb_version 6.6
%define gdb_rpmvers %{expand:%(echo 6.6 | tr - _)}
Name: rtems-4.8-arm-rtems4.8-gdb
Summary: Gdb for target arm-rtems4.8
Group: Development/Tools
Version: %{gdb_rpmvers}
Release: 15%{?dist}
License: GPL/LGPL
URL: http://sources.redhat.com/gdb
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: %{_host_rpmprefix}gcc
%define build_sim --enable-sim
%if "%{_build}" != "%{_host}"
# psim doesn't support Cdn-X
%if "arm-rtems4.8" == "powerpc-rtems4.8"
%define build_sim --disable-sim
%endif
%endif
%ifos mingw mingw32
# Mingw lacks functions required by the simulator
%if "arm-rtems4.8" == "sparc-rtems4.8"
%define build_sim --disable-sim
%endif
%if "arm-rtems4.8" == "h8300-rtems4.8"
%define build_sim --disable-sim
%endif
%if "%{gdb_version}" >= "6.8.50"
%if "arm-rtems4.8" == "m32c-rtems4.8"
%define build_sim --disable-sim
%endif
%endif
%if "arm-rtems4.8" == "lm32-rtems4.8"
%define build_sim --disable-sim
%endif
%if "arm-rtems4.8" == "mipstx39-rtems4.8"
%define build_sim --disable-sim
%endif
%endif
%if "%{gdb_version}" >= "6.6"
# suse
%if "%{?suse}" >= "10.3"
BuildRequires: libexpat-devel
%else
# Fedora/CentOS/Cygwin/MinGW
BuildRequires: %{_host_rpmprefix}expat-devel
%endif
%endif
%if "%{gdb_version}" < "6.7"
%if "%{_build}" != "%{_host}"
BuildRequires: %{_host_rpmprefix}termcap-devel
%endif
%endif
BuildRequires: %{_host_rpmprefix}readline-devel
BuildRequires: %{_host_rpmprefix}ncurses-devel
# Required for building the infos
BuildRequires: /sbin/install-info
BuildRequires: texinfo >= 4.2
Requires: rtems-4.8-gdb-common
Source0: ftp://ftp.gnu.org/pub/gnu/gdb/gdb-%{gdb_version}.tar.bz2
%{?_without_sources:NoSource: 0}
%if "%{gdb_version}" == "6.6"
Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.8/gdb-6.6-rtems4.8-20090724.diff
%endif
%if "%{gdb_version}" == "6.8"
Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.8/gdb-6.8-rtems4.8-20080429.diff
%endif
%description
GDB for target arm-rtems4.8
%prep
%setup -q -c -T -n %{name}-%{version}
%setup -q -D -T -n %{name}-%{version} -a0
cd gdb-%{gdb_version}
%{?PATCH0:%patch0 -p1}
cd ..
%if "%{gdb_version}" >= "6.7"
# Force using a system-provided libreadline
rm -f gdb-%{gdb_version}/readline/configure
%endif
%build
export PATH="%{_bindir}:${PATH}"
mkdir -p build
cd build
%if "%{_build}" != "%{_host}"
CFLAGS_FOR_BUILD="-g -O2 -Wall" \
%endif
CFLAGS="$RPM_OPT_FLAGS" \
../gdb-%{gdb_version}/configure \
--build=%_build --host=%_host \
--target=arm-rtems4.8 \
--verbose --disable-nls \
--without-included-gettext \
--disable-win32-registry \
--disable-werror \
%{build_sim} \
%if "%{gdb_version}" >= "6.7"
--with-system-readline \
%endif
%if "%{gdb_version}" >= "6.6"
--with-expat \
%endif
%if "%{gdb_version}" >= "6.8.50"
--without-python \
%endif
--prefix=%{_prefix} --bindir=%{_bindir} \
--includedir=%{_includedir} --libdir=%{_libdir} \
--mandir=%{_mandir} --infodir=%{_infodir}
make %{?_smp_mflags} all
make info
cd ..
%install
export PATH="%{_bindir}:${PATH}"
rm -rf $RPM_BUILD_ROOT
cd build
make DESTDIR=$RPM_BUILD_ROOT install
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir
# 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*
# We don't ship host files
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty*
# host library, installed to a bogus directory
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libarm-rtems4.8-sim.a
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
;;
# Fix up brp-compress to handle %%_prefix != /usr
*/brp-compress*)
b=$(basename $a)
sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b
chmod a+x $b
;;
esac
done
sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \
-e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \
< os_install_post~ > os_install_post
%define __os_install_post . ./os_install_post
%clean
rm -rf $RPM_BUILD_ROOT
# ==============================================================
# arm-rtems4.8-gdb
# ==============================================================
# %package -n rtems-4.8-arm-rtems4.8-gdb
# Summary: rtems gdb for arm-rtems4.8
# Group: Development/Tools
# %if %build_infos
# Requires: rtems-4.8-gdb-common
# %endif
%description -n rtems-4.8-arm-rtems4.8-gdb
GNU gdb targetting arm-rtems4.8.
%files -n rtems-4.8-arm-rtems4.8-gdb
%defattr(-,root,root)
%dir %{_mandir}
%dir %{_mandir}/man1
%{_mandir}/man1/arm-rtems4.8-*.1*
%dir %{_bindir}
%{_bindir}/arm-rtems4.8-*
# ==============================================================
# rtems-4.8-gdb-common
# ==============================================================
%package -n rtems-4.8-gdb-common
Summary: Base package for RTEMS gdbs
Group: Development/Tools
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n rtems-4.8-gdb-common
GDB files shared by all targets.
%post -n rtems-4.8-gdb-common
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || :
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || :
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || :
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || :
%preun -n rtems-4.8-gdb-common
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || :
fi
%files -n rtems-4.8-gdb-common
%defattr(-,root,root)
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/gdb.info*
%{_infodir}/gdbint.info*
%{_infodir}/stabs.info*
%{_infodir}/annotate.info*

View File

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

View File

@@ -1,23 +0,0 @@
# $Id$
TARGET = bfin-rtems4.8
include $(top_srcdir)/mkspec.am
BINUTILS_VERS = 2.18
BINUTILS_PKGVERS = $(BINUTILS_VERS)
BINUTILS_RPMREL = 5
include ../binutils.am
BINUTILS_OPTS +=
GCC_VERS = 4.2.4
GCC_PKGVERS = $(GCC_VERS)
GCC_RPMREL = 33
NEWLIB_VERS = 1.15.0
include ../gcc.am
GDB_VERS = 6.5
GDB_PKGVERS = $(GDB_VERS)
GDB_RPMREL = 8
include ../gdb.am
GDB_OPTS +=

View File

@@ -1,5 +0,0 @@
Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 0}
%if "%{binutils_version}" == "2.18"
Patch0: binutils-2.18-rtems4.8-20071104.diff
%endif

View File

@@ -1,38 +0,0 @@
%if "%{gcc_version}" == "4.2.4"
Source0: ftp://gcc.gnu.org/pub/gcc/%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2
Patch0: gcc-core-4.2.4-rtems4.8-20080526.diff
%endif
%{?_without_sources:NoSource: 0}
%if %build_cxx
Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-g++-%{gcc_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 1}
%endif
%if %build_f95
Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-fortran-%{gcc_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 2}
%endif
%if %build_gcj
Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-java-%{gcc_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 3}
%endif
%if %build_gnat
Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-ada-%{gcc_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 4}
%endif
%if %build_objc
Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-objc-%{gcc_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 5}
%endif
%if %build_newlib
Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_version}.tar.gz
%if "%{newlib_version}" == "1.15.0"
Patch50: newlib-1.15.0-rtems4.8-20080903.diff
%endif
%{?_without_sources:NoSource: 50}
%endif

View File

@@ -1,3 +0,0 @@
Source0: ftp://ftp.gnu.org/pub/gnu/gdb/gdb-%{gdb_version}.tar.bz2
%{?_without_sources:NoSource: 0}
Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.8/gdb-6.5-bfinrtems-20090122.diff

View File

@@ -1,277 +0,0 @@
#
# Please send bugfixes or comments to
# http://www.rtems.org/bugzilla
#
%define _prefix /opt/rtems-4.8
%define _exec_prefix %{_prefix}
%define _bindir %{_exec_prefix}/bin
%define _sbindir %{_exec_prefix}/sbin
%define _libexecdir %{_exec_prefix}/libexec
%define _datarootdir %{_prefix}/share
%define _datadir %{_datarootdir}
%define _sysconfdir %{_prefix}/etc
%define _sharedstatedir %{_prefix}/com
%define _localstatedir %{_prefix}/var
%define _includedir %{_prefix}/include
%define _libdir %{_exec_prefix}/%{_lib}
%define _mandir %{_datarootdir}/man
%define _infodir %{_datarootdir}/info
%define _localedir %{_datarootdir}/locale
%ifos cygwin cygwin32 mingw mingw32
%define _exeext .exe
%define debug_package %{nil}
%define _libdir %{_exec_prefix}/lib
%else
%define _exeext %{nil}
%endif
%ifos cygwin cygwin32
%define optflags -O3 -pipe -march=i486 -funroll-loops
%endif
%ifos mingw mingw32
%if %{defined _mingw32_cflags}
%define optflags %{_mingw32_cflags}
%else
%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields
%endif
%endif
%if "%{_build}" != "%{_host}"
%define _host_rpmprefix %{_host}-
%else
%define _host_rpmprefix %{nil}
%endif
%define binutils_pkgvers 2.18
%define binutils_version 2.18
%define binutils_rpmvers %{expand:%(echo "2.18" | tr - _ )}
Name: rtems-4.8-bfin-rtems4.8-binutils
Summary: Binutils for target bfin-rtems4.8
Group: Development/Tools
Version: %{binutils_rpmvers}
Release: 5%{?dist}
License: GPL/LGPL
URL: http://sources.redhat.com/binutils
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: %{_host_rpmprefix}gcc
%if "%{binutils_version}" >= "2.18"
# Bug in bfd: Doesn't build without texinfo installed
BuildRequires: texinfo >= 4.2
%else
# Required for building the infos
BuildRequires: /sbin/install-info
BuildRequires: texinfo >= 4.2
%endif
BuildRequires: flex
BuildRequires: bison
Requires: rtems-4.8-binutils-common
Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 0}
%if "%{binutils_version}" == "2.18"
Patch0: binutils-2.18-rtems4.8-20071104.diff
%endif
%description
Cross binutils for target bfin-rtems4.8
%prep
%setup -q -c -T -n %{name}-%{version}
%setup -q -D -T -n %{name}-%{version} -a0
cd binutils-%{binutils_pkgvers}
%{?PATCH0:%patch0 -p1}
cd ..
%build
export PATH="%{_bindir}:${PATH}"
%if "bfin-rtems4.8" == "i686-pc-cygwin"
# The cygwin sources are leaking memory
RPM_OPT_FLAGS="$(echo "$RPM_OPT_FLAGS"|sed -e 's; -Wp,-D_FORTIFY_SOURCE=2;;')"
%endif
mkdir -p build
cd build
%if "%{_build}" != "%{_host}"
CFLAGS_FOR_BUILD="-g -O2 -Wall" \
%endif
CFLAGS="$RPM_OPT_FLAGS" \
../binutils-%{binutils_pkgvers}/configure \
--build=%_build --host=%_host \
--target=bfin-rtems4.8 \
--verbose --disable-nls \
--without-included-gettext \
--disable-win32-registry \
--disable-werror \
--prefix=%{_prefix} --bindir=%{_bindir} \
--exec-prefix=%{_exec_prefix} \
--includedir=%{_includedir} --libdir=%{_libdir} \
--mandir=%{_mandir} --infodir=%{_infodir}
make %{?_smp_mflags} all
make info
cd ..
%install
export PATH="%{_bindir}:${PATH}"
rm -rf $RPM_BUILD_ROOT
cd build
make DESTDIR=$RPM_BUILD_ROOT 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} \
exec_prefix=$RPM_BUILD_ROOT%{_exec_prefix} \
install-info
# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it.
rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info*
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
# We don't ship host files
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty*
# manpages without corresponding tools
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/bfin-rtems4.8-dlltool%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/bfin-rtems4.8-dlltool*
fi
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/bfin-rtems4.8-nlmconv%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/bfin-rtems4.8-nlmconv*
fi
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/bfin-rtems4.8-windres%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/bfin-rtems4.8-windres*
fi
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/bfin-rtems4.8-windmc%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/bfin-rtems4.8-windmc*
fi
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
;;
# Fix up brp-compress to handle %%_prefix != /usr
*/brp-compress*)
b=$(basename $a)
sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b
chmod a+x $b
;;
esac
done
sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \
-e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \
< os_install_post~ > os_install_post
%define __os_install_post . ./os_install_post
%clean
rm -rf $RPM_BUILD_ROOT
# ==============================================================
# bfin-rtems4.8-binutils
# ==============================================================
# %package -n rtems-4.8-bfin-rtems4.8-binutils
# Summary: rtems binutils for bfin-rtems4.8
# Group: Development/Tools
# %if %build_infos
# Requires: rtems-4.8-binutils-common
# %endif
%description -n rtems-4.8-bfin-rtems4.8-binutils
GNU binutils targetting bfin-rtems4.8.
%files -n rtems-4.8-bfin-rtems4.8-binutils
%defattr(-,root,root)
%dir %{_prefix}
%dir %{_mandir}
%dir %{_mandir}/man1
%{_mandir}/man1/bfin-rtems4.8-*.1*
%dir %{_bindir}
%{_bindir}/bfin-rtems4.8-*
%dir %{_exec_prefix}/bfin-rtems4.8
%dir %{_exec_prefix}/bfin-rtems4.8/bin
%{_exec_prefix}/bfin-rtems4.8/bin/*
%dir %{_exec_prefix}/bfin-rtems4.8/lib
%{_exec_prefix}/bfin-rtems4.8/lib/ldscripts
# ==============================================================
# rtems-4.8-binutils-common
# ==============================================================
%package -n rtems-4.8-binutils-common
Summary: Base package for RTEMS binutils
Group: Development/Tools
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n rtems-4.8-binutils-common
RTEMS is an open source operating system for embedded systems.
This is the base for binutils regardless of target CPU.
%post -n rtems-4.8-binutils-common
/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.17"
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || :
%endif
%preun -n rtems-4.8-binutils-common
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.17"
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || :
%endif
fi
%files -n rtems-4.8-binutils-common
%defattr(-,root,root)
%dir %{_prefix}
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/as.info*
%{_infodir}/bfd.info*
%{_infodir}/binutils.info*
%{_infodir}/ld.info*
%{_infodir}/standards.info*
%if "%{binutils_version}" > "2.17"
%{_infodir}/gprof.info*
%endif
%dir %{_prefix}/share
%dir %{_prefix}/share/locale

View File

@@ -1,587 +0,0 @@
#
# Please send bugfixes or comments to
# http://www.rtems.org/bugzilla
#
%define _prefix /opt/rtems-4.8
%define _exec_prefix %{_prefix}
%define _bindir %{_exec_prefix}/bin
%define _sbindir %{_exec_prefix}/sbin
%define _libexecdir %{_exec_prefix}/libexec
%define _datarootdir %{_prefix}/share
%define _datadir %{_datarootdir}
%define _sysconfdir %{_prefix}/etc
%define _sharedstatedir %{_prefix}/com
%define _localstatedir %{_prefix}/var
%define _includedir %{_prefix}/include
%define _libdir %{_exec_prefix}/%{_lib}
%define _mandir %{_datarootdir}/man
%define _infodir %{_datarootdir}/info
%define _localedir %{_datarootdir}/locale
%ifos cygwin cygwin32 mingw mingw32
%define _exeext .exe
%define debug_package %{nil}
%define _libdir %{_exec_prefix}/lib
%else
%define _exeext %{nil}
%endif
%ifos cygwin cygwin32
%define optflags -O3 -pipe -march=i486 -funroll-loops
%endif
%ifos mingw mingw32
%if %{defined _mingw32_cflags}
%define optflags %{_mingw32_cflags}
%else
%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields
%endif
%endif
%if "%{_build}" != "%{_host}"
%define _host_rpmprefix %{_host}-
%else
%define _host_rpmprefix %{nil}
%endif
%define gcc_pkgvers 4.2.4
%define gcc_version 4.2.4
%define gcc_rpmvers %{expand:%(echo "4.2.4" | tr - _ )}
%define newlib_version 1.15.0
%define gccnewlib_version gcc%{gcc_version}newlib%{newlib_version}
%define mpfr_version 2.3.1
Name: rtems-4.8-bfin-rtems4.8-gcc
Summary: bfin-rtems4.8 gcc
Group: Development/Tools
Version: %{gcc_rpmvers}
Release: 33%{?dist}
License: GPL
URL: http://gcc.gnu.org
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%define _use_internal_dependency_generator 0
BuildRequires: %{_host_rpmprefix}gcc
%if "%{gcc_version}" >= "4.3.0"
BuildRequires: gmp-devel >= 4.1
%if "%{_build}" != "%{_host}"
BuildRequires: %{_host_rpmprefix}gmp-devel
BuildRequires: %{_host_rpmprefix}mpfr-devel
%endif
%if 0%{?fedora} >= 8
BuildRequires: mpfr-devel >= 2.3.0
%endif
%if "%{?suse}" > "10.3"
BuildRequires: mpfr-devel >= 2.3.0
%endif
# These distros ship an insufficient mpfr
%{?el4:%define _build_mpfr 1}
%{?suse10_2:%define _build_mpfr 1}
%{?suse10_3:%define _build_mpfr 1}
%endif
%if "%{_build}" != "%{_host}"
BuildRequires: rtems-4.8-bfin-rtems4.8-gcc
%endif
%if "%{gcc_version}" >= "4.2.0"
BuildRequires: flex bison
%endif
BuildRequires: texinfo >= 4.2
BuildRequires: rtems-4.8-bfin-rtems4.8-binutils
Requires: rtems-4.8-gcc-common
Requires: rtems-4.8-bfin-rtems4.8-binutils
Requires: rtems-4.8-bfin-rtems4.8-newlib = %{newlib_version}-%{release}
%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
%if "%{gcc_version}" == "4.2.4"
Source0: ftp://gcc.gnu.org/pub/gcc/%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2
Patch0: gcc-core-4.2.4-rtems4.8-20080526.diff
%endif
%{?_without_sources:NoSource: 0}
Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_version}.tar.gz
%if "%{newlib_version}" == "1.15.0"
Patch50: newlib-1.15.0-rtems4.8-20080903.diff
%endif
%{?_without_sources:NoSource: 50}
%if "%{gcc_version}" >= "4.3.0"
Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2
%endif
%description
Cross gcc for bfin-rtems4.8.
%prep
%setup -c -T -n %{name}-%{version}
%setup -q -T -D -n %{name}-%{version} -a0
%{?PATCH0:%patch0 -p0}
%setup -q -T -D -n %{name}-%{version} -a50
cd newlib-%{newlib_version}
%{?PATCH50:%patch50 -p1}
cd ..
# Copy the C library into gcc's source tree
ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_pkgvers}
%if 0%{?_build_mpfr}
%setup -q -T -D -n %{name}-%{version} -a60
%{?PATCH60:%patch60 -p1}
# Build mpfr one-tree style
ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr
%endif
%if "%{gcc_version}" < "4.1.0"
sed -e 's/\(version_string.* = \"[^\"]*\)/\1 (RTEMS gcc-%{gcc_version}\/newlib-%{newlib_version}-%release)/' \
gcc-%{gcc_pkgvers}/gcc/version.c > gcc-%{gcc_pkgvers}/gcc/version.c~
%else
sed -e 's/^#define VERSUFFIX.*$/#define VERSUFFIX \" (RTEMS gcc-%{gcc_version}\/newlib-%{newlib_version}-%{release})\"/' \
gcc-%{gcc_pkgvers}/gcc/version.c > gcc-%{gcc_pkgvers}/gcc/version.c~
%endif
mv gcc-%{gcc_pkgvers}/gcc/version.c~ gcc-%{gcc_pkgvers}/gcc/version.c
# Fix timestamps
cd gcc-%{gcc_pkgvers}
contrib/gcc_update --touch
cd ..
%build
mkdir -p build
cd build
languages="c"
export PATH="%{_bindir}:${PATH}"
%if "%{_build}" != "%{_host}"
CFLAGS_FOR_BUILD="-g -O2 -Wall" \
CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \
%else
# gcc is not ready to be compiled with -std=gnu99
CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \
%endif
../gcc-%{gcc_pkgvers}/configure \
--prefix=%{_prefix} \
--bindir=%{_bindir} \
--exec_prefix=%{_exec_prefix} \
--includedir=%{_includedir} \
--libdir=%{_libdir} \
--libexecdir=%{_libexecdir} \
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--datadir=%{_datadir} \
--build=%_build --host=%_host \
--target=bfin-rtems4.8 \
--disable-libstdcxx-pch \
--with-gnu-as --with-gnu-ld --verbose \
--with-newlib \
--with-system-zlib \
--disable-nls --without-included-gettext \
--disable-win32-registry \
--enable-version-specific-runtime-libs \
--enable-threads \
--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_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h
%endif
make %{?_smp_mflags} all
make info
cd ..
%install
export PATH="%{_bindir}:${PATH}"
rm -rf $RPM_BUILD_ROOT
cd build
make DESTDIR=$RPM_BUILD_ROOT install
cd ..
cd build/bfin-rtems4.8/newlib
make DESTDIR=$RPM_BUILD_ROOT install-info
cd ../../..
%if "%{gcc_version}" <= "4.1.2"
# Misplaced header file
if test -f $RPM_BUILD_ROOT%{_includedir}/mf-runtime.h; then
mv $RPM_BUILD_ROOT%{_includedir}/mf-runtime.h \
$RPM_BUILD_ROOT%{gcclib}/bfin-rtems4.8/%{gcc_version}/include/
fi
%endif
# host library
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty.a
# We use the version from binutils
rm -f $RPM_BUILD_ROOT%{_bindir}/bfin-rtems4.8-c++filt%{_exeext}
# We don't ship info/dir
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir
%if "%{gcc_version}" >= "3.4"
# Bug in gcc-3.4.0pre
rm -f $RPM_BUILD_ROOT%{_bindir}/bfin-rtems4.8-bfin-rtems4.8-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}/bfin-rtems4.8/%{gcc_version}/install-tools
rm -rf ${RPM_BUILD_ROOT}%{gccexec}/bfin-rtems4.8/%{gcc_version}/install-tools
%endif
# Collect multilib subdirectories
f=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'`
echo "%defattr(-,root,root,-)" > build/files.newlib
TGTDIR="%{_exec_prefix}/bfin-rtems4.8/lib"
for i in $f; do
case $i in
\.) echo "%dir ${TGTDIR}" >> build/files.newlib
;;
*) echo "%dir ${TGTDIR}/$i" >> build/files.newlib
;;
esac
done
rm -f dirs ;
echo "%defattr(-,root,root,-)" >> dirs
echo "%dir %{_prefix}" >> dirs
echo "%dir %{_libdir}" >> dirs
%if "%{gcc_version}" >= "3.4"
echo "%dir %{_libexecdir}" >> dirs
%endif
echo "%dir %{gcclib}" >> dirs
echo "%dir %{gcclib}/bfin-rtems4.8" >> dirs
TGTDIR="%{gcclib}/bfin-rtems4.8/%{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 build/files.gcc
cp dirs build/files.g77
cp dirs build/files.gfortran
cp dirs build/files.objc
cp dirs build/files.gcj
cp dirs build/files.g++
TGTDIR="%{gcclib}/bfin-rtems4.8/%{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" >> build/files.objc ;;
*include/objc*) ;;
*include/g++*);;
*include/c++*);;
*adainclude*);;
*adalib*);;
*gnat1);;
*jc1) ;;
*jvgenmain) ;;
*/libgfortran*.*) echo "$i" >> build/files.gfortran ;;
*/libstdc++.*) echo "$i" >> build/files.g++ ;;
*/libsupc++.*) echo "$i" >> build/files.g++ ;;
*) echo "$i" >> build/files.gcc ;;
esac
done
TGTDIR="%{_exec_prefix}/bfin-rtems4.8/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 newlib
*) echo "$i" >> build/files.newlib ;;
esac
done
# 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
;;
# Fix up brp-compress to handle %%_prefix != /usr
*/brp-compress*)
b=$(basename $a)
sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b
chmod a+x $b
;;
esac
done
sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \
-e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \
< os_install_post~ > os_install_post
%define __os_install_post . ./os_install_post
cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides
#!/bin/sh
grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/bfin-rtems4.8/(lib|include|sys-root)' \
| grep -v '^${RPM_BUILD_ROOT}%{gcclib}/bfin-rtems4.8/' | %__find_provides
EOF
chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides
%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides
cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires
#!/bin/sh
grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/bfin-rtems4.8/(lib|include|sys-root)' \
| grep -v '^${RPM_BUILD_ROOT}%{gcclib}/bfin-rtems4.8/' | %__find_requires
EOF
chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires
%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires
%ifnarch noarch
# Extract %%__debug_install_post into debug_install_post~
cat << \EOF > debug_install_post~
%__debug_install_post
EOF
# Generate customized debug_install_post script
cat debug_install_post~ | while read a x y; do
case $a in
# Prevent find-debuginfo.sh* from trying to handle foreign binaries
*/find-debuginfo.sh)
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
;;
esac
done
sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \
< debug_install_post~ > debug_install_post
%define __debug_install_post . ./debug_install_post
%endif
%clean
rm -rf $RPM_BUILD_ROOT
# ==============================================================
# rtems-4.8-bfin-rtems4.8-gcc
# ==============================================================
# %package -n rtems-4.8-bfin-rtems4.8-gcc
# Summary: GNU cc compiler for bfin-rtems4.8
# Group: Development/Tools
# Version: %{gcc_rpmvers}
# Requires: rtems-4.8-bfin-rtems4.8-binutils
# Requires: rtems-4.8-bfin-rtems4.8-newlib = %{newlib_version}-%{release}
# License: GPL
# %if %build_infos
# Requires: rtems-4.8-gcc-common
# %endif
%description -n rtems-4.8-bfin-rtems4.8-gcc
GNU cc compiler for bfin-rtems4.8.
%files -n rtems-4.8-bfin-rtems4.8-gcc -f build/files.gcc
%defattr(-,root,root)
%dir %{_mandir}
%dir %{_mandir}/man1
%{_mandir}/man1/bfin-rtems4.8-gcc.1*
%if "%{gcc_version}" >= "3.4"
%{_mandir}/man1/bfin-rtems4.8-cpp.1*
%{_mandir}/man1/bfin-rtems4.8-gcov.1*
%endif
%dir %{_bindir}
%{_bindir}/bfin-rtems4.8-cpp%{_exeext}
%{_bindir}/bfin-rtems4.8-gcc%{_exeext}
%if "%{gcc_version}" >= "3.3"
%{_bindir}/bfin-rtems4.8-gcc-%{gcc_version}%{_exeext}
%endif
%{_bindir}/bfin-rtems4.8-gcov%{_exeext}
%{_bindir}/bfin-rtems4.8-gccbug
%dir %{gcclib}/bfin-rtems4.8/%{gcc_version}/include
%if "%{gcc_version}" > "4.0.3"
%if "bfin-rtems4.8" != "bfin-rtems4.8"
%if "bfin-rtems4.8" != "avr-rtems4.8"
%dir %{gcclib}/bfin-rtems4.8/%{gcc_version}/include/ssp
%endif
%endif
%endif
%if "%{gcc_version}" >= "4.3.0"
%dir %{gcclib}/bfin-rtems4.8/%{gcc_version}/include-fixed
%endif
%dir %{gccexec}
%dir %{gccexec}/bfin-rtems4.8
%dir %{gccexec}/bfin-rtems4.8/%{gcc_version}
%{gccexec}/bfin-rtems4.8/%{gcc_version}/cc1%{_exeext}
%{gccexec}/bfin-rtems4.8/%{gcc_version}/collect2%{_exeext}
# ==============================================================
# rtems-4.8-gcc-common
# ==============================================================
%package -n rtems-4.8-gcc-common
Summary: Base package for rtems gcc and newlib C Library
Group: Development/Tools
Version: %{gcc_rpmvers}
License: GPL
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n rtems-4.8-gcc-common
GCC files that are shared by all targets.
%files -n rtems-4.8-gcc-common
%defattr(-,root,root)
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/cpp.info*
%{_infodir}/cppinternals.info*
%{_infodir}/gcc.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 rtems-4.8-gcc-common
/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}/gccint.info.gz || :
%if "%{gcc_version}" >= "3.4"
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || :
%endif
%preun -n rtems-4.8-gcc-common
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}/gccint.info.gz || :
%if "%{gcc_version}" >= "3.4"
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || :
%endif
fi
# ==============================================================
# rtems-4.8-bfin-rtems4.8-newlib
# ==============================================================
%package -n rtems-4.8-bfin-rtems4.8-newlib
Summary: C Library (newlib) for bfin-rtems4.8
Group: Development/Tools
License: Distributable
Version: %{newlib_version}
Provides: rtems-4.8-bfin-rtems4.8-libc = %{newlib_version}-%{release}
Obsoletes: rtems-4.8-bfin-rtems4.8-libc < %{newlib_version}-%{release}
Requires: rtems-4.8-newlib-common
%description -n rtems-4.8-bfin-rtems4.8-newlib
Newlib C Library for bfin-rtems4.8.
%files -n rtems-4.8-bfin-rtems4.8-newlib -f build/files.newlib
%defattr(-,root,root)
%dir %{_prefix}
%dir %{_exec_prefix}/bfin-rtems4.8
%{_exec_prefix}/bfin-rtems4.8/include
# ==============================================================
# rtems-4.8-newlib-common
# ==============================================================
%package -n rtems-4.8-newlib-common
Summary: Base package for RTEMS newlib C Library
Group: Development/Tools
Version: %{newlib_version}
License: Distributable
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n rtems-4.8-newlib-common
newlib files that are shared by all targets.
%files -n rtems-4.8-newlib-common
%defattr(-,root,root)
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/libc.info*
%{_infodir}/libm.info*
%post -n rtems-4.8-newlib-common
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || :
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || :
%preun -n rtems-4.8-newlib-common
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || :
fi

View File

@@ -1,279 +0,0 @@
#
# Please send bugfixes or comments to
# http://www.rtems.org/bugzilla
#
%define _prefix /opt/rtems-4.8
%define _exec_prefix %{_prefix}
%define _bindir %{_exec_prefix}/bin
%define _sbindir %{_exec_prefix}/sbin
%define _libexecdir %{_exec_prefix}/libexec
%define _datarootdir %{_prefix}/share
%define _datadir %{_datarootdir}
%define _sysconfdir %{_prefix}/etc
%define _sharedstatedir %{_prefix}/com
%define _localstatedir %{_prefix}/var
%define _includedir %{_prefix}/include
%define _libdir %{_exec_prefix}/%{_lib}
%define _mandir %{_datarootdir}/man
%define _infodir %{_datarootdir}/info
%define _localedir %{_datarootdir}/locale
%ifos cygwin cygwin32 mingw mingw32
%define _exeext .exe
%define debug_package %{nil}
%define _libdir %{_exec_prefix}/lib
%else
%define _exeext %{nil}
%endif
%ifos cygwin cygwin32
%define optflags -O3 -pipe -march=i486 -funroll-loops
%endif
%ifos mingw mingw32
%if %{defined _mingw32_cflags}
%define optflags %{_mingw32_cflags}
%else
%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields
%endif
%endif
%if "%{_build}" != "%{_host}"
%define _host_rpmprefix %{_host}-
%else
%define _host_rpmprefix %{nil}
%endif
%define gdb_version 6.5
%define gdb_rpmvers %{expand:%(echo 6.5 | tr - _)}
Name: rtems-4.8-bfin-rtems4.8-gdb
Summary: Gdb for target bfin-rtems4.8
Group: Development/Tools
Version: %{gdb_rpmvers}
Release: 8%{?dist}
License: GPL/LGPL
URL: http://sources.redhat.com/gdb
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: %{_host_rpmprefix}gcc
%define build_sim --enable-sim
%if "%{_build}" != "%{_host}"
# psim doesn't support Cdn-X
%if "bfin-rtems4.8" == "powerpc-rtems4.8"
%define build_sim --disable-sim
%endif
%endif
%ifos mingw mingw32
# Mingw lacks functions required by the simulator
%if "bfin-rtems4.8" == "sparc-rtems4.8"
%define build_sim --disable-sim
%endif
%if "bfin-rtems4.8" == "h8300-rtems4.8"
%define build_sim --disable-sim
%endif
%if "%{gdb_version}" >= "6.8.50"
%if "bfin-rtems4.8" == "m32c-rtems4.8"
%define build_sim --disable-sim
%endif
%endif
%if "bfin-rtems4.8" == "lm32-rtems4.8"
%define build_sim --disable-sim
%endif
%if "bfin-rtems4.8" == "mipstx39-rtems4.8"
%define build_sim --disable-sim
%endif
%endif
%if "%{gdb_version}" >= "6.6"
# suse
%if "%{?suse}" >= "10.3"
BuildRequires: libexpat-devel
%else
# Fedora/CentOS/Cygwin/MinGW
BuildRequires: %{_host_rpmprefix}expat-devel
%endif
%endif
%if "%{gdb_version}" < "6.7"
%if "%{_build}" != "%{_host}"
BuildRequires: %{_host_rpmprefix}termcap-devel
%endif
%endif
BuildRequires: %{_host_rpmprefix}readline-devel
BuildRequires: %{_host_rpmprefix}ncurses-devel
# Required for building the infos
BuildRequires: /sbin/install-info
BuildRequires: texinfo >= 4.2
Requires: rtems-4.8-gdb-common
Source0: ftp://ftp.gnu.org/pub/gnu/gdb/gdb-%{gdb_version}.tar.bz2
%{?_without_sources:NoSource: 0}
Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.8/gdb-6.5-bfinrtems-20090122.diff
%description
GDB for target bfin-rtems4.8
%prep
%setup -q -c -T -n %{name}-%{version}
%setup -q -D -T -n %{name}-%{version} -a0
cd gdb-%{gdb_version}
%{?PATCH0:%patch0 -p1}
cd ..
%if "%{gdb_version}" >= "6.7"
# Force using a system-provided libreadline
rm -f gdb-%{gdb_version}/readline/configure
%endif
%build
export PATH="%{_bindir}:${PATH}"
mkdir -p build
cd build
%if "%{_build}" != "%{_host}"
CFLAGS_FOR_BUILD="-g -O2 -Wall" \
%endif
CFLAGS="$RPM_OPT_FLAGS" \
../gdb-%{gdb_version}/configure \
--build=%_build --host=%_host \
--target=bfin-rtems4.8 \
--verbose --disable-nls \
--without-included-gettext \
--disable-win32-registry \
--disable-werror \
%{build_sim} \
%if "%{gdb_version}" >= "6.7"
--with-system-readline \
%endif
%if "%{gdb_version}" >= "6.6"
--with-expat \
%endif
%if "%{gdb_version}" >= "6.8.50"
--without-python \
%endif
--prefix=%{_prefix} --bindir=%{_bindir} \
--includedir=%{_includedir} --libdir=%{_libdir} \
--mandir=%{_mandir} --infodir=%{_infodir}
make %{?_smp_mflags} all
make info
cd ..
%install
export PATH="%{_bindir}:${PATH}"
rm -rf $RPM_BUILD_ROOT
cd build
make DESTDIR=$RPM_BUILD_ROOT install
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir
# 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*
# We don't ship host files
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty*
# host library, installed to a bogus directory
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libbfin-rtems4.8-sim.a
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
;;
# Fix up brp-compress to handle %%_prefix != /usr
*/brp-compress*)
b=$(basename $a)
sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b
chmod a+x $b
;;
esac
done
sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \
-e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \
< os_install_post~ > os_install_post
%define __os_install_post . ./os_install_post
%clean
rm -rf $RPM_BUILD_ROOT
# ==============================================================
# bfin-rtems4.8-gdb
# ==============================================================
# %package -n rtems-4.8-bfin-rtems4.8-gdb
# Summary: rtems gdb for bfin-rtems4.8
# Group: Development/Tools
# %if %build_infos
# Requires: rtems-4.8-gdb-common
# %endif
%description -n rtems-4.8-bfin-rtems4.8-gdb
GNU gdb targetting bfin-rtems4.8.
%files -n rtems-4.8-bfin-rtems4.8-gdb
%defattr(-,root,root)
%dir %{_mandir}
%dir %{_mandir}/man1
%{_mandir}/man1/bfin-rtems4.8-*.1*
%dir %{_bindir}
%{_bindir}/bfin-rtems4.8-*
# ==============================================================
# rtems-4.8-gdb-common
# ==============================================================
%package -n rtems-4.8-gdb-common
Summary: Base package for RTEMS gdbs
Group: Development/Tools
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n rtems-4.8-gdb-common
GDB files shared by all targets.
%post -n rtems-4.8-gdb-common
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || :
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || :
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || :
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || :
%preun -n rtems-4.8-gdb-common
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || :
fi
%files -n rtems-4.8-gdb-common
%defattr(-,root,root)
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/gdb.info*
%{_infodir}/gdbint.info*
%{_infodir}/stabs.info*
%{_infodir}/annotate.info*

View File

@@ -1,31 +0,0 @@
EXTRA_DIST += binutils-sources.add
BINUTILS_OPTS =
BINUTILS_SUBPACKAGES = $(top_srcdir)/common/common.add
BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/binutils.add
BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/prep.add
BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/build.add
BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/install.add
BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/rpm-install.add
BINUTILS_SUBPACKAGES += $(top_srcdir)/common/clean.add
BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/target-binutils.add
BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/base-binutils.add
$(TARGET)-binutils.spec.in: $(BINUTILS_SUBPACKAGES) Makefile.am $(srcdir)/binutils-sources.add
cat $(BINUTILS_SUBPACKAGES) | sed \
-e "/[@]SOURCES[@]/r $(srcdir)/binutils-sources.add" \
-e "/[@]SOURCES[@]/d" \
-e "s/[@]BINUTILS_VERS[@]/$(BINUTILS_VERS)/g" \
-e "s/[@]BINUTILS_PKGVERS[@]/$(BINUTILS_PKGVERS)/g" \
-e "s/[@]BINUTILS_RPMREL[@]/$(BINUTILS_RPMREL)%{?dist}/g" \
-e "/--with-sysroot/d" \
| $(MKSPEC0) > $(TARGET)-binutils.spec.in
CLEANFILES += $(TARGET)-binutils.spec.in
@rpmprefix@$(TARGET)-binutils.spec: $(TARGET)-binutils.spec.in
$(MKSPEC) $(TARGET)-binutils.spec.in | $(SPECSTRIP) $(BINUTILS_OPTS) > $@
CLEANFILES += @rpmprefix@$(TARGET)-binutils.spec
noinst_DATA += @rpmprefix@$(TARGET)-binutils.spec
EXTRA_DIST += $(BINUTILS_SUBPACKAGES)

View File

@@ -1,9 +0,0 @@
%if "%{gcc_version}" < "4.1.0"
sed -e 's/\(version_string.* = \"[^\"]*\)/\1 (RTEMS gcc-%{gcc_version}\/newlib-%{newlib_version}-%release)/' \
gcc-%{gcc_pkgvers}/gcc/version.c > gcc-%{gcc_pkgvers}/gcc/version.c~
%else
sed -e 's/^#define VERSUFFIX.*$/#define VERSUFFIX \" (RTEMS gcc-%{gcc_version}\/newlib-%{newlib_version}-%{release})\"/' \
gcc-%{gcc_pkgvers}/gcc/version.c > gcc-%{gcc_pkgvers}/gcc/version.c~
%endif
mv gcc-%{gcc_pkgvers}/gcc/version.c~ gcc-%{gcc_pkgvers}/gcc/version.c

View File

@@ -1,45 +0,0 @@
EXTRA_DIST += $(srcdir)/../gcc-prep.add
EXTRA_DIST += $(srcdir)/gcc-sources.add
GCC_OPTS = --languages=c --newlib
GCC_SUBPACKAGES = $(top_srcdir)/common/common.add
GCC_SUBPACKAGES += $(top_srcdir)/gcc/gccnewlib.add
GCC_SUBPACKAGES += $(top_srcdir)/gcc/prep.add
GCC_SUBPACKAGES += $(top_srcdir)/gcc/build.add
GCC_SUBPACKAGES += $(top_srcdir)/gcc/install.add
GCC_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add
GCC_SUBPACKAGES += $(top_srcdir)/common/clean.add
GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-gcc.add
GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-gcc.add
GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-c++.add
GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-gfortran.add
GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-gfortran.add
GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-objc.add
GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-newlib.add
GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-newlib.add
$(TARGET)-gcc.spec.in: $(GCC_SUBPACKAGES) Makefile.am $(srcdir)/gcc-sources.add $(srcdir)/../gcc-prep.add
cat $(GCC_SUBPACKAGES) | sed \
-e "/[@]SOURCES[@]/r $(srcdir)/gcc-sources.add" \
-e "/[@]SOURCES[@]/d" \
-e "/[@]PREP[@]/r $(srcdir)/../gcc-prep.add" \
-e "/[@]PREP[@]/d" \
-e "s/[@]GCC_VERS[@]/$(GCC_VERS)/g" \
-e "s/[@]GCC_PKGVERS[@]/$(GCC_PKGVERS)/g" \
-e "s/[@]GCC_RPMREL[@]/$(GCC_RPMREL)%{?dist}/g" \
-e "s/[@]NEWLIB_VERS[@]/$(NEWLIB_VERS)/g" \
-e "s/[@]NEWLIB_PKGVERS[@]/$(NEWLIB_PKGVERS)/g" \
-e "s/[@]NEWLIB_RPMREL[@]/$(NEWLIB_RPMREL)%{?dist}/g" \
-e "/--with-sysroot/d" \
-e "/[@]tool_target[@]-sys-root/d" \
-e "/[@]tool_target[@]-w32api-sys-root/d" \
| $(MKSPEC0) > $(TARGET)-gcc.spec.in
CLEANFILES += $(TARGET)-gcc.spec.in
@rpmprefix@$(TARGET)-gcc.spec: $(TARGET)-gcc.spec.in
$(MKSPEC) $(TARGET)-gcc.spec.in | $(SPECSTRIP) $(GCC_OPTS) > $@
CLEANFILES += @rpmprefix@$(TARGET)-gcc.spec
noinst_DATA += @rpmprefix@$(TARGET)-gcc.spec
EXTRA_DIST += $(GCC_SUBPACKAGES)

View File

@@ -1,31 +0,0 @@
EXTRA_DIST += gdb-sources.add
GDB_OPTS =
GDB_SUBPACKAGES = $(top_srcdir)/common/common.add
GDB_SUBPACKAGES += $(top_srcdir)/gdb/gdb.add
GDB_SUBPACKAGES += $(top_srcdir)/gdb/prep.add
GDB_SUBPACKAGES += $(top_srcdir)/gdb/build.add
GDB_SUBPACKAGES += $(top_srcdir)/gdb/install.add
GDB_SUBPACKAGES += $(top_srcdir)/gdb/rpm-install.add
GDB_SUBPACKAGES += $(top_srcdir)/common/clean.add
GDB_SUBPACKAGES += $(top_srcdir)/gdb/target-gdb.add
GDB_SUBPACKAGES += $(top_srcdir)/gdb/base-gdb.add
$(TARGET)-gdb.spec.in: $(GDB_SUBPACKAGES) Makefile.am $(srcdir)/gdb-sources.add
cat $(GDB_SUBPACKAGES) | sed \
-e "/[@]SOURCES[@]/r $(srcdir)/gdb-sources.add" \
-e "/[@]SOURCES[@]/d" \
-e "s/[@]GDB_VERS[@]/$(GDB_VERS)/g" \
-e "s/[@]GDB_PKGVERS[@]/$(GDB_PKGVERS)/g" \
-e "s/[@]GDB_RPMREL[@]/$(GDB_RPMREL)%{?dist}/g" \
-e "/--with-sysroot/d" \
| $(MKSPEC0) > $(TARGET)-gdb.spec.in
CLEANFILES += $(TARGET)-gdb.spec.in
@rpmprefix@$(TARGET)-gdb.spec: $(TARGET)-gdb.spec.in
$(MKSPEC) $(TARGET)-gdb.spec.in | $(SPECSTRIP) $(GDB_OPTS) > $@
CLEANFILES += @rpmprefix@$(TARGET)-gdb.spec
noinst_DATA += @rpmprefix@$(TARGET)-gdb.spec
EXTRA_DIST += $(GDB_SUBPACKAGES)

View File

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

View File

@@ -1,24 +0,0 @@
# $Id$
TARGET = h8300-rtems4.8
include $(top_srcdir)/mkspec.am
BINUTILS_VERS = 2.18
BINUTILS_PKGVERS = $(BINUTILS_VERS)
BINUTILS_RPMREL = 5
include ../binutils.am
BINUTILS_OPTS +=
GCC_VERS = 4.2.4
GCC_PKGVERS = $(GCC_VERS)
GCC_RPMREL = 33
NEWLIB_VERS = 1.15.0
include ../gcc.am
GCC_OPTS += --languages=cxx
GDB_VERS = 6.6
GDB_PKGVERS = $(GDB_VERS)
GDB_RPMREL = 15
include ../gdb.am
GDB_OPTS +=

View File

@@ -1,5 +0,0 @@
Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 0}
%if "%{binutils_version}" == "2.18"
Patch0: binutils-2.18-rtems4.8-20071104.diff
%endif

View File

@@ -1,38 +0,0 @@
%if "%{gcc_version}" == "4.2.4"
Source0: ftp://gcc.gnu.org/pub/gcc/%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2
Patch0: gcc-core-4.2.4-rtems4.8-20080526.diff
%endif
%{?_without_sources:NoSource: 0}
%if %build_cxx
Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-g++-%{gcc_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 1}
%endif
%if %build_f95
Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-fortran-%{gcc_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 2}
%endif
%if %build_gcj
Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-java-%{gcc_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 3}
%endif
%if %build_gnat
Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-ada-%{gcc_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 4}
%endif
%if %build_objc
Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-objc-%{gcc_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 5}
%endif
%if %build_newlib
Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_version}.tar.gz
%if "%{newlib_version}" == "1.15.0"
Patch50: newlib-1.15.0-rtems4.8-20080903.diff
%endif
%{?_without_sources:NoSource: 50}
%endif

View File

@@ -1,8 +0,0 @@
Source0: ftp://ftp.gnu.org/pub/gnu/gdb/gdb-%{gdb_version}.tar.bz2
%{?_without_sources:NoSource: 0}
%if "%{gdb_version}" == "6.6"
Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.8/gdb-6.6-rtems4.8-20090724.diff
%endif
%if "%{gdb_version}" == "6.8"
Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.8/gdb-6.8-rtems4.8-20080429.diff
%endif

View File

@@ -1,277 +0,0 @@
#
# Please send bugfixes or comments to
# http://www.rtems.org/bugzilla
#
%define _prefix /opt/rtems-4.8
%define _exec_prefix %{_prefix}
%define _bindir %{_exec_prefix}/bin
%define _sbindir %{_exec_prefix}/sbin
%define _libexecdir %{_exec_prefix}/libexec
%define _datarootdir %{_prefix}/share
%define _datadir %{_datarootdir}
%define _sysconfdir %{_prefix}/etc
%define _sharedstatedir %{_prefix}/com
%define _localstatedir %{_prefix}/var
%define _includedir %{_prefix}/include
%define _libdir %{_exec_prefix}/%{_lib}
%define _mandir %{_datarootdir}/man
%define _infodir %{_datarootdir}/info
%define _localedir %{_datarootdir}/locale
%ifos cygwin cygwin32 mingw mingw32
%define _exeext .exe
%define debug_package %{nil}
%define _libdir %{_exec_prefix}/lib
%else
%define _exeext %{nil}
%endif
%ifos cygwin cygwin32
%define optflags -O3 -pipe -march=i486 -funroll-loops
%endif
%ifos mingw mingw32
%if %{defined _mingw32_cflags}
%define optflags %{_mingw32_cflags}
%else
%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields
%endif
%endif
%if "%{_build}" != "%{_host}"
%define _host_rpmprefix %{_host}-
%else
%define _host_rpmprefix %{nil}
%endif
%define binutils_pkgvers 2.18
%define binutils_version 2.18
%define binutils_rpmvers %{expand:%(echo "2.18" | tr - _ )}
Name: rtems-4.8-h8300-rtems4.8-binutils
Summary: Binutils for target h8300-rtems4.8
Group: Development/Tools
Version: %{binutils_rpmvers}
Release: 5%{?dist}
License: GPL/LGPL
URL: http://sources.redhat.com/binutils
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: %{_host_rpmprefix}gcc
%if "%{binutils_version}" >= "2.18"
# Bug in bfd: Doesn't build without texinfo installed
BuildRequires: texinfo >= 4.2
%else
# Required for building the infos
BuildRequires: /sbin/install-info
BuildRequires: texinfo >= 4.2
%endif
BuildRequires: flex
BuildRequires: bison
Requires: rtems-4.8-binutils-common
Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 0}
%if "%{binutils_version}" == "2.18"
Patch0: binutils-2.18-rtems4.8-20071104.diff
%endif
%description
Cross binutils for target h8300-rtems4.8
%prep
%setup -q -c -T -n %{name}-%{version}
%setup -q -D -T -n %{name}-%{version} -a0
cd binutils-%{binutils_pkgvers}
%{?PATCH0:%patch0 -p1}
cd ..
%build
export PATH="%{_bindir}:${PATH}"
%if "h8300-rtems4.8" == "i686-pc-cygwin"
# The cygwin sources are leaking memory
RPM_OPT_FLAGS="$(echo "$RPM_OPT_FLAGS"|sed -e 's; -Wp,-D_FORTIFY_SOURCE=2;;')"
%endif
mkdir -p build
cd build
%if "%{_build}" != "%{_host}"
CFLAGS_FOR_BUILD="-g -O2 -Wall" \
%endif
CFLAGS="$RPM_OPT_FLAGS" \
../binutils-%{binutils_pkgvers}/configure \
--build=%_build --host=%_host \
--target=h8300-rtems4.8 \
--verbose --disable-nls \
--without-included-gettext \
--disable-win32-registry \
--disable-werror \
--prefix=%{_prefix} --bindir=%{_bindir} \
--exec-prefix=%{_exec_prefix} \
--includedir=%{_includedir} --libdir=%{_libdir} \
--mandir=%{_mandir} --infodir=%{_infodir}
make %{?_smp_mflags} all
make info
cd ..
%install
export PATH="%{_bindir}:${PATH}"
rm -rf $RPM_BUILD_ROOT
cd build
make DESTDIR=$RPM_BUILD_ROOT 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} \
exec_prefix=$RPM_BUILD_ROOT%{_exec_prefix} \
install-info
# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it.
rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info*
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
# We don't ship host files
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty*
# manpages without corresponding tools
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/h8300-rtems4.8-dlltool%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/h8300-rtems4.8-dlltool*
fi
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/h8300-rtems4.8-nlmconv%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/h8300-rtems4.8-nlmconv*
fi
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/h8300-rtems4.8-windres%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/h8300-rtems4.8-windres*
fi
if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/h8300-rtems4.8-windmc%{_exeext}; then
rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/h8300-rtems4.8-windmc*
fi
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
;;
# Fix up brp-compress to handle %%_prefix != /usr
*/brp-compress*)
b=$(basename $a)
sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b
chmod a+x $b
;;
esac
done
sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \
-e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \
< os_install_post~ > os_install_post
%define __os_install_post . ./os_install_post
%clean
rm -rf $RPM_BUILD_ROOT
# ==============================================================
# h8300-rtems4.8-binutils
# ==============================================================
# %package -n rtems-4.8-h8300-rtems4.8-binutils
# Summary: rtems binutils for h8300-rtems4.8
# Group: Development/Tools
# %if %build_infos
# Requires: rtems-4.8-binutils-common
# %endif
%description -n rtems-4.8-h8300-rtems4.8-binutils
GNU binutils targetting h8300-rtems4.8.
%files -n rtems-4.8-h8300-rtems4.8-binutils
%defattr(-,root,root)
%dir %{_prefix}
%dir %{_mandir}
%dir %{_mandir}/man1
%{_mandir}/man1/h8300-rtems4.8-*.1*
%dir %{_bindir}
%{_bindir}/h8300-rtems4.8-*
%dir %{_exec_prefix}/h8300-rtems4.8
%dir %{_exec_prefix}/h8300-rtems4.8/bin
%{_exec_prefix}/h8300-rtems4.8/bin/*
%dir %{_exec_prefix}/h8300-rtems4.8/lib
%{_exec_prefix}/h8300-rtems4.8/lib/ldscripts
# ==============================================================
# rtems-4.8-binutils-common
# ==============================================================
%package -n rtems-4.8-binutils-common
Summary: Base package for RTEMS binutils
Group: Development/Tools
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n rtems-4.8-binutils-common
RTEMS is an open source operating system for embedded systems.
This is the base for binutils regardless of target CPU.
%post -n rtems-4.8-binutils-common
/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.17"
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || :
%endif
%preun -n rtems-4.8-binutils-common
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.17"
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || :
%endif
fi
%files -n rtems-4.8-binutils-common
%defattr(-,root,root)
%dir %{_prefix}
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/as.info*
%{_infodir}/bfd.info*
%{_infodir}/binutils.info*
%{_infodir}/ld.info*
%{_infodir}/standards.info*
%if "%{binutils_version}" > "2.17"
%{_infodir}/gprof.info*
%endif
%dir %{_prefix}/share
%dir %{_prefix}/share/locale

View File

@@ -1,632 +0,0 @@
#
# Please send bugfixes or comments to
# http://www.rtems.org/bugzilla
#
%define _prefix /opt/rtems-4.8
%define _exec_prefix %{_prefix}
%define _bindir %{_exec_prefix}/bin
%define _sbindir %{_exec_prefix}/sbin
%define _libexecdir %{_exec_prefix}/libexec
%define _datarootdir %{_prefix}/share
%define _datadir %{_datarootdir}
%define _sysconfdir %{_prefix}/etc
%define _sharedstatedir %{_prefix}/com
%define _localstatedir %{_prefix}/var
%define _includedir %{_prefix}/include
%define _libdir %{_exec_prefix}/%{_lib}
%define _mandir %{_datarootdir}/man
%define _infodir %{_datarootdir}/info
%define _localedir %{_datarootdir}/locale
%ifos cygwin cygwin32 mingw mingw32
%define _exeext .exe
%define debug_package %{nil}
%define _libdir %{_exec_prefix}/lib
%else
%define _exeext %{nil}
%endif
%ifos cygwin cygwin32
%define optflags -O3 -pipe -march=i486 -funroll-loops
%endif
%ifos mingw mingw32
%if %{defined _mingw32_cflags}
%define optflags %{_mingw32_cflags}
%else
%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields
%endif
%endif
%if "%{_build}" != "%{_host}"
%define _host_rpmprefix %{_host}-
%else
%define _host_rpmprefix %{nil}
%endif
%define gcc_pkgvers 4.2.4
%define gcc_version 4.2.4
%define gcc_rpmvers %{expand:%(echo "4.2.4" | tr - _ )}
%define newlib_version 1.15.0
%define gccnewlib_version gcc%{gcc_version}newlib%{newlib_version}
%define mpfr_version 2.3.1
Name: rtems-4.8-h8300-rtems4.8-gcc
Summary: h8300-rtems4.8 gcc
Group: Development/Tools
Version: %{gcc_rpmvers}
Release: 33%{?dist}
License: GPL
URL: http://gcc.gnu.org
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%define _use_internal_dependency_generator 0
BuildRequires: %{_host_rpmprefix}gcc
%if "%{gcc_version}" >= "4.3.0"
BuildRequires: gmp-devel >= 4.1
%if "%{_build}" != "%{_host}"
BuildRequires: %{_host_rpmprefix}gmp-devel
BuildRequires: %{_host_rpmprefix}mpfr-devel
%endif
%if 0%{?fedora} >= 8
BuildRequires: mpfr-devel >= 2.3.0
%endif
%if "%{?suse}" > "10.3"
BuildRequires: mpfr-devel >= 2.3.0
%endif
# These distros ship an insufficient mpfr
%{?el4:%define _build_mpfr 1}
%{?suse10_2:%define _build_mpfr 1}
%{?suse10_3:%define _build_mpfr 1}
%endif
%if "%{_build}" != "%{_host}"
BuildRequires: rtems-4.8-h8300-rtems4.8-gcc
%endif
%if "%{gcc_version}" >= "4.2.0"
BuildRequires: flex bison
%endif
BuildRequires: texinfo >= 4.2
BuildRequires: rtems-4.8-h8300-rtems4.8-binutils
Requires: rtems-4.8-gcc-common
Requires: rtems-4.8-h8300-rtems4.8-binutils
Requires: rtems-4.8-h8300-rtems4.8-newlib = %{newlib_version}-%{release}
%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
%if "%{gcc_version}" == "4.2.4"
Source0: ftp://gcc.gnu.org/pub/gcc/%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2
Patch0: gcc-core-4.2.4-rtems4.8-20080526.diff
%endif
%{?_without_sources:NoSource: 0}
Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-g++-%{gcc_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 1}
Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_version}.tar.gz
%if "%{newlib_version}" == "1.15.0"
Patch50: newlib-1.15.0-rtems4.8-20080903.diff
%endif
%{?_without_sources:NoSource: 50}
%if "%{gcc_version}" >= "4.3.0"
Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2
%endif
%description
Cross gcc for h8300-rtems4.8.
%prep
%setup -c -T -n %{name}-%{version}
%setup -q -T -D -n %{name}-%{version} -a0
%{?PATCH0:%patch0 -p0}
%setup -q -T -D -n %{name}-%{version} -a1
%{?PATCH1:%patch1 -p0}
%setup -q -T -D -n %{name}-%{version} -a50
cd newlib-%{newlib_version}
%{?PATCH50:%patch50 -p1}
cd ..
# Copy the C library into gcc's source tree
ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_pkgvers}
%if 0%{?_build_mpfr}
%setup -q -T -D -n %{name}-%{version} -a60
%{?PATCH60:%patch60 -p1}
# Build mpfr one-tree style
ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr
%endif
%if "%{gcc_version}" < "4.1.0"
sed -e 's/\(version_string.* = \"[^\"]*\)/\1 (RTEMS gcc-%{gcc_version}\/newlib-%{newlib_version}-%release)/' \
gcc-%{gcc_pkgvers}/gcc/version.c > gcc-%{gcc_pkgvers}/gcc/version.c~
%else
sed -e 's/^#define VERSUFFIX.*$/#define VERSUFFIX \" (RTEMS gcc-%{gcc_version}\/newlib-%{newlib_version}-%{release})\"/' \
gcc-%{gcc_pkgvers}/gcc/version.c > gcc-%{gcc_pkgvers}/gcc/version.c~
%endif
mv gcc-%{gcc_pkgvers}/gcc/version.c~ gcc-%{gcc_pkgvers}/gcc/version.c
# Fix timestamps
cd gcc-%{gcc_pkgvers}
contrib/gcc_update --touch
cd ..
%build
mkdir -p build
cd build
languages="c"
languages="$languages,c++"
export PATH="%{_bindir}:${PATH}"
%if "%{_build}" != "%{_host}"
CFLAGS_FOR_BUILD="-g -O2 -Wall" \
CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \
%else
# gcc is not ready to be compiled with -std=gnu99
CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \
%endif
../gcc-%{gcc_pkgvers}/configure \
--prefix=%{_prefix} \
--bindir=%{_bindir} \
--exec_prefix=%{_exec_prefix} \
--includedir=%{_includedir} \
--libdir=%{_libdir} \
--libexecdir=%{_libexecdir} \
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--datadir=%{_datadir} \
--build=%_build --host=%_host \
--target=h8300-rtems4.8 \
--disable-libstdcxx-pch \
--with-gnu-as --with-gnu-ld --verbose \
--with-newlib \
--with-system-zlib \
--disable-nls --without-included-gettext \
--disable-win32-registry \
--enable-version-specific-runtime-libs \
--enable-threads \
--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_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h
%endif
make %{?_smp_mflags} all
make info
cd ..
%install
export PATH="%{_bindir}:${PATH}"
rm -rf $RPM_BUILD_ROOT
cd build
make DESTDIR=$RPM_BUILD_ROOT install
cd ..
cd build/h8300-rtems4.8/newlib
make DESTDIR=$RPM_BUILD_ROOT install-info
cd ../../..
%if "%{gcc_version}" <= "4.1.2"
# Misplaced header file
if test -f $RPM_BUILD_ROOT%{_includedir}/mf-runtime.h; then
mv $RPM_BUILD_ROOT%{_includedir}/mf-runtime.h \
$RPM_BUILD_ROOT%{gcclib}/h8300-rtems4.8/%{gcc_version}/include/
fi
%endif
# host library
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty.a
# We use the version from binutils
rm -f $RPM_BUILD_ROOT%{_bindir}/h8300-rtems4.8-c++filt%{_exeext}
# We don't ship info/dir
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir
%if "%{gcc_version}" >= "3.4"
# Bug in gcc-3.4.0pre
rm -f $RPM_BUILD_ROOT%{_bindir}/h8300-rtems4.8-h8300-rtems4.8-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}/h8300-rtems4.8/%{gcc_version}/install-tools
rm -rf ${RPM_BUILD_ROOT}%{gccexec}/h8300-rtems4.8/%{gcc_version}/install-tools
%endif
# Collect multilib subdirectories
f=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'`
echo "%defattr(-,root,root,-)" > build/files.newlib
TGTDIR="%{_exec_prefix}/h8300-rtems4.8/lib"
for i in $f; do
case $i in
\.) echo "%dir ${TGTDIR}" >> build/files.newlib
;;
*) echo "%dir ${TGTDIR}/$i" >> build/files.newlib
;;
esac
done
rm -f dirs ;
echo "%defattr(-,root,root,-)" >> dirs
echo "%dir %{_prefix}" >> dirs
echo "%dir %{_libdir}" >> dirs
%if "%{gcc_version}" >= "3.4"
echo "%dir %{_libexecdir}" >> dirs
%endif
echo "%dir %{gcclib}" >> dirs
echo "%dir %{gcclib}/h8300-rtems4.8" >> dirs
TGTDIR="%{gcclib}/h8300-rtems4.8/%{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 build/files.gcc
cp dirs build/files.g77
cp dirs build/files.gfortran
cp dirs build/files.objc
cp dirs build/files.gcj
cp dirs build/files.g++
TGTDIR="%{gcclib}/h8300-rtems4.8/%{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" >> build/files.objc ;;
*include/objc*) ;;
*include/g++*);;
*include/c++*);;
*adainclude*);;
*adalib*);;
*gnat1);;
*jc1) ;;
*jvgenmain) ;;
*/libgfortran*.*) echo "$i" >> build/files.gfortran ;;
*/libstdc++.*) echo "$i" >> build/files.g++ ;;
*/libsupc++.*) echo "$i" >> build/files.g++ ;;
*) echo "$i" >> build/files.gcc ;;
esac
done
TGTDIR="%{_exec_prefix}/h8300-rtems4.8/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 newlib
*) echo "$i" >> build/files.newlib ;;
esac
done
# 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
;;
# Fix up brp-compress to handle %%_prefix != /usr
*/brp-compress*)
b=$(basename $a)
sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b
chmod a+x $b
;;
esac
done
sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \
-e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \
< os_install_post~ > os_install_post
%define __os_install_post . ./os_install_post
cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides
#!/bin/sh
grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/h8300-rtems4.8/(lib|include|sys-root)' \
| grep -v '^${RPM_BUILD_ROOT}%{gcclib}/h8300-rtems4.8/' | %__find_provides
EOF
chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides
%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides
cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires
#!/bin/sh
grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/h8300-rtems4.8/(lib|include|sys-root)' \
| grep -v '^${RPM_BUILD_ROOT}%{gcclib}/h8300-rtems4.8/' | %__find_requires
EOF
chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires
%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires
%ifnarch noarch
# Extract %%__debug_install_post into debug_install_post~
cat << \EOF > debug_install_post~
%__debug_install_post
EOF
# Generate customized debug_install_post script
cat debug_install_post~ | while read a x y; do
case $a in
# Prevent find-debuginfo.sh* from trying to handle foreign binaries
*/find-debuginfo.sh)
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
;;
esac
done
sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \
< debug_install_post~ > debug_install_post
%define __debug_install_post . ./debug_install_post
%endif
%clean
rm -rf $RPM_BUILD_ROOT
# ==============================================================
# rtems-4.8-h8300-rtems4.8-gcc
# ==============================================================
# %package -n rtems-4.8-h8300-rtems4.8-gcc
# Summary: GNU cc compiler for h8300-rtems4.8
# Group: Development/Tools
# Version: %{gcc_rpmvers}
# Requires: rtems-4.8-h8300-rtems4.8-binutils
# Requires: rtems-4.8-h8300-rtems4.8-newlib = %{newlib_version}-%{release}
# License: GPL
# %if %build_infos
# Requires: rtems-4.8-gcc-common
# %endif
%description -n rtems-4.8-h8300-rtems4.8-gcc
GNU cc compiler for h8300-rtems4.8.
%files -n rtems-4.8-h8300-rtems4.8-gcc -f build/files.gcc
%defattr(-,root,root)
%dir %{_mandir}
%dir %{_mandir}/man1
%{_mandir}/man1/h8300-rtems4.8-gcc.1*
%if "%{gcc_version}" >= "3.4"
%{_mandir}/man1/h8300-rtems4.8-cpp.1*
%{_mandir}/man1/h8300-rtems4.8-gcov.1*
%endif
%dir %{_bindir}
%{_bindir}/h8300-rtems4.8-cpp%{_exeext}
%{_bindir}/h8300-rtems4.8-gcc%{_exeext}
%if "%{gcc_version}" >= "3.3"
%{_bindir}/h8300-rtems4.8-gcc-%{gcc_version}%{_exeext}
%endif
%{_bindir}/h8300-rtems4.8-gcov%{_exeext}
%{_bindir}/h8300-rtems4.8-gccbug
%dir %{gcclib}/h8300-rtems4.8/%{gcc_version}/include
%if "%{gcc_version}" > "4.0.3"
%if "h8300-rtems4.8" != "bfin-rtems4.8"
%if "h8300-rtems4.8" != "avr-rtems4.8"
%dir %{gcclib}/h8300-rtems4.8/%{gcc_version}/include/ssp
%endif
%endif
%endif
%if "%{gcc_version}" >= "4.3.0"
%dir %{gcclib}/h8300-rtems4.8/%{gcc_version}/include-fixed
%endif
%dir %{gccexec}
%dir %{gccexec}/h8300-rtems4.8
%dir %{gccexec}/h8300-rtems4.8/%{gcc_version}
%{gccexec}/h8300-rtems4.8/%{gcc_version}/cc1%{_exeext}
%{gccexec}/h8300-rtems4.8/%{gcc_version}/collect2%{_exeext}
# ==============================================================
# rtems-4.8-gcc-common
# ==============================================================
%package -n rtems-4.8-gcc-common
Summary: Base package for rtems gcc and newlib C Library
Group: Development/Tools
Version: %{gcc_rpmvers}
License: GPL
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n rtems-4.8-gcc-common
GCC files that are shared by all targets.
%files -n rtems-4.8-gcc-common
%defattr(-,root,root)
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/cpp.info*
%{_infodir}/cppinternals.info*
%{_infodir}/gcc.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 rtems-4.8-gcc-common
/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}/gccint.info.gz || :
%if "%{gcc_version}" >= "3.4"
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || :
%endif
%preun -n rtems-4.8-gcc-common
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}/gccint.info.gz || :
%if "%{gcc_version}" >= "3.4"
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || :
%endif
fi
# ==============================================================
# rtems-4.8-h8300-rtems4.8-gcc-c++
# ==============================================================
%package -n rtems-4.8-h8300-rtems4.8-gcc-c++
Summary: GCC c++ compiler for h8300-rtems4.8
Group: Development/Tools
Version: %{gcc_rpmvers}
License: GPL
%if "%{_build}" != "%{_host}"
BuildRequires: rtems-4.8-h8300-rtems4.8-gcc-c++
%endif
Provides: rtems-4.8-h8300-rtems4.8-c++ = %{gcc_rpmvers}-%{release}
Obsoletes: rtems-4.8-h8300-rtems4.8-c++ < %{gcc_rpmvers}-%{release}
Requires: rtems-4.8-gcc-common
Requires: rtems-4.8-h8300-rtems4.8-gcc = %{gcc_rpmvers}-%{release}
%description -n rtems-4.8-h8300-rtems4.8-gcc-c++
GCC c++ compiler for h8300-rtems4.8.
%files -n rtems-4.8-h8300-rtems4.8-gcc-c++ -f build/files.g++
%defattr(-,root,root)
%{_mandir}/man1/h8300-rtems4.8-g++.1*
%{_bindir}/h8300-rtems4.8-c++%{_exeext}
%{_bindir}/h8300-rtems4.8-g++%{_exeext}
%dir %{gccexec}
%dir %{gccexec}/h8300-rtems4.8
%dir %{gccexec}/h8300-rtems4.8/%{gcc_version}
%{gccexec}/h8300-rtems4.8/%{gcc_version}/cc1plus%{_exeext}
%dir %{gcclib}/h8300-rtems4.8/%{gcc_version}/include
%if "%{gcc_version}" >= "3.2"
%{gcclib}/h8300-rtems4.8/%{gcc_version}/include/c++
%else
%{gcclib}/h8300-rtems4.8/%{gcc_version}/include/g++
%endif
# ==============================================================
# rtems-4.8-h8300-rtems4.8-newlib
# ==============================================================
%package -n rtems-4.8-h8300-rtems4.8-newlib
Summary: C Library (newlib) for h8300-rtems4.8
Group: Development/Tools
License: Distributable
Version: %{newlib_version}
Provides: rtems-4.8-h8300-rtems4.8-libc = %{newlib_version}-%{release}
Obsoletes: rtems-4.8-h8300-rtems4.8-libc < %{newlib_version}-%{release}
Requires: rtems-4.8-newlib-common
%description -n rtems-4.8-h8300-rtems4.8-newlib
Newlib C Library for h8300-rtems4.8.
%files -n rtems-4.8-h8300-rtems4.8-newlib -f build/files.newlib
%defattr(-,root,root)
%dir %{_prefix}
%dir %{_exec_prefix}/h8300-rtems4.8
%{_exec_prefix}/h8300-rtems4.8/include
# ==============================================================
# rtems-4.8-newlib-common
# ==============================================================
%package -n rtems-4.8-newlib-common
Summary: Base package for RTEMS newlib C Library
Group: Development/Tools
Version: %{newlib_version}
License: Distributable
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n rtems-4.8-newlib-common
newlib files that are shared by all targets.
%files -n rtems-4.8-newlib-common
%defattr(-,root,root)
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/libc.info*
%{_infodir}/libm.info*
%post -n rtems-4.8-newlib-common
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || :
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || :
%preun -n rtems-4.8-newlib-common
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || :
fi

View File

@@ -1,284 +0,0 @@
#
# Please send bugfixes or comments to
# http://www.rtems.org/bugzilla
#
%define _prefix /opt/rtems-4.8
%define _exec_prefix %{_prefix}
%define _bindir %{_exec_prefix}/bin
%define _sbindir %{_exec_prefix}/sbin
%define _libexecdir %{_exec_prefix}/libexec
%define _datarootdir %{_prefix}/share
%define _datadir %{_datarootdir}
%define _sysconfdir %{_prefix}/etc
%define _sharedstatedir %{_prefix}/com
%define _localstatedir %{_prefix}/var
%define _includedir %{_prefix}/include
%define _libdir %{_exec_prefix}/%{_lib}
%define _mandir %{_datarootdir}/man
%define _infodir %{_datarootdir}/info
%define _localedir %{_datarootdir}/locale
%ifos cygwin cygwin32 mingw mingw32
%define _exeext .exe
%define debug_package %{nil}
%define _libdir %{_exec_prefix}/lib
%else
%define _exeext %{nil}
%endif
%ifos cygwin cygwin32
%define optflags -O3 -pipe -march=i486 -funroll-loops
%endif
%ifos mingw mingw32
%if %{defined _mingw32_cflags}
%define optflags %{_mingw32_cflags}
%else
%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields
%endif
%endif
%if "%{_build}" != "%{_host}"
%define _host_rpmprefix %{_host}-
%else
%define _host_rpmprefix %{nil}
%endif
%define gdb_version 6.6
%define gdb_rpmvers %{expand:%(echo 6.6 | tr - _)}
Name: rtems-4.8-h8300-rtems4.8-gdb
Summary: Gdb for target h8300-rtems4.8
Group: Development/Tools
Version: %{gdb_rpmvers}
Release: 15%{?dist}
License: GPL/LGPL
URL: http://sources.redhat.com/gdb
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: %{_host_rpmprefix}gcc
%define build_sim --enable-sim
%if "%{_build}" != "%{_host}"
# psim doesn't support Cdn-X
%if "h8300-rtems4.8" == "powerpc-rtems4.8"
%define build_sim --disable-sim
%endif
%endif
%ifos mingw mingw32
# Mingw lacks functions required by the simulator
%if "h8300-rtems4.8" == "sparc-rtems4.8"
%define build_sim --disable-sim
%endif
%if "h8300-rtems4.8" == "h8300-rtems4.8"
%define build_sim --disable-sim
%endif
%if "%{gdb_version}" >= "6.8.50"
%if "h8300-rtems4.8" == "m32c-rtems4.8"
%define build_sim --disable-sim
%endif
%endif
%if "h8300-rtems4.8" == "lm32-rtems4.8"
%define build_sim --disable-sim
%endif
%if "h8300-rtems4.8" == "mipstx39-rtems4.8"
%define build_sim --disable-sim
%endif
%endif
%if "%{gdb_version}" >= "6.6"
# suse
%if "%{?suse}" >= "10.3"
BuildRequires: libexpat-devel
%else
# Fedora/CentOS/Cygwin/MinGW
BuildRequires: %{_host_rpmprefix}expat-devel
%endif
%endif
%if "%{gdb_version}" < "6.7"
%if "%{_build}" != "%{_host}"
BuildRequires: %{_host_rpmprefix}termcap-devel
%endif
%endif
BuildRequires: %{_host_rpmprefix}readline-devel
BuildRequires: %{_host_rpmprefix}ncurses-devel
# Required for building the infos
BuildRequires: /sbin/install-info
BuildRequires: texinfo >= 4.2
Requires: rtems-4.8-gdb-common
Source0: ftp://ftp.gnu.org/pub/gnu/gdb/gdb-%{gdb_version}.tar.bz2
%{?_without_sources:NoSource: 0}
%if "%{gdb_version}" == "6.6"
Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.8/gdb-6.6-rtems4.8-20090724.diff
%endif
%if "%{gdb_version}" == "6.8"
Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.8/gdb-6.8-rtems4.8-20080429.diff
%endif
%description
GDB for target h8300-rtems4.8
%prep
%setup -q -c -T -n %{name}-%{version}
%setup -q -D -T -n %{name}-%{version} -a0
cd gdb-%{gdb_version}
%{?PATCH0:%patch0 -p1}
cd ..
%if "%{gdb_version}" >= "6.7"
# Force using a system-provided libreadline
rm -f gdb-%{gdb_version}/readline/configure
%endif
%build
export PATH="%{_bindir}:${PATH}"
mkdir -p build
cd build
%if "%{_build}" != "%{_host}"
CFLAGS_FOR_BUILD="-g -O2 -Wall" \
%endif
CFLAGS="$RPM_OPT_FLAGS" \
../gdb-%{gdb_version}/configure \
--build=%_build --host=%_host \
--target=h8300-rtems4.8 \
--verbose --disable-nls \
--without-included-gettext \
--disable-win32-registry \
--disable-werror \
%{build_sim} \
%if "%{gdb_version}" >= "6.7"
--with-system-readline \
%endif
%if "%{gdb_version}" >= "6.6"
--with-expat \
%endif
%if "%{gdb_version}" >= "6.8.50"
--without-python \
%endif
--prefix=%{_prefix} --bindir=%{_bindir} \
--includedir=%{_includedir} --libdir=%{_libdir} \
--mandir=%{_mandir} --infodir=%{_infodir}
make %{?_smp_mflags} all
make info
cd ..
%install
export PATH="%{_bindir}:${PATH}"
rm -rf $RPM_BUILD_ROOT
cd build
make DESTDIR=$RPM_BUILD_ROOT install
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir
# 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*
# We don't ship host files
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty*
# host library, installed to a bogus directory
rm -f ${RPM_BUILD_ROOT}%{_libdir}/libh8300-rtems4.8-sim.a
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
;;
# Fix up brp-compress to handle %%_prefix != /usr
*/brp-compress*)
b=$(basename $a)
sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b
chmod a+x $b
;;
esac
done
sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \
-e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \
< os_install_post~ > os_install_post
%define __os_install_post . ./os_install_post
%clean
rm -rf $RPM_BUILD_ROOT
# ==============================================================
# h8300-rtems4.8-gdb
# ==============================================================
# %package -n rtems-4.8-h8300-rtems4.8-gdb
# Summary: rtems gdb for h8300-rtems4.8
# Group: Development/Tools
# %if %build_infos
# Requires: rtems-4.8-gdb-common
# %endif
%description -n rtems-4.8-h8300-rtems4.8-gdb
GNU gdb targetting h8300-rtems4.8.
%files -n rtems-4.8-h8300-rtems4.8-gdb
%defattr(-,root,root)
%dir %{_mandir}
%dir %{_mandir}/man1
%{_mandir}/man1/h8300-rtems4.8-*.1*
%dir %{_bindir}
%{_bindir}/h8300-rtems4.8-*
# ==============================================================
# rtems-4.8-gdb-common
# ==============================================================
%package -n rtems-4.8-gdb-common
Summary: Base package for RTEMS gdbs
Group: Development/Tools
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
%description -n rtems-4.8-gdb-common
GDB files shared by all targets.
%post -n rtems-4.8-gdb-common
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || :
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || :
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || :
/sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || :
%preun -n rtems-4.8-gdb-common
if [ $1 -eq 0 ]; then
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || :
/sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || :
fi
%files -n rtems-4.8-gdb-common
%defattr(-,root,root)
%dir %{_infodir}
%ghost %{_infodir}/dir
%{_infodir}/gdb.info*
%{_infodir}/gdbint.info*
%{_infodir}/stabs.info*
%{_infodir}/annotate.info*

View File

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

View File

@@ -1,24 +0,0 @@
# $Id$
TARGET = i386-rtems4.8
include $(top_srcdir)/mkspec.am
BINUTILS_VERS = 2.18
BINUTILS_PKGVERS = $(BINUTILS_VERS)
BINUTILS_RPMREL = 5
include ../binutils.am
BINUTILS_OPTS +=
GCC_VERS = 4.2.4
GCC_PKGVERS = $(GCC_VERS)
GCC_RPMREL = 33
NEWLIB_VERS = 1.15.0
include ../gcc.am
GCC_OPTS += --languages=cxx
GDB_VERS = 6.6
GDB_PKGVERS = $(GDB_VERS)
GDB_RPMREL = 15
include ../gdb.am
GDB_OPTS +=

View File

@@ -1,5 +0,0 @@
Source0: ftp://ftp.gnu.org/pub/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2
%{?_without_sources:NoSource: 0}
%if "%{binutils_version}" == "2.18"
Patch0: binutils-2.18-rtems4.8-20071104.diff
%endif

Some files were not shown because too many files have changed in this diff Show More