summaryrefslogblamecommitdiffstats
path: root/scripts/binutils/binutils.add
blob: 400cd7099a120f93f1dfbf990851c3cbb1ec450d (plain) (tree)
1
2
3
4
5
6
7
8
9
10
 

                                               
 


                                                      
                                   

                         
                                                  
                                                                              
 

                                 

                                  
      
                    
 
                                                                                                

        




                                                                   










                                                              
                                   
 




                                                                

     
                                      
 







                                                                  



                      
      
                
          
                           
                                             
                                   
                                 
                             


                                                     

          
                          
           

       

        

                        
          
                                         


                                              
                                        
                                      
           

                          
                                         


                                              
                                        
                                      
                
      
 

                                                           




                                                   
 
                                      
                                      




                                        
  
                          
                                              
 




                                                                    
       
 

%define binutils_version     @binutils_version@
%define binutils_target      @target_alias@

Name:		@rpmprefix@%{binutils_target}-binutils
Summary:	Binutils for target %{binutils_target}
Group:		%{rpmgroup}
Version:	%{binutils_version}
Release:	@Release@
License:	GPL/LGPL
URL: 		http://sources.redhat.com/binutils
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

%if "%{_prefix}" != "/usr"
# Required for building the infos
BuildRequires:	/sbin/install-info
BuildRequires:	texinfo >= 4.2
%endif
BuildRequires:	flex

Source0:	ftp://ftp.gnu.org/pub/gnu/binutils/binutils-%{binutils_version}@binutils_suffix@
@PATCH1@

Source98:	brp-rtems-strip.in
Source99:	brp-rtems-compress.in

%define __os_install_post ./brp-rtems-compress && ./brp-rtems-strip

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

# %description
#
# RTEMS is an open source operating system for embedded systems.
#
# This is binutils sources with patches for RTEMS.

%prep
%setup -c -T -n %{name}-%{version} -a0

sed 's,@BRPSTRIPPATH@,.%_bindir .%_prefix/%binutils_target/bin,' \
  %SOURCE98 > brp-rtems-strip
chmod +x brp-rtems-strip

sed 's,@BRPCOMPRESSPATH@,.%_mandir/man* .%_infodir,' \
  %SOURCE99 > brp-rtems-compress
chmod +x brp-rtems-compress

cd binutils-%{version}
%{?PATCH0:%patch0 -p1}
cd ..

%build
  mkdir -p build
  cd build
  CFLAGS="$RPM_OPT_FLAGS" \
  ../binutils-%{binutils_version}/configure \
    --build=%_build --host=%_host \
    --target=%{binutils_target} \
    --verbose --disable-nls \
    --prefix=%{_prefix} --bindir=%{_bindir} \
    --includedir=%{_includedir} --libdir=%{_libdir} \
    --mandir=%{_mandir} --infodir=%{_infodir} \

  make all
%if "%{_prefix}" != "/usr"
  make info
%endif
  cd ..

%install
  rm -rf $RPM_BUILD_ROOT

  cd build
  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

%if "%{_prefix}" != "/usr"
  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

# A bug in binutils: binutils does not install share/locale
# however it uses it
  mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/locale

%if "%{binutils_version}" < "2.9.5"
  rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info*
%endif

  rm -f $RPM_BUILD_ROOT%{_infodir}/dir
  touch $RPM_BUILD_ROOT%{_infodir}/dir

%if "%{_prefix}" == "/usr"
# 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
  rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/%{binutils_target}-dlltool*
  rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/%{binutils_target}-nlmconv*
  rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/%{binutils_target}-windres*

  cd ..