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