blob: 72aa8a4b017a486dff802da22359ff0a53a2462d (
plain) (
tree)
|
|
%define gdb_version @gdb_version@
%define gdb_target @target_alias@
Name: %{rpmprefix}%{gdb_target}-gdb
Release: @Release@
License: GPL/LGPL
Group: %{rpmgroup}
Packager: ralf.corsepius@rtems.org and joel@OARcorp.com
Version: %{gdb_version}
Summary: gdb for target %{gdb_version}
%if "%{gdb_version}" < "6.0"
Source0: ftp://ftp.gnu.org/pub/gnu/gdb-%{gdb_version}@gdb_suffix@
Patch0: gdb-%{gdb_version}-rtems-base-@gdb_patch_version@.diff
Patch1: gdb-%{gdb_version}-rtems-cg-@gdb_patch_version@.diff
Patch2: gdb-%{gdb_version}-rtems-rdbg-@gdb_patch_version@.diff
%else
Source0: ftp://ftp.gnu.org/pub/gnu/gdb-%{gdb_version}@gdb_suffix@
@PATCH1@
%endif
%if "%{_vendor}" == "redhat"
BuildRequires: ncurses-devel
%endif
#
# The original sources are not included in the source RPM.
# If we included them, then the source RPMs for each target
# would duplicate MBs of source unnecessarily. This is
# a duplication of over 30 MBs of source for each of
# the more than 10 targets it is possible to build.
#
# You can get them yourself from the Internet and copy them to
# your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR).
# Or you can try the ftp options of rpm :-)
#
%{?!_with_sources:NoSource: 0}
# Account as best possible for targets without simulators
# and targets which require extra arguments.
%define _sim 1
%if "%{gdb_target}" == "avr-rtems@osversion@"
%define _sim 0
%endif
%if "%{gdb_target}" == "m68k-rtems@osversion@"
%define _sim 0
%endif
%if "%{gdb_target}" == "i386-rtems@osversion@"
%define _sim 0
%endif
%if "%{gdb_target}" == "powerpc-rtems@osversion@"
%define _sim 1
%endif
%if "%{gdb_target}" == "sparc-rtems@osversion@"
%define _sim 1
%endif
%description
RTEMS is an open source operating system for embedded systems.
This is the GNU gdb for RTEMS targetting %{gdb_version}.
%prep
%setup -c -T -n %{name}-%{version} -a0
cd gdb-%{gdb_version}
%{?PATCH0:%patch0 -p1}
%{?PATCH1:%patch1 -p1}
%{?PATCH2:%patch2 -p1}
cd ..
%build
%if "%_sim" == "1"
simargs="--enable-sim"
%endif
%if "%{gdb_target}" == "powerpc-rtems@osversion@"
simargs="$simargs --enable-sim-timebase --enable-sim-hardware"
# Enabling this causes the program image to be huge and causes
# some gcc/hosts combinations to run out of memory.
# simargs="$simargs --enable-sim-inline"
%endif
mkdir -p build
cd build
export PATH="%{_bindir}:${PATH}"
CFLAGS="$RPM_OPT_FLAGS" \
../gdb-%{gdb_version}/configure \
--build=%_build --host=%_host \
--target=%{gdb_target} \
--prefix=%{_prefix} --bindir=%{_bindir} \
--includedir=%{_includedir} --libdir=%{_libdir} \
--mandir=%{_mandir} --infodir=%{_infodir} \
--verbose $simargs \
--disable-nls
make all
make info
%install
rm -rf $RPM_BUILD_ROOT
cd build
%if "%{gdb_version}" >= "6.3"
make DESTDIR=$RPM_BUILD_ROOT install
make DESTDIR=$RPM_BUILD_ROOT install-info
%%else
make prefix=$RPM_BUILD_ROOT%{_prefix} \
bindir=$RPM_BUILD_ROOT%{_bindir} \
includedir=$RPM_BUILD_ROOT%{_includedir} \
libdir=$RPM_BUILD_ROOT%{_libdir} \
infodir=$RPM_BUILD_ROOT%{_infodir} \
mandir=$RPM_BUILD_ROOT%{_mandir} \
install
make prefix=$RPM_BUILD_ROOT%{_prefix} \
bindir=$RPM_BUILD_ROOT%{_bindir} \
includedir=$RPM_BUILD_ROOT%{_includedir} \
libdir=$RPM_BUILD_ROOT%{_libdir} \
infodir=$RPM_BUILD_ROOT%{_infodir} \
mandir=$RPM_BUILD_ROOT%{_mandir} \
install-info
%endif
# host files
rm -rf $RPM_BUILD_ROOT%{_includedir}/*.h
rm -rf $RPM_BUILD_ROOT%{_libdir}/lib*a
# These come from other packages
rm -rf $RPM_BUILD_ROOT%{_infodir}/bfd*
rm -rf $RPM_BUILD_ROOT%{_infodir}/configure*
rm -rf $RPM_BUILD_ROOT%{_infodir}/standards*
# gdb 4.18 installed this, later versions don't
# Don't care about it, anymore
rm -rf $RPM_BUILD_ROOT%{_infodir}/readline.info*
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
touch $RPM_BUILD_ROOT%{_infodir}/dir
# gzip info files
ls $RPM_BUILD_ROOT%{_infodir}/*.info \
$RPM_BUILD_ROOT%{_infodir}/*.info-? \
$RPM_BUILD_ROOT%{_infodir}/*.info-?? \
| while read a; do \
gzip -9qf $a 2>/dev/null; \
done
# gzip man pages
gzip -9qf $RPM_BUILD_ROOT%{_mandir}/man?/*.? 2>/dev/null
|