mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
* gdb/gdb.add, gdb/mkspec.in, gdb/target-gdb.add: Use RPM logic to determine which targets have simulators, configure with appropriate arguments, and package the correct files.
100 lines
2.7 KiB
Plaintext
100 lines
2.7 KiB
Plaintext
Name: @target_alias@-gdb-collection
|
|
Release: @Release@
|
|
License: GPL/LGPL
|
|
Group: rtems
|
|
|
|
Autoreqprov: on
|
|
Packager: corsepiu@faw.uni-ulm.de and joel@OARcorp.com
|
|
|
|
Version: @gdb_version@
|
|
Summary: gdb for target @target_alias@
|
|
Source0: ftp://ftp.gnu.org/pub/gnu/gdb-@gdb_version@.tar.gz
|
|
Patch0: gdb-@gdb_version@-rtems-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
|
|
|
|
%if "%{_vendor}" == "redhat"
|
|
BuildPreReq: 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 :-)
|
|
#
|
|
NoSource: 0
|
|
|
|
# Account as best possible for targets without simulators
|
|
# and targets which require extra arguments.
|
|
%define _sim 1
|
|
|
|
%if "@target_alias@" == "m68k-rtems"
|
|
%define _sim 0
|
|
%endif
|
|
%if "@target_alias@" == "i386-rtems"
|
|
%define _sim 0
|
|
%endif
|
|
|
|
|
|
%description
|
|
RTEMS is an open source operating system for embedded systems.
|
|
|
|
This is the GNU gdb for RTEMS targetting @target_alias@.
|
|
|
|
%prep
|
|
# untar the sources inside @target_alias@-gdb
|
|
%setup -c -n @target_alias@-gdb -a 0
|
|
|
|
cd gdb-@gdb_version@
|
|
%patch0 -p1
|
|
%patch1 -p1
|
|
%patch2 -p1
|
|
|
|
%build
|
|
%if "%_sim" == "1"
|
|
simargs="--enable-sim"
|
|
%endif
|
|
|
|
%if "@target_alias@" == "powerpc-rtems"
|
|
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
|
|
|
|
test -d build || mkdir build
|
|
cd build
|
|
../gdb-@gdb_version@/configure \
|
|
--build=%_build --host=%_host \
|
|
--target=@target_alias@ \
|
|
--verbose --prefix=%{_prefix} $simargs \
|
|
--disable-nls
|
|
|
|
make all
|
|
make info
|
|
|
|
%install
|
|
cd build
|
|
make prefix=$RPM_BUILD_ROOT%{_prefix} install
|
|
make prefix=$RPM_BUILD_ROOT%{_prefix} install-info
|
|
|
|
# host files
|
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/include/*.h
|
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/lib/lib*a
|
|
|
|
# These come from other packages
|
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/info/bfd*
|
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/info/configure*
|
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/info/standards*
|
|
|
|
# gzip info files
|
|
gzip -f $RPM_BUILD_ROOT%{_prefix}/info/*.info 2>/dev/null
|
|
gzip -f $RPM_BUILD_ROOT%{_prefix}/info/*.info-? 2>/dev/null
|
|
gzip -f $RPM_BUILD_ROOT%{_prefix}/info/*.info-?? 2>/dev/null
|