summaryrefslogblamecommitdiffstats
path: root/scripts/binutils/binutils.add
blob: adfb3e665be5c51aec587790bc914c99923d2e02 (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@

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

%if "%{_prefix}" != "/usr"
# Extract %%__os_install_post into os_install_post~
cat << \EOF >> os_install_post~
%__os_install_post
EOF

# Generate customized brp-*scripts
cat os_install_post~ | while read a x y; do
case $a in
%if "%{_prefix}" != "/usr"
# Fix up brp-compress to handle %%_prefix != /usr
*/brp-compress*)
  b=$(basename $a)
  sed -e 's,\./usr/,./%{_prefix},' < $a > $b
  chmod a+x $b
  ;;
%endif
esac
done

sed -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \
< os_install_post~ > os_install_post 
%define __os_install_post . ./os_install_post
%endif

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

%if "%{_prefix}" == "/usr"
# Conflict with a native binutils' infos
  rm -rf $RPM_BUILD_ROOT%{_infodir}
%else
%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

# binutils does not install share/locale, however it uses it
  mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/locale
%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 ..