summaryrefslogblamecommitdiffstats
path: root/scripts/gccnewlib/gccnewlib.spec.in
blob: 8191d4cc3b3435c1f9a64f7aeec4dc6a7f62bbd3 (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
Release:      @Release@
Copyright:    1999 OARCorp
Group:        unsorted
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@
Summary:      rtems gcc and newlib C Library for target @target_alias@
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)
    ...

%prep
echo RPM_BUILD_ROOT=${RPM_BUILD_ROOT}
# untar the sources inside @target_alias@-gcc-newlib -@Version@
%setup -c -n @target_alias@-gcc-newlib -a 0 -a 1

%patch0 -p0
%patch1 -p0

  # Now link the C library into the source tree 
  ln -s ../newlib-1.8.2/newlib gcc-@gcc_version@

%build
  test -d build || mkdir 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
  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

  rm -f files

  # collect c++ headers
  if test -d $RPM_BUILD_ROOT/opt/rtems/include/g++-3; then
    find $RPM_BUILD_ROOT/opt/rtems/include/g++-3 \
      -type d | \
      sed -e "s,^$RPM_BUILD_ROOT,%dir ,g" >> files
    find $RPM_BUILD_ROOT/opt/rtems/include/g++-3 \
      \( -type f -o -type l \) | \
      sed -e "s,^$RPM_BUILD_ROOT,,g" >> files
  fi

  # collect target gcc-lib
  if test -d "$RPM_BUILD_ROOT/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@"; \
  then
    find "$RPM_BUILD_ROOT/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@" \
      -type d | sed -e "s,^$RPM_BUILD_ROOT,%dir ,g" >> files
    find "$RPM_BUILD_ROOT/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@" \
      \( -type f -o -type l \) \
      | sed -e "s,^$RPM_BUILD_ROOT,,g" >> files
  fi

  # collect target files
  if test -d "$RPM_BUILD_ROOT/opt/rtems/@target_alias@"; \
  then
    find "$RPM_BUILD_ROOT/opt/rtems/@target_alias@" \
      -type d | \
      sed -e "s,^$RPM_BUILD_ROOT,%dir ,g" >> files
    find "$RPM_BUILD_ROOT/opt/rtems/@target_alias@" \
      \( -type f -o -type l \) | \
      sed -e "s,^$RPM_BUILD_ROOT,,g" >> files
  fi

%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 -f build/files
%docdir /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*

%docdir /opt/rtems/man
%docdir /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
/opt/rtems/lib/libiberty*
%dir /opt/rtems/include

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