summaryrefslogblamecommitdiffstats
path: root/contrib/crossrpms/gcc/install.add
blob: e37934140aaff63089259f8458221129bb34c39d (plain) (tree)
1
2
3
4
5
6
7
8
9






                                  

                                      

       





                                           
                               


                                                             
                                                                            



                


                                                               

                                                
                                      

                                                  




                                                                 
                                               


                                                       
                


                                      
     






                                        


                                            

                                                                            
 

                                                                              
                                                                                      
                                                                                       
 



                                                                         
 








                                                              
                   
                                                           


                                                                           
 
      







                                                                             
                                   
                                                                               
 
                 
                                                     
                                            
                         
              
                                                   
        
                                                      


        
      


                                        
                                                         
                         
              
                                      






                                               



                              
                        
 










                                                         
                                                         










                                                                                        
                                                        


                      
                       
                  
                                                           




                   
                                                          
                                             
                                                                                    
                                                             





                                                  
                                            




                                                                                        

                                          

        
%install
%if "%{_prefix}" != "/usr"
  export PATH="%{_bindir}:${PATH}"
%endif
  rm -rf $RPM_BUILD_ROOT

  cd build

  make DESTDIR=$RPM_BUILD_ROOT install
  cd ..

%if %build_newlib
  cd build/@tool_target@/newlib
  make DESTDIR=$RPM_BUILD_ROOT install-info
  cd ../../..
%endif

%if "%{gcc_version}" <= "4.1.2"
# Misplaced header file
  if test -f $RPM_BUILD_ROOT%{_includedir}/mf-runtime.h; then
    mv $RPM_BUILD_ROOT%{_includedir}/mf-runtime.h \
      $RPM_BUILD_ROOT%{_gcclibdir}/gcc/@tool_target@/%{gcc_version}/include/
  fi
%endif

  # host library
%if "%{gcc_version}" >= "4.2.0"
  # libiberty doesn't honor --libdir, but always installs to a 
  # magically guessed _libdir
  rm -f  ${RPM_BUILD_ROOT}%{_libdir}/libiberty.a
%else
  # libiberty installs to --libdir=...
  rm -f ${RPM_BUILD_ROOT}%{_gcclibdir}/libiberty.a
%endif

  # We use the version from binutils
  rm -f $RPM_BUILD_ROOT%{_bindir}/@tool_target@-c++filt%{_exeext}

%if %build_gnat
  # Seemingly a VAX tool. Not meaningful, here.
  rm -f $RPM_BUILD_ROOT%{_bindir}/vxaddr2line%{_exeext}
%endif

%if %build_infos
  # We don't ship info/dir
  rm -f $RPM_BUILD_ROOT%{_infodir}/dir
  touch $RPM_BUILD_ROOT%{_infodir}/dir
%else
# Conflict with a native GCC's infos
  rm -rf $RPM_BUILD_ROOT%{_infodir}

# Conflict with a native GCC's man pages
  rm -rf $RPM_BUILD_ROOT%{_mandir}/man7
%endif

  # We don't want libffi's man-pages
  rm -f $RPM_BUILD_ROOT%{_mandir}/man3/*ffi*

  # Bug in gcc-3.4.0pre
  rm -f $RPM_BUILD_ROOT%{_bindir}/@tool_target@-@tool_target@-gcjh%{_exeext}

  # Bug in gcc-3.3.x/gcc-3.4.x: Despite we don't need fixincludes, it installs
  # the fixinclude-install-tools
  rm -rf ${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/@tool_target@/%{gcc_version}/install-tools
  rm -rf ${RPM_BUILD_ROOT}%{_libexecdir}/gcc/@tool_target@/%{gcc_version}/install-tools

  # Bug in gcc > 4.1.0: Installs an unused, empty directory
  if test -d ${RPM_BUILD_ROOT}%{_prefix}/@tool_target@/include/bits; then
    rmdir ${RPM_BUILD_ROOT}%{_prefix}/@tool_target@/include/bits
  fi

%if %build_newlib
%if %{with iconv}
  # Iconv enabled newlib installs external ccts (target files)
  if test -d ${RPM_BUILD_ROOT}%{_datadir}/iconv_data; then
    rm -rf ${RPM_BUILD_ROOT}%{_datadir}/iconv_data
  fi
%endif

%endif
%if ! %{with pygdb}
  # gcc >= 4.5.0: installs weird libstdc++ python bindings.
  if test -d ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python; then
    rm -rf ${RPM_BUILD_ROOT}%{_datadir}/gcc-%{gcc_version}/python/libstdcxx
  fi

%endif
%if %build_go
%if "%{gcc_version}" == "4.6.0"
  # Bug in gcc == 4.6.0: Installs gccgo under bogus name
  # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48411
  rm -f $RPM_BUILD_ROOT%{_bindir}/@tool_target@-@tool_target@-gccgo%{_exeext}
%endif

%endif
  # Collect multilib subdirectories
  multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'`

%if %build_newlib
  echo "%defattr(-,root,root,-)" > build/files.newlib
  TGTDIR="%{_exec_prefix}/@tool_target@/lib"
  for i in $multilibs; do
    case $i in
    \.) echo "%dir ${TGTDIR}" >> build/files.newlib
      ;;
    *)  echo "%dir ${TGTDIR}/$i" >> build/files.newlib
      ;;
    esac
  done
%endif

  rm -f dirs ;
  echo "%defattr(-,root,root,-)" >> dirs
  TGTDIR="%{_gcclibdir}/gcc/@tool_target@/%{gcc_version}"
  for i in $multilibs; do
    case $i in
    \.) ;; # ignore, handled elsewhere
    *)  echo "%dir ${TGTDIR}/$i" >> dirs
      ;;
    esac
  done

  # Collect files to go into different packages
  cp dirs build/files.gcc
  cp dirs build/files.gfortran
  cp dirs build/files.objc
  cp dirs build/files.gcj
  cp dirs build/files.g++
  cp dirs build/files.go

%if %build_go
# Collect /go subdirs
  TGTDIR="%{_gcclibdir}/gcc/@tool_target@/%{gcc_version}"
  for i in $multilibs; do
    case $i in
    \. ) echo "${TGTDIR}/go" >> build/files.go ;;
    *)   echo "${TGTDIR}/$i/go" >> build/files.go ;;
    esac
  done

%endif
  TGTDIR="%{_gcclibdir}/gcc/@tool_target@/%{gcc_version}"
  f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`;
  for i in $f; do
    case $i in
    *lib*.la) rm ${RPM_BUILD_ROOT}/$i ;; # ignore: gcc produces bogus libtool libs
    *f771) ;;
    *f951) ;;
    *cc1) ;;
    *cc1obj) ;;
    *cc1plus) ;; # ignore: explicitly put into rpm elsewhere
    *collect2) ;;
    *libobjc*) echo "$i" >> build/files.objc ;;
    *go1) ;; # ignore: explicitly put into rpm elsewhere
    *include/objc*) ;;
    *include/g++*);;
    *include/c++*);;
    *include-fixed/*);;
    *finclude/*);;
    */go/*) ;; # ignore : explicitly put into rpm elsewhere
    *adainclude*);;
    *adalib*);;
    *gnat1);;
    *jc1) ;;
    *jvgenmain) ;;
    */libgfortran*.*) echo "$i" >> build/files.gfortran ;;
    */libgo.*) echo "$i" >> build/files.go ;;
    %{!?with_pygdb:*/libstdc++*gdb.py*) rm ${RPM_BUILD_ROOT}/$i ;;} # ignore for now
    %{?with_pygdb:*/libstdc++*gdb.py*) >> build/files.g++ ;;}
    */libstdc++.*) echo "$i" >> build/files.g++ ;;
    */libsupc++.*) echo "$i" >> build/files.g++ ;;
    *) echo "$i" >> build/files.gcc ;;
    esac
  done

  TGTDIR="%{_exec_prefix}/@tool_target@/lib"
  f=`find ${RPM_BUILD_ROOT}${TGTDIR} ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`;
  for i in $f; do
    case $i in
    *lib*.la) rm ${RPM_BUILD_ROOT}/$i;; # ignore - gcc produces bogus libtool libs
    *libiberty.a) rm ${RPM_BUILD_ROOT}/$i ;; # ignore - GPL'ed
# all other files belong to newlib
    *) echo "$i" >> build/files.newlib ;; 
    esac
  done