Changeset 63cf252 in rtems


Ignore:
Timestamp:
May 28, 2000, 6:14:55 PM (22 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Children:
a3f5b6b
Parents:
22095e22
Message:

Patch rtems-rc-4.5.0-21.diff from Ralf Corsepius <corsepiu@…>
which splits the current monolithic specs files into a sequence of
subparts. These can be concatenated togather to make a the whole .spec
file. This cleans up the maintenance problem of having "all languages"
and a "C/C++ only" gccnewlib spec files. Plus it should make it easier
to produce variants like the gdb-m68k-bdm which require special hackery. :)
Ralf's comments:

It addresses the way *.spec.in get composed inside of the source
tree.

Changes:

  • Each spec.in is broken into several files (*.add), one *.add file per sub-package.
  • Each Makefile.am composes spec.ins from the *.add files
  • Removal of redundant automake support files.
  • Default value for BuildRoot? changed to /tmp/<spec-file-name>
  • %clean stage added to *specs

Advantages (IMHO).

  • The *.add files are easier to adminstrate and more flexible in comparison to the former *.specs.ins.
  • gccnewlib_c_only.spec.in now is composed from the same sources as gccnewlib.spec.in (less errors)
  • If using the default BuildRoot? --clean now deletes all files that were generated while building.

Notes:

  • rtems.spec.in has not yet been adapted to the scheme used for the other *spec.ins
  • Except for cosmetical changes the internals of the *.spec files should not have changed.

To Apply:

cvs rm -f scripts/binutils/binutils.spec.in
cvs rm -f scripts/gccnewlib/gccnewlib.spec.in
cvs rm -f scripts/gccnewlib/gccnewlib_c_only.spec.in
cvs rm -f scripts/gdb/gdb.spec.in
cvs rm -f scripts/config.sub
cvs rm -f scripts/config.guess
cvs rm -f scripts/install-sh
cvs rm -f scripts/mkinstalldirs
cvs rm -f scripts/missing

patch -p1 < rtems-rc-4.5.0-21.diff

cvs add scripts/*/*.add
cvs add scripts/*/README

Location:
scripts
Files:
1 added
8 deleted
20 edited

Legend:

Unmodified
Added
Removed
  • scripts/Makefile.am

    r22095e22 r63cf252  
    44
    55AUTOMAKE_OPTIONS = foreign 1.4
    6 ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal
    76
    87SUBDIRS = . binutils gccnewlib gdb rtems
  • scripts/binutils/Makefile.am

    r22095e22 r63cf252  
    66
    77MKBINUTILSSPEC = $(SHELL) $(top_builddir)/mkbinutilspec
     8
     9SUBPACKAGES = binutils.add \
     10  base-binutils.add target-binutils.add
     11
     12binutils.spec.in: $(SUBPACKAGES)
     13        cat $^ > $@
     14CLEANFILES += binutils.spec.in
    815
    916MKBINUTILSSPEC_DEPS = $(top_builddir)/mkbinutilspec binutils.spec.in \
     
    4047        $(MKBINUTILSSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems
    4148
    42 TEMPLATES = binutils.spec.in
    43 
    4449RPM_SPECS_DATA = hppa1.1-rtems-$(BINUTILSVERS).spec \
    4550    i386-rtems-$(BINUTILSVERS).spec i960-rtems-$(BINUTILSVERS).spec \
     
    4853    powerpc-rtems-$(BINUTILSVERS).spec sh-rtems-$(BINUTILSVERS).spec \
    4954    sh-rtemself-$(BINUTILSVERS).spec sparc-rtems-$(BINUTILSVERS).spec
     55CLEANFILES += $(RPM_SPECS_DATA)
    5056
    51 noinst_DATA = $(TEMPLATES)
     57EXTRA_DIST = $(SUBPACKAGES)
    5258
    53 EXTRA_DIST = $(TEMPLATES)
    54 
    55 CLEANFILES = $(RPM_SPECS_DATA)
    5659include $(top_srcdir)/../automake/local.am
  • scripts/binutils/base-binutils.add

    r22095e22 r63cf252  
     1# ==============================================================
     2# rtems-base-binutils
     3# ==============================================================
     4%package -n rtems-base-binutils
     5Provides:       rtems-base-binutils
     6Summary:      base package for rtems binutils
     7Group: rtems
     8
     9%description -n rtems-base-binutils
     10
     11RTEMS is an open source operating system for embedded systems.
     12
     13This is the base for binutils regardless of target CPU.
     14
     15%post -n rtems-base-binutils
     16  if test -d $RPM_INSTALL_PREFIX/rtems/info;
     17  then
     18    rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
     19    f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
     20    test x"$f" != x"" && for i in $f; do
     21      install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
     22    done
     23  fi
     24
     25%postun -n rtems-base-binutils
     26  if test -d $RPM_INSTALL_PREFIX/rtems/info;
     27  then
     28    rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
     29    f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
     30    test x"$f" != x"" && for i in $f; do
     31      install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
     32    done
     33  fi
     34
     35%files -n rtems-base-binutils -f files
     36%dir /opt/rtems/info
     37%doc /opt/rtems/info/dir
     38%doc /opt/rtems/info/as.info.gz
     39%doc /opt/rtems/info/as.info-?.gz
     40%doc /opt/rtems/info/bfd.info.gz
     41%doc /opt/rtems/info/bfd.info-?.gz
     42%doc /opt/rtems/info/binutils.info.gz
     43%doc /opt/rtems/info/binutils.info-?.gz
     44%doc /opt/rtems/info/ld.info.gz
     45%doc /opt/rtems/info/ld.info-?.gz
     46%doc /opt/rtems/info/gasp.info.gz
     47%doc /opt/rtems/info/standards.info.gz
     48
     49%dir /opt/rtems/man
     50%dir /opt/rtems/man/man1
     51
     52%dir /opt/rtems/include
     53/opt/rtems/include/bfd.h
     54/opt/rtems/include/ansidecl.h
     55/opt/rtems/include/bfdlink.h
     56
     57%dir /opt/rtems/lib
     58/opt/rtems/lib/libbfd*
     59/opt/rtems/lib/libiberty*
     60/opt/rtems/lib/libopcodes*
     61
     62%dir /opt/rtems/share
     63%dir /opt/rtems/share/locale
     64
  • scripts/binutils/binutils.add

    r22095e22 r63cf252  
     1#
     2# spec file for binutils package targetting rtems
     3#
     4# Copyright  (c)  1999,2000 OARCorp, Huntsville, AL
     5#
     6# please send bugfixes or comments to joel@OARcorp.com
     7#
     8
     9Vendor:       OAR Corporation
     10Distribution: Linux
     11Name:         @target_alias@-binutils-collection
     12Summary:      binutils for target @target_alias@
     13Group:        rtems
     14Release:      @Release@
     15License:      GPL/LGPL
     16
     17Autoreqprov:    off
     18Packager:       corsepiu@faw.uni-ulm.de and joel@OARcorp.com
     19Prefix:         /opt
     20BuildRoot:      /tmp/@target_alias@-binutils
     21
     22Version:        @binutils_version@
     23Source0:        ftp://ftp.gnu.org/pub/gnu/binutils/binutils-@binutils_version@.tar.gz
     24Patch0:         binutils-@binutils_version@-rtems-@binutils_patch_version@.diff
     25#
     26# The original sources are not included in the source RPM.
     27# If we included them, then the source RPMs for each target
     28# would duplicate MBs of source unnecessarily.  This is
     29# a duplication of over 30 MBs of source for each of
     30# the more than 10 targets it is possible to build.
     31#
     32# You can get them yourself from the Internet and copy them to
     33# your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR).
     34# Or you can try the ftp options of rpm :-)
     35#
     36NoSource:      0
     37
     38%description
     39
     40RTEMS is an open source operating system for embedded systems.
     41
     42This is binutils sources with patches for RTEMS.
     43
     44%prep
     45# untar the sources inside @target_alias@-binutils
     46%setup -c -n @target_alias@-binutils -a 0
     47
     48%patch0 -p0
     49  test -d build || mkdir build
     50
     51%build
     52  cd build
     53  ../binutils-@binutils_version@/configure --target=@target_alias@ \
     54    --verbose --prefix=/opt/rtems
     55
     56  make all
     57  make info
     58
     59
     60%install
     61  cd build
     62  make prefix=$RPM_BUILD_ROOT/opt/rtems install
     63  make prefix=$RPM_BUILD_ROOT/opt/rtems install-info
     64# A bug in binutils: binutils does not install share/locale
     65# however it uses it
     66  ../binutils-@binutils_version@/mkinstalldirs \
     67    $RPM_BUILD_ROOT/opt/rtems/share/locale
     68
     69# gzip info files
     70  gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info 2>/dev/null
     71  gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-? 2>/dev/null
     72
     73  if test -f $RPM_BUILD_ROOT/opt/rtems/info/configure.info.gz;
     74  then
     75# These are only present in binutils >= 2.9.5
     76    find $RPM_BUILD_ROOT/opt/rtems/info -name 'configure.*' | \
     77      sed -e "s,^$RPM_BUILD_ROOT,,g" > ../files
     78  else
     79    touch ../files
     80  fi
     81
     82# We assume that info/dir exists when building the RPMs
     83  rm -f $RPM_BUILD_ROOT/opt/rtems/info/dir
     84  f=`find $RPM_BUILD_ROOT/opt/rtems/info -name '*.info.gz'`
     85  test x"$f" != x"" && for i in $f; do
     86    install-info $i $RPM_BUILD_ROOT/opt/rtems/info/dir
     87  done
     88
     89%clean
     90# let rpm --clean remove BuildRoot iif using the default BuildRoot
     91  test "$RPM_BUILD_ROOT" = "/tmp/@target_alias@-binutils" && \
     92    rm -rf $RPM_BUILD_ROOT
     93
  • scripts/binutils/target-binutils.add

    r22095e22 r63cf252  
     1# ==============================================================
     2# @target_alias@-binutils
     3# ==============================================================
     4%package -n @target_alias@-binutils
     5Provides:       @target_alias@-binutils
     6Summary:      rtems binutils for @target_alias@
     7Group: rtems
     8Requires: rtems-base-binutils
     9Autoreqprov:    off
     10
     11%description -n @target_alias@-binutils
     12
     13RTEMS is an open source operating system for embedded systems.
     14
     15This is the GNU binutils for RTEMS targetting @target_alias@.
     16
     17%files -n @target_alias@-binutils
     18%doc /opt/rtems/man/man1/@target_alias@-*.1
     19
     20%dir /opt/rtems/bin
     21/opt/rtems/bin/@target_alias@-addr2line@exe_ext@
     22/opt/rtems/bin/@target_alias@-ar@exe_ext@
     23/opt/rtems/bin/@target_alias@-as@exe_ext@
     24/opt/rtems/bin/@target_alias@-c++filt@exe_ext@
     25/opt/rtems/bin/@target_alias@-gasp@exe_ext@
     26/opt/rtems/bin/@target_alias@-ld@exe_ext@
     27/opt/rtems/bin/@target_alias@-nm@exe_ext@
     28/opt/rtems/bin/@target_alias@-objcopy@exe_ext@
     29/opt/rtems/bin/@target_alias@-objdump@exe_ext@
     30/opt/rtems/bin/@target_alias@-ranlib@exe_ext@
     31/opt/rtems/bin/@target_alias@-readelf@exe_ext@
     32/opt/rtems/bin/@target_alias@-size@exe_ext@
     33/opt/rtems/bin/@target_alias@-strings@exe_ext@
     34/opt/rtems/bin/@target_alias@-strip@exe_ext@
     35
     36%dir /opt/rtems/@target_alias@
     37%dir /opt/rtems/@target_alias@/bin
     38/opt/rtems/@target_alias@/bin/ar@exe_ext@
     39/opt/rtems/@target_alias@/bin/as@exe_ext@
     40/opt/rtems/@target_alias@/bin/ld@exe_ext@
     41/opt/rtems/@target_alias@/bin/nm@exe_ext@
     42/opt/rtems/@target_alias@/bin/ranlib@exe_ext@
     43/opt/rtems/@target_alias@/bin/strip@exe_ext@
     44
     45%dir /opt/rtems/@target_alias@/lib
     46/opt/rtems/@target_alias@/lib/ldscripts
  • scripts/gccnewlib/Makefile.am

    r22095e22 r63cf252  
    66
    77MKGCCNEWLIBSPEC = $(SHELL) $(top_builddir)/mkgccnewlibspec
     8
     9SUBPACKAGES = gccnewlib.add \
     10    base-gcc.add target-gcc.add \
     11    base-chill.add target-chill.add \
     12    base-g77.add target-g77.add \
     13    base-gcj.add target-gcj.add \
     14    target-objc.add
     15
     16gccnewlib.spec.in: $(SUBPACKAGES)
     17        cat $^ \
     18        | sed -e 's%@GCCLANGS@%%g' > $@
     19CLEANFILES += gccnewlib.spec.in
     20
     21gccnewlib_c_only.spec.in: gccnewlib.add base-gcc.add target-gcc.add
     22        cat $^ \
     23        | sed -e "s%@GCCLANGS@%\'--enable-languages=c,c++\'%g" > $@
     24CLEANFILES += gccnewlib_c_only.spec.in
    825
    926C_ONLY_ARG = -a $(top_builddir)/gccnewlib/gccnewlib_c_only.spec.in
     
    4461        $(MKGCCNEWLIBSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems
    4562
    46 TEMPLATES = gccnewlib.spec.in gccnewlib_c_only.spec.in
    47 
    4863RPM_SPECS_DATA = hppa1.1-rtems-$(GCCNEWLIBVERS).spec \
    4964    i386-rtems-$(GCCNEWLIBVERS).spec i960-rtems-$(GCCNEWLIBVERS).spec \
     
    5267    powerpc-rtems-$(GCCNEWLIBVERS).spec sh-rtems-$(GCCNEWLIBVERS).spec \
    5368    sh-rtemself-$(GCCNEWLIBVERS).spec sparc-rtems-$(GCCNEWLIBVERS).spec
     69CLEANFILES += $(RPM_SPECS_DATA)
    5470
    55 noinst_DATA = $(TEMPLATES)
     71EXTRA_DIST = $(SUBPACKAGES)
    5672
    57 EXTRA_DIST = $(TEMPLATES)
    58 
    59 CLEANFILES = $(RPM_SPECS_DATA)
    6073include $(top_srcdir)/../automake/local.am
  • scripts/gccnewlib/base-chill.add

    r22095e22 r63cf252  
     1# ==============================================================
     2# rtems-base-chill
     3# ==============================================================
     4%package -n rtems-base-chill
     5Provides:       rtems-base-chill
     6Summary:        base package for rtems gcc/chill compiler.
     7Group: rtems
     8Requires: rtems-base-gcc
     9
     10%description -n rtems-base-chill
     11RTEMS is an open source operating system for embedded systems.
     12
     13This is the files for gcc/chill that are shared by all targets.
     14
     15%files -n rtems-base-chill
     16%dir /opt/rtems/info
     17%doc /opt/rtems/info/chill.info*.gz
     18
     19%post -n rtems-base-chill
     20  if test -d $RPM_INSTALL_PREFIX/rtems/info;
     21  then
     22    rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
     23    f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
     24    test -n "$f" && for i in $f; do
     25      install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
     26    done
     27  fi
     28
     29%postun -n rtems-base-chill
     30  if test -d $RPM_INSTALL_PREFIX/rtems/info;
     31  then
     32    rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
     33    f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
     34    test -n "$f" && for i in $f; do
     35      install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
     36    done
     37  fi
     38
  • scripts/gccnewlib/base-g77.add

    r22095e22 r63cf252  
     1# ==============================================================
     2# rtems-base-g77
     3# ==============================================================
     4%package -n rtems-base-g77
     5Provides:       rtems-base-g77
     6Summary:      rtems base package for gcc/g77 compiler
     7Group: rtems
     8Requires: rtems-base-gcc
     9
     10%description -n rtems-base-g77
     11RTEMS is an open source operating system for embedded systems.
     12
     13This is the files for gcc/g77 that are shared by all targets.
     14
     15%files -n rtems-base-g77
     16%dir /opt/rtems/info
     17%doc /opt/rtems/info/g77.info*.gz
     18
     19%dir /opt/rtems/man
     20%dir /opt/rtems/man/man1
     21%doc /opt/rtems/man/man1/@target_alias@-g77.1
     22
     23%post -n rtems-base-g77
     24  if test -d $RPM_INSTALL_PREFIX/rtems/info;
     25  then
     26    rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
     27    f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
     28    test -n "$f" && for i in $f; do
     29      install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
     30    done
     31  fi
     32
     33%postun -n rtems-base-g77
     34  if test -d $RPM_INSTALL_PREFIX/rtems/info;
     35  then
     36    rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
     37    f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
     38    test -n "$f" && for i in $f; do
     39      install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
     40    done
     41  fi
     42
  • scripts/gccnewlib/base-gcc.add

    r22095e22 r63cf252  
     1# ==============================================================
     2# rtems-base-gcc
     3# ==============================================================
     4%package -n rtems-base-gcc
     5Provides:       rtems-base-gcc
     6Summary:        base package for rtems gcc and newlib C Library
     7Group: rtems
     8
     9%description -n rtems-base-gcc
     10
     11RTEMS is an open source operating system for embedded systems.
     12
     13This is the files for gcc and newlib that are shared by all targets.
     14
     15%files -n rtems-base-gcc
     16%dir /opt/rtems/info
     17%doc /opt/rtems/info/cpp.info*.gz
     18%doc /opt/rtems/info/gcc.info*.gz
     19%doc /opt/rtems/info/libc.info*.gz
     20%doc /opt/rtems/info/libm.info*.gz
     21
     22%dir /opt/rtems/bin
     23/opt/rtems/bin/cpp@exe_ext@
     24/opt/rtems/bin/gcov@exe_ext@
     25
     26%dir /opt/rtems/man
     27%dir /opt/rtems/man/man1
     28%doc /opt/rtems/man/man1/cccp.1
     29
     30%dir /opt/rtems/include
     31/opt/rtems/include/g++-3
     32
     33%post -n rtems-base-gcc
     34  if test -d $RPM_INSTALL_PREFIX/rtems/info;
     35  then
     36    rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
     37    f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
     38    test -n "$f" && for i in $f; do
     39      install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
     40    done
     41  fi
     42
     43%postun -n rtems-base-gcc
     44  if test -d $RPM_INSTALL_PREFIX/rtems/info;
     45  then
     46    rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
     47    f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info&gz'`
     48    test -n "$f" && for i in $f; do
     49      install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
     50    done
     51  fi
     52
  • scripts/gccnewlib/base-gcj.add

    r22095e22 r63cf252  
     1# ==============================================================
     2# rtems-base-gcj
     3# ==============================================================
     4%package -n rtems-base-gcj
     5Provides:       rtems-base-gcj
     6Summary:      base package for rtems gcc/java compiler (gcj).
     7Group: rtems
     8Requires: rtems-base-gcc
     9
     10%description -n rtems-base-gcj
     11RTEMS is an open source operating system for embedded systems.
     12
     13This is the files for gcc/java (gcj) that are shared by all targets.
     14
     15%files -n rtems-base-gcj
     16%dir /opt/rtems/bin
     17/opt/rtems/bin/jcf-dump@exe_ext@
     18/opt/rtems/bin/jv-scan@exe_ext@
     19/opt/rtems/bin/gcjh@exe_ext@
     20
  • scripts/gccnewlib/gccnewlib.add

    r22095e22 r63cf252  
     1#
     2# spec file for building gcc for rtems
     3#
     4# Copyright  (c) 1999,2000 OARCorp, Huntsville, AL
     5#
     6# please send bugfixes or comments to joel@OARcorp.com
     7#
     8
     9Vendor:       OAR Corporation
     10Distribution: Linux
     11Name:         @target_alias@-gcc-newlib
     12Summary:      gcc and newlib C Library for @target_alias@.
     13Group:        rtems
     14Release:      @Release@
     15License:      gcc is GPL/LGPL ; newlib no has restrictions on run-time usage
     16
     17Autoreqprov:    on
     18Packager:       corsepiu@faw.uni-ulm.de and joel@OARcorp.com
     19
     20Version:        gcc@gcc_version@newlib@newlib_version@
     21Source0:        ftp://ftp.gnu.org/pub/gnu/gcc/gcc-@gcc_version@.tar.gz
     22Source1:        ftp://sourceware.cygnus/com/pub/newlib/newlib-@newlib_version@.tar.gz
     23Patch0:         gcc-@gcc_version@-rtems-@gcc_patch_version@.diff
     24Patch1:         newlib-@newlib_version@-rtems-@newlib_patch_version@.diff
     25Buildroot:      /tmp/@target_alias@-gcc-newlib
     26
     27#
     28# The original sources are not included in the source RPM.
     29# If we included them, then the source RPMs for each target
     30# would duplicate MBs of source unnecessarily.  This is
     31# a duplication of over 30 MBs of source for each of
     32# the more than 10 targets it is possible to build.
     33#
     34# You can get them yourself from the Internet and copy them to
     35# your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR).
     36# Or you can try the ftp options of rpm :-)
     37#
     38NoSource:       0
     39NoSource:       1
     40
     41%description
     42RTEMS is an open source operating system for embedded systems.
     43
     44This is gcc's and newlib C Library's sources with patches for RTEMS.
     45
     46 The original sources are not included in the source RPM.
     47 If we included them, then the source RPMs for each target
     48 would duplicate MBs of source unnecessarily.  This is
     49 a duplication of over 30 MBs of source for each of
     50 the more than 10 targets it is possible to build.
     51
     52 You can get them yourself from the Internet and copy them to
     53 your /usr/src/[redhat|packages]/SOURCES directory ($RPM_SOURCE_DIR).
     54 Or you can try the ftp options of rpm :-)
     55
     56%prep
     57# untar the sources inside @target_alias@-gcc-newlib
     58%setup -c -n @target_alias@-gcc-newlib -a 0 -a 1
     59
     60%patch0 -p0
     61%patch1 -p0
     62
     63  # Copy the C library into gcc's source tree
     64  ln -s ../newlib-@newlib_version@/newlib gcc-@gcc_version@
     65  test -d build || mkdir build
     66
     67%build
     68  cd build
     69
     70  ../gcc-@gcc_version@/configure --target=@target_alias@ \
     71    --with-gnu-as --with-gnu-ld --with-newlib --verbose \
     72    --enable-threads --prefix=/opt/rtems @GCCLANGS@
     73
     74  make all
     75  make info
     76
     77%install
     78  cd build
     79  # Bug in gcc-2.95.1: It doesn't build this installation directory
     80  # If it doesn't find it, gcc doesn't install @target_alias@/bin/gcc
     81  ../gcc-@gcc_version@/mkinstalldirs \
     82    $RPM_BUILD_ROOT/opt/rtems/@target_alias@/bin
     83
     84  make prefix=$RPM_BUILD_ROOT/opt/rtems install
     85  cd @target_alias@/newlib
     86  make prefix=$RPM_BUILD_ROOT/opt/rtems install-info
     87
     88  # cd back to build/
     89  cd ../..
     90
     91  # gzip info files
     92  gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info 2>/dev/null
     93  gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-? 2>/dev/null
     94  gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-?? 2>/dev/null
     95
     96  rm -f dirs ;
     97  echo "%dir /opt/rtems/lib" >> dirs ;
     98  echo "%dir /opt/rtems/lib/gcc-lib" >> dirs ;
     99  echo "%dir /opt/rtems/lib/gcc-lib/@target_alias@" >> dirs ;
     100
     101  # Collect multilib subdirectories
     102  TGTDIR="$RPM_BUILD_ROOT/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@"
     103  find $TGTDIR \
     104    \( -type d -a ! -path "$TGTDIR/include*" \) -print | \
     105    sed -e "s,^$RPM_BUILD_ROOT,%dir ,g" >> dirs
     106
     107  # Collect files to go into different packages
     108  cp dirs files.chill
     109  cp dirs files.gcc
     110  cp dirs files.g77
     111  cp dirs files.objc
     112  cp dirs files.gcj
     113
     114  f=`find $TGTDIR ! -type d -print | sed -e "s,^$RPM_BUILD_ROOT,,g"`;
     115  for i in $f; do
     116    case $i in
     117    *chill*) echo "$i" >> files.chill ;;
     118    *f771) ;;
     119    *cc1obj) ;;
     120    *libobjc*) echo "$i" >> files.objc ;;
     121    *include/objc*) ;;
     122    *jc1) ;;
     123    *jvgenmain) ;;
     124    *) echo "$i" >> files.gcc ;;
     125    esac
     126  done
     127
     128%clean
     129# let rpm --clean remove BuildRoot iif using the default BuildRoot
     130  test "$RPM_BUILD_ROOT" = "/tmp/@target_alias@-gcc-newlib" && \
     131    rm -rf $RPM_BUILD_ROOT
     132
  • scripts/gccnewlib/target-chill.add

    r22095e22 r63cf252  
     1# ==============================================================
     2# @target_alias@-chill
     3# ==============================================================
     4%package -n @target_alias@-chill
     5Provides:       @target_alias@-chill
     6Summary:        gcc/chill compiler for @target_alias@
     7Group: rtems
     8Requires: rtems-base-chill @target_alias@-gcc
     9
     10%description -n @target_alias@-chill
     11RTEMS is an open source operating system for embedded systems.
     12
     13This is the gcc/chill compiler and support files for @target_alias@
     14
     15%files -n @target_alias@-chill -f build/files.chill
     16%dir /opt/rtems/bin
     17/opt/rtems/bin/@target_alias@-chill
     18
  • scripts/gccnewlib/target-g77.add

    r22095e22 r63cf252  
     1# ==============================================================
     2# @target_alias@-g77
     3# ==============================================================
     4%package -n @target_alias@-g77
     5Provides:       @target_alias@-g77
     6Summary:        gcc/g77 compiler for @target_alias@
     7Group: rtems
     8Requires: rtems-base-g77 @target_alias@-gcc
     9
     10%description -n @target_alias@-g77
     11RTEMS is an open source operating system for embedded systems.
     12
     13This is the gcc/g77 compiler for @target_alias@
     14
     15%files -n @target_alias@-g77 -f build/files.g77
     16%dir /opt/rtems/bin
     17/opt/rtems/bin/@target_alias@-g77@exe_ext@
     18
     19/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/f771@exe_ext@
  • scripts/gccnewlib/target-gcc.add

    r22095e22 r63cf252  
     1# ==============================================================
     2# @target_alias@-gcc
     3# ==============================================================
     4%package -n @target_alias@-gcc
     5Provides:       @target_alias@-gcc
     6Summary:        rtems gcc and newlib C Library for @target_alias@
     7Group: rtems
     8Requires: @target_alias@-binutils rtems-base-gcc
     9
     10%description -n @target_alias@-gcc
     11RTEMS is an open source operating system for embedded systems.
     12
     13This is gcc and newlib C Library for @target_alias@.
     14
     15%files -n @target_alias@-gcc -f build/files.gcc
     16%doc /opt/rtems/man/man1/@target_alias@-gcc.1
     17%doc /opt/rtems/man/man1/@target_alias@-g++.1
     18
     19/opt/rtems/bin/@target_alias@-c++@exe_ext@
     20/opt/rtems/bin/@target_alias@-g++@exe_ext@
     21/opt/rtems/bin/@target_alias@-gcc@exe_ext@
     22/opt/rtems/bin/@target_alias@-protoize@exe_ext@
     23/opt/rtems/bin/@target_alias@-unprotoize@exe_ext@
     24
     25%dir /opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/include
     26
     27/opt/rtems/@target_alias@
     28
  • scripts/gccnewlib/target-gcj.add

    r22095e22 r63cf252  
     1# ==============================================================
     2# @target_alias@-gcj
     3# ==============================================================
     4%package -n @target_alias@-gcj
     5Provides:       @target_alias@-gcj
     6Summary:      gcc/java compiler (gcj) for @target_alias@
     7Group: rtems
     8Requires: rtems-base-gcj @target_alias@-gcc
     9
     10%description -n @target_alias@-gcj
     11RTEMS is an open source operating system for embedded systems.
     12
     13This is the gcc/java compiler for @target_alias@
     14
     15%files -n @target_alias@-gcj -f build/files.gcj
     16%dir /opt/rtems/bin
     17/opt/rtems/bin/@target_alias@-gcj@exe_ext@
     18
     19/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/jc1@exe_ext@
     20/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/jvgenmain@exe_ext@
     21
  • scripts/gccnewlib/target-objc.add

    r22095e22 r63cf252  
     1# ==============================================================
     2# @target_alias@-objc
     3# ==============================================================
     4%package -n @target_alias@-objc
     5Provides:       @target_alias@-objc
     6Summary:      gcc/objc compiler for @target_alias@
     7Group: rtems
     8Requires: @target_alias@-gcc
     9
     10%description -n @target_alias@-objc
     11RTEMS is an open source operating system for embedded systems.
     12
     13This is the gcc/objc compiler for @target_alias@
     14
     15%files -n @target_alias@-objc -f build/files.objc
     16/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/cc1obj@exe_ext@
     17/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@/include/objc
  • scripts/gdb/Makefile.am

    r22095e22 r63cf252  
    66
    77MKGDBSPEC = $(SHELL) $(top_builddir)/mkgdbspec
     8
     9SUBPACKAGES = gdb.add base-gdb.add target-gdb.add
     10
     11gdb.spec.in: $(SUBPACKAGES)
     12        cat $^ > $@
     13CLEANFILES += gdb.spec.in
    814
    915MKGDBSPEC_DEPS = $(top_builddir)/mkgdbspec gdb.spec.in \
     
    4046        $(MKGDBSPEC) -cfg $(top_builddir)/setup.cache -o . sparc-rtems
    4147
    42 TEMPLATES = gdb.spec.in
    43 
    4448RPM_SPECS_DATA = hppa1.1-rtems-$(GDBVERS).spec i386-rtems-$(GDBVERS).spec \
    4549    i960-rtems-$(GDBVERS).spec m68k-rtems-$(GDBVERS).spec \
     
    4751    powerpc-rtems-$(GDBVERS).spec sh-rtems-$(GDBVERS).spec \
    4852    sh-rtemself-$(GDBVERS).spec sparc-rtems-$(GDBVERS).spec
     53CLEANFILES += $(RPM_SPECS_DATA)
    4954
    50 noinst_DATA = $(TEMPLATES)
     55EXTRA_DIST = $(SUBPACKAGES)
    5156
    52 EXTRA_DIST = $(TEMPLATES)
    53 
    54 CLEANFILES = $(RPM_SPECS_DATA)
    5557include $(top_srcdir)/../automake/local.am
  • scripts/gdb/base-gdb.add

    r22095e22 r63cf252  
     1# =====================================================================
     2# rtems-base-gdb
     3# =====================================================================
     4
     5%package -n rtems-base-gdb
     6Provides:       rtems-base-gdb
     7Summary:      base package for rtems gdb
     8Group: rtems
     9
     10%description -n rtems-base-gdb
     11
     12RTEMS is an open source operating system for embedded systems.
     13
     14This is the base for gdb regardless of target CPU.
     15
     16%files -n rtems-base-gdb
     17
     18%dir /opt/rtems/info
     19%doc /opt/rtems/info/gdb.info*
     20%doc /opt/rtems/info/mmalloc.info*
     21%doc /opt/rtems/info/readline.info*
     22
     23%dir /opt/rtems/man
     24%dir /opt/rtems/man/man1
     25
     26%dir /opt/rtems/include
     27# We install libbfd from binutils
     28# /opt/rtems/include/bfd.h
     29# /opt/rtems/include/bfdlink.h
     30
     31%dir /opt/rtems/lib
     32# We install libbfd from binutils
     33# /opt/rtems/lib/libbfd*
     34# We use libiberty from gcc
     35# /opt/rtems/lib/libiberty*
     36
     37%post -n rtems-base-gdb
     38  if test -d $RPM_INSTALL_PREFIX/rtems/info;
     39  then
     40    rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
     41    f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
     42    test -n "$f" && for i in $f; do
     43      install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
     44    done
     45  fi
     46
     47%postun -n rtems-base-gdb
     48  if test -d $RPM_INSTALL_PREFIX/rtems/info;
     49  then
     50    rm -f $RPM_INSTALL_PREFIX/rtems/info/dir
     51    f=`find $RPM_INSTALL_PREFIX/rtems/info -name '*.info.gz'`
     52    test -n "$f" && for i in $f; do
     53      install-info $i $RPM_INSTALL_PREFIX/rtems/info/dir
     54    done
     55  fi
  • scripts/gdb/gdb.add

    r22095e22 r63cf252  
     1#
     2# spec file for package rtems
     3#
     4# Copyright  (c)  1999  OARCorp, Huntsville, AL
     5#
     6# please send bugfixes or comments to joel@OARcorp.com
     7#
     8
     9# neededforbuild -- nothing
     10
     11Vendor:       OAR Corporation
     12Distribution: Linux
     13Name:         @target_alias@-gdb-collection
     14Release:      @Release@
     15License:      GPL/LGPL
     16Group:        rtems
     17
     18Autoreqprov:  on
     19Packager:     corsepiu@faw.uni-ulm.de and joel@OARcorp.com
     20
     21Version:      @gdb_version@
     22Summary:      gdb for target @target_alias@
     23Source0:      ftp://ftp.gnu.org/pub/gnu/gdb-@gdb_version@.tar.gz
     24Patch0:       gdb-@gdb_version@-rtems-@gdb_patch_version@.diff
     25Buildroot:      /tmp/@target_alias@-gdb
     26
     27#
     28# The original sources are not included in the source RPM.
     29# If we included them, then the source RPMs for each target
     30# would duplicate MBs of source unnecessarily.  This is
     31# a duplication of over 30 MBs of source for each of
     32# the more than 10 targets it is possible to build.
     33#
     34# You can get them yourself from the Internet and copy them to
     35# your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR).
     36# Or you can try the ftp options of rpm :-)
     37#
     38NoSource:      0
     39
     40
     41%description
     42RTEMS is an open source operating system for embedded systems.
     43
     44This is the GNU gdb for RTEMS targetting @target_alias@.
     45
     46%prep
     47echo RPM_BUILD_ROOT=${RPM_BUILD_ROOT}
     48# untar the sources inside @target_alias@-gdb
     49%setup -c -n @target_alias@-gdb -a 0
     50
     51%patch0 -p0
     52
     53%build
     54test -d build || mkdir build
     55  cd build
     56  ../gdb-@gdb_version@/configure --target=@target_alias@ \
     57    --verbose --prefix=/opt/rtems @extra_configure_arguments@
     58
     59  make all
     60  make info
     61
     62%install
     63  cd build
     64  make prefix=$RPM_BUILD_ROOT/opt/rtems install
     65  make prefix=$RPM_BUILD_ROOT/opt/rtems install-info
     66
     67  # gzip info files
     68  gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info 2>/dev/null
     69  gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-? 2>/dev/null
     70  gzip -f $RPM_BUILD_ROOT/opt/rtems/info/*.info-?? 2>/dev/null
     71
     72%clean
     73# let rpm --clean remove BuildRoot iif using the default BuildRoot
     74  test "$RPM_BUILD_ROOT" = "/tmp/@target_alias@-gdb" && \
     75    rm -rf $RPM_BUILD_ROOT
  • scripts/gdb/target-gdb.add

    r22095e22 r63cf252  
     1# =====================================================================
     2# @target_alias@-gdb
     3# =====================================================================
     4
     5%package -n @target_alias@-gdb
     6Provides:       @target_alias@-gdb
     7Summary:      rtems gdb for @target_alias@
     8Group: rtems
     9Requires: rtems-base-gdb
     10
     11%description -n @target_alias@-gdb
     12
     13RTEMS is an open source operating system for embedded systems.
     14
     15This is the GNU gdb for RTEMS targetting @target_alias@.
     16
     17%files -n @target_alias@-gdb
     18%doc /opt/rtems/man/man1/@target_alias@-gdb.1
     19
     20%dir /opt/rtems/bin
     21/opt/rtems/bin/@target_alias@-gdb@exe_ext@
Note: See TracChangeset for help on using the changeset viewer.