summaryrefslogblamecommitdiffstats
path: root/scripts/gdb/gdb.add
blob: f908c0bf93e8418b185f766dc8b58625d8c1758a (plain) (tree)
1
2
3
4
5
6
7
8
9



                                      
                                          

                       
                         
 

                                           

                            
                                                                      



                                                                    
                                                                      
        
      

                            
                             
      











                                                              
                                   
 



                                                          


                                             
                                              

                 
                                              

                 
                                                 
                 

                                               
                 
      
 



                                                              
                                                        

     
                                      
 
                     


                      
     

      



                       
                                                 





                                                                
                
          
                                  
                           
                                   
                                   
                            
                                             
                                                     

                                               
                 




           

                        
          



                                           

                                         

                                              




                                         

                                              


                                        
      

              

                                          
 
                                  


                                              



                                                  


                                      
 
                   





                                          
 

                                                          

%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}

%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