summaryrefslogblamecommitdiffstats
path: root/scripts/gccnewlib/gccnewlib.spec.in
blob: 150f234fc7ed09134a329826d6aac031f07f76de (plain) (tree)
1
2
3
4
5
6
7
8
9
10









                                                      
                                

                                                          

                          
 





                                                          
                                                 

                                                                                     


                                                                         












                                                              
                                
 









                                                              













                                                                      
     
                                                    




                                                


                                                           

      
          


                                                          



                                             


           






                                                                    

        
          




                                                                     


                                                    




                     

                                                             
                                                              
 



















                                                             

                                   







                                

                        


                                             
                                             


                   



                       



                                 



                                        
 
                   

                                
                       
                        
 
                           
                                     
 
                         
#
# spec file for package rtems
# 
# Copyright  (c)  1999  OARCorp, Huntsville, AL
#
# please send bugfixes or comments to joel@OARcorp.com
#

Vendor:       OAR Corporation
Distribution: Linux
Name:         @target_alias@-gcc
Summary:      gcc and newlib C Library for @target_alias@.
Group:	      unsorted
Release:      @Release@
Copyright:    1999 OARCorp

Provides:     @target_alias@-gcc-newlib
Requires:     @target_alias@-binutils

Autoreqprov:  on
Packager:     corsepiu@faw.uni-ulm.de and joel@OARcorp.com

Version:      @gcc_version@newlib@newlib_version@
Source0:	ftp://ftp.gnu.org/pub/gnu/gcc/gcc-@gcc_version@.tar.gz
Source1:	ftp://sourceware.cygnus/com/pub/newlib/newlib-@newlib_version@.tar.gz
Patch0:		gcc-@gcc_version@-rtems-@gcc_patch_version@.diff
Patch1:		newlib-@newlib_version@-rtems-@newlib_patch_version@.diff

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

Buildroot:    	@rpm_build_root@

%description
RTEMS is an open source operating system for embedded systems.

This is gcc and newlib C Library for @target_alias@.

Authors:
--------
    Joel Sherrill (joel@oarcorp.com)
    ...

%package -n @target_alias@-gcc-newlib
Summary:      rtems gcc and newlib C Library for target @target_alias@
Group: unsorted

%description -n @target_alias@-gcc-newlib
RTEMS is an open source operating system for embedded systems.

This is gcc and newlib C Library for @target_alias@.

Authors:
--------
    Joel Sherrill (joel@oarcorp.com)
    ...

%prep
# untar the sources inside @target_alias@-gcc-newlib
%setup -c -n @target_alias@-gcc-newlib -a 0 -a 1

%patch0 -p0
%patch1 -p0

  # Copy the C library into gcc's source tree
  ln -s ../newlib-@newlib_version@/newlib gcc-@gcc_version@
  test -d build || mkdir build

%build
  cd build
  ../gcc-@gcc_version@/configure --target=@target_alias@ \
    --with-gnu-as --with-gnu-ld --with-newlib --verbose \
    --prefix=/opt/rtems

  # for now we are building all the languages
  #  '--enable-languages=c c++'

  make all
  make info

#  Since gcc now finds the RTEMS limits.h, this should not be needed
#  cd gcc
#    rm -f stmp-multilib
#    find . -name "*.a" -print | xargs -e rm -f
#
#    make all
#  cd ..

%install
  cd build
  # Bug in gcc-2.95.1: It doesn't build this installation directory
  # If it doesn't find it, gcc doesn't install @target_alias@/bin/gcc
  ../gcc-@gcc_version@/mkinstalldirs \
    $RPM_BUILD_ROOT/opt/rtems/@target_alias@/bin

  make prefix=$RPM_BUILD_ROOT/opt/rtems install
  cd @target_alias@/newlib
  make prefix=$RPM_BUILD_ROOT/opt/rtems install-info

  # cd back to build/
  cd ../..

  # gzip info files
  gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info 2>/dev/null
  gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-? 2>/dev/null
  gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-?? 2>/dev/null

%post
  if test -d $RPM_INSTALL_PREFIX/rtems/info; 
  then
    rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
    f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
    test -n "$f" && for i in $f; do
      install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
    done
  fi

%postun
  if test -d $RPM_INSTALL_PREFIX/rtems/info; 
  then
    rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
    f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
    test -n "$f" && for i in $f; do
      install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
    done
  fi

%files -n @target_alias@-gcc-newlib
%dir /opt/rtems/info
%doc /opt/rtems/info/dir
%doc /opt/rtems/info/chill.info*
%doc /opt/rtems/info/cpp.info*
%doc /opt/rtems/info/gcc.info*
%doc /opt/rtems/info/g77.info*
%doc /opt/rtems/info/libc.info*
%doc /opt/rtems/info/libm.info*

%dir /opt/rtems/man
%dir /opt/rtems/man/man1
%doc /opt/rtems/man/man1/cccp.1
%doc /opt/rtems/man/man1/@target_alias@-gcc.1
%doc /opt/rtems/man/man1/@target_alias@-g++.1
%doc /opt/rtems/man/man1/@target_alias@-g77.1

%dir /opt/rtems/bin
/opt/rtems/bin/cpp
/opt/rtems/bin/jv-scan
/opt/rtems/bin/gcov
/opt/rtems/bin/jcf-dump
/opt/rtems/bin/gcjh
/opt/rtems/bin/@target_alias@-c++
/opt/rtems/bin/@target_alias@-g++
/opt/rtems/bin/@target_alias@-gcc
/opt/rtems/bin/@target_alias@-gcj
/opt/rtems/bin/@target_alias@-chill
/opt/rtems/bin/@target_alias@-g77
/opt/rtems/bin/@target_alias@-protoize
/opt/rtems/bin/@target_alias@-unprotoize

%dir /opt/rtems/lib
# We use libiberty from binutils
# /opt/rtems/lib/libiberty*
%dir /opt/rtems/include
/opt/rtems/include/g++-3

%dir /opt/rtems/lib/gcc-lib
/opt/rtems/lib/gcc-lib/@target_alias@

/opt/rtems/@target_alias@