From bf862710ddcf8478f15f353353c36b92f04cb077 Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Wed, 17 Mar 2010 05:07:25 +0000 Subject: Fork preps. --- contrib/crossrpms/rtems4.11/.cvsignore | 2 + contrib/crossrpms/rtems4.11/Makefile.am | 17 + contrib/crossrpms/rtems4.11/arm/.cvsignore | 3 + contrib/crossrpms/rtems4.11/arm/Makefile.am | 33 + .../crossrpms/rtems4.11/arm/binutils-sources.add | 2 + contrib/crossrpms/rtems4.11/arm/cpukit-sources.add | 2 + contrib/crossrpms/rtems4.11/arm/gcc-sources.add | 47 ++ contrib/crossrpms/rtems4.11/arm/gdb-sources.add | 9 + .../arm/rtems-4.11-arm-rtems4.11-binutils.spec | 268 ++++++++ .../arm/rtems-4.11-arm-rtems4.11-cpukit.spec | 158 +++++ .../arm/rtems-4.11-arm-rtems4.11-gcc.spec | 716 +++++++++++++++++++++ .../arm/rtems-4.11-arm-rtems4.11-gdb.spec | 319 +++++++++ contrib/crossrpms/rtems4.11/avr/.cvsignore | 3 + contrib/crossrpms/rtems4.11/avr/Makefile.am | 32 + .../crossrpms/rtems4.11/avr/binutils-sources.add | 2 + contrib/crossrpms/rtems4.11/avr/cpukit-sources.add | 2 + contrib/crossrpms/rtems4.11/avr/gcc-sources.add | 47 ++ contrib/crossrpms/rtems4.11/avr/gdb-sources.add | 9 + .../avr/rtems-4.11-avr-rtems4.11-binutils.spec | 268 ++++++++ .../avr/rtems-4.11-avr-rtems4.11-cpukit.spec | 158 +++++ .../avr/rtems-4.11-avr-rtems4.11-gcc.spec | 645 +++++++++++++++++++ .../avr/rtems-4.11-avr-rtems4.11-gdb.spec | 319 +++++++++ contrib/crossrpms/rtems4.11/bfin/.cvsignore | 3 + contrib/crossrpms/rtems4.11/bfin/Makefile.am | 32 + .../crossrpms/rtems4.11/bfin/binutils-sources.add | 2 + .../crossrpms/rtems4.11/bfin/cpukit-sources.add | 2 + contrib/crossrpms/rtems4.11/bfin/gcc-sources.add | 47 ++ contrib/crossrpms/rtems4.11/bfin/gdb-sources.add | 3 + .../bfin/rtems-4.11-bfin-rtems4.11-binutils.spec | 268 ++++++++ .../bfin/rtems-4.11-bfin-rtems4.11-cpukit.spec | 158 +++++ .../bfin/rtems-4.11-bfin-rtems4.11-gcc.spec | 716 +++++++++++++++++++++ .../bfin/rtems-4.11-bfin-rtems4.11-gdb.spec | 261 ++++++++ contrib/crossrpms/rtems4.11/binutils.am | 31 + contrib/crossrpms/rtems4.11/cpukit-prep.add | 1 + contrib/crossrpms/rtems4.11/cpukit.am | 35 + contrib/crossrpms/rtems4.11/gcc-prep.add | 2 + contrib/crossrpms/rtems4.11/gcc.am | 47 ++ contrib/crossrpms/rtems4.11/gdb.am | 31 + contrib/crossrpms/rtems4.11/h8300/.cvsignore | 3 + contrib/crossrpms/rtems4.11/h8300/Makefile.am | 32 + .../crossrpms/rtems4.11/h8300/binutils-sources.add | 2 + .../crossrpms/rtems4.11/h8300/cpukit-sources.add | 2 + contrib/crossrpms/rtems4.11/h8300/gcc-sources.add | 47 ++ contrib/crossrpms/rtems4.11/h8300/gdb-sources.add | 9 + .../h8300/rtems-4.11-h8300-rtems4.11-binutils.spec | 268 ++++++++ .../h8300/rtems-4.11-h8300-rtems4.11-cpukit.spec | 158 +++++ .../h8300/rtems-4.11-h8300-rtems4.11-gcc.spec | 716 +++++++++++++++++++++ .../h8300/rtems-4.11-h8300-rtems4.11-gdb.spec | 319 +++++++++ contrib/crossrpms/rtems4.11/i386/.cvsignore | 3 + contrib/crossrpms/rtems4.11/i386/Makefile.am | 32 + .../crossrpms/rtems4.11/i386/binutils-sources.add | 2 + .../crossrpms/rtems4.11/i386/cpukit-sources.add | 2 + contrib/crossrpms/rtems4.11/i386/gcc-sources.add | 47 ++ contrib/crossrpms/rtems4.11/i386/gdb-sources.add | 9 + .../i386/rtems-4.11-i386-rtems4.11-binutils.spec | 268 ++++++++ .../i386/rtems-4.11-i386-rtems4.11-cpukit.spec | 158 +++++ .../i386/rtems-4.11-i386-rtems4.11-gcc.spec | 716 +++++++++++++++++++++ .../i386/rtems-4.11-i386-rtems4.11-gdb.spec | 319 +++++++++ contrib/crossrpms/rtems4.11/lm32/.cvsignore | 3 + contrib/crossrpms/rtems4.11/lm32/Makefile.am | 33 + .../crossrpms/rtems4.11/lm32/binutils-sources.add | 2 + .../crossrpms/rtems4.11/lm32/cpukit-sources.add | 2 + contrib/crossrpms/rtems4.11/lm32/gcc-sources.add | 47 ++ contrib/crossrpms/rtems4.11/lm32/gdb-sources.add | 9 + .../lm32/rtems-4.11-lm32-rtems4.11-binutils.spec | 268 ++++++++ .../lm32/rtems-4.11-lm32-rtems4.11-gcc.spec | 716 +++++++++++++++++++++ .../lm32/rtems-4.11-lm32-rtems4.11-gdb.spec | 319 +++++++++ contrib/crossrpms/rtems4.11/m32c/.cvsignore | 3 + contrib/crossrpms/rtems4.11/m32c/Makefile.am | 32 + .../crossrpms/rtems4.11/m32c/binutils-sources.add | 2 + .../crossrpms/rtems4.11/m32c/cpukit-sources.add | 2 + contrib/crossrpms/rtems4.11/m32c/gcc-sources.add | 47 ++ contrib/crossrpms/rtems4.11/m32c/gdb-sources.add | 9 + .../m32c/rtems-4.11-m32c-rtems4.11-binutils.spec | 268 ++++++++ .../m32c/rtems-4.11-m32c-rtems4.11-cpukit.spec | 158 +++++ .../m32c/rtems-4.11-m32c-rtems4.11-gcc.spec | 645 +++++++++++++++++++ .../m32c/rtems-4.11-m32c-rtems4.11-gdb.spec | 319 +++++++++ contrib/crossrpms/rtems4.11/m32r/.cvsignore | 3 + contrib/crossrpms/rtems4.11/m32r/Makefile.am | 32 + .../crossrpms/rtems4.11/m32r/binutils-sources.add | 2 + .../crossrpms/rtems4.11/m32r/cpukit-sources.add | 2 + contrib/crossrpms/rtems4.11/m32r/gcc-sources.add | 47 ++ contrib/crossrpms/rtems4.11/m32r/gdb-sources.add | 9 + .../m32r/rtems-4.11-m32r-rtems4.11-binutils.spec | 268 ++++++++ .../m32r/rtems-4.11-m32r-rtems4.11-cpukit.spec | 158 +++++ .../m32r/rtems-4.11-m32r-rtems4.11-gcc.spec | 645 +++++++++++++++++++ .../m32r/rtems-4.11-m32r-rtems4.11-gdb.spec | 319 +++++++++ contrib/crossrpms/rtems4.11/m68k/.cvsignore | 3 + contrib/crossrpms/rtems4.11/m68k/Makefile.am | 32 + .../crossrpms/rtems4.11/m68k/binutils-sources.add | 2 + .../crossrpms/rtems4.11/m68k/cpukit-sources.add | 2 + contrib/crossrpms/rtems4.11/m68k/gcc-sources.add | 47 ++ contrib/crossrpms/rtems4.11/m68k/gdb-sources.add | 9 + .../m68k/rtems-4.11-m68k-rtems4.11-binutils.spec | 268 ++++++++ .../m68k/rtems-4.11-m68k-rtems4.11-cpukit.spec | 158 +++++ .../m68k/rtems-4.11-m68k-rtems4.11-gcc.spec | 716 +++++++++++++++++++++ .../m68k/rtems-4.11-m68k-rtems4.11-gdb.spec | 319 +++++++++ contrib/crossrpms/rtems4.11/mips/.cvsignore | 3 + contrib/crossrpms/rtems4.11/mips/Makefile.am | 32 + .../crossrpms/rtems4.11/mips/binutils-sources.add | 2 + .../crossrpms/rtems4.11/mips/cpukit-sources.add | 2 + contrib/crossrpms/rtems4.11/mips/gcc-sources.add | 47 ++ contrib/crossrpms/rtems4.11/mips/gdb-sources.add | 9 + .../mips/rtems-4.11-mips-rtems4.11-binutils.spec | 268 ++++++++ .../mips/rtems-4.11-mips-rtems4.11-cpukit.spec | 158 +++++ .../mips/rtems-4.11-mips-rtems4.11-gcc.spec | 716 +++++++++++++++++++++ .../mips/rtems-4.11-mips-rtems4.11-gdb.spec | 319 +++++++++ contrib/crossrpms/rtems4.11/mipstx39/.cvsignore | 3 + contrib/crossrpms/rtems4.11/mipstx39/Makefile.am | 12 + .../crossrpms/rtems4.11/mipstx39/gdb-sources.add | 9 + .../rtems-4.11-mipstx39-rtems4.11-gdb.spec | 319 +++++++++ contrib/crossrpms/rtems4.11/powerpc/.cvsignore | 3 + contrib/crossrpms/rtems4.11/powerpc/Makefile.am | 32 + .../rtems4.11/powerpc/binutils-sources.add | 2 + .../crossrpms/rtems4.11/powerpc/cpukit-sources.add | 2 + .../crossrpms/rtems4.11/powerpc/gcc-sources.add | 47 ++ .../crossrpms/rtems4.11/powerpc/gdb-sources.add | 9 + .../rtems-4.11-powerpc-rtems4.11-binutils.spec | 268 ++++++++ .../rtems-4.11-powerpc-rtems4.11-cpukit.spec | 158 +++++ .../powerpc/rtems-4.11-powerpc-rtems4.11-gcc.spec | 716 +++++++++++++++++++++ .../powerpc/rtems-4.11-powerpc-rtems4.11-gdb.spec | 319 +++++++++ contrib/crossrpms/rtems4.11/sh/.cvsignore | 3 + contrib/crossrpms/rtems4.11/sh/Makefile.am | 32 + .../crossrpms/rtems4.11/sh/binutils-sources.add | 2 + contrib/crossrpms/rtems4.11/sh/cpukit-sources.add | 2 + contrib/crossrpms/rtems4.11/sh/gcc-sources.add | 47 ++ contrib/crossrpms/rtems4.11/sh/gdb-sources.add | 9 + .../sh/rtems-4.11-sh-rtems4.11-binutils.spec | 268 ++++++++ .../sh/rtems-4.11-sh-rtems4.11-cpukit.spec | 158 +++++ .../rtems4.11/sh/rtems-4.11-sh-rtems4.11-gcc.spec | 716 +++++++++++++++++++++ .../rtems4.11/sh/rtems-4.11-sh-rtems4.11-gdb.spec | 319 +++++++++ contrib/crossrpms/rtems4.11/sparc/.cvsignore | 3 + contrib/crossrpms/rtems4.11/sparc/Makefile.am | 32 + .../crossrpms/rtems4.11/sparc/binutils-sources.add | 2 + .../crossrpms/rtems4.11/sparc/cpukit-sources.add | 2 + contrib/crossrpms/rtems4.11/sparc/gcc-sources.add | 47 ++ contrib/crossrpms/rtems4.11/sparc/gdb-sources.add | 9 + .../sparc/rtems-4.11-sparc-rtems4.11-binutils.spec | 268 ++++++++ .../sparc/rtems-4.11-sparc-rtems4.11-cpukit.spec | 158 +++++ .../sparc/rtems-4.11-sparc-rtems4.11-gcc.spec | 716 +++++++++++++++++++++ .../sparc/rtems-4.11-sparc-rtems4.11-gdb.spec | 319 +++++++++ 141 files changed, 20304 insertions(+) create mode 100644 contrib/crossrpms/rtems4.11/.cvsignore create mode 100644 contrib/crossrpms/rtems4.11/Makefile.am create mode 100644 contrib/crossrpms/rtems4.11/arm/.cvsignore create mode 100644 contrib/crossrpms/rtems4.11/arm/Makefile.am create mode 100644 contrib/crossrpms/rtems4.11/arm/binutils-sources.add create mode 100644 contrib/crossrpms/rtems4.11/arm/cpukit-sources.add create mode 100644 contrib/crossrpms/rtems4.11/arm/gcc-sources.add create mode 100644 contrib/crossrpms/rtems4.11/arm/gdb-sources.add create mode 100644 contrib/crossrpms/rtems4.11/arm/rtems-4.11-arm-rtems4.11-binutils.spec create mode 100644 contrib/crossrpms/rtems4.11/arm/rtems-4.11-arm-rtems4.11-cpukit.spec create mode 100644 contrib/crossrpms/rtems4.11/arm/rtems-4.11-arm-rtems4.11-gcc.spec create mode 100644 contrib/crossrpms/rtems4.11/arm/rtems-4.11-arm-rtems4.11-gdb.spec create mode 100644 contrib/crossrpms/rtems4.11/avr/.cvsignore create mode 100644 contrib/crossrpms/rtems4.11/avr/Makefile.am create mode 100644 contrib/crossrpms/rtems4.11/avr/binutils-sources.add create mode 100644 contrib/crossrpms/rtems4.11/avr/cpukit-sources.add create mode 100644 contrib/crossrpms/rtems4.11/avr/gcc-sources.add create mode 100644 contrib/crossrpms/rtems4.11/avr/gdb-sources.add create mode 100644 contrib/crossrpms/rtems4.11/avr/rtems-4.11-avr-rtems4.11-binutils.spec create mode 100644 contrib/crossrpms/rtems4.11/avr/rtems-4.11-avr-rtems4.11-cpukit.spec create mode 100644 contrib/crossrpms/rtems4.11/avr/rtems-4.11-avr-rtems4.11-gcc.spec create mode 100644 contrib/crossrpms/rtems4.11/avr/rtems-4.11-avr-rtems4.11-gdb.spec create mode 100644 contrib/crossrpms/rtems4.11/bfin/.cvsignore create mode 100644 contrib/crossrpms/rtems4.11/bfin/Makefile.am create mode 100644 contrib/crossrpms/rtems4.11/bfin/binutils-sources.add create mode 100644 contrib/crossrpms/rtems4.11/bfin/cpukit-sources.add create mode 100644 contrib/crossrpms/rtems4.11/bfin/gcc-sources.add create mode 100644 contrib/crossrpms/rtems4.11/bfin/gdb-sources.add create mode 100644 contrib/crossrpms/rtems4.11/bfin/rtems-4.11-bfin-rtems4.11-binutils.spec create mode 100644 contrib/crossrpms/rtems4.11/bfin/rtems-4.11-bfin-rtems4.11-cpukit.spec create mode 100644 contrib/crossrpms/rtems4.11/bfin/rtems-4.11-bfin-rtems4.11-gcc.spec create mode 100644 contrib/crossrpms/rtems4.11/bfin/rtems-4.11-bfin-rtems4.11-gdb.spec create mode 100644 contrib/crossrpms/rtems4.11/binutils.am create mode 100644 contrib/crossrpms/rtems4.11/cpukit-prep.add create mode 100644 contrib/crossrpms/rtems4.11/cpukit.am create mode 100644 contrib/crossrpms/rtems4.11/gcc-prep.add create mode 100644 contrib/crossrpms/rtems4.11/gcc.am create mode 100644 contrib/crossrpms/rtems4.11/gdb.am create mode 100644 contrib/crossrpms/rtems4.11/h8300/.cvsignore create mode 100644 contrib/crossrpms/rtems4.11/h8300/Makefile.am create mode 100644 contrib/crossrpms/rtems4.11/h8300/binutils-sources.add create mode 100644 contrib/crossrpms/rtems4.11/h8300/cpukit-sources.add create mode 100644 contrib/crossrpms/rtems4.11/h8300/gcc-sources.add create mode 100644 contrib/crossrpms/rtems4.11/h8300/gdb-sources.add create mode 100644 contrib/crossrpms/rtems4.11/h8300/rtems-4.11-h8300-rtems4.11-binutils.spec create mode 100644 contrib/crossrpms/rtems4.11/h8300/rtems-4.11-h8300-rtems4.11-cpukit.spec create mode 100644 contrib/crossrpms/rtems4.11/h8300/rtems-4.11-h8300-rtems4.11-gcc.spec create mode 100644 contrib/crossrpms/rtems4.11/h8300/rtems-4.11-h8300-rtems4.11-gdb.spec create mode 100644 contrib/crossrpms/rtems4.11/i386/.cvsignore create mode 100644 contrib/crossrpms/rtems4.11/i386/Makefile.am create mode 100644 contrib/crossrpms/rtems4.11/i386/binutils-sources.add create mode 100644 contrib/crossrpms/rtems4.11/i386/cpukit-sources.add create mode 100644 contrib/crossrpms/rtems4.11/i386/gcc-sources.add create mode 100644 contrib/crossrpms/rtems4.11/i386/gdb-sources.add create mode 100644 contrib/crossrpms/rtems4.11/i386/rtems-4.11-i386-rtems4.11-binutils.spec create mode 100644 contrib/crossrpms/rtems4.11/i386/rtems-4.11-i386-rtems4.11-cpukit.spec create mode 100644 contrib/crossrpms/rtems4.11/i386/rtems-4.11-i386-rtems4.11-gcc.spec create mode 100644 contrib/crossrpms/rtems4.11/i386/rtems-4.11-i386-rtems4.11-gdb.spec create mode 100644 contrib/crossrpms/rtems4.11/lm32/.cvsignore create mode 100644 contrib/crossrpms/rtems4.11/lm32/Makefile.am create mode 100644 contrib/crossrpms/rtems4.11/lm32/binutils-sources.add create mode 100644 contrib/crossrpms/rtems4.11/lm32/cpukit-sources.add create mode 100644 contrib/crossrpms/rtems4.11/lm32/gcc-sources.add create mode 100644 contrib/crossrpms/rtems4.11/lm32/gdb-sources.add create mode 100644 contrib/crossrpms/rtems4.11/lm32/rtems-4.11-lm32-rtems4.11-binutils.spec create mode 100644 contrib/crossrpms/rtems4.11/lm32/rtems-4.11-lm32-rtems4.11-gcc.spec create mode 100644 contrib/crossrpms/rtems4.11/lm32/rtems-4.11-lm32-rtems4.11-gdb.spec create mode 100644 contrib/crossrpms/rtems4.11/m32c/.cvsignore create mode 100644 contrib/crossrpms/rtems4.11/m32c/Makefile.am create mode 100644 contrib/crossrpms/rtems4.11/m32c/binutils-sources.add create mode 100644 contrib/crossrpms/rtems4.11/m32c/cpukit-sources.add create mode 100644 contrib/crossrpms/rtems4.11/m32c/gcc-sources.add create mode 100644 contrib/crossrpms/rtems4.11/m32c/gdb-sources.add create mode 100644 contrib/crossrpms/rtems4.11/m32c/rtems-4.11-m32c-rtems4.11-binutils.spec create mode 100644 contrib/crossrpms/rtems4.11/m32c/rtems-4.11-m32c-rtems4.11-cpukit.spec create mode 100644 contrib/crossrpms/rtems4.11/m32c/rtems-4.11-m32c-rtems4.11-gcc.spec create mode 100644 contrib/crossrpms/rtems4.11/m32c/rtems-4.11-m32c-rtems4.11-gdb.spec create mode 100644 contrib/crossrpms/rtems4.11/m32r/.cvsignore create mode 100644 contrib/crossrpms/rtems4.11/m32r/Makefile.am create mode 100644 contrib/crossrpms/rtems4.11/m32r/binutils-sources.add create mode 100644 contrib/crossrpms/rtems4.11/m32r/cpukit-sources.add create mode 100644 contrib/crossrpms/rtems4.11/m32r/gcc-sources.add create mode 100644 contrib/crossrpms/rtems4.11/m32r/gdb-sources.add create mode 100644 contrib/crossrpms/rtems4.11/m32r/rtems-4.11-m32r-rtems4.11-binutils.spec create mode 100644 contrib/crossrpms/rtems4.11/m32r/rtems-4.11-m32r-rtems4.11-cpukit.spec create mode 100644 contrib/crossrpms/rtems4.11/m32r/rtems-4.11-m32r-rtems4.11-gcc.spec create mode 100644 contrib/crossrpms/rtems4.11/m32r/rtems-4.11-m32r-rtems4.11-gdb.spec create mode 100644 contrib/crossrpms/rtems4.11/m68k/.cvsignore create mode 100644 contrib/crossrpms/rtems4.11/m68k/Makefile.am create mode 100644 contrib/crossrpms/rtems4.11/m68k/binutils-sources.add create mode 100644 contrib/crossrpms/rtems4.11/m68k/cpukit-sources.add create mode 100644 contrib/crossrpms/rtems4.11/m68k/gcc-sources.add create mode 100644 contrib/crossrpms/rtems4.11/m68k/gdb-sources.add create mode 100644 contrib/crossrpms/rtems4.11/m68k/rtems-4.11-m68k-rtems4.11-binutils.spec create mode 100644 contrib/crossrpms/rtems4.11/m68k/rtems-4.11-m68k-rtems4.11-cpukit.spec create mode 100644 contrib/crossrpms/rtems4.11/m68k/rtems-4.11-m68k-rtems4.11-gcc.spec create mode 100644 contrib/crossrpms/rtems4.11/m68k/rtems-4.11-m68k-rtems4.11-gdb.spec create mode 100644 contrib/crossrpms/rtems4.11/mips/.cvsignore create mode 100644 contrib/crossrpms/rtems4.11/mips/Makefile.am create mode 100644 contrib/crossrpms/rtems4.11/mips/binutils-sources.add create mode 100644 contrib/crossrpms/rtems4.11/mips/cpukit-sources.add create mode 100644 contrib/crossrpms/rtems4.11/mips/gcc-sources.add create mode 100644 contrib/crossrpms/rtems4.11/mips/gdb-sources.add create mode 100644 contrib/crossrpms/rtems4.11/mips/rtems-4.11-mips-rtems4.11-binutils.spec create mode 100644 contrib/crossrpms/rtems4.11/mips/rtems-4.11-mips-rtems4.11-cpukit.spec create mode 100644 contrib/crossrpms/rtems4.11/mips/rtems-4.11-mips-rtems4.11-gcc.spec create mode 100644 contrib/crossrpms/rtems4.11/mips/rtems-4.11-mips-rtems4.11-gdb.spec create mode 100644 contrib/crossrpms/rtems4.11/mipstx39/.cvsignore create mode 100644 contrib/crossrpms/rtems4.11/mipstx39/Makefile.am create mode 100644 contrib/crossrpms/rtems4.11/mipstx39/gdb-sources.add create mode 100644 contrib/crossrpms/rtems4.11/mipstx39/rtems-4.11-mipstx39-rtems4.11-gdb.spec create mode 100644 contrib/crossrpms/rtems4.11/powerpc/.cvsignore create mode 100644 contrib/crossrpms/rtems4.11/powerpc/Makefile.am create mode 100644 contrib/crossrpms/rtems4.11/powerpc/binutils-sources.add create mode 100644 contrib/crossrpms/rtems4.11/powerpc/cpukit-sources.add create mode 100644 contrib/crossrpms/rtems4.11/powerpc/gcc-sources.add create mode 100644 contrib/crossrpms/rtems4.11/powerpc/gdb-sources.add create mode 100644 contrib/crossrpms/rtems4.11/powerpc/rtems-4.11-powerpc-rtems4.11-binutils.spec create mode 100644 contrib/crossrpms/rtems4.11/powerpc/rtems-4.11-powerpc-rtems4.11-cpukit.spec create mode 100644 contrib/crossrpms/rtems4.11/powerpc/rtems-4.11-powerpc-rtems4.11-gcc.spec create mode 100644 contrib/crossrpms/rtems4.11/powerpc/rtems-4.11-powerpc-rtems4.11-gdb.spec create mode 100644 contrib/crossrpms/rtems4.11/sh/.cvsignore create mode 100644 contrib/crossrpms/rtems4.11/sh/Makefile.am create mode 100644 contrib/crossrpms/rtems4.11/sh/binutils-sources.add create mode 100644 contrib/crossrpms/rtems4.11/sh/cpukit-sources.add create mode 100644 contrib/crossrpms/rtems4.11/sh/gcc-sources.add create mode 100644 contrib/crossrpms/rtems4.11/sh/gdb-sources.add create mode 100644 contrib/crossrpms/rtems4.11/sh/rtems-4.11-sh-rtems4.11-binutils.spec create mode 100644 contrib/crossrpms/rtems4.11/sh/rtems-4.11-sh-rtems4.11-cpukit.spec create mode 100644 contrib/crossrpms/rtems4.11/sh/rtems-4.11-sh-rtems4.11-gcc.spec create mode 100644 contrib/crossrpms/rtems4.11/sh/rtems-4.11-sh-rtems4.11-gdb.spec create mode 100644 contrib/crossrpms/rtems4.11/sparc/.cvsignore create mode 100644 contrib/crossrpms/rtems4.11/sparc/Makefile.am create mode 100644 contrib/crossrpms/rtems4.11/sparc/binutils-sources.add create mode 100644 contrib/crossrpms/rtems4.11/sparc/cpukit-sources.add create mode 100644 contrib/crossrpms/rtems4.11/sparc/gcc-sources.add create mode 100644 contrib/crossrpms/rtems4.11/sparc/gdb-sources.add create mode 100644 contrib/crossrpms/rtems4.11/sparc/rtems-4.11-sparc-rtems4.11-binutils.spec create mode 100644 contrib/crossrpms/rtems4.11/sparc/rtems-4.11-sparc-rtems4.11-cpukit.spec create mode 100644 contrib/crossrpms/rtems4.11/sparc/rtems-4.11-sparc-rtems4.11-gcc.spec create mode 100644 contrib/crossrpms/rtems4.11/sparc/rtems-4.11-sparc-rtems4.11-gdb.spec diff --git a/contrib/crossrpms/rtems4.11/.cvsignore b/contrib/crossrpms/rtems4.11/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/contrib/crossrpms/rtems4.11/Makefile.am b/contrib/crossrpms/rtems4.11/Makefile.am new file mode 100644 index 0000000000..2ded05d926 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/Makefile.am @@ -0,0 +1,17 @@ +# $Id$ + +SUBDIRS = +SUBDIRS += arm +SUBDIRS += avr +SUBDIRS += bfin +SUBDIRS += h8300 +SUBDIRS += i386 +SUBDIRS += lm32 +SUBDIRS += m32c +SUBDIRS += m32r +SUBDIRS += m68k +SUBDIRS += mips +SUBDIRS += mipstx39 +SUBDIRS += powerpc +SUBDIRS += sh +SUBDIRS += sparc diff --git a/contrib/crossrpms/rtems4.11/arm/.cvsignore b/contrib/crossrpms/rtems4.11/arm/.cvsignore new file mode 100644 index 0000000000..11289e9f57 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/arm/.cvsignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +*.spec.in diff --git a/contrib/crossrpms/rtems4.11/arm/Makefile.am b/contrib/crossrpms/rtems4.11/arm/Makefile.am new file mode 100644 index 0000000000..b0b6a29d89 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/arm/Makefile.am @@ -0,0 +1,33 @@ +# $Id$ + +TARGET = arm-rtems4.11 + +include $(top_srcdir)/mkspec.am + +BINUTILS_VERS = 2.20.1 +BINUTILS_PKGVERS = $(BINUTILS_VERS) +BINUTILS_RPMREL = 1 +include ../binutils.am +BINUTILS_OPTS += + +GCC_VERS = 4.4.3 +GCC_PKGVERS = $(GCC_VERS) +GCC_RPMREL = 1 + +NEWLIB_VERS = 1.18.0 +NEWLIB_PKGVERS = $(NEWLIB_VERS) +NEWLIB_RPMREL = `expr $(GCC_RPMREL)` +include ../gcc.am +GCC_OPTS += --languages=cxx + +GDB_VERS = 7.0.90 +GDB_PKGVERS = $(GDB_VERS) +GDB_RPMREL = 1 +include ../gdb.am +GDB_OPTS += + +CPUKIT_VERS = 4.9.99.0 +CPUKIT_PKGVERS = $(CPUKIT_VERS)-20090206-2 +CPUKIT_RPMREL = 1 +include ../cpukit.am +CPUKIT_OPTS += diff --git a/contrib/crossrpms/rtems4.11/arm/binutils-sources.add b/contrib/crossrpms/rtems4.11/arm/binutils-sources.add new file mode 100644 index 0000000000..5c4d63e3ef --- /dev/null +++ b/contrib/crossrpms/rtems4.11/arm/binutils-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff diff --git a/contrib/crossrpms/rtems4.11/arm/cpukit-sources.add b/contrib/crossrpms/rtems4.11/arm/cpukit-sources.add new file mode 100644 index 0000000000..763e672840 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/arm/cpukit-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} diff --git a/contrib/crossrpms/rtems4.11/arm/gcc-sources.add b/contrib/crossrpms/rtems4.11/arm/gcc-sources.add new file mode 100644 index 0000000000..ced8dbad98 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/arm/gcc-sources.add @@ -0,0 +1,47 @@ +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100315.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if %build_cxx +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%endif +%if %build_fortran +Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-fortran-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 2} + +%endif +%if %build_gcj +Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-java-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 3} + +%endif +%if %build_gnat +Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-ada-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 4} + +%endif +%if %build_objc +Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-objc-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 5} + +%endif +%if %build_newlib +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} +%endif diff --git a/contrib/crossrpms/rtems4.11/arm/gdb-sources.add b/contrib/crossrpms/rtems4.11/arm/gdb-sources.add new file mode 100644 index 0000000000..e5fb99aa66 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/arm/gdb-sources.add @@ -0,0 +1,9 @@ +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif diff --git a/contrib/crossrpms/rtems4.11/arm/rtems-4.11-arm-rtems4.11-binutils.spec b/contrib/crossrpms/rtems4.11/arm/rtems-4.11-arm-rtems4.11-binutils.spec new file mode 100644 index 0000000000..904f060a7e --- /dev/null +++ b/contrib/crossrpms/rtems4.11/arm/rtems-4.11-arm-rtems4.11-binutils.spec @@ -0,0 +1,268 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define binutils_pkgvers 2.20.1 +%define binutils_version 2.20.1 +%define binutils_rpmvers %{expand:%(echo "2.20.1" | tr - _ )} + +Name: rtems-4.11-arm-rtems4.11-binutils +Summary: Binutils for target arm-rtems4.11 +Group: Development/Tools +Version: %{binutils_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/binutils +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{binutils_version}" >= "2.18" +# Bug in bfd: Doesn't build without texinfo installed +BuildRequires: texinfo >= 4.2 +%else +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 +%endif +BuildRequires: flex +BuildRequires: bison + +Requires: rtems-4.11-binutils-common + +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff + +%description +Cross binutils for target arm-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd binutils-%{binutils_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../binutils-%{binutils_pkgvers}/configure \ + --build=%_build --host=%_host \ + --target=arm-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + --prefix=%{_prefix} --bindir=%{_bindir} \ + --exec-prefix=%{_exec_prefix} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + 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} \ + exec_prefix=$RPM_BUILD_ROOT%{_exec_prefix} \ + install-info + +# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it. + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info* + + 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 + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# manpages without corresponding tools + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/arm-rtems4.11-dlltool%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/arm-rtems4.11-dlltool* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/arm-rtems4.11-nlmconv%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/arm-rtems4.11-nlmconv* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/arm-rtems4.11-windres%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/arm-rtems4.11-windres* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/arm-rtems4.11-windmc%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/arm-rtems4.11-windmc* + fi + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# arm-rtems4.11-binutils +# ============================================================== +# %package -n rtems-4.11-arm-rtems4.11-binutils +# Summary: rtems binutils for arm-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-binutils-common +# %endif + +%description -n rtems-4.11-arm-rtems4.11-binutils +GNU binutils targetting arm-rtems4.11. + +%files -n rtems-4.11-arm-rtems4.11-binutils +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_datarootdir} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/arm-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/arm-rtems4.11-* + +%dir %{_exec_prefix}/arm-rtems4.11 +%dir %{_exec_prefix}/arm-rtems4.11/bin +%{_exec_prefix}/arm-rtems4.11/bin/* + +%dir %{_exec_prefix}/arm-rtems4.11/lib +%{_exec_prefix}/arm-rtems4.11/lib/ldscripts +# ============================================================== +# rtems-4.11-binutils-common +# ============================================================== +%package -n rtems-4.11-binutils-common +Summary: Base package for RTEMS binutils +Group: Development/Tools +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-binutils-common + +RTEMS is an open source operating system for embedded systems. + +This is the base for binutils regardless of target CPU. + +%post -n rtems-4.11-binutils-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : + +%preun -n rtems-4.11-binutils-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : +fi + +%files -n rtems-4.11-binutils-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/as.info* +%{_infodir}/bfd.info* +%{_infodir}/binutils.info* +%{_infodir}/ld.info* +%{_infodir}/standards.info* +%{_infodir}/gprof.info* + +%dir %{_prefix}/share +%dir %{_prefix}/share/locale + diff --git a/contrib/crossrpms/rtems4.11/arm/rtems-4.11-arm-rtems4.11-cpukit.spec b/contrib/crossrpms/rtems4.11/arm/rtems-4.11-arm-rtems4.11-cpukit.spec new file mode 100644 index 0000000000..b60a6c9a4d --- /dev/null +++ b/contrib/crossrpms/rtems4.11/arm/rtems-4.11-arm-rtems4.11-cpukit.spec @@ -0,0 +1,158 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define cpukit_pkgvers 4.9.99.0-20090206-2 +%define cpukit_version 4.9.99.0 +%define cpukit_rpmvers %{expand:%(echo "4.9.99.0-20090206-2" | tr - . )} + +Name: rtems-4.11-arm-rtems4.11-cpukit +Summary: arm-rtems4.11 cpukit + +Group: Development/Tools +Version: %{cpukit_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://cpukit.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch + +%define debug_package %{nil} + +BuildRequires: rtems-4.11-arm-rtems4.11-gcc + +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} + +%description +RTEMS cpukit for arm-rtems4.11. +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 + + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + + cd build + ../rtems-%{cpukit_version}/configure \ + --prefix=%{_prefix} \ + --target=arm-rtems4.11 \ + --enable-multilib \ + --disable-rtemsbsp + + make all RTEMS_BSP= + cd .. + +%install + rm -rf $RPM_BUILD_ROOT + export PATH="%{_bindir}:${PATH}" + cd build + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + rm -rf $RPM_BUILD_ROOT%{_prefix}/share/man + rm -rf $RPM_BUILD_ROOT%{_prefix}/bin +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{version}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/arm-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/arm-rtems4.11/' | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-provides +%define __find_provides %{_builddir}/%{name}-%{version}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{version}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/arm-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/arm-rtems4.11/' | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-requires +%define __find_requires %{_builddir}/%{name}-%{version}/find-requires + +%clean + rm -rf $RPM_BUILD_ROOT + +%description -n rtems-4.11-arm-rtems4.11-cpukit +RTEMS cpukit for target arm-rtems4.11. + +%files -n rtems-4.11-arm-rtems4.11-cpukit +%defattr(-,root,root) +%dir %{_prefix} +%{_prefix}/arm-rtems4.11 +# Violates the FHS +%exclude %{_prefix}/make diff --git a/contrib/crossrpms/rtems4.11/arm/rtems-4.11-arm-rtems4.11-gcc.spec b/contrib/crossrpms/rtems4.11/arm/rtems-4.11-arm-rtems4.11-gcc.spec new file mode 100644 index 0000000000..df54c4e177 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/arm/rtems-4.11-arm-rtems4.11-gcc.spec @@ -0,0 +1,716 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define gcc_pkgvers 4.4.3 +%define gcc_version 4.4.3 +%define gcc_rpmvers %{expand:%(echo "4.4.3" | tr - _ )} + +%define newlib_pkgvers 1.18.0 +%define newlib_version 1.18.0 + +Name: rtems-4.11-arm-rtems4.11-gcc +Summary: arm-rtems4.11 gcc + +Group: Development/Tools +Version: %{gcc_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://gcc.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%define _use_internal_dependency_generator 0 + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{gcc_version}" >= "4.3.0" +%define _gmp_minvers 4.1 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif + +%if %{defined _gmp_minvers} +BuildRequires: gmp-devel >= %{_gmp_minvers} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%endif +%endif + +%if "%{gcc_version}" >= "4.3.3" +%define _cloog_minvers 0.15 +%endif + +%if %{defined _cloog_minvers} +%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%endif + +%if "%{gcc_version}" >= "4.4.0" +%define _mpfr_minvers 2.3.2 +%define mpfr_version 2.4.1 +%else +%if "%{gcc_version}" >= "4.3.0" +%define _mpfr_minvers 2.3.1 +%define mpfr_version 2.3.2 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif +%endif + +%if %{defined _mpfr_minvers} +# FIXME: This is an ugly cludge +%{?fc11:%global mpfr_provided 2.4.1} +%{?fc12:%global mpfr_provided 2.4.1} +%{?fc13:%global mpfr_provided 2.4.1} +%{?suse11_0:%global mpfr_provided 2.3.1} +%{?suse11_1:%global mpfr_provided 2.3.2} +%{?suse11_2:%global mpfr_provided 2.4.1} +%{?cygwin:%global mpfr_provided 2.4.1} +%{?mingw32:%global mpfr_provided %{nil}} + +%if %{defined mpfr_provided} +%if "%{mpfr_provided}" < "%{_mpfr_minvers}" +%define _build_mpfr 1 +%else +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +%else +BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%endif +%endif +%else +%define _build_mpfr 1 +%endif + +%endif + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-arm-rtems4.11-gcc = %{gcc_rpmvers} +%endif + +%if "%{gcc_version}" >= "4.2.0" +BuildRequires: flex bison +%endif + + +BuildRequires: texinfo >= 4.2 +BuildRequires: rtems-4.11-arm-rtems4.11-binutils + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-arm-rtems4.11-binutils +Requires: rtems-4.11-arm-rtems4.11-gcc-libgcc = %{gcc_rpmvers}-%{release} +Requires: rtems-4.11-arm-rtems4.11-newlib = %{newlib_version}-1%{?dist} + + +%define _gcclibdir %{_prefix}/lib + +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100315.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} + +%if "%{gcc_version}" >= "4.3.0" +Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 +%endif + +%description +Cross gcc for arm-rtems4.11. + +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 +%{?PATCH0:%patch0 -p0} + +%setup -q -T -D -n %{name}-%{version} -a1 +%{?PATCH1:%patch1 -p0} + + + + + +%setup -q -T -D -n %{name}-%{version} -a50 +cd newlib-%{newlib_version} +%{?PATCH50:%patch50 -p1} +cd .. + # Copy the C library into gcc's source tree + ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_pkgvers} + +%if 0%{?_build_mpfr} +%setup -q -T -D -n %{name}-%{version} -a60 +%{?PATCH60:%patch60 -p1} + # Build mpfr one-tree style + ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr +%endif + +echo "RTEMS gcc-%{gcc_version}-1%{?dist}/newlib-%{newlib_version}-1%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE + + + # Fix timestamps + cd gcc-%{gcc_pkgvers} + contrib/gcc_update --touch + cd .. +%build + mkdir -p build + + cd build + + languages="c" + languages="$languages,c++" + export PATH="%{_bindir}:${PATH}" +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ + CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \ +%else +# gcc is not ready to be compiled with -std=gnu99 + CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \ +%endif + ../gcc-%{gcc_pkgvers}/configure \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --exec_prefix=%{_exec_prefix} \ + --includedir=%{_includedir} \ + --libdir=%{_gcclibdir} \ + --libexecdir=%{_libexecdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} \ + --datadir=%{_datadir} \ + --build=%_build --host=%_host \ + --target=arm-rtems4.11 \ + --disable-libstdcxx-pch \ + --with-gnu-as --with-gnu-ld --verbose \ + --with-newlib \ + --with-system-zlib \ + --disable-nls --without-included-gettext \ + --disable-win32-registry \ + --enable-version-specific-runtime-libs \ + --enable-threads \ + --enable-newlib-io-c99-formats \ + --enable-languages="$languages" $optargs + +%if "%_host" != "%_build" + # Bug in gcc-3.2.1: + # Somehow, gcc doesn't get syslimits.h right for Cdn-Xs + mkdir -p gcc/include + cp ../gcc-%{gcc_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h +%endif + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + cd build/arm-rtems4.11/newlib + make DESTDIR=$RPM_BUILD_ROOT install-info + cd ../../.. + +%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/arm-rtems4.11/%{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}/arm-rtems4.11-c++filt%{_exeext} + + + # We don't ship info/dir + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + + # Bug in gcc-3.4.0pre + rm -f $RPM_BUILD_ROOT%{_bindir}/arm-rtems4.11-arm-rtems4.11-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/arm-rtems4.11/%{gcc_version}/install-tools + rm -rf ${RPM_BUILD_ROOT}%{_libexecdir}/gcc/arm-rtems4.11/%{gcc_version}/install-tools + + # Bug in gcc > 4.1.0: Installs an unused, empty directory + if test -d ${RPM_BUILD_ROOT}%{_prefix}/arm-rtems4.11/include/bits; then + rmdir ${RPM_BUILD_ROOT}%{_prefix}/arm-rtems4.11/include/bits + fi + + # Collect multilib subdirectories + multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` + + echo "%defattr(-,root,root,-)" > build/files.newlib + TGTDIR="%{_exec_prefix}/arm-rtems4.11/lib" + for i in $multilibs; do + case $i in + \.) echo "%dir ${TGTDIR}" >> build/files.newlib + ;; + *) echo "%dir ${TGTDIR}/$i" >> build/files.newlib + ;; + esac + done + + rm -f dirs ; + echo "%defattr(-,root,root,-)" >> dirs + TGTDIR="%{_gcclibdir}/gcc/arm-rtems4.11/%{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++ + + TGTDIR="%{_gcclibdir}/gcc/arm-rtems4.11/%{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 ;; + *include/objc*) ;; + *include/g++*);; + *include/c++*);; + *include-fixed/*);; + *finclude/*);; + *adainclude*);; + *adalib*);; + *gnat1);; + *jc1) ;; + *jvgenmain) ;; + */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + */libstdc++.*) echo "$i" >> build/files.g++ ;; + */libsupc++.*) echo "$i" >> build/files.g++ ;; + *) echo "$i" >> build/files.gcc ;; + esac + done + + TGTDIR="%{_exec_prefix}/arm-rtems4.11/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 +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/arm-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/arm-rtems4.11/'} | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/arm-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/arm-rtems4.11/'} | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires + +%ifnarch noarch +# Extract %%__debug_install_post into debug_install_post~ +cat << \EOF > debug_install_post~ +%__debug_install_post +EOF + +# Generate customized debug_install_post script +cat debug_install_post~ | while read a x y; do +case $a in +# Prevent find-debuginfo.sh* from trying to handle foreign binaries +*/find-debuginfo.sh) + b=$(basename $a) + sed -e 's,find "$RPM_BUILD_ROOT" !,find "$RPM_BUILD_ROOT"%_bindir "$RPM_BUILD_ROOT"%_libexecdir !,' $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ +< debug_install_post~ > debug_install_post +%define __debug_install_post . ./debug_install_post + +%endif + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# rtems-4.11-arm-rtems4.11-gcc +# ============================================================== +# %package -n rtems-4.11-arm-rtems4.11-gcc +# Summary: GNU cc compiler for arm-rtems4.11 +# Group: Development/Tools +# Version: %{gcc_rpmvers} +# Requires: rtems-4.11-arm-rtems4.11-binutils +# Requires: rtems-4.11-arm-rtems4.11-newlib = %{newlib_version}-1%{?dist} +# License: GPL + +# %if %build_infos +# Requires: rtems-4.11-gcc-common +# %endif + +%description -n rtems-4.11-arm-rtems4.11-gcc +GNU cc compiler for arm-rtems4.11. + +# ============================================================== +# rtems-4.11-arm-rtems4.11-gcc-libgcc +# ============================================================== +%package -n rtems-4.11-arm-rtems4.11-gcc-libgcc +Summary: libgcc for arm-rtems4.11-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +Requires: rtems-4.11-arm-rtems4.11-newlib = %{newlib_version}-1%{?dist} +License: GPL + +%description -n rtems-4.11-arm-rtems4.11-gcc-libgcc +libgcc arm-rtems4.11-gcc. + + +%files -n rtems-4.11-arm-rtems4.11-gcc +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/arm-rtems4.11-gcc.1* +%{_mandir}/man1/arm-rtems4.11-cpp.1* +%{_mandir}/man1/arm-rtems4.11-gcov.1* + +%dir %{_bindir} +%{_bindir}/arm-rtems4.11-cpp%{_exeext} +%{_bindir}/arm-rtems4.11-gcc%{_exeext} +%{_bindir}/arm-rtems4.11-gcc-%{gcc_version}%{_exeext} +%{_bindir}/arm-rtems4.11-gcov%{_exeext} +%{_bindir}/arm-rtems4.11-gccbug + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/arm-rtems4.11 +%dir %{_libexecdir}/gcc/arm-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/arm-rtems4.11/%{gcc_version}/cc1%{_exeext} +%{_libexecdir}/gcc/arm-rtems4.11/%{gcc_version}/collect2%{_exeext} + + +%files -n rtems-4.11-arm-rtems4.11-gcc-libgcc -f build/files.gcc +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/arm-rtems4.11 +%dir %{_gcclibdir}/gcc/arm-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/arm-rtems4.11/%{gcc_version}/include + +%if "%{gcc_version}" > "4.0.3" +%if "arm-rtems4.11" != "bfin-rtems4.10" +%if "arm-rtems4.11" != "avr-rtems4.10" +%dir %{_gcclibdir}/gcc/arm-rtems4.11/%{gcc_version}/include/ssp +%endif +%endif +%endif + +%if "%{gcc_version}" >= "4.3.0" +%{_gcclibdir}/gcc/arm-rtems4.11/%{gcc_version}/include-fixed +%endif + +# ============================================================== +# rtems-4.11-gcc-common +# ============================================================== +%package -n rtems-4.11-gcc-common +Summary: Base package for rtems gcc and newlib C Library +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-gcc-common +GCC files that are shared by all targets. + +%files -n rtems-4.11-gcc-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/cpp.info* +%{_infodir}/cppinternals.info* +%{_infodir}/gcc.info* +%{_infodir}/gccint.info* +%{_infodir}/gccinstall.info* + +%dir %{_mandir} +%dir %{_mandir}/man7 +%{_mandir}/man7/fsf-funding.7* +%{_mandir}/man7/gfdl.7* +%{_mandir}/man7/gpl.7* + +%post -n rtems-4.11-gcc-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : + +%preun -n rtems-4.11-gcc-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : +fi + +# ============================================================== +# rtems-4.11-arm-rtems4.11-gcc-c++ +# ============================================================== +%package -n rtems-4.11-arm-rtems4.11-gcc-c++ +Summary: GCC c++ compiler for arm-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +License: GPL +Requires: rtems-4.11-arm-rtems4.11-gcc-libstdc++ = %{gcc_rpmvers}-%{release} + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-arm-rtems4.11-gcc-c++ = %{gcc_rpmvers} +%endif + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-arm-rtems4.11-gcc = %{gcc_rpmvers}-%{release} + +%description -n rtems-4.11-arm-rtems4.11-gcc-c++ +GCC c++ compiler for arm-rtems4.11. + + +%package -n rtems-4.11-arm-rtems4.11-gcc-libstdc++ +Summary: libstdc++ for arm-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +%description -n rtems-4.11-arm-rtems4.11-gcc-libstdc++ +%{summary} + + +%files -n rtems-4.11-arm-rtems4.11-gcc-c++ +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/arm-rtems4.11-g++.1* + +%dir %{_bindir} +%{_bindir}/arm-rtems4.11-c++%{_exeext} +%{_bindir}/arm-rtems4.11-g++%{_exeext} + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/arm-rtems4.11 +%dir %{_libexecdir}/gcc/arm-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/arm-rtems4.11/%{gcc_version}/cc1plus%{_exeext} + + +%files -n rtems-4.11-arm-rtems4.11-gcc-libstdc++ -f build/files.g++ +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/arm-rtems4.11 +%dir %{_gcclibdir}/gcc/arm-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/arm-rtems4.11/%{gcc_version}/include +%{_gcclibdir}/gcc/arm-rtems4.11/%{gcc_version}/include/c++ + + + +# ============================================================== +# rtems-4.11-arm-rtems4.11-newlib +# ============================================================== +%package -n rtems-4.11-arm-rtems4.11-newlib +Summary: C Library (newlib) for arm-rtems4.11 +Group: Development/Tools +License: Distributable +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires: rtems-4.11-newlib-common + +%description -n rtems-4.11-arm-rtems4.11-newlib +Newlib C Library for arm-rtems4.11. + +%files -n rtems-4.11-arm-rtems4.11-newlib -f build/files.newlib +%defattr(-,root,root) +%dir %{_exec_prefix} +%dir %{_exec_prefix}/arm-rtems4.11 +%{_exec_prefix}/arm-rtems4.11/include + +# ============================================================== +# rtems-4.11-newlib-common +# ============================================================== +%package -n rtems-4.11-newlib-common +Summary: Base package for RTEMS newlib C Library +Group: Development/Tools +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: Distributable + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-newlib-common +newlib files that are shared by all targets. + +%files -n rtems-4.11-newlib-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/libc.info* +%{_infodir}/libm.info* + +%post -n rtems-4.11-newlib-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : + +%preun -n rtems-4.11-newlib-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : +fi + diff --git a/contrib/crossrpms/rtems4.11/arm/rtems-4.11-arm-rtems4.11-gdb.spec b/contrib/crossrpms/rtems4.11/arm/rtems-4.11-arm-rtems4.11-gdb.spec new file mode 100644 index 0000000000..a82f06c1eb --- /dev/null +++ b/contrib/crossrpms/rtems4.11/arm/rtems-4.11-arm-rtems4.11-gdb.spec @@ -0,0 +1,319 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define gdb_version 7.0.90 +%define gdb_rpmvers %{expand:%(echo 7.0.90 | tr - _)} + +Name: rtems-4.11-arm-rtems4.11-gdb +Summary: Gdb for target arm-rtems4.11 +Group: Development/Tools +Version: %{gdb_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/gdb +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%define build_sim --enable-sim +%if "%{_build}" != "%{_host}" +# psim doesn't support Cdn-X +%if "arm-rtems4.11" == "powerpc-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%ifos mingw mingw32 +# Mingw lacks functions required by the simulator +%if "arm-rtems4.11" == "sparc-rtems4.10" +%define build_sim --disable-sim +%endif +%if "arm-rtems4.11" == "h8300-rtems4.10" +%define build_sim --disable-sim +%endif +%if "%{gdb_version}" >= "6.8.50" +%if "arm-rtems4.11" == "m32c-rtems4.10" +%define build_sim --disable-sim +%endif +%endif +%if "arm-rtems4.11" == "lm32-rtems4.10" +%define build_sim --disable-sim +%endif +%if "arm-rtems4.11" == "mipstx39-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%if "%{gdb_version}" >= "6.6" +# suse +%if "%{?suse}" >= "10.3" +BuildRequires: libexpat-devel +%else +# Fedora/CentOS/Cygwin/MinGW +BuildRequires: %{_host_rpmprefix}expat-devel +%endif +%endif + +%if "%{gdb_version}" < "6.7" +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}termcap-devel +%endif +%bcond_with system_readline +%else +%bcond_without system_readline +%endif +%{?with_system_readline:BuildRequires: %{_host_rpmprefix}readline-devel} +BuildRequires: %{_host_rpmprefix}ncurses-devel + +%if "%{gdb_version}" >= "6.8.50" +%if "%{_build}" != "%{_host}" +# Can't build python Cdn-X +%bcond_with python +%else +%bcond_without python +%endif +%endif +%{?with_python:BuildRequires: %{_host_rpmprefix}python-devel} + +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 + + +Requires: rtems-4.11-gdb-common + +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif + +%description +GDB for target arm-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd gdb-%{gdb_version} +%{?PATCH0:%patch0 -p1} +cd .. + +# Force using a system-provided libreadline +%{?with_system_readline:rm -f gdb-%{gdb_version}/readline/configure} +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../gdb-%{gdb_version}/configure \ + --build=%_build --host=%_host \ + --target=arm-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + %{build_sim} \ + %{?with_system_readline:--with-system-readline} \ +%if "%{gdb_version}" >= "6.6" + --with-expat \ +%endif +%if "%{gdb_version}" >= "6.8.50" +%if %{with python} + --with-python \ +%else + --without-python \ +%endif +%endif + --prefix=%{_prefix} --bindir=%{_bindir} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + +# These come from other packages + rm -rf $RPM_BUILD_ROOT%{_infodir}/bfd* + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure* + rm -rf $RPM_BUILD_ROOT%{_infodir}/standards* + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# host library, installed to a bogus directory + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libarm-rtems4.11-sim.a + +%if "%{gdb_version}" >= "7.0" +# Bug in gdb-7.0, bogusly installs linux-only files + somethinguseful=0 + for f in ${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls/*.xml; do + case $f in + *linux.xml) rm -f $f;; + *.xml) somethinguseful=1;; + esac + done + if test $somethinguseful -eq 0; then + rm -rf "${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls" + fi +%endif + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# arm-rtems4.11-gdb +# ============================================================== +# %package -n rtems-4.11-arm-rtems4.11-gdb +# Summary: rtems gdb for arm-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-gdb-common +# %endif + +%description -n rtems-4.11-arm-rtems4.11-gdb +GNU gdb targetting arm-rtems4.11. + +%files -n rtems-4.11-arm-rtems4.11-gdb +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/arm-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/arm-rtems4.11-* + +# ============================================================== +# rtems-4.11-gdb-common +# ============================================================== +%package -n rtems-4.11-gdb-common +Summary: Base package for RTEMS gdbs +Group: Development/Tools +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info +%{?_with_noarch_subpackages:BuildArch: noarch} + +%description -n rtems-4.11-gdb-common + +GDB files shared by all targets. + +%post -n rtems-4.11-gdb-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : + +%preun -n rtems-4.11-gdb-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : +fi + +%files -n rtems-4.11-gdb-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/gdb.info* + +%{_infodir}/gdbint.info* +%{_infodir}/stabs.info* +%{_infodir}/annotate.info* + diff --git a/contrib/crossrpms/rtems4.11/avr/.cvsignore b/contrib/crossrpms/rtems4.11/avr/.cvsignore new file mode 100644 index 0000000000..11289e9f57 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/avr/.cvsignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +*.spec.in diff --git a/contrib/crossrpms/rtems4.11/avr/Makefile.am b/contrib/crossrpms/rtems4.11/avr/Makefile.am new file mode 100644 index 0000000000..d1dd3ebede --- /dev/null +++ b/contrib/crossrpms/rtems4.11/avr/Makefile.am @@ -0,0 +1,32 @@ +# $Id$ + +TARGET = avr-rtems4.11 + +include $(top_srcdir)/mkspec.am + +BINUTILS_VERS = 2.20.1 +BINUTILS_PKGVERS = $(BINUTILS_VERS) +BINUTILS_RPMREL = 1 +include ../binutils.am +BINUTILS_OPTS += + +GCC_VERS = 4.4.3 +GCC_PKGVERS = $(GCC_VERS) +GCC_RPMREL = 1 +NEWLIB_VERS = 1.18.0 +NEWLIB_PKGVERS = $(NEWLIB_VERS) +NEWLIB_RPMREL = `expr $(GCC_RPMREL)` +include ../gcc.am +GCC_OPTS += + +GDB_VERS = 7.0.90 +GDB_PKGVERS = $(GDB_VERS) +GDB_RPMREL = 1 +include ../gdb.am +GDB_OPTS += + +CPUKIT_VERS = 4.9.99.0 +CPUKIT_PKGVERS = $(CPUKIT_VERS)-20090206-2 +CPUKIT_RPMREL = 1 +include ../cpukit.am +CPUKIT_OPTS += diff --git a/contrib/crossrpms/rtems4.11/avr/binutils-sources.add b/contrib/crossrpms/rtems4.11/avr/binutils-sources.add new file mode 100644 index 0000000000..5c4d63e3ef --- /dev/null +++ b/contrib/crossrpms/rtems4.11/avr/binutils-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff diff --git a/contrib/crossrpms/rtems4.11/avr/cpukit-sources.add b/contrib/crossrpms/rtems4.11/avr/cpukit-sources.add new file mode 100644 index 0000000000..763e672840 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/avr/cpukit-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} diff --git a/contrib/crossrpms/rtems4.11/avr/gcc-sources.add b/contrib/crossrpms/rtems4.11/avr/gcc-sources.add new file mode 100644 index 0000000000..c130209921 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/avr/gcc-sources.add @@ -0,0 +1,47 @@ +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if %build_cxx +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%endif +%if %build_fortran +Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-fortran-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 2} + +%endif +%if %build_gcj +Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-java-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 3} + +%endif +%if %build_gnat +Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-ada-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 4} + +%endif +%if %build_objc +Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-objc-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 5} + +%endif +%if %build_newlib +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} +%endif diff --git a/contrib/crossrpms/rtems4.11/avr/gdb-sources.add b/contrib/crossrpms/rtems4.11/avr/gdb-sources.add new file mode 100644 index 0000000000..e5fb99aa66 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/avr/gdb-sources.add @@ -0,0 +1,9 @@ +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif diff --git a/contrib/crossrpms/rtems4.11/avr/rtems-4.11-avr-rtems4.11-binutils.spec b/contrib/crossrpms/rtems4.11/avr/rtems-4.11-avr-rtems4.11-binutils.spec new file mode 100644 index 0000000000..69a3cff5bb --- /dev/null +++ b/contrib/crossrpms/rtems4.11/avr/rtems-4.11-avr-rtems4.11-binutils.spec @@ -0,0 +1,268 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define binutils_pkgvers 2.20.1 +%define binutils_version 2.20.1 +%define binutils_rpmvers %{expand:%(echo "2.20.1" | tr - _ )} + +Name: rtems-4.11-avr-rtems4.11-binutils +Summary: Binutils for target avr-rtems4.11 +Group: Development/Tools +Version: %{binutils_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/binutils +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{binutils_version}" >= "2.18" +# Bug in bfd: Doesn't build without texinfo installed +BuildRequires: texinfo >= 4.2 +%else +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 +%endif +BuildRequires: flex +BuildRequires: bison + +Requires: rtems-4.11-binutils-common + +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff + +%description +Cross binutils for target avr-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd binutils-%{binutils_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../binutils-%{binutils_pkgvers}/configure \ + --build=%_build --host=%_host \ + --target=avr-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + --prefix=%{_prefix} --bindir=%{_bindir} \ + --exec-prefix=%{_exec_prefix} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + 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} \ + exec_prefix=$RPM_BUILD_ROOT%{_exec_prefix} \ + install-info + +# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it. + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info* + + 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 + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# manpages without corresponding tools + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/avr-rtems4.11-dlltool%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/avr-rtems4.11-dlltool* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/avr-rtems4.11-nlmconv%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/avr-rtems4.11-nlmconv* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/avr-rtems4.11-windres%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/avr-rtems4.11-windres* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/avr-rtems4.11-windmc%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/avr-rtems4.11-windmc* + fi + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# avr-rtems4.11-binutils +# ============================================================== +# %package -n rtems-4.11-avr-rtems4.11-binutils +# Summary: rtems binutils for avr-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-binutils-common +# %endif + +%description -n rtems-4.11-avr-rtems4.11-binutils +GNU binutils targetting avr-rtems4.11. + +%files -n rtems-4.11-avr-rtems4.11-binutils +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_datarootdir} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/avr-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/avr-rtems4.11-* + +%dir %{_exec_prefix}/avr-rtems4.11 +%dir %{_exec_prefix}/avr-rtems4.11/bin +%{_exec_prefix}/avr-rtems4.11/bin/* + +%dir %{_exec_prefix}/avr-rtems4.11/lib +%{_exec_prefix}/avr-rtems4.11/lib/ldscripts +# ============================================================== +# rtems-4.11-binutils-common +# ============================================================== +%package -n rtems-4.11-binutils-common +Summary: Base package for RTEMS binutils +Group: Development/Tools +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-binutils-common + +RTEMS is an open source operating system for embedded systems. + +This is the base for binutils regardless of target CPU. + +%post -n rtems-4.11-binutils-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : + +%preun -n rtems-4.11-binutils-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : +fi + +%files -n rtems-4.11-binutils-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/as.info* +%{_infodir}/bfd.info* +%{_infodir}/binutils.info* +%{_infodir}/ld.info* +%{_infodir}/standards.info* +%{_infodir}/gprof.info* + +%dir %{_prefix}/share +%dir %{_prefix}/share/locale + diff --git a/contrib/crossrpms/rtems4.11/avr/rtems-4.11-avr-rtems4.11-cpukit.spec b/contrib/crossrpms/rtems4.11/avr/rtems-4.11-avr-rtems4.11-cpukit.spec new file mode 100644 index 0000000000..f159762725 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/avr/rtems-4.11-avr-rtems4.11-cpukit.spec @@ -0,0 +1,158 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define cpukit_pkgvers 4.9.99.0-20090206-2 +%define cpukit_version 4.9.99.0 +%define cpukit_rpmvers %{expand:%(echo "4.9.99.0-20090206-2" | tr - . )} + +Name: rtems-4.11-avr-rtems4.11-cpukit +Summary: avr-rtems4.11 cpukit + +Group: Development/Tools +Version: %{cpukit_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://cpukit.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch + +%define debug_package %{nil} + +BuildRequires: rtems-4.11-avr-rtems4.11-gcc + +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} + +%description +RTEMS cpukit for avr-rtems4.11. +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 + + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + + cd build + ../rtems-%{cpukit_version}/configure \ + --prefix=%{_prefix} \ + --target=avr-rtems4.11 \ + --enable-multilib \ + --disable-rtemsbsp + + make all RTEMS_BSP= + cd .. + +%install + rm -rf $RPM_BUILD_ROOT + export PATH="%{_bindir}:${PATH}" + cd build + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + rm -rf $RPM_BUILD_ROOT%{_prefix}/share/man + rm -rf $RPM_BUILD_ROOT%{_prefix}/bin +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{version}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/avr-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/avr-rtems4.11/' | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-provides +%define __find_provides %{_builddir}/%{name}-%{version}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{version}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/avr-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/avr-rtems4.11/' | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-requires +%define __find_requires %{_builddir}/%{name}-%{version}/find-requires + +%clean + rm -rf $RPM_BUILD_ROOT + +%description -n rtems-4.11-avr-rtems4.11-cpukit +RTEMS cpukit for target avr-rtems4.11. + +%files -n rtems-4.11-avr-rtems4.11-cpukit +%defattr(-,root,root) +%dir %{_prefix} +%{_prefix}/avr-rtems4.11 +# Violates the FHS +%exclude %{_prefix}/make diff --git a/contrib/crossrpms/rtems4.11/avr/rtems-4.11-avr-rtems4.11-gcc.spec b/contrib/crossrpms/rtems4.11/avr/rtems-4.11-avr-rtems4.11-gcc.spec new file mode 100644 index 0000000000..dffc2d8a21 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/avr/rtems-4.11-avr-rtems4.11-gcc.spec @@ -0,0 +1,645 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define gcc_pkgvers 4.4.3 +%define gcc_version 4.4.3 +%define gcc_rpmvers %{expand:%(echo "4.4.3" | tr - _ )} + +%define newlib_pkgvers 1.18.0 +%define newlib_version 1.18.0 + +Name: rtems-4.11-avr-rtems4.11-gcc +Summary: avr-rtems4.11 gcc + +Group: Development/Tools +Version: %{gcc_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://gcc.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%define _use_internal_dependency_generator 0 + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{gcc_version}" >= "4.3.0" +%define _gmp_minvers 4.1 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif + +%if %{defined _gmp_minvers} +BuildRequires: gmp-devel >= %{_gmp_minvers} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%endif +%endif + +%if "%{gcc_version}" >= "4.3.3" +%define _cloog_minvers 0.15 +%endif + +%if %{defined _cloog_minvers} +%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%endif + +%if "%{gcc_version}" >= "4.4.0" +%define _mpfr_minvers 2.3.2 +%define mpfr_version 2.4.1 +%else +%if "%{gcc_version}" >= "4.3.0" +%define _mpfr_minvers 2.3.1 +%define mpfr_version 2.3.2 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif +%endif + +%if %{defined _mpfr_minvers} +# FIXME: This is an ugly cludge +%{?fc11:%global mpfr_provided 2.4.1} +%{?fc12:%global mpfr_provided 2.4.1} +%{?fc13:%global mpfr_provided 2.4.1} +%{?suse11_0:%global mpfr_provided 2.3.1} +%{?suse11_1:%global mpfr_provided 2.3.2} +%{?suse11_2:%global mpfr_provided 2.4.1} +%{?cygwin:%global mpfr_provided 2.4.1} +%{?mingw32:%global mpfr_provided %{nil}} + +%if %{defined mpfr_provided} +%if "%{mpfr_provided}" < "%{_mpfr_minvers}" +%define _build_mpfr 1 +%else +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +%else +BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%endif +%endif +%else +%define _build_mpfr 1 +%endif + +%endif + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-avr-rtems4.11-gcc = %{gcc_rpmvers} +%endif + +%if "%{gcc_version}" >= "4.2.0" +BuildRequires: flex bison +%endif + + +BuildRequires: texinfo >= 4.2 +BuildRequires: rtems-4.11-avr-rtems4.11-binutils + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-avr-rtems4.11-binutils +Requires: rtems-4.11-avr-rtems4.11-gcc-libgcc = %{gcc_rpmvers}-%{release} +Requires: rtems-4.11-avr-rtems4.11-newlib = %{newlib_version}-1%{?dist} + + +%define _gcclibdir %{_prefix}/lib + +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} + +%if "%{gcc_version}" >= "4.3.0" +Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 +%endif + +%description +Cross gcc for avr-rtems4.11. + +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 +%{?PATCH0:%patch0 -p0} + + + + + + +%setup -q -T -D -n %{name}-%{version} -a50 +cd newlib-%{newlib_version} +%{?PATCH50:%patch50 -p1} +cd .. + # Copy the C library into gcc's source tree + ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_pkgvers} + +%if 0%{?_build_mpfr} +%setup -q -T -D -n %{name}-%{version} -a60 +%{?PATCH60:%patch60 -p1} + # Build mpfr one-tree style + ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr +%endif + +echo "RTEMS gcc-%{gcc_version}-1%{?dist}/newlib-%{newlib_version}-1%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE + + + # Fix timestamps + cd gcc-%{gcc_pkgvers} + contrib/gcc_update --touch + cd .. +%build + mkdir -p build + + cd build + + languages="c" + export PATH="%{_bindir}:${PATH}" +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ + CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \ +%else +# gcc is not ready to be compiled with -std=gnu99 + CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \ +%endif + ../gcc-%{gcc_pkgvers}/configure \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --exec_prefix=%{_exec_prefix} \ + --includedir=%{_includedir} \ + --libdir=%{_gcclibdir} \ + --libexecdir=%{_libexecdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} \ + --datadir=%{_datadir} \ + --build=%_build --host=%_host \ + --target=avr-rtems4.11 \ + --disable-libstdcxx-pch \ + --with-gnu-as --with-gnu-ld --verbose \ + --with-newlib \ + --with-system-zlib \ + --disable-nls --without-included-gettext \ + --disable-win32-registry \ + --enable-version-specific-runtime-libs \ + --enable-threads \ + --enable-newlib-io-c99-formats \ + --enable-languages="$languages" $optargs + +%if "%_host" != "%_build" + # Bug in gcc-3.2.1: + # Somehow, gcc doesn't get syslimits.h right for Cdn-Xs + mkdir -p gcc/include + cp ../gcc-%{gcc_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h +%endif + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + cd build/avr-rtems4.11/newlib + make DESTDIR=$RPM_BUILD_ROOT install-info + cd ../../.. + +%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/avr-rtems4.11/%{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}/avr-rtems4.11-c++filt%{_exeext} + + + # We don't ship info/dir + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + + # Bug in gcc-3.4.0pre + rm -f $RPM_BUILD_ROOT%{_bindir}/avr-rtems4.11-avr-rtems4.11-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/avr-rtems4.11/%{gcc_version}/install-tools + rm -rf ${RPM_BUILD_ROOT}%{_libexecdir}/gcc/avr-rtems4.11/%{gcc_version}/install-tools + + # Bug in gcc > 4.1.0: Installs an unused, empty directory + if test -d ${RPM_BUILD_ROOT}%{_prefix}/avr-rtems4.11/include/bits; then + rmdir ${RPM_BUILD_ROOT}%{_prefix}/avr-rtems4.11/include/bits + fi + + # Collect multilib subdirectories + multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` + + echo "%defattr(-,root,root,-)" > build/files.newlib + TGTDIR="%{_exec_prefix}/avr-rtems4.11/lib" + for i in $multilibs; do + case $i in + \.) echo "%dir ${TGTDIR}" >> build/files.newlib + ;; + *) echo "%dir ${TGTDIR}/$i" >> build/files.newlib + ;; + esac + done + + rm -f dirs ; + echo "%defattr(-,root,root,-)" >> dirs + TGTDIR="%{_gcclibdir}/gcc/avr-rtems4.11/%{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++ + + TGTDIR="%{_gcclibdir}/gcc/avr-rtems4.11/%{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 ;; + *include/objc*) ;; + *include/g++*);; + *include/c++*);; + *include-fixed/*);; + *finclude/*);; + *adainclude*);; + *adalib*);; + *gnat1);; + *jc1) ;; + *jvgenmain) ;; + */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + */libstdc++.*) echo "$i" >> build/files.g++ ;; + */libsupc++.*) echo "$i" >> build/files.g++ ;; + *) echo "$i" >> build/files.gcc ;; + esac + done + + TGTDIR="%{_exec_prefix}/avr-rtems4.11/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 +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/avr-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/avr-rtems4.11/'} | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/avr-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/avr-rtems4.11/'} | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires + +%ifnarch noarch +# Extract %%__debug_install_post into debug_install_post~ +cat << \EOF > debug_install_post~ +%__debug_install_post +EOF + +# Generate customized debug_install_post script +cat debug_install_post~ | while read a x y; do +case $a in +# Prevent find-debuginfo.sh* from trying to handle foreign binaries +*/find-debuginfo.sh) + b=$(basename $a) + sed -e 's,find "$RPM_BUILD_ROOT" !,find "$RPM_BUILD_ROOT"%_bindir "$RPM_BUILD_ROOT"%_libexecdir !,' $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ +< debug_install_post~ > debug_install_post +%define __debug_install_post . ./debug_install_post + +%endif + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# rtems-4.11-avr-rtems4.11-gcc +# ============================================================== +# %package -n rtems-4.11-avr-rtems4.11-gcc +# Summary: GNU cc compiler for avr-rtems4.11 +# Group: Development/Tools +# Version: %{gcc_rpmvers} +# Requires: rtems-4.11-avr-rtems4.11-binutils +# Requires: rtems-4.11-avr-rtems4.11-newlib = %{newlib_version}-1%{?dist} +# License: GPL + +# %if %build_infos +# Requires: rtems-4.11-gcc-common +# %endif + +%description -n rtems-4.11-avr-rtems4.11-gcc +GNU cc compiler for avr-rtems4.11. + +# ============================================================== +# rtems-4.11-avr-rtems4.11-gcc-libgcc +# ============================================================== +%package -n rtems-4.11-avr-rtems4.11-gcc-libgcc +Summary: libgcc for avr-rtems4.11-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +Requires: rtems-4.11-avr-rtems4.11-newlib = %{newlib_version}-1%{?dist} +License: GPL + +%description -n rtems-4.11-avr-rtems4.11-gcc-libgcc +libgcc avr-rtems4.11-gcc. + + +%files -n rtems-4.11-avr-rtems4.11-gcc +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/avr-rtems4.11-gcc.1* +%{_mandir}/man1/avr-rtems4.11-cpp.1* +%{_mandir}/man1/avr-rtems4.11-gcov.1* + +%dir %{_bindir} +%{_bindir}/avr-rtems4.11-cpp%{_exeext} +%{_bindir}/avr-rtems4.11-gcc%{_exeext} +%{_bindir}/avr-rtems4.11-gcc-%{gcc_version}%{_exeext} +%{_bindir}/avr-rtems4.11-gcov%{_exeext} +%{_bindir}/avr-rtems4.11-gccbug + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/avr-rtems4.11 +%dir %{_libexecdir}/gcc/avr-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/avr-rtems4.11/%{gcc_version}/cc1%{_exeext} +%{_libexecdir}/gcc/avr-rtems4.11/%{gcc_version}/collect2%{_exeext} + + +%files -n rtems-4.11-avr-rtems4.11-gcc-libgcc -f build/files.gcc +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/avr-rtems4.11 +%dir %{_gcclibdir}/gcc/avr-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/avr-rtems4.11/%{gcc_version}/include + +%if "%{gcc_version}" > "4.0.3" +%if "avr-rtems4.11" != "bfin-rtems4.10" +%if "avr-rtems4.11" != "avr-rtems4.10" +%dir %{_gcclibdir}/gcc/avr-rtems4.11/%{gcc_version}/include/ssp +%endif +%endif +%endif + +%if "%{gcc_version}" >= "4.3.0" +%{_gcclibdir}/gcc/avr-rtems4.11/%{gcc_version}/include-fixed +%endif + +# ============================================================== +# rtems-4.11-gcc-common +# ============================================================== +%package -n rtems-4.11-gcc-common +Summary: Base package for rtems gcc and newlib C Library +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-gcc-common +GCC files that are shared by all targets. + +%files -n rtems-4.11-gcc-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/cpp.info* +%{_infodir}/cppinternals.info* +%{_infodir}/gcc.info* +%{_infodir}/gccint.info* +%{_infodir}/gccinstall.info* + +%dir %{_mandir} +%dir %{_mandir}/man7 +%{_mandir}/man7/fsf-funding.7* +%{_mandir}/man7/gfdl.7* +%{_mandir}/man7/gpl.7* + +%post -n rtems-4.11-gcc-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : + +%preun -n rtems-4.11-gcc-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : +fi + + + + +# ============================================================== +# rtems-4.11-avr-rtems4.11-newlib +# ============================================================== +%package -n rtems-4.11-avr-rtems4.11-newlib +Summary: C Library (newlib) for avr-rtems4.11 +Group: Development/Tools +License: Distributable +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires: rtems-4.11-newlib-common + +%description -n rtems-4.11-avr-rtems4.11-newlib +Newlib C Library for avr-rtems4.11. + +%files -n rtems-4.11-avr-rtems4.11-newlib -f build/files.newlib +%defattr(-,root,root) +%dir %{_exec_prefix} +%dir %{_exec_prefix}/avr-rtems4.11 +%{_exec_prefix}/avr-rtems4.11/include + +# ============================================================== +# rtems-4.11-newlib-common +# ============================================================== +%package -n rtems-4.11-newlib-common +Summary: Base package for RTEMS newlib C Library +Group: Development/Tools +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: Distributable + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-newlib-common +newlib files that are shared by all targets. + +%files -n rtems-4.11-newlib-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/libc.info* +%{_infodir}/libm.info* + +%post -n rtems-4.11-newlib-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : + +%preun -n rtems-4.11-newlib-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : +fi + diff --git a/contrib/crossrpms/rtems4.11/avr/rtems-4.11-avr-rtems4.11-gdb.spec b/contrib/crossrpms/rtems4.11/avr/rtems-4.11-avr-rtems4.11-gdb.spec new file mode 100644 index 0000000000..c21073dc5d --- /dev/null +++ b/contrib/crossrpms/rtems4.11/avr/rtems-4.11-avr-rtems4.11-gdb.spec @@ -0,0 +1,319 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define gdb_version 7.0.90 +%define gdb_rpmvers %{expand:%(echo 7.0.90 | tr - _)} + +Name: rtems-4.11-avr-rtems4.11-gdb +Summary: Gdb for target avr-rtems4.11 +Group: Development/Tools +Version: %{gdb_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/gdb +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%define build_sim --enable-sim +%if "%{_build}" != "%{_host}" +# psim doesn't support Cdn-X +%if "avr-rtems4.11" == "powerpc-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%ifos mingw mingw32 +# Mingw lacks functions required by the simulator +%if "avr-rtems4.11" == "sparc-rtems4.10" +%define build_sim --disable-sim +%endif +%if "avr-rtems4.11" == "h8300-rtems4.10" +%define build_sim --disable-sim +%endif +%if "%{gdb_version}" >= "6.8.50" +%if "avr-rtems4.11" == "m32c-rtems4.10" +%define build_sim --disable-sim +%endif +%endif +%if "avr-rtems4.11" == "lm32-rtems4.10" +%define build_sim --disable-sim +%endif +%if "avr-rtems4.11" == "mipstx39-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%if "%{gdb_version}" >= "6.6" +# suse +%if "%{?suse}" >= "10.3" +BuildRequires: libexpat-devel +%else +# Fedora/CentOS/Cygwin/MinGW +BuildRequires: %{_host_rpmprefix}expat-devel +%endif +%endif + +%if "%{gdb_version}" < "6.7" +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}termcap-devel +%endif +%bcond_with system_readline +%else +%bcond_without system_readline +%endif +%{?with_system_readline:BuildRequires: %{_host_rpmprefix}readline-devel} +BuildRequires: %{_host_rpmprefix}ncurses-devel + +%if "%{gdb_version}" >= "6.8.50" +%if "%{_build}" != "%{_host}" +# Can't build python Cdn-X +%bcond_with python +%else +%bcond_without python +%endif +%endif +%{?with_python:BuildRequires: %{_host_rpmprefix}python-devel} + +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 + + +Requires: rtems-4.11-gdb-common + +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif + +%description +GDB for target avr-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd gdb-%{gdb_version} +%{?PATCH0:%patch0 -p1} +cd .. + +# Force using a system-provided libreadline +%{?with_system_readline:rm -f gdb-%{gdb_version}/readline/configure} +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../gdb-%{gdb_version}/configure \ + --build=%_build --host=%_host \ + --target=avr-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + %{build_sim} \ + %{?with_system_readline:--with-system-readline} \ +%if "%{gdb_version}" >= "6.6" + --with-expat \ +%endif +%if "%{gdb_version}" >= "6.8.50" +%if %{with python} + --with-python \ +%else + --without-python \ +%endif +%endif + --prefix=%{_prefix} --bindir=%{_bindir} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + +# These come from other packages + rm -rf $RPM_BUILD_ROOT%{_infodir}/bfd* + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure* + rm -rf $RPM_BUILD_ROOT%{_infodir}/standards* + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# host library, installed to a bogus directory + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libavr-rtems4.11-sim.a + +%if "%{gdb_version}" >= "7.0" +# Bug in gdb-7.0, bogusly installs linux-only files + somethinguseful=0 + for f in ${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls/*.xml; do + case $f in + *linux.xml) rm -f $f;; + *.xml) somethinguseful=1;; + esac + done + if test $somethinguseful -eq 0; then + rm -rf "${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls" + fi +%endif + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# avr-rtems4.11-gdb +# ============================================================== +# %package -n rtems-4.11-avr-rtems4.11-gdb +# Summary: rtems gdb for avr-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-gdb-common +# %endif + +%description -n rtems-4.11-avr-rtems4.11-gdb +GNU gdb targetting avr-rtems4.11. + +%files -n rtems-4.11-avr-rtems4.11-gdb +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/avr-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/avr-rtems4.11-* + +# ============================================================== +# rtems-4.11-gdb-common +# ============================================================== +%package -n rtems-4.11-gdb-common +Summary: Base package for RTEMS gdbs +Group: Development/Tools +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info +%{?_with_noarch_subpackages:BuildArch: noarch} + +%description -n rtems-4.11-gdb-common + +GDB files shared by all targets. + +%post -n rtems-4.11-gdb-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : + +%preun -n rtems-4.11-gdb-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : +fi + +%files -n rtems-4.11-gdb-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/gdb.info* + +%{_infodir}/gdbint.info* +%{_infodir}/stabs.info* +%{_infodir}/annotate.info* + diff --git a/contrib/crossrpms/rtems4.11/bfin/.cvsignore b/contrib/crossrpms/rtems4.11/bfin/.cvsignore new file mode 100644 index 0000000000..11289e9f57 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/bfin/.cvsignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +*.spec.in diff --git a/contrib/crossrpms/rtems4.11/bfin/Makefile.am b/contrib/crossrpms/rtems4.11/bfin/Makefile.am new file mode 100644 index 0000000000..6aca0398e1 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/bfin/Makefile.am @@ -0,0 +1,32 @@ +# $Id$ + +TARGET = bfin-rtems4.11 + +include $(top_srcdir)/mkspec.am + +BINUTILS_VERS = 2.20.1 +BINUTILS_PKGVERS = $(BINUTILS_VERS) +BINUTILS_RPMREL = 1 +include ../binutils.am +BINUTILS_OPTS += + +GCC_VERS = 4.4.3 +GCC_PKGVERS = $(GCC_VERS) +GCC_RPMREL = 1 +NEWLIB_VERS = 1.18.0 +NEWLIB_PKGVERS = $(NEWLIB_VERS) +NEWLIB_RPMREL = `expr $(GCC_RPMREL)` +include ../gcc.am +GCC_OPTS += --languages=cxx + +GDB_VERS = 6.5 +GDB_PKGVERS = $(GDB_VERS) +GDB_RPMREL = 1 +include ../gdb.am +GDB_OPTS += --disable-infos + +CPUKIT_VERS = 4.9.99.0 +CPUKIT_PKGVERS = $(CPUKIT_VERS)-20090206-2 +CPUKIT_RPMREL = 1 +include ../cpukit.am +CPUKIT_OPTS += diff --git a/contrib/crossrpms/rtems4.11/bfin/binutils-sources.add b/contrib/crossrpms/rtems4.11/bfin/binutils-sources.add new file mode 100644 index 0000000000..5c4d63e3ef --- /dev/null +++ b/contrib/crossrpms/rtems4.11/bfin/binutils-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff diff --git a/contrib/crossrpms/rtems4.11/bfin/cpukit-sources.add b/contrib/crossrpms/rtems4.11/bfin/cpukit-sources.add new file mode 100644 index 0000000000..763e672840 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/bfin/cpukit-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} diff --git a/contrib/crossrpms/rtems4.11/bfin/gcc-sources.add b/contrib/crossrpms/rtems4.11/bfin/gcc-sources.add new file mode 100644 index 0000000000..c130209921 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/bfin/gcc-sources.add @@ -0,0 +1,47 @@ +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if %build_cxx +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%endif +%if %build_fortran +Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-fortran-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 2} + +%endif +%if %build_gcj +Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-java-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 3} + +%endif +%if %build_gnat +Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-ada-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 4} + +%endif +%if %build_objc +Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-objc-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 5} + +%endif +%if %build_newlib +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} +%endif diff --git a/contrib/crossrpms/rtems4.11/bfin/gdb-sources.add b/contrib/crossrpms/rtems4.11/bfin/gdb-sources.add new file mode 100644 index 0000000000..79f6651c12 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/bfin/gdb-sources.add @@ -0,0 +1,3 @@ +Source0: ftp://ftp.gnu.org/pub/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +%{?_without_sources:NoSource: 0} +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-6.5-bfinrtems-20090122.diff diff --git a/contrib/crossrpms/rtems4.11/bfin/rtems-4.11-bfin-rtems4.11-binutils.spec b/contrib/crossrpms/rtems4.11/bfin/rtems-4.11-bfin-rtems4.11-binutils.spec new file mode 100644 index 0000000000..5c51ee0371 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/bfin/rtems-4.11-bfin-rtems4.11-binutils.spec @@ -0,0 +1,268 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define binutils_pkgvers 2.20.1 +%define binutils_version 2.20.1 +%define binutils_rpmvers %{expand:%(echo "2.20.1" | tr - _ )} + +Name: rtems-4.11-bfin-rtems4.11-binutils +Summary: Binutils for target bfin-rtems4.11 +Group: Development/Tools +Version: %{binutils_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/binutils +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{binutils_version}" >= "2.18" +# Bug in bfd: Doesn't build without texinfo installed +BuildRequires: texinfo >= 4.2 +%else +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 +%endif +BuildRequires: flex +BuildRequires: bison + +Requires: rtems-4.11-binutils-common + +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff + +%description +Cross binutils for target bfin-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd binutils-%{binutils_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../binutils-%{binutils_pkgvers}/configure \ + --build=%_build --host=%_host \ + --target=bfin-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + --prefix=%{_prefix} --bindir=%{_bindir} \ + --exec-prefix=%{_exec_prefix} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + 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} \ + exec_prefix=$RPM_BUILD_ROOT%{_exec_prefix} \ + install-info + +# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it. + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info* + + 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 + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# manpages without corresponding tools + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/bfin-rtems4.11-dlltool%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/bfin-rtems4.11-dlltool* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/bfin-rtems4.11-nlmconv%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/bfin-rtems4.11-nlmconv* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/bfin-rtems4.11-windres%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/bfin-rtems4.11-windres* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/bfin-rtems4.11-windmc%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/bfin-rtems4.11-windmc* + fi + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# bfin-rtems4.11-binutils +# ============================================================== +# %package -n rtems-4.11-bfin-rtems4.11-binutils +# Summary: rtems binutils for bfin-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-binutils-common +# %endif + +%description -n rtems-4.11-bfin-rtems4.11-binutils +GNU binutils targetting bfin-rtems4.11. + +%files -n rtems-4.11-bfin-rtems4.11-binutils +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_datarootdir} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/bfin-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/bfin-rtems4.11-* + +%dir %{_exec_prefix}/bfin-rtems4.11 +%dir %{_exec_prefix}/bfin-rtems4.11/bin +%{_exec_prefix}/bfin-rtems4.11/bin/* + +%dir %{_exec_prefix}/bfin-rtems4.11/lib +%{_exec_prefix}/bfin-rtems4.11/lib/ldscripts +# ============================================================== +# rtems-4.11-binutils-common +# ============================================================== +%package -n rtems-4.11-binutils-common +Summary: Base package for RTEMS binutils +Group: Development/Tools +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-binutils-common + +RTEMS is an open source operating system for embedded systems. + +This is the base for binutils regardless of target CPU. + +%post -n rtems-4.11-binutils-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : + +%preun -n rtems-4.11-binutils-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : +fi + +%files -n rtems-4.11-binutils-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/as.info* +%{_infodir}/bfd.info* +%{_infodir}/binutils.info* +%{_infodir}/ld.info* +%{_infodir}/standards.info* +%{_infodir}/gprof.info* + +%dir %{_prefix}/share +%dir %{_prefix}/share/locale + diff --git a/contrib/crossrpms/rtems4.11/bfin/rtems-4.11-bfin-rtems4.11-cpukit.spec b/contrib/crossrpms/rtems4.11/bfin/rtems-4.11-bfin-rtems4.11-cpukit.spec new file mode 100644 index 0000000000..5a6acb445c --- /dev/null +++ b/contrib/crossrpms/rtems4.11/bfin/rtems-4.11-bfin-rtems4.11-cpukit.spec @@ -0,0 +1,158 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define cpukit_pkgvers 4.9.99.0-20090206-2 +%define cpukit_version 4.9.99.0 +%define cpukit_rpmvers %{expand:%(echo "4.9.99.0-20090206-2" | tr - . )} + +Name: rtems-4.11-bfin-rtems4.11-cpukit +Summary: bfin-rtems4.11 cpukit + +Group: Development/Tools +Version: %{cpukit_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://cpukit.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch + +%define debug_package %{nil} + +BuildRequires: rtems-4.11-bfin-rtems4.11-gcc + +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} + +%description +RTEMS cpukit for bfin-rtems4.11. +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 + + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + + cd build + ../rtems-%{cpukit_version}/configure \ + --prefix=%{_prefix} \ + --target=bfin-rtems4.11 \ + --enable-multilib \ + --disable-rtemsbsp + + make all RTEMS_BSP= + cd .. + +%install + rm -rf $RPM_BUILD_ROOT + export PATH="%{_bindir}:${PATH}" + cd build + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + rm -rf $RPM_BUILD_ROOT%{_prefix}/share/man + rm -rf $RPM_BUILD_ROOT%{_prefix}/bin +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{version}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/bfin-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/bfin-rtems4.11/' | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-provides +%define __find_provides %{_builddir}/%{name}-%{version}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{version}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/bfin-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/bfin-rtems4.11/' | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-requires +%define __find_requires %{_builddir}/%{name}-%{version}/find-requires + +%clean + rm -rf $RPM_BUILD_ROOT + +%description -n rtems-4.11-bfin-rtems4.11-cpukit +RTEMS cpukit for target bfin-rtems4.11. + +%files -n rtems-4.11-bfin-rtems4.11-cpukit +%defattr(-,root,root) +%dir %{_prefix} +%{_prefix}/bfin-rtems4.11 +# Violates the FHS +%exclude %{_prefix}/make diff --git a/contrib/crossrpms/rtems4.11/bfin/rtems-4.11-bfin-rtems4.11-gcc.spec b/contrib/crossrpms/rtems4.11/bfin/rtems-4.11-bfin-rtems4.11-gcc.spec new file mode 100644 index 0000000000..90a44ce1d2 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/bfin/rtems-4.11-bfin-rtems4.11-gcc.spec @@ -0,0 +1,716 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define gcc_pkgvers 4.4.3 +%define gcc_version 4.4.3 +%define gcc_rpmvers %{expand:%(echo "4.4.3" | tr - _ )} + +%define newlib_pkgvers 1.18.0 +%define newlib_version 1.18.0 + +Name: rtems-4.11-bfin-rtems4.11-gcc +Summary: bfin-rtems4.11 gcc + +Group: Development/Tools +Version: %{gcc_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://gcc.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%define _use_internal_dependency_generator 0 + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{gcc_version}" >= "4.3.0" +%define _gmp_minvers 4.1 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif + +%if %{defined _gmp_minvers} +BuildRequires: gmp-devel >= %{_gmp_minvers} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%endif +%endif + +%if "%{gcc_version}" >= "4.3.3" +%define _cloog_minvers 0.15 +%endif + +%if %{defined _cloog_minvers} +%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%endif + +%if "%{gcc_version}" >= "4.4.0" +%define _mpfr_minvers 2.3.2 +%define mpfr_version 2.4.1 +%else +%if "%{gcc_version}" >= "4.3.0" +%define _mpfr_minvers 2.3.1 +%define mpfr_version 2.3.2 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif +%endif + +%if %{defined _mpfr_minvers} +# FIXME: This is an ugly cludge +%{?fc11:%global mpfr_provided 2.4.1} +%{?fc12:%global mpfr_provided 2.4.1} +%{?fc13:%global mpfr_provided 2.4.1} +%{?suse11_0:%global mpfr_provided 2.3.1} +%{?suse11_1:%global mpfr_provided 2.3.2} +%{?suse11_2:%global mpfr_provided 2.4.1} +%{?cygwin:%global mpfr_provided 2.4.1} +%{?mingw32:%global mpfr_provided %{nil}} + +%if %{defined mpfr_provided} +%if "%{mpfr_provided}" < "%{_mpfr_minvers}" +%define _build_mpfr 1 +%else +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +%else +BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%endif +%endif +%else +%define _build_mpfr 1 +%endif + +%endif + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-bfin-rtems4.11-gcc = %{gcc_rpmvers} +%endif + +%if "%{gcc_version}" >= "4.2.0" +BuildRequires: flex bison +%endif + + +BuildRequires: texinfo >= 4.2 +BuildRequires: rtems-4.11-bfin-rtems4.11-binutils + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-bfin-rtems4.11-binutils +Requires: rtems-4.11-bfin-rtems4.11-gcc-libgcc = %{gcc_rpmvers}-%{release} +Requires: rtems-4.11-bfin-rtems4.11-newlib = %{newlib_version}-1%{?dist} + + +%define _gcclibdir %{_prefix}/lib + +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} + +%if "%{gcc_version}" >= "4.3.0" +Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 +%endif + +%description +Cross gcc for bfin-rtems4.11. + +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 +%{?PATCH0:%patch0 -p0} + +%setup -q -T -D -n %{name}-%{version} -a1 +%{?PATCH1:%patch1 -p0} + + + + + +%setup -q -T -D -n %{name}-%{version} -a50 +cd newlib-%{newlib_version} +%{?PATCH50:%patch50 -p1} +cd .. + # Copy the C library into gcc's source tree + ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_pkgvers} + +%if 0%{?_build_mpfr} +%setup -q -T -D -n %{name}-%{version} -a60 +%{?PATCH60:%patch60 -p1} + # Build mpfr one-tree style + ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr +%endif + +echo "RTEMS gcc-%{gcc_version}-1%{?dist}/newlib-%{newlib_version}-1%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE + + + # Fix timestamps + cd gcc-%{gcc_pkgvers} + contrib/gcc_update --touch + cd .. +%build + mkdir -p build + + cd build + + languages="c" + languages="$languages,c++" + export PATH="%{_bindir}:${PATH}" +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ + CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \ +%else +# gcc is not ready to be compiled with -std=gnu99 + CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \ +%endif + ../gcc-%{gcc_pkgvers}/configure \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --exec_prefix=%{_exec_prefix} \ + --includedir=%{_includedir} \ + --libdir=%{_gcclibdir} \ + --libexecdir=%{_libexecdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} \ + --datadir=%{_datadir} \ + --build=%_build --host=%_host \ + --target=bfin-rtems4.11 \ + --disable-libstdcxx-pch \ + --with-gnu-as --with-gnu-ld --verbose \ + --with-newlib \ + --with-system-zlib \ + --disable-nls --without-included-gettext \ + --disable-win32-registry \ + --enable-version-specific-runtime-libs \ + --enable-threads \ + --enable-newlib-io-c99-formats \ + --enable-languages="$languages" $optargs + +%if "%_host" != "%_build" + # Bug in gcc-3.2.1: + # Somehow, gcc doesn't get syslimits.h right for Cdn-Xs + mkdir -p gcc/include + cp ../gcc-%{gcc_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h +%endif + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + cd build/bfin-rtems4.11/newlib + make DESTDIR=$RPM_BUILD_ROOT install-info + cd ../../.. + +%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/bfin-rtems4.11/%{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}/bfin-rtems4.11-c++filt%{_exeext} + + + # We don't ship info/dir + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + + # Bug in gcc-3.4.0pre + rm -f $RPM_BUILD_ROOT%{_bindir}/bfin-rtems4.11-bfin-rtems4.11-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/bfin-rtems4.11/%{gcc_version}/install-tools + rm -rf ${RPM_BUILD_ROOT}%{_libexecdir}/gcc/bfin-rtems4.11/%{gcc_version}/install-tools + + # Bug in gcc > 4.1.0: Installs an unused, empty directory + if test -d ${RPM_BUILD_ROOT}%{_prefix}/bfin-rtems4.11/include/bits; then + rmdir ${RPM_BUILD_ROOT}%{_prefix}/bfin-rtems4.11/include/bits + fi + + # Collect multilib subdirectories + multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` + + echo "%defattr(-,root,root,-)" > build/files.newlib + TGTDIR="%{_exec_prefix}/bfin-rtems4.11/lib" + for i in $multilibs; do + case $i in + \.) echo "%dir ${TGTDIR}" >> build/files.newlib + ;; + *) echo "%dir ${TGTDIR}/$i" >> build/files.newlib + ;; + esac + done + + rm -f dirs ; + echo "%defattr(-,root,root,-)" >> dirs + TGTDIR="%{_gcclibdir}/gcc/bfin-rtems4.11/%{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++ + + TGTDIR="%{_gcclibdir}/gcc/bfin-rtems4.11/%{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 ;; + *include/objc*) ;; + *include/g++*);; + *include/c++*);; + *include-fixed/*);; + *finclude/*);; + *adainclude*);; + *adalib*);; + *gnat1);; + *jc1) ;; + *jvgenmain) ;; + */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + */libstdc++.*) echo "$i" >> build/files.g++ ;; + */libsupc++.*) echo "$i" >> build/files.g++ ;; + *) echo "$i" >> build/files.gcc ;; + esac + done + + TGTDIR="%{_exec_prefix}/bfin-rtems4.11/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 +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/bfin-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/bfin-rtems4.11/'} | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/bfin-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/bfin-rtems4.11/'} | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires + +%ifnarch noarch +# Extract %%__debug_install_post into debug_install_post~ +cat << \EOF > debug_install_post~ +%__debug_install_post +EOF + +# Generate customized debug_install_post script +cat debug_install_post~ | while read a x y; do +case $a in +# Prevent find-debuginfo.sh* from trying to handle foreign binaries +*/find-debuginfo.sh) + b=$(basename $a) + sed -e 's,find "$RPM_BUILD_ROOT" !,find "$RPM_BUILD_ROOT"%_bindir "$RPM_BUILD_ROOT"%_libexecdir !,' $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ +< debug_install_post~ > debug_install_post +%define __debug_install_post . ./debug_install_post + +%endif + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# rtems-4.11-bfin-rtems4.11-gcc +# ============================================================== +# %package -n rtems-4.11-bfin-rtems4.11-gcc +# Summary: GNU cc compiler for bfin-rtems4.11 +# Group: Development/Tools +# Version: %{gcc_rpmvers} +# Requires: rtems-4.11-bfin-rtems4.11-binutils +# Requires: rtems-4.11-bfin-rtems4.11-newlib = %{newlib_version}-1%{?dist} +# License: GPL + +# %if %build_infos +# Requires: rtems-4.11-gcc-common +# %endif + +%description -n rtems-4.11-bfin-rtems4.11-gcc +GNU cc compiler for bfin-rtems4.11. + +# ============================================================== +# rtems-4.11-bfin-rtems4.11-gcc-libgcc +# ============================================================== +%package -n rtems-4.11-bfin-rtems4.11-gcc-libgcc +Summary: libgcc for bfin-rtems4.11-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +Requires: rtems-4.11-bfin-rtems4.11-newlib = %{newlib_version}-1%{?dist} +License: GPL + +%description -n rtems-4.11-bfin-rtems4.11-gcc-libgcc +libgcc bfin-rtems4.11-gcc. + + +%files -n rtems-4.11-bfin-rtems4.11-gcc +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/bfin-rtems4.11-gcc.1* +%{_mandir}/man1/bfin-rtems4.11-cpp.1* +%{_mandir}/man1/bfin-rtems4.11-gcov.1* + +%dir %{_bindir} +%{_bindir}/bfin-rtems4.11-cpp%{_exeext} +%{_bindir}/bfin-rtems4.11-gcc%{_exeext} +%{_bindir}/bfin-rtems4.11-gcc-%{gcc_version}%{_exeext} +%{_bindir}/bfin-rtems4.11-gcov%{_exeext} +%{_bindir}/bfin-rtems4.11-gccbug + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/bfin-rtems4.11 +%dir %{_libexecdir}/gcc/bfin-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/bfin-rtems4.11/%{gcc_version}/cc1%{_exeext} +%{_libexecdir}/gcc/bfin-rtems4.11/%{gcc_version}/collect2%{_exeext} + + +%files -n rtems-4.11-bfin-rtems4.11-gcc-libgcc -f build/files.gcc +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/bfin-rtems4.11 +%dir %{_gcclibdir}/gcc/bfin-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/bfin-rtems4.11/%{gcc_version}/include + +%if "%{gcc_version}" > "4.0.3" +%if "bfin-rtems4.11" != "bfin-rtems4.10" +%if "bfin-rtems4.11" != "avr-rtems4.10" +%dir %{_gcclibdir}/gcc/bfin-rtems4.11/%{gcc_version}/include/ssp +%endif +%endif +%endif + +%if "%{gcc_version}" >= "4.3.0" +%{_gcclibdir}/gcc/bfin-rtems4.11/%{gcc_version}/include-fixed +%endif + +# ============================================================== +# rtems-4.11-gcc-common +# ============================================================== +%package -n rtems-4.11-gcc-common +Summary: Base package for rtems gcc and newlib C Library +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-gcc-common +GCC files that are shared by all targets. + +%files -n rtems-4.11-gcc-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/cpp.info* +%{_infodir}/cppinternals.info* +%{_infodir}/gcc.info* +%{_infodir}/gccint.info* +%{_infodir}/gccinstall.info* + +%dir %{_mandir} +%dir %{_mandir}/man7 +%{_mandir}/man7/fsf-funding.7* +%{_mandir}/man7/gfdl.7* +%{_mandir}/man7/gpl.7* + +%post -n rtems-4.11-gcc-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : + +%preun -n rtems-4.11-gcc-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : +fi + +# ============================================================== +# rtems-4.11-bfin-rtems4.11-gcc-c++ +# ============================================================== +%package -n rtems-4.11-bfin-rtems4.11-gcc-c++ +Summary: GCC c++ compiler for bfin-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +License: GPL +Requires: rtems-4.11-bfin-rtems4.11-gcc-libstdc++ = %{gcc_rpmvers}-%{release} + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-bfin-rtems4.11-gcc-c++ = %{gcc_rpmvers} +%endif + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-bfin-rtems4.11-gcc = %{gcc_rpmvers}-%{release} + +%description -n rtems-4.11-bfin-rtems4.11-gcc-c++ +GCC c++ compiler for bfin-rtems4.11. + + +%package -n rtems-4.11-bfin-rtems4.11-gcc-libstdc++ +Summary: libstdc++ for bfin-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +%description -n rtems-4.11-bfin-rtems4.11-gcc-libstdc++ +%{summary} + + +%files -n rtems-4.11-bfin-rtems4.11-gcc-c++ +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/bfin-rtems4.11-g++.1* + +%dir %{_bindir} +%{_bindir}/bfin-rtems4.11-c++%{_exeext} +%{_bindir}/bfin-rtems4.11-g++%{_exeext} + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/bfin-rtems4.11 +%dir %{_libexecdir}/gcc/bfin-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/bfin-rtems4.11/%{gcc_version}/cc1plus%{_exeext} + + +%files -n rtems-4.11-bfin-rtems4.11-gcc-libstdc++ -f build/files.g++ +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/bfin-rtems4.11 +%dir %{_gcclibdir}/gcc/bfin-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/bfin-rtems4.11/%{gcc_version}/include +%{_gcclibdir}/gcc/bfin-rtems4.11/%{gcc_version}/include/c++ + + + +# ============================================================== +# rtems-4.11-bfin-rtems4.11-newlib +# ============================================================== +%package -n rtems-4.11-bfin-rtems4.11-newlib +Summary: C Library (newlib) for bfin-rtems4.11 +Group: Development/Tools +License: Distributable +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires: rtems-4.11-newlib-common + +%description -n rtems-4.11-bfin-rtems4.11-newlib +Newlib C Library for bfin-rtems4.11. + +%files -n rtems-4.11-bfin-rtems4.11-newlib -f build/files.newlib +%defattr(-,root,root) +%dir %{_exec_prefix} +%dir %{_exec_prefix}/bfin-rtems4.11 +%{_exec_prefix}/bfin-rtems4.11/include + +# ============================================================== +# rtems-4.11-newlib-common +# ============================================================== +%package -n rtems-4.11-newlib-common +Summary: Base package for RTEMS newlib C Library +Group: Development/Tools +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: Distributable + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-newlib-common +newlib files that are shared by all targets. + +%files -n rtems-4.11-newlib-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/libc.info* +%{_infodir}/libm.info* + +%post -n rtems-4.11-newlib-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : + +%preun -n rtems-4.11-newlib-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : +fi + diff --git a/contrib/crossrpms/rtems4.11/bfin/rtems-4.11-bfin-rtems4.11-gdb.spec b/contrib/crossrpms/rtems4.11/bfin/rtems-4.11-bfin-rtems4.11-gdb.spec new file mode 100644 index 0000000000..bd3efba4c7 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/bfin/rtems-4.11-bfin-rtems4.11-gdb.spec @@ -0,0 +1,261 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define gdb_version 6.5 +%define gdb_rpmvers %{expand:%(echo 6.5 | tr - _)} + +Name: rtems-4.11-bfin-rtems4.11-gdb +Summary: Gdb for target bfin-rtems4.11 +Group: Development/Tools +Version: %{gdb_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/gdb +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%define build_sim --enable-sim +%if "%{_build}" != "%{_host}" +# psim doesn't support Cdn-X +%if "bfin-rtems4.11" == "powerpc-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%ifos mingw mingw32 +# Mingw lacks functions required by the simulator +%if "bfin-rtems4.11" == "sparc-rtems4.10" +%define build_sim --disable-sim +%endif +%if "bfin-rtems4.11" == "h8300-rtems4.10" +%define build_sim --disable-sim +%endif +%if "%{gdb_version}" >= "6.8.50" +%if "bfin-rtems4.11" == "m32c-rtems4.10" +%define build_sim --disable-sim +%endif +%endif +%if "bfin-rtems4.11" == "lm32-rtems4.10" +%define build_sim --disable-sim +%endif +%if "bfin-rtems4.11" == "mipstx39-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%if "%{gdb_version}" >= "6.6" +# suse +%if "%{?suse}" >= "10.3" +BuildRequires: libexpat-devel +%else +# Fedora/CentOS/Cygwin/MinGW +BuildRequires: %{_host_rpmprefix}expat-devel +%endif +%endif + +%if "%{gdb_version}" < "6.7" +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}termcap-devel +%endif +%bcond_with system_readline +%else +%bcond_without system_readline +%endif +%{?with_system_readline:BuildRequires: %{_host_rpmprefix}readline-devel} +BuildRequires: %{_host_rpmprefix}ncurses-devel + +%if "%{gdb_version}" >= "6.8.50" +%if "%{_build}" != "%{_host}" +# Can't build python Cdn-X +%bcond_with python +%else +%bcond_without python +%endif +%endif +%{?with_python:BuildRequires: %{_host_rpmprefix}python-devel} + + + +Source0: ftp://ftp.gnu.org/pub/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +%{?_without_sources:NoSource: 0} +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-6.5-bfinrtems-20090122.diff + +%description +GDB for target bfin-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd gdb-%{gdb_version} +%{?PATCH0:%patch0 -p1} +cd .. + +# Force using a system-provided libreadline +%{?with_system_readline:rm -f gdb-%{gdb_version}/readline/configure} +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../gdb-%{gdb_version}/configure \ + --build=%_build --host=%_host \ + --target=bfin-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + %{build_sim} \ + %{?with_system_readline:--with-system-readline} \ +%if "%{gdb_version}" >= "6.6" + --with-expat \ +%endif +%if "%{gdb_version}" >= "6.8.50" +%if %{with python} + --with-python \ +%else + --without-python \ +%endif +%endif + --prefix=%{_prefix} --bindir=%{_bindir} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + +# Conflict with a native gdb's infos + rm -rf $RPM_BUILD_ROOT%{_infodir} + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# host library, installed to a bogus directory + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libbfin-rtems4.11-sim.a + +%if "%{gdb_version}" >= "7.0" +# Bug in gdb-7.0, bogusly installs linux-only files + somethinguseful=0 + for f in ${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls/*.xml; do + case $f in + *linux.xml) rm -f $f;; + *.xml) somethinguseful=1;; + esac + done + if test $somethinguseful -eq 0; then + rm -rf "${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls" + fi +%endif + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# bfin-rtems4.11-gdb +# ============================================================== +# %package -n rtems-4.11-bfin-rtems4.11-gdb +# Summary: rtems gdb for bfin-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-gdb-common +# %endif + +%description -n rtems-4.11-bfin-rtems4.11-gdb +GNU gdb targetting bfin-rtems4.11. + +%files -n rtems-4.11-bfin-rtems4.11-gdb +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/bfin-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/bfin-rtems4.11-* + diff --git a/contrib/crossrpms/rtems4.11/binutils.am b/contrib/crossrpms/rtems4.11/binutils.am new file mode 100644 index 0000000000..6145fd64d1 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/binutils.am @@ -0,0 +1,31 @@ +EXTRA_DIST += binutils-sources.add + +BINUTILS_OPTS = + +BINUTILS_SUBPACKAGES = $(top_srcdir)/common/common.add +BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/binutils.add +BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/prep.add +BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/build.add +BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/install.add +BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/rpm-install.add +BINUTILS_SUBPACKAGES += $(top_srcdir)/common/clean.add +BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/target-binutils.add +BINUTILS_SUBPACKAGES += $(top_srcdir)/binutils/base-binutils.add + +$(TARGET)-binutils.spec.in: $(BINUTILS_SUBPACKAGES) Makefile.am $(srcdir)/binutils-sources.add $(srcdir)/../binutils.am + cat $(BINUTILS_SUBPACKAGES) | sed \ + -e "/[@]SOURCES[@]/r $(srcdir)/binutils-sources.add" \ + -e "/[@]SOURCES[@]/d" \ + -e "s/[@]BINUTILS_VERS[@]/$(BINUTILS_VERS)/g" \ + -e "s/[@]BINUTILS_PKGVERS[@]/$(BINUTILS_PKGVERS)/g" \ + -e "s/[@]BINUTILS_RPMREL[@]/$(BINUTILS_RPMREL)%{?dist}/g" \ + -e "/--with-sysroot/d" \ + | $(MKSPEC0) > $(TARGET)-binutils.spec.in +CLEANFILES += $(TARGET)-binutils.spec.in + +@rpmprefix@$(TARGET)-binutils.spec: $(TARGET)-binutils.spec.in + $(MKSPEC) $(TARGET)-binutils.spec.in | $(SPECSTRIP) $(BINUTILS_OPTS) > $@ +CLEANFILES += @rpmprefix@$(TARGET)-binutils.spec +noinst_DATA += @rpmprefix@$(TARGET)-binutils.spec + +EXTRA_DIST += $(BINUTILS_SUBPACKAGES) diff --git a/contrib/crossrpms/rtems4.11/cpukit-prep.add b/contrib/crossrpms/rtems4.11/cpukit-prep.add new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/cpukit-prep.add @@ -0,0 +1 @@ + diff --git a/contrib/crossrpms/rtems4.11/cpukit.am b/contrib/crossrpms/rtems4.11/cpukit.am new file mode 100644 index 0000000000..2dbf6d1ddb --- /dev/null +++ b/contrib/crossrpms/rtems4.11/cpukit.am @@ -0,0 +1,35 @@ +EXTRA_DIST += $(srcdir)/../rtems-prep.add +EXTRA_DIST += $(srcdir)/rtems-sources.add + +CPUKIT_OPTS = + +CPUKIT_SUBPACKAGES = $(top_srcdir)/common/common.add +CPUKIT_SUBPACKAGES += $(top_srcdir)/cpukit/cpukit.add +CPUKIT_SUBPACKAGES += $(top_srcdir)/cpukit/prep.add +CPUKIT_SUBPACKAGES += $(top_srcdir)/cpukit/build.add +CPUKIT_SUBPACKAGES += $(top_srcdir)/cpukit/install.add +CPUKIT_SUBPACKAGES += $(top_srcdir)/cpukit/rpm-install.add +CPUKIT_SUBPACKAGES += $(top_srcdir)/common/clean.add +CPUKIT_SUBPACKAGES += $(top_srcdir)/cpukit/target-cpukit.add + +$(TARGET)-cpukit.spec.in: $(CPUKIT_SUBPACKAGES) Makefile.am $(srcdir)/cpukit-sources.add $(srcdir)/../cpukit-prep.add + cat $(CPUKIT_SUBPACKAGES) | sed \ + -e "/[@]SOURCES[@]/r $(srcdir)/cpukit-sources.add" \ + -e "/[@]SOURCES[@]/d" \ + -e "/[@]PREP[@]/r $(srcdir)/../cpukit-prep.add" \ + -e "/[@]PREP[@]/d" \ + -e "s/[@]CPUKIT_VERS[@]/$(CPUKIT_VERS)/g" \ + -e "s/[@]CPUKIT_PKGVERS[@]/$(CPUKIT_PKGVERS)/g" \ + -e "s/[@]CPUKIT_RPMREL[@]/$(CPUKIT_RPMREL)%{?dist}/g" \ + -e "/--with-sysroot/d" \ + -e "/[@]tool_target[@]-sys-root/d" \ + -e "/[@]tool_target[@]-w32api-sys-root/d" \ + | $(MKSPEC0) > $(TARGET)-cpukit.spec.in +CLEANFILES += $(TARGET)-cpukit.spec.in + +@rpmprefix@$(TARGET)-cpukit.spec: $(TARGET)-cpukit.spec.in + $(MKSPEC) $(TARGET)-cpukit.spec.in | $(SPECSTRIP) $(CPUKIT_OPTS) > $@ +CLEANFILES += @rpmprefix@$(TARGET)-cpukit.spec +noinst_DATA += @rpmprefix@$(TARGET)-cpukit.spec + +EXTRA_DIST += $(CPUKIT_SUBPACKAGES) diff --git a/contrib/crossrpms/rtems4.11/gcc-prep.add b/contrib/crossrpms/rtems4.11/gcc-prep.add new file mode 100644 index 0000000000..2c41d2dd95 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/gcc-prep.add @@ -0,0 +1,2 @@ +echo "RTEMS gcc-%{gcc_version}-@GCC_RPMREL@/newlib-%{newlib_version}-@NEWLIB_RPMREL@" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE + diff --git a/contrib/crossrpms/rtems4.11/gcc.am b/contrib/crossrpms/rtems4.11/gcc.am new file mode 100644 index 0000000000..f7dd7a764c --- /dev/null +++ b/contrib/crossrpms/rtems4.11/gcc.am @@ -0,0 +1,47 @@ +EXTRA_DIST += $(srcdir)/../gcc-prep.add +EXTRA_DIST += $(srcdir)/gcc-sources.add + +GCC_OPTS = --languages=c --newlib + +GCC_SUBPACKAGES = $(top_srcdir)/common/common.add +GCC_SUBPACKAGES += $(top_srcdir)/gcc/gccnewlib.add +GCC_SUBPACKAGES += $(top_srcdir)/gcc/prep.add +GCC_SUBPACKAGES += $(top_srcdir)/gcc/build.add +GCC_SUBPACKAGES += $(top_srcdir)/gcc/install.add +GCC_SUBPACKAGES += $(top_srcdir)/gcc/rpm-install.add +GCC_SUBPACKAGES += $(top_srcdir)/common/clean.add +GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-gcc.add +GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-gcc.add +GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-c++.add +GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-gfortran.add +GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-gfortran.add +GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-objc.add +GCC_SUBPACKAGES += $(top_srcdir)/gcc/target-newlib.add +GCC_SUBPACKAGES += $(top_srcdir)/gcc/base-newlib.add + +$(TARGET)-gcc.spec.in: $(GCC_SUBPACKAGES) Makefile.am $(srcdir)/gcc-sources.add $(srcdir)/../gcc-prep.add $(srcdir)/../gcc.am + cat $(GCC_SUBPACKAGES) \ + | sed \ + -e "/[@]SOURCES[@]/r $(srcdir)/gcc-sources.add" \ + -e "/[@]SOURCES[@]/d" \ + -e "/[@]PREP[@]/r $(srcdir)/../gcc-prep.add" \ + -e "/[@]PREP[@]/d" \ + | sed \ + -e "s/[@]GCC_VERS[@]/$(GCC_VERS)/g" \ + -e "s/[@]GCC_PKGVERS[@]/$(GCC_PKGVERS)/g" \ + -e "s/[@]GCC_RPMREL[@]/$(GCC_RPMREL)%{?dist}/g" \ + -e "s/[@]NEWLIB_VERS[@]/$(NEWLIB_VERS)/g" \ + -e "s/[@]NEWLIB_PKGVERS[@]/$(NEWLIB_PKGVERS)/g" \ + -e "s/[@]NEWLIB_RPMREL[@]/$(NEWLIB_RPMREL)%{?dist}/g" \ + -e "/--with-sysroot/d" \ + -e "/[@]tool_target[@]-sys-root/d" \ + -e "/[@]tool_target[@]-w32api-sys-root/d" \ + | $(MKSPEC0) > $(TARGET)-gcc.spec.in +CLEANFILES += $(TARGET)-gcc.spec.in + +@rpmprefix@$(TARGET)-gcc.spec: $(TARGET)-gcc.spec.in + $(MKSPEC) $(TARGET)-gcc.spec.in | $(SPECSTRIP) $(GCC_OPTS) > $@ +CLEANFILES += @rpmprefix@$(TARGET)-gcc.spec +noinst_DATA += @rpmprefix@$(TARGET)-gcc.spec + +EXTRA_DIST += $(GCC_SUBPACKAGES) diff --git a/contrib/crossrpms/rtems4.11/gdb.am b/contrib/crossrpms/rtems4.11/gdb.am new file mode 100644 index 0000000000..b90d25ebd0 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/gdb.am @@ -0,0 +1,31 @@ +EXTRA_DIST += gdb-sources.add + +GDB_OPTS = + +GDB_SUBPACKAGES = $(top_srcdir)/common/common.add +GDB_SUBPACKAGES += $(top_srcdir)/gdb/gdb.add +GDB_SUBPACKAGES += $(top_srcdir)/gdb/prep.add +GDB_SUBPACKAGES += $(top_srcdir)/gdb/build.add +GDB_SUBPACKAGES += $(top_srcdir)/gdb/install.add +GDB_SUBPACKAGES += $(top_srcdir)/gdb/rpm-install.add +GDB_SUBPACKAGES += $(top_srcdir)/common/clean.add +GDB_SUBPACKAGES += $(top_srcdir)/gdb/target-gdb.add +GDB_SUBPACKAGES += $(top_srcdir)/gdb/base-gdb.add + +$(TARGET)-gdb.spec.in: $(GDB_SUBPACKAGES) Makefile.am $(srcdir)/gdb-sources.add $(srcdir)/../gdb.am + cat $(GDB_SUBPACKAGES) | sed \ + -e "/[@]SOURCES[@]/r $(srcdir)/gdb-sources.add" \ + -e "/[@]SOURCES[@]/d" \ + -e "s/[@]GDB_VERS[@]/$(GDB_VERS)/g" \ + -e "s/[@]GDB_PKGVERS[@]/$(GDB_PKGVERS)/g" \ + -e "s/[@]GDB_RPMREL[@]/$(GDB_RPMREL)%{?dist}/g" \ + -e "/--with-sysroot/d" \ + | $(MKSPEC0) > $(TARGET)-gdb.spec.in +CLEANFILES += $(TARGET)-gdb.spec.in + +@rpmprefix@$(TARGET)-gdb.spec: $(TARGET)-gdb.spec.in + $(MKSPEC) $(TARGET)-gdb.spec.in | $(SPECSTRIP) $(GDB_OPTS) > $@ +CLEANFILES += @rpmprefix@$(TARGET)-gdb.spec +noinst_DATA += @rpmprefix@$(TARGET)-gdb.spec + +EXTRA_DIST += $(GDB_SUBPACKAGES) diff --git a/contrib/crossrpms/rtems4.11/h8300/.cvsignore b/contrib/crossrpms/rtems4.11/h8300/.cvsignore new file mode 100644 index 0000000000..11289e9f57 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/h8300/.cvsignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +*.spec.in diff --git a/contrib/crossrpms/rtems4.11/h8300/Makefile.am b/contrib/crossrpms/rtems4.11/h8300/Makefile.am new file mode 100644 index 0000000000..94eb6bdc81 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/h8300/Makefile.am @@ -0,0 +1,32 @@ +# $Id$ + +TARGET = h8300-rtems4.11 + +include $(top_srcdir)/mkspec.am + +BINUTILS_VERS = 2.20.1 +BINUTILS_PKGVERS = $(BINUTILS_VERS) +BINUTILS_RPMREL = 1 +include ../binutils.am +BINUTILS_OPTS += + +GCC_VERS = 4.4.3 +GCC_PKGVERS = $(GCC_VERS) +GCC_RPMREL = 1 +NEWLIB_VERS = 1.18.0 +NEWLIB_PKGVERS = $(NEWLIB_VERS) +NEWLIB_RPMREL = `expr $(GCC_RPMREL)` +include ../gcc.am +GCC_OPTS += --languages=cxx + +GDB_VERS = 7.0.90 +GDB_PKGVERS = $(GDB_VERS) +GDB_RPMREL = 1 +include ../gdb.am +GDB_OPTS += + +CPUKIT_VERS = 4.9.99.0 +CPUKIT_PKGVERS = $(CPUKIT_VERS)-20090206-2 +CPUKIT_RPMREL = 1 +include ../cpukit.am +CPUKIT_OPTS += diff --git a/contrib/crossrpms/rtems4.11/h8300/binutils-sources.add b/contrib/crossrpms/rtems4.11/h8300/binutils-sources.add new file mode 100644 index 0000000000..5c4d63e3ef --- /dev/null +++ b/contrib/crossrpms/rtems4.11/h8300/binutils-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff diff --git a/contrib/crossrpms/rtems4.11/h8300/cpukit-sources.add b/contrib/crossrpms/rtems4.11/h8300/cpukit-sources.add new file mode 100644 index 0000000000..763e672840 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/h8300/cpukit-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} diff --git a/contrib/crossrpms/rtems4.11/h8300/gcc-sources.add b/contrib/crossrpms/rtems4.11/h8300/gcc-sources.add new file mode 100644 index 0000000000..c130209921 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/h8300/gcc-sources.add @@ -0,0 +1,47 @@ +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if %build_cxx +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%endif +%if %build_fortran +Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-fortran-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 2} + +%endif +%if %build_gcj +Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-java-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 3} + +%endif +%if %build_gnat +Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-ada-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 4} + +%endif +%if %build_objc +Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-objc-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 5} + +%endif +%if %build_newlib +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} +%endif diff --git a/contrib/crossrpms/rtems4.11/h8300/gdb-sources.add b/contrib/crossrpms/rtems4.11/h8300/gdb-sources.add new file mode 100644 index 0000000000..e5fb99aa66 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/h8300/gdb-sources.add @@ -0,0 +1,9 @@ +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif diff --git a/contrib/crossrpms/rtems4.11/h8300/rtems-4.11-h8300-rtems4.11-binutils.spec b/contrib/crossrpms/rtems4.11/h8300/rtems-4.11-h8300-rtems4.11-binutils.spec new file mode 100644 index 0000000000..1347c40514 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/h8300/rtems-4.11-h8300-rtems4.11-binutils.spec @@ -0,0 +1,268 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define binutils_pkgvers 2.20.1 +%define binutils_version 2.20.1 +%define binutils_rpmvers %{expand:%(echo "2.20.1" | tr - _ )} + +Name: rtems-4.11-h8300-rtems4.11-binutils +Summary: Binutils for target h8300-rtems4.11 +Group: Development/Tools +Version: %{binutils_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/binutils +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{binutils_version}" >= "2.18" +# Bug in bfd: Doesn't build without texinfo installed +BuildRequires: texinfo >= 4.2 +%else +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 +%endif +BuildRequires: flex +BuildRequires: bison + +Requires: rtems-4.11-binutils-common + +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff + +%description +Cross binutils for target h8300-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd binutils-%{binutils_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../binutils-%{binutils_pkgvers}/configure \ + --build=%_build --host=%_host \ + --target=h8300-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + --prefix=%{_prefix} --bindir=%{_bindir} \ + --exec-prefix=%{_exec_prefix} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + 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} \ + exec_prefix=$RPM_BUILD_ROOT%{_exec_prefix} \ + install-info + +# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it. + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info* + + 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 + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# manpages without corresponding tools + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/h8300-rtems4.11-dlltool%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/h8300-rtems4.11-dlltool* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/h8300-rtems4.11-nlmconv%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/h8300-rtems4.11-nlmconv* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/h8300-rtems4.11-windres%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/h8300-rtems4.11-windres* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/h8300-rtems4.11-windmc%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/h8300-rtems4.11-windmc* + fi + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# h8300-rtems4.11-binutils +# ============================================================== +# %package -n rtems-4.11-h8300-rtems4.11-binutils +# Summary: rtems binutils for h8300-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-binutils-common +# %endif + +%description -n rtems-4.11-h8300-rtems4.11-binutils +GNU binutils targetting h8300-rtems4.11. + +%files -n rtems-4.11-h8300-rtems4.11-binutils +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_datarootdir} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/h8300-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/h8300-rtems4.11-* + +%dir %{_exec_prefix}/h8300-rtems4.11 +%dir %{_exec_prefix}/h8300-rtems4.11/bin +%{_exec_prefix}/h8300-rtems4.11/bin/* + +%dir %{_exec_prefix}/h8300-rtems4.11/lib +%{_exec_prefix}/h8300-rtems4.11/lib/ldscripts +# ============================================================== +# rtems-4.11-binutils-common +# ============================================================== +%package -n rtems-4.11-binutils-common +Summary: Base package for RTEMS binutils +Group: Development/Tools +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-binutils-common + +RTEMS is an open source operating system for embedded systems. + +This is the base for binutils regardless of target CPU. + +%post -n rtems-4.11-binutils-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : + +%preun -n rtems-4.11-binutils-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : +fi + +%files -n rtems-4.11-binutils-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/as.info* +%{_infodir}/bfd.info* +%{_infodir}/binutils.info* +%{_infodir}/ld.info* +%{_infodir}/standards.info* +%{_infodir}/gprof.info* + +%dir %{_prefix}/share +%dir %{_prefix}/share/locale + diff --git a/contrib/crossrpms/rtems4.11/h8300/rtems-4.11-h8300-rtems4.11-cpukit.spec b/contrib/crossrpms/rtems4.11/h8300/rtems-4.11-h8300-rtems4.11-cpukit.spec new file mode 100644 index 0000000000..7eb35909ec --- /dev/null +++ b/contrib/crossrpms/rtems4.11/h8300/rtems-4.11-h8300-rtems4.11-cpukit.spec @@ -0,0 +1,158 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define cpukit_pkgvers 4.9.99.0-20090206-2 +%define cpukit_version 4.9.99.0 +%define cpukit_rpmvers %{expand:%(echo "4.9.99.0-20090206-2" | tr - . )} + +Name: rtems-4.11-h8300-rtems4.11-cpukit +Summary: h8300-rtems4.11 cpukit + +Group: Development/Tools +Version: %{cpukit_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://cpukit.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch + +%define debug_package %{nil} + +BuildRequires: rtems-4.11-h8300-rtems4.11-gcc + +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} + +%description +RTEMS cpukit for h8300-rtems4.11. +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 + + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + + cd build + ../rtems-%{cpukit_version}/configure \ + --prefix=%{_prefix} \ + --target=h8300-rtems4.11 \ + --enable-multilib \ + --disable-rtemsbsp + + make all RTEMS_BSP= + cd .. + +%install + rm -rf $RPM_BUILD_ROOT + export PATH="%{_bindir}:${PATH}" + cd build + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + rm -rf $RPM_BUILD_ROOT%{_prefix}/share/man + rm -rf $RPM_BUILD_ROOT%{_prefix}/bin +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{version}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/h8300-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/h8300-rtems4.11/' | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-provides +%define __find_provides %{_builddir}/%{name}-%{version}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{version}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/h8300-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/h8300-rtems4.11/' | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-requires +%define __find_requires %{_builddir}/%{name}-%{version}/find-requires + +%clean + rm -rf $RPM_BUILD_ROOT + +%description -n rtems-4.11-h8300-rtems4.11-cpukit +RTEMS cpukit for target h8300-rtems4.11. + +%files -n rtems-4.11-h8300-rtems4.11-cpukit +%defattr(-,root,root) +%dir %{_prefix} +%{_prefix}/h8300-rtems4.11 +# Violates the FHS +%exclude %{_prefix}/make diff --git a/contrib/crossrpms/rtems4.11/h8300/rtems-4.11-h8300-rtems4.11-gcc.spec b/contrib/crossrpms/rtems4.11/h8300/rtems-4.11-h8300-rtems4.11-gcc.spec new file mode 100644 index 0000000000..3444230e86 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/h8300/rtems-4.11-h8300-rtems4.11-gcc.spec @@ -0,0 +1,716 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define gcc_pkgvers 4.4.3 +%define gcc_version 4.4.3 +%define gcc_rpmvers %{expand:%(echo "4.4.3" | tr - _ )} + +%define newlib_pkgvers 1.18.0 +%define newlib_version 1.18.0 + +Name: rtems-4.11-h8300-rtems4.11-gcc +Summary: h8300-rtems4.11 gcc + +Group: Development/Tools +Version: %{gcc_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://gcc.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%define _use_internal_dependency_generator 0 + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{gcc_version}" >= "4.3.0" +%define _gmp_minvers 4.1 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif + +%if %{defined _gmp_minvers} +BuildRequires: gmp-devel >= %{_gmp_minvers} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%endif +%endif + +%if "%{gcc_version}" >= "4.3.3" +%define _cloog_minvers 0.15 +%endif + +%if %{defined _cloog_minvers} +%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%endif + +%if "%{gcc_version}" >= "4.4.0" +%define _mpfr_minvers 2.3.2 +%define mpfr_version 2.4.1 +%else +%if "%{gcc_version}" >= "4.3.0" +%define _mpfr_minvers 2.3.1 +%define mpfr_version 2.3.2 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif +%endif + +%if %{defined _mpfr_minvers} +# FIXME: This is an ugly cludge +%{?fc11:%global mpfr_provided 2.4.1} +%{?fc12:%global mpfr_provided 2.4.1} +%{?fc13:%global mpfr_provided 2.4.1} +%{?suse11_0:%global mpfr_provided 2.3.1} +%{?suse11_1:%global mpfr_provided 2.3.2} +%{?suse11_2:%global mpfr_provided 2.4.1} +%{?cygwin:%global mpfr_provided 2.4.1} +%{?mingw32:%global mpfr_provided %{nil}} + +%if %{defined mpfr_provided} +%if "%{mpfr_provided}" < "%{_mpfr_minvers}" +%define _build_mpfr 1 +%else +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +%else +BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%endif +%endif +%else +%define _build_mpfr 1 +%endif + +%endif + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-h8300-rtems4.11-gcc = %{gcc_rpmvers} +%endif + +%if "%{gcc_version}" >= "4.2.0" +BuildRequires: flex bison +%endif + + +BuildRequires: texinfo >= 4.2 +BuildRequires: rtems-4.11-h8300-rtems4.11-binutils + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-h8300-rtems4.11-binutils +Requires: rtems-4.11-h8300-rtems4.11-gcc-libgcc = %{gcc_rpmvers}-%{release} +Requires: rtems-4.11-h8300-rtems4.11-newlib = %{newlib_version}-1%{?dist} + + +%define _gcclibdir %{_prefix}/lib + +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} + +%if "%{gcc_version}" >= "4.3.0" +Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 +%endif + +%description +Cross gcc for h8300-rtems4.11. + +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 +%{?PATCH0:%patch0 -p0} + +%setup -q -T -D -n %{name}-%{version} -a1 +%{?PATCH1:%patch1 -p0} + + + + + +%setup -q -T -D -n %{name}-%{version} -a50 +cd newlib-%{newlib_version} +%{?PATCH50:%patch50 -p1} +cd .. + # Copy the C library into gcc's source tree + ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_pkgvers} + +%if 0%{?_build_mpfr} +%setup -q -T -D -n %{name}-%{version} -a60 +%{?PATCH60:%patch60 -p1} + # Build mpfr one-tree style + ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr +%endif + +echo "RTEMS gcc-%{gcc_version}-1%{?dist}/newlib-%{newlib_version}-1%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE + + + # Fix timestamps + cd gcc-%{gcc_pkgvers} + contrib/gcc_update --touch + cd .. +%build + mkdir -p build + + cd build + + languages="c" + languages="$languages,c++" + export PATH="%{_bindir}:${PATH}" +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ + CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \ +%else +# gcc is not ready to be compiled with -std=gnu99 + CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \ +%endif + ../gcc-%{gcc_pkgvers}/configure \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --exec_prefix=%{_exec_prefix} \ + --includedir=%{_includedir} \ + --libdir=%{_gcclibdir} \ + --libexecdir=%{_libexecdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} \ + --datadir=%{_datadir} \ + --build=%_build --host=%_host \ + --target=h8300-rtems4.11 \ + --disable-libstdcxx-pch \ + --with-gnu-as --with-gnu-ld --verbose \ + --with-newlib \ + --with-system-zlib \ + --disable-nls --without-included-gettext \ + --disable-win32-registry \ + --enable-version-specific-runtime-libs \ + --enable-threads \ + --enable-newlib-io-c99-formats \ + --enable-languages="$languages" $optargs + +%if "%_host" != "%_build" + # Bug in gcc-3.2.1: + # Somehow, gcc doesn't get syslimits.h right for Cdn-Xs + mkdir -p gcc/include + cp ../gcc-%{gcc_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h +%endif + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + cd build/h8300-rtems4.11/newlib + make DESTDIR=$RPM_BUILD_ROOT install-info + cd ../../.. + +%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/h8300-rtems4.11/%{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}/h8300-rtems4.11-c++filt%{_exeext} + + + # We don't ship info/dir + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + + # Bug in gcc-3.4.0pre + rm -f $RPM_BUILD_ROOT%{_bindir}/h8300-rtems4.11-h8300-rtems4.11-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/h8300-rtems4.11/%{gcc_version}/install-tools + rm -rf ${RPM_BUILD_ROOT}%{_libexecdir}/gcc/h8300-rtems4.11/%{gcc_version}/install-tools + + # Bug in gcc > 4.1.0: Installs an unused, empty directory + if test -d ${RPM_BUILD_ROOT}%{_prefix}/h8300-rtems4.11/include/bits; then + rmdir ${RPM_BUILD_ROOT}%{_prefix}/h8300-rtems4.11/include/bits + fi + + # Collect multilib subdirectories + multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` + + echo "%defattr(-,root,root,-)" > build/files.newlib + TGTDIR="%{_exec_prefix}/h8300-rtems4.11/lib" + for i in $multilibs; do + case $i in + \.) echo "%dir ${TGTDIR}" >> build/files.newlib + ;; + *) echo "%dir ${TGTDIR}/$i" >> build/files.newlib + ;; + esac + done + + rm -f dirs ; + echo "%defattr(-,root,root,-)" >> dirs + TGTDIR="%{_gcclibdir}/gcc/h8300-rtems4.11/%{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++ + + TGTDIR="%{_gcclibdir}/gcc/h8300-rtems4.11/%{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 ;; + *include/objc*) ;; + *include/g++*);; + *include/c++*);; + *include-fixed/*);; + *finclude/*);; + *adainclude*);; + *adalib*);; + *gnat1);; + *jc1) ;; + *jvgenmain) ;; + */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + */libstdc++.*) echo "$i" >> build/files.g++ ;; + */libsupc++.*) echo "$i" >> build/files.g++ ;; + *) echo "$i" >> build/files.gcc ;; + esac + done + + TGTDIR="%{_exec_prefix}/h8300-rtems4.11/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 +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/h8300-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/h8300-rtems4.11/'} | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/h8300-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/h8300-rtems4.11/'} | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires + +%ifnarch noarch +# Extract %%__debug_install_post into debug_install_post~ +cat << \EOF > debug_install_post~ +%__debug_install_post +EOF + +# Generate customized debug_install_post script +cat debug_install_post~ | while read a x y; do +case $a in +# Prevent find-debuginfo.sh* from trying to handle foreign binaries +*/find-debuginfo.sh) + b=$(basename $a) + sed -e 's,find "$RPM_BUILD_ROOT" !,find "$RPM_BUILD_ROOT"%_bindir "$RPM_BUILD_ROOT"%_libexecdir !,' $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ +< debug_install_post~ > debug_install_post +%define __debug_install_post . ./debug_install_post + +%endif + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# rtems-4.11-h8300-rtems4.11-gcc +# ============================================================== +# %package -n rtems-4.11-h8300-rtems4.11-gcc +# Summary: GNU cc compiler for h8300-rtems4.11 +# Group: Development/Tools +# Version: %{gcc_rpmvers} +# Requires: rtems-4.11-h8300-rtems4.11-binutils +# Requires: rtems-4.11-h8300-rtems4.11-newlib = %{newlib_version}-1%{?dist} +# License: GPL + +# %if %build_infos +# Requires: rtems-4.11-gcc-common +# %endif + +%description -n rtems-4.11-h8300-rtems4.11-gcc +GNU cc compiler for h8300-rtems4.11. + +# ============================================================== +# rtems-4.11-h8300-rtems4.11-gcc-libgcc +# ============================================================== +%package -n rtems-4.11-h8300-rtems4.11-gcc-libgcc +Summary: libgcc for h8300-rtems4.11-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +Requires: rtems-4.11-h8300-rtems4.11-newlib = %{newlib_version}-1%{?dist} +License: GPL + +%description -n rtems-4.11-h8300-rtems4.11-gcc-libgcc +libgcc h8300-rtems4.11-gcc. + + +%files -n rtems-4.11-h8300-rtems4.11-gcc +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/h8300-rtems4.11-gcc.1* +%{_mandir}/man1/h8300-rtems4.11-cpp.1* +%{_mandir}/man1/h8300-rtems4.11-gcov.1* + +%dir %{_bindir} +%{_bindir}/h8300-rtems4.11-cpp%{_exeext} +%{_bindir}/h8300-rtems4.11-gcc%{_exeext} +%{_bindir}/h8300-rtems4.11-gcc-%{gcc_version}%{_exeext} +%{_bindir}/h8300-rtems4.11-gcov%{_exeext} +%{_bindir}/h8300-rtems4.11-gccbug + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/h8300-rtems4.11 +%dir %{_libexecdir}/gcc/h8300-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/h8300-rtems4.11/%{gcc_version}/cc1%{_exeext} +%{_libexecdir}/gcc/h8300-rtems4.11/%{gcc_version}/collect2%{_exeext} + + +%files -n rtems-4.11-h8300-rtems4.11-gcc-libgcc -f build/files.gcc +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/h8300-rtems4.11 +%dir %{_gcclibdir}/gcc/h8300-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/h8300-rtems4.11/%{gcc_version}/include + +%if "%{gcc_version}" > "4.0.3" +%if "h8300-rtems4.11" != "bfin-rtems4.10" +%if "h8300-rtems4.11" != "avr-rtems4.10" +%dir %{_gcclibdir}/gcc/h8300-rtems4.11/%{gcc_version}/include/ssp +%endif +%endif +%endif + +%if "%{gcc_version}" >= "4.3.0" +%{_gcclibdir}/gcc/h8300-rtems4.11/%{gcc_version}/include-fixed +%endif + +# ============================================================== +# rtems-4.11-gcc-common +# ============================================================== +%package -n rtems-4.11-gcc-common +Summary: Base package for rtems gcc and newlib C Library +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-gcc-common +GCC files that are shared by all targets. + +%files -n rtems-4.11-gcc-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/cpp.info* +%{_infodir}/cppinternals.info* +%{_infodir}/gcc.info* +%{_infodir}/gccint.info* +%{_infodir}/gccinstall.info* + +%dir %{_mandir} +%dir %{_mandir}/man7 +%{_mandir}/man7/fsf-funding.7* +%{_mandir}/man7/gfdl.7* +%{_mandir}/man7/gpl.7* + +%post -n rtems-4.11-gcc-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : + +%preun -n rtems-4.11-gcc-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : +fi + +# ============================================================== +# rtems-4.11-h8300-rtems4.11-gcc-c++ +# ============================================================== +%package -n rtems-4.11-h8300-rtems4.11-gcc-c++ +Summary: GCC c++ compiler for h8300-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +License: GPL +Requires: rtems-4.11-h8300-rtems4.11-gcc-libstdc++ = %{gcc_rpmvers}-%{release} + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-h8300-rtems4.11-gcc-c++ = %{gcc_rpmvers} +%endif + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-h8300-rtems4.11-gcc = %{gcc_rpmvers}-%{release} + +%description -n rtems-4.11-h8300-rtems4.11-gcc-c++ +GCC c++ compiler for h8300-rtems4.11. + + +%package -n rtems-4.11-h8300-rtems4.11-gcc-libstdc++ +Summary: libstdc++ for h8300-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +%description -n rtems-4.11-h8300-rtems4.11-gcc-libstdc++ +%{summary} + + +%files -n rtems-4.11-h8300-rtems4.11-gcc-c++ +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/h8300-rtems4.11-g++.1* + +%dir %{_bindir} +%{_bindir}/h8300-rtems4.11-c++%{_exeext} +%{_bindir}/h8300-rtems4.11-g++%{_exeext} + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/h8300-rtems4.11 +%dir %{_libexecdir}/gcc/h8300-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/h8300-rtems4.11/%{gcc_version}/cc1plus%{_exeext} + + +%files -n rtems-4.11-h8300-rtems4.11-gcc-libstdc++ -f build/files.g++ +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/h8300-rtems4.11 +%dir %{_gcclibdir}/gcc/h8300-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/h8300-rtems4.11/%{gcc_version}/include +%{_gcclibdir}/gcc/h8300-rtems4.11/%{gcc_version}/include/c++ + + + +# ============================================================== +# rtems-4.11-h8300-rtems4.11-newlib +# ============================================================== +%package -n rtems-4.11-h8300-rtems4.11-newlib +Summary: C Library (newlib) for h8300-rtems4.11 +Group: Development/Tools +License: Distributable +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires: rtems-4.11-newlib-common + +%description -n rtems-4.11-h8300-rtems4.11-newlib +Newlib C Library for h8300-rtems4.11. + +%files -n rtems-4.11-h8300-rtems4.11-newlib -f build/files.newlib +%defattr(-,root,root) +%dir %{_exec_prefix} +%dir %{_exec_prefix}/h8300-rtems4.11 +%{_exec_prefix}/h8300-rtems4.11/include + +# ============================================================== +# rtems-4.11-newlib-common +# ============================================================== +%package -n rtems-4.11-newlib-common +Summary: Base package for RTEMS newlib C Library +Group: Development/Tools +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: Distributable + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-newlib-common +newlib files that are shared by all targets. + +%files -n rtems-4.11-newlib-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/libc.info* +%{_infodir}/libm.info* + +%post -n rtems-4.11-newlib-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : + +%preun -n rtems-4.11-newlib-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : +fi + diff --git a/contrib/crossrpms/rtems4.11/h8300/rtems-4.11-h8300-rtems4.11-gdb.spec b/contrib/crossrpms/rtems4.11/h8300/rtems-4.11-h8300-rtems4.11-gdb.spec new file mode 100644 index 0000000000..38c5ed5328 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/h8300/rtems-4.11-h8300-rtems4.11-gdb.spec @@ -0,0 +1,319 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define gdb_version 7.0.90 +%define gdb_rpmvers %{expand:%(echo 7.0.90 | tr - _)} + +Name: rtems-4.11-h8300-rtems4.11-gdb +Summary: Gdb for target h8300-rtems4.11 +Group: Development/Tools +Version: %{gdb_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/gdb +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%define build_sim --enable-sim +%if "%{_build}" != "%{_host}" +# psim doesn't support Cdn-X +%if "h8300-rtems4.11" == "powerpc-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%ifos mingw mingw32 +# Mingw lacks functions required by the simulator +%if "h8300-rtems4.11" == "sparc-rtems4.10" +%define build_sim --disable-sim +%endif +%if "h8300-rtems4.11" == "h8300-rtems4.10" +%define build_sim --disable-sim +%endif +%if "%{gdb_version}" >= "6.8.50" +%if "h8300-rtems4.11" == "m32c-rtems4.10" +%define build_sim --disable-sim +%endif +%endif +%if "h8300-rtems4.11" == "lm32-rtems4.10" +%define build_sim --disable-sim +%endif +%if "h8300-rtems4.11" == "mipstx39-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%if "%{gdb_version}" >= "6.6" +# suse +%if "%{?suse}" >= "10.3" +BuildRequires: libexpat-devel +%else +# Fedora/CentOS/Cygwin/MinGW +BuildRequires: %{_host_rpmprefix}expat-devel +%endif +%endif + +%if "%{gdb_version}" < "6.7" +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}termcap-devel +%endif +%bcond_with system_readline +%else +%bcond_without system_readline +%endif +%{?with_system_readline:BuildRequires: %{_host_rpmprefix}readline-devel} +BuildRequires: %{_host_rpmprefix}ncurses-devel + +%if "%{gdb_version}" >= "6.8.50" +%if "%{_build}" != "%{_host}" +# Can't build python Cdn-X +%bcond_with python +%else +%bcond_without python +%endif +%endif +%{?with_python:BuildRequires: %{_host_rpmprefix}python-devel} + +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 + + +Requires: rtems-4.11-gdb-common + +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif + +%description +GDB for target h8300-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd gdb-%{gdb_version} +%{?PATCH0:%patch0 -p1} +cd .. + +# Force using a system-provided libreadline +%{?with_system_readline:rm -f gdb-%{gdb_version}/readline/configure} +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../gdb-%{gdb_version}/configure \ + --build=%_build --host=%_host \ + --target=h8300-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + %{build_sim} \ + %{?with_system_readline:--with-system-readline} \ +%if "%{gdb_version}" >= "6.6" + --with-expat \ +%endif +%if "%{gdb_version}" >= "6.8.50" +%if %{with python} + --with-python \ +%else + --without-python \ +%endif +%endif + --prefix=%{_prefix} --bindir=%{_bindir} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + +# These come from other packages + rm -rf $RPM_BUILD_ROOT%{_infodir}/bfd* + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure* + rm -rf $RPM_BUILD_ROOT%{_infodir}/standards* + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# host library, installed to a bogus directory + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libh8300-rtems4.11-sim.a + +%if "%{gdb_version}" >= "7.0" +# Bug in gdb-7.0, bogusly installs linux-only files + somethinguseful=0 + for f in ${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls/*.xml; do + case $f in + *linux.xml) rm -f $f;; + *.xml) somethinguseful=1;; + esac + done + if test $somethinguseful -eq 0; then + rm -rf "${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls" + fi +%endif + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# h8300-rtems4.11-gdb +# ============================================================== +# %package -n rtems-4.11-h8300-rtems4.11-gdb +# Summary: rtems gdb for h8300-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-gdb-common +# %endif + +%description -n rtems-4.11-h8300-rtems4.11-gdb +GNU gdb targetting h8300-rtems4.11. + +%files -n rtems-4.11-h8300-rtems4.11-gdb +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/h8300-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/h8300-rtems4.11-* + +# ============================================================== +# rtems-4.11-gdb-common +# ============================================================== +%package -n rtems-4.11-gdb-common +Summary: Base package for RTEMS gdbs +Group: Development/Tools +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info +%{?_with_noarch_subpackages:BuildArch: noarch} + +%description -n rtems-4.11-gdb-common + +GDB files shared by all targets. + +%post -n rtems-4.11-gdb-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : + +%preun -n rtems-4.11-gdb-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : +fi + +%files -n rtems-4.11-gdb-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/gdb.info* + +%{_infodir}/gdbint.info* +%{_infodir}/stabs.info* +%{_infodir}/annotate.info* + diff --git a/contrib/crossrpms/rtems4.11/i386/.cvsignore b/contrib/crossrpms/rtems4.11/i386/.cvsignore new file mode 100644 index 0000000000..11289e9f57 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/i386/.cvsignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +*.spec.in diff --git a/contrib/crossrpms/rtems4.11/i386/Makefile.am b/contrib/crossrpms/rtems4.11/i386/Makefile.am new file mode 100644 index 0000000000..6802b3c57a --- /dev/null +++ b/contrib/crossrpms/rtems4.11/i386/Makefile.am @@ -0,0 +1,32 @@ +# $Id$ + +TARGET = i386-rtems4.11 + +include $(top_srcdir)/mkspec.am + +BINUTILS_VERS = 2.20.1 +BINUTILS_PKGVERS = $(BINUTILS_VERS) +BINUTILS_RPMREL = 1 +include ../binutils.am +BINUTILS_OPTS += + +GCC_VERS = 4.4.3 +GCC_PKGVERS = $(GCC_VERS) +GCC_RPMREL = 1 +NEWLIB_VERS = 1.18.0 +NEWLIB_PKGVERS = $(NEWLIB_VERS) +NEWLIB_RPMREL = `expr $(GCC_RPMREL)` +include ../gcc.am +GCC_OPTS += --languages=cxx + +GDB_VERS = 7.0.90 +GDB_PKGVERS = $(GDB_VERS) +GDB_RPMREL = 1 +include ../gdb.am +GDB_OPTS += + +CPUKIT_VERS = 4.9.99.0 +CPUKIT_PKGVERS = $(CPUKIT_VERS)-20090206-2 +CPUKIT_RPMREL = 1 +include ../cpukit.am +CPUKIT_OPTS += diff --git a/contrib/crossrpms/rtems4.11/i386/binutils-sources.add b/contrib/crossrpms/rtems4.11/i386/binutils-sources.add new file mode 100644 index 0000000000..5c4d63e3ef --- /dev/null +++ b/contrib/crossrpms/rtems4.11/i386/binutils-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff diff --git a/contrib/crossrpms/rtems4.11/i386/cpukit-sources.add b/contrib/crossrpms/rtems4.11/i386/cpukit-sources.add new file mode 100644 index 0000000000..763e672840 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/i386/cpukit-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} diff --git a/contrib/crossrpms/rtems4.11/i386/gcc-sources.add b/contrib/crossrpms/rtems4.11/i386/gcc-sources.add new file mode 100644 index 0000000000..c130209921 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/i386/gcc-sources.add @@ -0,0 +1,47 @@ +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if %build_cxx +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%endif +%if %build_fortran +Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-fortran-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 2} + +%endif +%if %build_gcj +Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-java-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 3} + +%endif +%if %build_gnat +Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-ada-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 4} + +%endif +%if %build_objc +Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-objc-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 5} + +%endif +%if %build_newlib +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} +%endif diff --git a/contrib/crossrpms/rtems4.11/i386/gdb-sources.add b/contrib/crossrpms/rtems4.11/i386/gdb-sources.add new file mode 100644 index 0000000000..e5fb99aa66 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/i386/gdb-sources.add @@ -0,0 +1,9 @@ +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif diff --git a/contrib/crossrpms/rtems4.11/i386/rtems-4.11-i386-rtems4.11-binutils.spec b/contrib/crossrpms/rtems4.11/i386/rtems-4.11-i386-rtems4.11-binutils.spec new file mode 100644 index 0000000000..5f98c914d1 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/i386/rtems-4.11-i386-rtems4.11-binutils.spec @@ -0,0 +1,268 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define binutils_pkgvers 2.20.1 +%define binutils_version 2.20.1 +%define binutils_rpmvers %{expand:%(echo "2.20.1" | tr - _ )} + +Name: rtems-4.11-i386-rtems4.11-binutils +Summary: Binutils for target i386-rtems4.11 +Group: Development/Tools +Version: %{binutils_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/binutils +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{binutils_version}" >= "2.18" +# Bug in bfd: Doesn't build without texinfo installed +BuildRequires: texinfo >= 4.2 +%else +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 +%endif +BuildRequires: flex +BuildRequires: bison + +Requires: rtems-4.11-binutils-common + +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff + +%description +Cross binutils for target i386-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd binutils-%{binutils_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../binutils-%{binutils_pkgvers}/configure \ + --build=%_build --host=%_host \ + --target=i386-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + --prefix=%{_prefix} --bindir=%{_bindir} \ + --exec-prefix=%{_exec_prefix} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + 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} \ + exec_prefix=$RPM_BUILD_ROOT%{_exec_prefix} \ + install-info + +# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it. + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info* + + 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 + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# manpages without corresponding tools + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/i386-rtems4.11-dlltool%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/i386-rtems4.11-dlltool* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/i386-rtems4.11-nlmconv%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/i386-rtems4.11-nlmconv* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/i386-rtems4.11-windres%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/i386-rtems4.11-windres* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/i386-rtems4.11-windmc%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/i386-rtems4.11-windmc* + fi + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# i386-rtems4.11-binutils +# ============================================================== +# %package -n rtems-4.11-i386-rtems4.11-binutils +# Summary: rtems binutils for i386-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-binutils-common +# %endif + +%description -n rtems-4.11-i386-rtems4.11-binutils +GNU binutils targetting i386-rtems4.11. + +%files -n rtems-4.11-i386-rtems4.11-binutils +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_datarootdir} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/i386-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/i386-rtems4.11-* + +%dir %{_exec_prefix}/i386-rtems4.11 +%dir %{_exec_prefix}/i386-rtems4.11/bin +%{_exec_prefix}/i386-rtems4.11/bin/* + +%dir %{_exec_prefix}/i386-rtems4.11/lib +%{_exec_prefix}/i386-rtems4.11/lib/ldscripts +# ============================================================== +# rtems-4.11-binutils-common +# ============================================================== +%package -n rtems-4.11-binutils-common +Summary: Base package for RTEMS binutils +Group: Development/Tools +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-binutils-common + +RTEMS is an open source operating system for embedded systems. + +This is the base for binutils regardless of target CPU. + +%post -n rtems-4.11-binutils-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : + +%preun -n rtems-4.11-binutils-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : +fi + +%files -n rtems-4.11-binutils-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/as.info* +%{_infodir}/bfd.info* +%{_infodir}/binutils.info* +%{_infodir}/ld.info* +%{_infodir}/standards.info* +%{_infodir}/gprof.info* + +%dir %{_prefix}/share +%dir %{_prefix}/share/locale + diff --git a/contrib/crossrpms/rtems4.11/i386/rtems-4.11-i386-rtems4.11-cpukit.spec b/contrib/crossrpms/rtems4.11/i386/rtems-4.11-i386-rtems4.11-cpukit.spec new file mode 100644 index 0000000000..edf5d7876c --- /dev/null +++ b/contrib/crossrpms/rtems4.11/i386/rtems-4.11-i386-rtems4.11-cpukit.spec @@ -0,0 +1,158 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define cpukit_pkgvers 4.9.99.0-20090206-2 +%define cpukit_version 4.9.99.0 +%define cpukit_rpmvers %{expand:%(echo "4.9.99.0-20090206-2" | tr - . )} + +Name: rtems-4.11-i386-rtems4.11-cpukit +Summary: i386-rtems4.11 cpukit + +Group: Development/Tools +Version: %{cpukit_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://cpukit.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch + +%define debug_package %{nil} + +BuildRequires: rtems-4.11-i386-rtems4.11-gcc + +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} + +%description +RTEMS cpukit for i386-rtems4.11. +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 + + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + + cd build + ../rtems-%{cpukit_version}/configure \ + --prefix=%{_prefix} \ + --target=i386-rtems4.11 \ + --enable-multilib \ + --disable-rtemsbsp + + make all RTEMS_BSP= + cd .. + +%install + rm -rf $RPM_BUILD_ROOT + export PATH="%{_bindir}:${PATH}" + cd build + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + rm -rf $RPM_BUILD_ROOT%{_prefix}/share/man + rm -rf $RPM_BUILD_ROOT%{_prefix}/bin +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{version}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/i386-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/i386-rtems4.11/' | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-provides +%define __find_provides %{_builddir}/%{name}-%{version}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{version}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/i386-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/i386-rtems4.11/' | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-requires +%define __find_requires %{_builddir}/%{name}-%{version}/find-requires + +%clean + rm -rf $RPM_BUILD_ROOT + +%description -n rtems-4.11-i386-rtems4.11-cpukit +RTEMS cpukit for target i386-rtems4.11. + +%files -n rtems-4.11-i386-rtems4.11-cpukit +%defattr(-,root,root) +%dir %{_prefix} +%{_prefix}/i386-rtems4.11 +# Violates the FHS +%exclude %{_prefix}/make diff --git a/contrib/crossrpms/rtems4.11/i386/rtems-4.11-i386-rtems4.11-gcc.spec b/contrib/crossrpms/rtems4.11/i386/rtems-4.11-i386-rtems4.11-gcc.spec new file mode 100644 index 0000000000..e6e877fa75 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/i386/rtems-4.11-i386-rtems4.11-gcc.spec @@ -0,0 +1,716 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define gcc_pkgvers 4.4.3 +%define gcc_version 4.4.3 +%define gcc_rpmvers %{expand:%(echo "4.4.3" | tr - _ )} + +%define newlib_pkgvers 1.18.0 +%define newlib_version 1.18.0 + +Name: rtems-4.11-i386-rtems4.11-gcc +Summary: i386-rtems4.11 gcc + +Group: Development/Tools +Version: %{gcc_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://gcc.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%define _use_internal_dependency_generator 0 + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{gcc_version}" >= "4.3.0" +%define _gmp_minvers 4.1 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif + +%if %{defined _gmp_minvers} +BuildRequires: gmp-devel >= %{_gmp_minvers} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%endif +%endif + +%if "%{gcc_version}" >= "4.3.3" +%define _cloog_minvers 0.15 +%endif + +%if %{defined _cloog_minvers} +%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%endif + +%if "%{gcc_version}" >= "4.4.0" +%define _mpfr_minvers 2.3.2 +%define mpfr_version 2.4.1 +%else +%if "%{gcc_version}" >= "4.3.0" +%define _mpfr_minvers 2.3.1 +%define mpfr_version 2.3.2 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif +%endif + +%if %{defined _mpfr_minvers} +# FIXME: This is an ugly cludge +%{?fc11:%global mpfr_provided 2.4.1} +%{?fc12:%global mpfr_provided 2.4.1} +%{?fc13:%global mpfr_provided 2.4.1} +%{?suse11_0:%global mpfr_provided 2.3.1} +%{?suse11_1:%global mpfr_provided 2.3.2} +%{?suse11_2:%global mpfr_provided 2.4.1} +%{?cygwin:%global mpfr_provided 2.4.1} +%{?mingw32:%global mpfr_provided %{nil}} + +%if %{defined mpfr_provided} +%if "%{mpfr_provided}" < "%{_mpfr_minvers}" +%define _build_mpfr 1 +%else +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +%else +BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%endif +%endif +%else +%define _build_mpfr 1 +%endif + +%endif + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-i386-rtems4.11-gcc = %{gcc_rpmvers} +%endif + +%if "%{gcc_version}" >= "4.2.0" +BuildRequires: flex bison +%endif + + +BuildRequires: texinfo >= 4.2 +BuildRequires: rtems-4.11-i386-rtems4.11-binutils + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-i386-rtems4.11-binutils +Requires: rtems-4.11-i386-rtems4.11-gcc-libgcc = %{gcc_rpmvers}-%{release} +Requires: rtems-4.11-i386-rtems4.11-newlib = %{newlib_version}-1%{?dist} + + +%define _gcclibdir %{_prefix}/lib + +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} + +%if "%{gcc_version}" >= "4.3.0" +Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 +%endif + +%description +Cross gcc for i386-rtems4.11. + +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 +%{?PATCH0:%patch0 -p0} + +%setup -q -T -D -n %{name}-%{version} -a1 +%{?PATCH1:%patch1 -p0} + + + + + +%setup -q -T -D -n %{name}-%{version} -a50 +cd newlib-%{newlib_version} +%{?PATCH50:%patch50 -p1} +cd .. + # Copy the C library into gcc's source tree + ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_pkgvers} + +%if 0%{?_build_mpfr} +%setup -q -T -D -n %{name}-%{version} -a60 +%{?PATCH60:%patch60 -p1} + # Build mpfr one-tree style + ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr +%endif + +echo "RTEMS gcc-%{gcc_version}-1%{?dist}/newlib-%{newlib_version}-1%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE + + + # Fix timestamps + cd gcc-%{gcc_pkgvers} + contrib/gcc_update --touch + cd .. +%build + mkdir -p build + + cd build + + languages="c" + languages="$languages,c++" + export PATH="%{_bindir}:${PATH}" +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ + CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \ +%else +# gcc is not ready to be compiled with -std=gnu99 + CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \ +%endif + ../gcc-%{gcc_pkgvers}/configure \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --exec_prefix=%{_exec_prefix} \ + --includedir=%{_includedir} \ + --libdir=%{_gcclibdir} \ + --libexecdir=%{_libexecdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} \ + --datadir=%{_datadir} \ + --build=%_build --host=%_host \ + --target=i386-rtems4.11 \ + --disable-libstdcxx-pch \ + --with-gnu-as --with-gnu-ld --verbose \ + --with-newlib \ + --with-system-zlib \ + --disable-nls --without-included-gettext \ + --disable-win32-registry \ + --enable-version-specific-runtime-libs \ + --enable-threads \ + --enable-newlib-io-c99-formats \ + --enable-languages="$languages" $optargs + +%if "%_host" != "%_build" + # Bug in gcc-3.2.1: + # Somehow, gcc doesn't get syslimits.h right for Cdn-Xs + mkdir -p gcc/include + cp ../gcc-%{gcc_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h +%endif + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + cd build/i386-rtems4.11/newlib + make DESTDIR=$RPM_BUILD_ROOT install-info + cd ../../.. + +%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/i386-rtems4.11/%{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}/i386-rtems4.11-c++filt%{_exeext} + + + # We don't ship info/dir + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + + # Bug in gcc-3.4.0pre + rm -f $RPM_BUILD_ROOT%{_bindir}/i386-rtems4.11-i386-rtems4.11-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/i386-rtems4.11/%{gcc_version}/install-tools + rm -rf ${RPM_BUILD_ROOT}%{_libexecdir}/gcc/i386-rtems4.11/%{gcc_version}/install-tools + + # Bug in gcc > 4.1.0: Installs an unused, empty directory + if test -d ${RPM_BUILD_ROOT}%{_prefix}/i386-rtems4.11/include/bits; then + rmdir ${RPM_BUILD_ROOT}%{_prefix}/i386-rtems4.11/include/bits + fi + + # Collect multilib subdirectories + multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` + + echo "%defattr(-,root,root,-)" > build/files.newlib + TGTDIR="%{_exec_prefix}/i386-rtems4.11/lib" + for i in $multilibs; do + case $i in + \.) echo "%dir ${TGTDIR}" >> build/files.newlib + ;; + *) echo "%dir ${TGTDIR}/$i" >> build/files.newlib + ;; + esac + done + + rm -f dirs ; + echo "%defattr(-,root,root,-)" >> dirs + TGTDIR="%{_gcclibdir}/gcc/i386-rtems4.11/%{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++ + + TGTDIR="%{_gcclibdir}/gcc/i386-rtems4.11/%{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 ;; + *include/objc*) ;; + *include/g++*);; + *include/c++*);; + *include-fixed/*);; + *finclude/*);; + *adainclude*);; + *adalib*);; + *gnat1);; + *jc1) ;; + *jvgenmain) ;; + */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + */libstdc++.*) echo "$i" >> build/files.g++ ;; + */libsupc++.*) echo "$i" >> build/files.g++ ;; + *) echo "$i" >> build/files.gcc ;; + esac + done + + TGTDIR="%{_exec_prefix}/i386-rtems4.11/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 +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/i386-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/i386-rtems4.11/'} | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/i386-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/i386-rtems4.11/'} | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires + +%ifnarch noarch +# Extract %%__debug_install_post into debug_install_post~ +cat << \EOF > debug_install_post~ +%__debug_install_post +EOF + +# Generate customized debug_install_post script +cat debug_install_post~ | while read a x y; do +case $a in +# Prevent find-debuginfo.sh* from trying to handle foreign binaries +*/find-debuginfo.sh) + b=$(basename $a) + sed -e 's,find "$RPM_BUILD_ROOT" !,find "$RPM_BUILD_ROOT"%_bindir "$RPM_BUILD_ROOT"%_libexecdir !,' $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ +< debug_install_post~ > debug_install_post +%define __debug_install_post . ./debug_install_post + +%endif + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# rtems-4.11-i386-rtems4.11-gcc +# ============================================================== +# %package -n rtems-4.11-i386-rtems4.11-gcc +# Summary: GNU cc compiler for i386-rtems4.11 +# Group: Development/Tools +# Version: %{gcc_rpmvers} +# Requires: rtems-4.11-i386-rtems4.11-binutils +# Requires: rtems-4.11-i386-rtems4.11-newlib = %{newlib_version}-1%{?dist} +# License: GPL + +# %if %build_infos +# Requires: rtems-4.11-gcc-common +# %endif + +%description -n rtems-4.11-i386-rtems4.11-gcc +GNU cc compiler for i386-rtems4.11. + +# ============================================================== +# rtems-4.11-i386-rtems4.11-gcc-libgcc +# ============================================================== +%package -n rtems-4.11-i386-rtems4.11-gcc-libgcc +Summary: libgcc for i386-rtems4.11-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +Requires: rtems-4.11-i386-rtems4.11-newlib = %{newlib_version}-1%{?dist} +License: GPL + +%description -n rtems-4.11-i386-rtems4.11-gcc-libgcc +libgcc i386-rtems4.11-gcc. + + +%files -n rtems-4.11-i386-rtems4.11-gcc +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/i386-rtems4.11-gcc.1* +%{_mandir}/man1/i386-rtems4.11-cpp.1* +%{_mandir}/man1/i386-rtems4.11-gcov.1* + +%dir %{_bindir} +%{_bindir}/i386-rtems4.11-cpp%{_exeext} +%{_bindir}/i386-rtems4.11-gcc%{_exeext} +%{_bindir}/i386-rtems4.11-gcc-%{gcc_version}%{_exeext} +%{_bindir}/i386-rtems4.11-gcov%{_exeext} +%{_bindir}/i386-rtems4.11-gccbug + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/i386-rtems4.11 +%dir %{_libexecdir}/gcc/i386-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/i386-rtems4.11/%{gcc_version}/cc1%{_exeext} +%{_libexecdir}/gcc/i386-rtems4.11/%{gcc_version}/collect2%{_exeext} + + +%files -n rtems-4.11-i386-rtems4.11-gcc-libgcc -f build/files.gcc +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/i386-rtems4.11 +%dir %{_gcclibdir}/gcc/i386-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/i386-rtems4.11/%{gcc_version}/include + +%if "%{gcc_version}" > "4.0.3" +%if "i386-rtems4.11" != "bfin-rtems4.10" +%if "i386-rtems4.11" != "avr-rtems4.10" +%dir %{_gcclibdir}/gcc/i386-rtems4.11/%{gcc_version}/include/ssp +%endif +%endif +%endif + +%if "%{gcc_version}" >= "4.3.0" +%{_gcclibdir}/gcc/i386-rtems4.11/%{gcc_version}/include-fixed +%endif + +# ============================================================== +# rtems-4.11-gcc-common +# ============================================================== +%package -n rtems-4.11-gcc-common +Summary: Base package for rtems gcc and newlib C Library +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-gcc-common +GCC files that are shared by all targets. + +%files -n rtems-4.11-gcc-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/cpp.info* +%{_infodir}/cppinternals.info* +%{_infodir}/gcc.info* +%{_infodir}/gccint.info* +%{_infodir}/gccinstall.info* + +%dir %{_mandir} +%dir %{_mandir}/man7 +%{_mandir}/man7/fsf-funding.7* +%{_mandir}/man7/gfdl.7* +%{_mandir}/man7/gpl.7* + +%post -n rtems-4.11-gcc-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : + +%preun -n rtems-4.11-gcc-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : +fi + +# ============================================================== +# rtems-4.11-i386-rtems4.11-gcc-c++ +# ============================================================== +%package -n rtems-4.11-i386-rtems4.11-gcc-c++ +Summary: GCC c++ compiler for i386-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +License: GPL +Requires: rtems-4.11-i386-rtems4.11-gcc-libstdc++ = %{gcc_rpmvers}-%{release} + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-i386-rtems4.11-gcc-c++ = %{gcc_rpmvers} +%endif + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-i386-rtems4.11-gcc = %{gcc_rpmvers}-%{release} + +%description -n rtems-4.11-i386-rtems4.11-gcc-c++ +GCC c++ compiler for i386-rtems4.11. + + +%package -n rtems-4.11-i386-rtems4.11-gcc-libstdc++ +Summary: libstdc++ for i386-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +%description -n rtems-4.11-i386-rtems4.11-gcc-libstdc++ +%{summary} + + +%files -n rtems-4.11-i386-rtems4.11-gcc-c++ +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/i386-rtems4.11-g++.1* + +%dir %{_bindir} +%{_bindir}/i386-rtems4.11-c++%{_exeext} +%{_bindir}/i386-rtems4.11-g++%{_exeext} + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/i386-rtems4.11 +%dir %{_libexecdir}/gcc/i386-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/i386-rtems4.11/%{gcc_version}/cc1plus%{_exeext} + + +%files -n rtems-4.11-i386-rtems4.11-gcc-libstdc++ -f build/files.g++ +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/i386-rtems4.11 +%dir %{_gcclibdir}/gcc/i386-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/i386-rtems4.11/%{gcc_version}/include +%{_gcclibdir}/gcc/i386-rtems4.11/%{gcc_version}/include/c++ + + + +# ============================================================== +# rtems-4.11-i386-rtems4.11-newlib +# ============================================================== +%package -n rtems-4.11-i386-rtems4.11-newlib +Summary: C Library (newlib) for i386-rtems4.11 +Group: Development/Tools +License: Distributable +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires: rtems-4.11-newlib-common + +%description -n rtems-4.11-i386-rtems4.11-newlib +Newlib C Library for i386-rtems4.11. + +%files -n rtems-4.11-i386-rtems4.11-newlib -f build/files.newlib +%defattr(-,root,root) +%dir %{_exec_prefix} +%dir %{_exec_prefix}/i386-rtems4.11 +%{_exec_prefix}/i386-rtems4.11/include + +# ============================================================== +# rtems-4.11-newlib-common +# ============================================================== +%package -n rtems-4.11-newlib-common +Summary: Base package for RTEMS newlib C Library +Group: Development/Tools +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: Distributable + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-newlib-common +newlib files that are shared by all targets. + +%files -n rtems-4.11-newlib-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/libc.info* +%{_infodir}/libm.info* + +%post -n rtems-4.11-newlib-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : + +%preun -n rtems-4.11-newlib-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : +fi + diff --git a/contrib/crossrpms/rtems4.11/i386/rtems-4.11-i386-rtems4.11-gdb.spec b/contrib/crossrpms/rtems4.11/i386/rtems-4.11-i386-rtems4.11-gdb.spec new file mode 100644 index 0000000000..6d40828605 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/i386/rtems-4.11-i386-rtems4.11-gdb.spec @@ -0,0 +1,319 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define gdb_version 7.0.90 +%define gdb_rpmvers %{expand:%(echo 7.0.90 | tr - _)} + +Name: rtems-4.11-i386-rtems4.11-gdb +Summary: Gdb for target i386-rtems4.11 +Group: Development/Tools +Version: %{gdb_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/gdb +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%define build_sim --enable-sim +%if "%{_build}" != "%{_host}" +# psim doesn't support Cdn-X +%if "i386-rtems4.11" == "powerpc-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%ifos mingw mingw32 +# Mingw lacks functions required by the simulator +%if "i386-rtems4.11" == "sparc-rtems4.10" +%define build_sim --disable-sim +%endif +%if "i386-rtems4.11" == "h8300-rtems4.10" +%define build_sim --disable-sim +%endif +%if "%{gdb_version}" >= "6.8.50" +%if "i386-rtems4.11" == "m32c-rtems4.10" +%define build_sim --disable-sim +%endif +%endif +%if "i386-rtems4.11" == "lm32-rtems4.10" +%define build_sim --disable-sim +%endif +%if "i386-rtems4.11" == "mipstx39-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%if "%{gdb_version}" >= "6.6" +# suse +%if "%{?suse}" >= "10.3" +BuildRequires: libexpat-devel +%else +# Fedora/CentOS/Cygwin/MinGW +BuildRequires: %{_host_rpmprefix}expat-devel +%endif +%endif + +%if "%{gdb_version}" < "6.7" +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}termcap-devel +%endif +%bcond_with system_readline +%else +%bcond_without system_readline +%endif +%{?with_system_readline:BuildRequires: %{_host_rpmprefix}readline-devel} +BuildRequires: %{_host_rpmprefix}ncurses-devel + +%if "%{gdb_version}" >= "6.8.50" +%if "%{_build}" != "%{_host}" +# Can't build python Cdn-X +%bcond_with python +%else +%bcond_without python +%endif +%endif +%{?with_python:BuildRequires: %{_host_rpmprefix}python-devel} + +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 + + +Requires: rtems-4.11-gdb-common + +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif + +%description +GDB for target i386-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd gdb-%{gdb_version} +%{?PATCH0:%patch0 -p1} +cd .. + +# Force using a system-provided libreadline +%{?with_system_readline:rm -f gdb-%{gdb_version}/readline/configure} +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../gdb-%{gdb_version}/configure \ + --build=%_build --host=%_host \ + --target=i386-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + %{build_sim} \ + %{?with_system_readline:--with-system-readline} \ +%if "%{gdb_version}" >= "6.6" + --with-expat \ +%endif +%if "%{gdb_version}" >= "6.8.50" +%if %{with python} + --with-python \ +%else + --without-python \ +%endif +%endif + --prefix=%{_prefix} --bindir=%{_bindir} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + +# These come from other packages + rm -rf $RPM_BUILD_ROOT%{_infodir}/bfd* + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure* + rm -rf $RPM_BUILD_ROOT%{_infodir}/standards* + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# host library, installed to a bogus directory + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libi386-rtems4.11-sim.a + +%if "%{gdb_version}" >= "7.0" +# Bug in gdb-7.0, bogusly installs linux-only files + somethinguseful=0 + for f in ${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls/*.xml; do + case $f in + *linux.xml) rm -f $f;; + *.xml) somethinguseful=1;; + esac + done + if test $somethinguseful -eq 0; then + rm -rf "${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls" + fi +%endif + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# i386-rtems4.11-gdb +# ============================================================== +# %package -n rtems-4.11-i386-rtems4.11-gdb +# Summary: rtems gdb for i386-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-gdb-common +# %endif + +%description -n rtems-4.11-i386-rtems4.11-gdb +GNU gdb targetting i386-rtems4.11. + +%files -n rtems-4.11-i386-rtems4.11-gdb +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/i386-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/i386-rtems4.11-* + +# ============================================================== +# rtems-4.11-gdb-common +# ============================================================== +%package -n rtems-4.11-gdb-common +Summary: Base package for RTEMS gdbs +Group: Development/Tools +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info +%{?_with_noarch_subpackages:BuildArch: noarch} + +%description -n rtems-4.11-gdb-common + +GDB files shared by all targets. + +%post -n rtems-4.11-gdb-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : + +%preun -n rtems-4.11-gdb-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : +fi + +%files -n rtems-4.11-gdb-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/gdb.info* + +%{_infodir}/gdbint.info* +%{_infodir}/stabs.info* +%{_infodir}/annotate.info* + diff --git a/contrib/crossrpms/rtems4.11/lm32/.cvsignore b/contrib/crossrpms/rtems4.11/lm32/.cvsignore new file mode 100644 index 0000000000..11289e9f57 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/lm32/.cvsignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +*.spec.in diff --git a/contrib/crossrpms/rtems4.11/lm32/Makefile.am b/contrib/crossrpms/rtems4.11/lm32/Makefile.am new file mode 100644 index 0000000000..57c43b6f22 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/lm32/Makefile.am @@ -0,0 +1,33 @@ +# $Id$ + +TARGET = lm32-rtems4.11 + +include $(top_srcdir)/mkspec.am + +BINUTILS_VERS = 2.20.1 +BINUTILS_PKGVERS = $(BINUTILS_VERS) +BINUTILS_RPMREL = 1 +include ../binutils.am +BINUTILS_OPTS += + +GCC_VERS = 4.4.3 +GCC_PKGVERS = $(GCC_VERS) +GCC_RPMREL = 1 +NEWLIB_VERS = 1.18.0 +NEWLIB_PKGVERS = $(NEWLIB_VERS) +NEWLIB_RPMREL = `expr $(GCC_RPMREL)` +include ../gcc.am +GCC_OPTS += --languages=cxx + +GDB_VERS = 7.0.90 +GDB_PKGVERS = $(GDB_VERS) +GDB_RPMREL = 1 +include ../gdb.am +GDB_OPTS += + +# NOTREADY +#CPUKIT_VERS = 4.9.99.0 +#CPUKIT_PKGVERS = $(CPUKIT_VERS)-20090206-2 +#CPUKIT_RPMREL = 1 +#include ../cpukit.am +#CPUKIT_OPTS += diff --git a/contrib/crossrpms/rtems4.11/lm32/binutils-sources.add b/contrib/crossrpms/rtems4.11/lm32/binutils-sources.add new file mode 100644 index 0000000000..5c4d63e3ef --- /dev/null +++ b/contrib/crossrpms/rtems4.11/lm32/binutils-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff diff --git a/contrib/crossrpms/rtems4.11/lm32/cpukit-sources.add b/contrib/crossrpms/rtems4.11/lm32/cpukit-sources.add new file mode 100644 index 0000000000..763e672840 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/lm32/cpukit-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} diff --git a/contrib/crossrpms/rtems4.11/lm32/gcc-sources.add b/contrib/crossrpms/rtems4.11/lm32/gcc-sources.add new file mode 100644 index 0000000000..c130209921 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/lm32/gcc-sources.add @@ -0,0 +1,47 @@ +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if %build_cxx +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%endif +%if %build_fortran +Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-fortran-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 2} + +%endif +%if %build_gcj +Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-java-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 3} + +%endif +%if %build_gnat +Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-ada-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 4} + +%endif +%if %build_objc +Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-objc-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 5} + +%endif +%if %build_newlib +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} +%endif diff --git a/contrib/crossrpms/rtems4.11/lm32/gdb-sources.add b/contrib/crossrpms/rtems4.11/lm32/gdb-sources.add new file mode 100644 index 0000000000..e5fb99aa66 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/lm32/gdb-sources.add @@ -0,0 +1,9 @@ +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif diff --git a/contrib/crossrpms/rtems4.11/lm32/rtems-4.11-lm32-rtems4.11-binutils.spec b/contrib/crossrpms/rtems4.11/lm32/rtems-4.11-lm32-rtems4.11-binutils.spec new file mode 100644 index 0000000000..4631ea10b9 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/lm32/rtems-4.11-lm32-rtems4.11-binutils.spec @@ -0,0 +1,268 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define binutils_pkgvers 2.20.1 +%define binutils_version 2.20.1 +%define binutils_rpmvers %{expand:%(echo "2.20.1" | tr - _ )} + +Name: rtems-4.11-lm32-rtems4.11-binutils +Summary: Binutils for target lm32-rtems4.11 +Group: Development/Tools +Version: %{binutils_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/binutils +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{binutils_version}" >= "2.18" +# Bug in bfd: Doesn't build without texinfo installed +BuildRequires: texinfo >= 4.2 +%else +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 +%endif +BuildRequires: flex +BuildRequires: bison + +Requires: rtems-4.11-binutils-common + +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff + +%description +Cross binutils for target lm32-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd binutils-%{binutils_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../binutils-%{binutils_pkgvers}/configure \ + --build=%_build --host=%_host \ + --target=lm32-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + --prefix=%{_prefix} --bindir=%{_bindir} \ + --exec-prefix=%{_exec_prefix} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + 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} \ + exec_prefix=$RPM_BUILD_ROOT%{_exec_prefix} \ + install-info + +# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it. + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info* + + 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 + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# manpages without corresponding tools + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/lm32-rtems4.11-dlltool%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/lm32-rtems4.11-dlltool* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/lm32-rtems4.11-nlmconv%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/lm32-rtems4.11-nlmconv* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/lm32-rtems4.11-windres%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/lm32-rtems4.11-windres* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/lm32-rtems4.11-windmc%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/lm32-rtems4.11-windmc* + fi + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# lm32-rtems4.11-binutils +# ============================================================== +# %package -n rtems-4.11-lm32-rtems4.11-binutils +# Summary: rtems binutils for lm32-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-binutils-common +# %endif + +%description -n rtems-4.11-lm32-rtems4.11-binutils +GNU binutils targetting lm32-rtems4.11. + +%files -n rtems-4.11-lm32-rtems4.11-binutils +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_datarootdir} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/lm32-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/lm32-rtems4.11-* + +%dir %{_exec_prefix}/lm32-rtems4.11 +%dir %{_exec_prefix}/lm32-rtems4.11/bin +%{_exec_prefix}/lm32-rtems4.11/bin/* + +%dir %{_exec_prefix}/lm32-rtems4.11/lib +%{_exec_prefix}/lm32-rtems4.11/lib/ldscripts +# ============================================================== +# rtems-4.11-binutils-common +# ============================================================== +%package -n rtems-4.11-binutils-common +Summary: Base package for RTEMS binutils +Group: Development/Tools +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-binutils-common + +RTEMS is an open source operating system for embedded systems. + +This is the base for binutils regardless of target CPU. + +%post -n rtems-4.11-binutils-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : + +%preun -n rtems-4.11-binutils-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : +fi + +%files -n rtems-4.11-binutils-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/as.info* +%{_infodir}/bfd.info* +%{_infodir}/binutils.info* +%{_infodir}/ld.info* +%{_infodir}/standards.info* +%{_infodir}/gprof.info* + +%dir %{_prefix}/share +%dir %{_prefix}/share/locale + diff --git a/contrib/crossrpms/rtems4.11/lm32/rtems-4.11-lm32-rtems4.11-gcc.spec b/contrib/crossrpms/rtems4.11/lm32/rtems-4.11-lm32-rtems4.11-gcc.spec new file mode 100644 index 0000000000..77c3ffeb2b --- /dev/null +++ b/contrib/crossrpms/rtems4.11/lm32/rtems-4.11-lm32-rtems4.11-gcc.spec @@ -0,0 +1,716 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define gcc_pkgvers 4.4.3 +%define gcc_version 4.4.3 +%define gcc_rpmvers %{expand:%(echo "4.4.3" | tr - _ )} + +%define newlib_pkgvers 1.18.0 +%define newlib_version 1.18.0 + +Name: rtems-4.11-lm32-rtems4.11-gcc +Summary: lm32-rtems4.11 gcc + +Group: Development/Tools +Version: %{gcc_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://gcc.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%define _use_internal_dependency_generator 0 + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{gcc_version}" >= "4.3.0" +%define _gmp_minvers 4.1 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif + +%if %{defined _gmp_minvers} +BuildRequires: gmp-devel >= %{_gmp_minvers} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%endif +%endif + +%if "%{gcc_version}" >= "4.3.3" +%define _cloog_minvers 0.15 +%endif + +%if %{defined _cloog_minvers} +%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%endif + +%if "%{gcc_version}" >= "4.4.0" +%define _mpfr_minvers 2.3.2 +%define mpfr_version 2.4.1 +%else +%if "%{gcc_version}" >= "4.3.0" +%define _mpfr_minvers 2.3.1 +%define mpfr_version 2.3.2 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif +%endif + +%if %{defined _mpfr_minvers} +# FIXME: This is an ugly cludge +%{?fc11:%global mpfr_provided 2.4.1} +%{?fc12:%global mpfr_provided 2.4.1} +%{?fc13:%global mpfr_provided 2.4.1} +%{?suse11_0:%global mpfr_provided 2.3.1} +%{?suse11_1:%global mpfr_provided 2.3.2} +%{?suse11_2:%global mpfr_provided 2.4.1} +%{?cygwin:%global mpfr_provided 2.4.1} +%{?mingw32:%global mpfr_provided %{nil}} + +%if %{defined mpfr_provided} +%if "%{mpfr_provided}" < "%{_mpfr_minvers}" +%define _build_mpfr 1 +%else +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +%else +BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%endif +%endif +%else +%define _build_mpfr 1 +%endif + +%endif + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-lm32-rtems4.11-gcc = %{gcc_rpmvers} +%endif + +%if "%{gcc_version}" >= "4.2.0" +BuildRequires: flex bison +%endif + + +BuildRequires: texinfo >= 4.2 +BuildRequires: rtems-4.11-lm32-rtems4.11-binutils + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-lm32-rtems4.11-binutils +Requires: rtems-4.11-lm32-rtems4.11-gcc-libgcc = %{gcc_rpmvers}-%{release} +Requires: rtems-4.11-lm32-rtems4.11-newlib = %{newlib_version}-1%{?dist} + + +%define _gcclibdir %{_prefix}/lib + +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} + +%if "%{gcc_version}" >= "4.3.0" +Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 +%endif + +%description +Cross gcc for lm32-rtems4.11. + +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 +%{?PATCH0:%patch0 -p0} + +%setup -q -T -D -n %{name}-%{version} -a1 +%{?PATCH1:%patch1 -p0} + + + + + +%setup -q -T -D -n %{name}-%{version} -a50 +cd newlib-%{newlib_version} +%{?PATCH50:%patch50 -p1} +cd .. + # Copy the C library into gcc's source tree + ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_pkgvers} + +%if 0%{?_build_mpfr} +%setup -q -T -D -n %{name}-%{version} -a60 +%{?PATCH60:%patch60 -p1} + # Build mpfr one-tree style + ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr +%endif + +echo "RTEMS gcc-%{gcc_version}-1%{?dist}/newlib-%{newlib_version}-1%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE + + + # Fix timestamps + cd gcc-%{gcc_pkgvers} + contrib/gcc_update --touch + cd .. +%build + mkdir -p build + + cd build + + languages="c" + languages="$languages,c++" + export PATH="%{_bindir}:${PATH}" +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ + CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \ +%else +# gcc is not ready to be compiled with -std=gnu99 + CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \ +%endif + ../gcc-%{gcc_pkgvers}/configure \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --exec_prefix=%{_exec_prefix} \ + --includedir=%{_includedir} \ + --libdir=%{_gcclibdir} \ + --libexecdir=%{_libexecdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} \ + --datadir=%{_datadir} \ + --build=%_build --host=%_host \ + --target=lm32-rtems4.11 \ + --disable-libstdcxx-pch \ + --with-gnu-as --with-gnu-ld --verbose \ + --with-newlib \ + --with-system-zlib \ + --disable-nls --without-included-gettext \ + --disable-win32-registry \ + --enable-version-specific-runtime-libs \ + --enable-threads \ + --enable-newlib-io-c99-formats \ + --enable-languages="$languages" $optargs + +%if "%_host" != "%_build" + # Bug in gcc-3.2.1: + # Somehow, gcc doesn't get syslimits.h right for Cdn-Xs + mkdir -p gcc/include + cp ../gcc-%{gcc_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h +%endif + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + cd build/lm32-rtems4.11/newlib + make DESTDIR=$RPM_BUILD_ROOT install-info + cd ../../.. + +%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/lm32-rtems4.11/%{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}/lm32-rtems4.11-c++filt%{_exeext} + + + # We don't ship info/dir + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + + # Bug in gcc-3.4.0pre + rm -f $RPM_BUILD_ROOT%{_bindir}/lm32-rtems4.11-lm32-rtems4.11-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/lm32-rtems4.11/%{gcc_version}/install-tools + rm -rf ${RPM_BUILD_ROOT}%{_libexecdir}/gcc/lm32-rtems4.11/%{gcc_version}/install-tools + + # Bug in gcc > 4.1.0: Installs an unused, empty directory + if test -d ${RPM_BUILD_ROOT}%{_prefix}/lm32-rtems4.11/include/bits; then + rmdir ${RPM_BUILD_ROOT}%{_prefix}/lm32-rtems4.11/include/bits + fi + + # Collect multilib subdirectories + multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` + + echo "%defattr(-,root,root,-)" > build/files.newlib + TGTDIR="%{_exec_prefix}/lm32-rtems4.11/lib" + for i in $multilibs; do + case $i in + \.) echo "%dir ${TGTDIR}" >> build/files.newlib + ;; + *) echo "%dir ${TGTDIR}/$i" >> build/files.newlib + ;; + esac + done + + rm -f dirs ; + echo "%defattr(-,root,root,-)" >> dirs + TGTDIR="%{_gcclibdir}/gcc/lm32-rtems4.11/%{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++ + + TGTDIR="%{_gcclibdir}/gcc/lm32-rtems4.11/%{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 ;; + *include/objc*) ;; + *include/g++*);; + *include/c++*);; + *include-fixed/*);; + *finclude/*);; + *adainclude*);; + *adalib*);; + *gnat1);; + *jc1) ;; + *jvgenmain) ;; + */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + */libstdc++.*) echo "$i" >> build/files.g++ ;; + */libsupc++.*) echo "$i" >> build/files.g++ ;; + *) echo "$i" >> build/files.gcc ;; + esac + done + + TGTDIR="%{_exec_prefix}/lm32-rtems4.11/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 +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/lm32-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/lm32-rtems4.11/'} | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/lm32-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/lm32-rtems4.11/'} | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires + +%ifnarch noarch +# Extract %%__debug_install_post into debug_install_post~ +cat << \EOF > debug_install_post~ +%__debug_install_post +EOF + +# Generate customized debug_install_post script +cat debug_install_post~ | while read a x y; do +case $a in +# Prevent find-debuginfo.sh* from trying to handle foreign binaries +*/find-debuginfo.sh) + b=$(basename $a) + sed -e 's,find "$RPM_BUILD_ROOT" !,find "$RPM_BUILD_ROOT"%_bindir "$RPM_BUILD_ROOT"%_libexecdir !,' $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ +< debug_install_post~ > debug_install_post +%define __debug_install_post . ./debug_install_post + +%endif + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# rtems-4.11-lm32-rtems4.11-gcc +# ============================================================== +# %package -n rtems-4.11-lm32-rtems4.11-gcc +# Summary: GNU cc compiler for lm32-rtems4.11 +# Group: Development/Tools +# Version: %{gcc_rpmvers} +# Requires: rtems-4.11-lm32-rtems4.11-binutils +# Requires: rtems-4.11-lm32-rtems4.11-newlib = %{newlib_version}-1%{?dist} +# License: GPL + +# %if %build_infos +# Requires: rtems-4.11-gcc-common +# %endif + +%description -n rtems-4.11-lm32-rtems4.11-gcc +GNU cc compiler for lm32-rtems4.11. + +# ============================================================== +# rtems-4.11-lm32-rtems4.11-gcc-libgcc +# ============================================================== +%package -n rtems-4.11-lm32-rtems4.11-gcc-libgcc +Summary: libgcc for lm32-rtems4.11-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +Requires: rtems-4.11-lm32-rtems4.11-newlib = %{newlib_version}-1%{?dist} +License: GPL + +%description -n rtems-4.11-lm32-rtems4.11-gcc-libgcc +libgcc lm32-rtems4.11-gcc. + + +%files -n rtems-4.11-lm32-rtems4.11-gcc +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/lm32-rtems4.11-gcc.1* +%{_mandir}/man1/lm32-rtems4.11-cpp.1* +%{_mandir}/man1/lm32-rtems4.11-gcov.1* + +%dir %{_bindir} +%{_bindir}/lm32-rtems4.11-cpp%{_exeext} +%{_bindir}/lm32-rtems4.11-gcc%{_exeext} +%{_bindir}/lm32-rtems4.11-gcc-%{gcc_version}%{_exeext} +%{_bindir}/lm32-rtems4.11-gcov%{_exeext} +%{_bindir}/lm32-rtems4.11-gccbug + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/lm32-rtems4.11 +%dir %{_libexecdir}/gcc/lm32-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/lm32-rtems4.11/%{gcc_version}/cc1%{_exeext} +%{_libexecdir}/gcc/lm32-rtems4.11/%{gcc_version}/collect2%{_exeext} + + +%files -n rtems-4.11-lm32-rtems4.11-gcc-libgcc -f build/files.gcc +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/lm32-rtems4.11 +%dir %{_gcclibdir}/gcc/lm32-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/lm32-rtems4.11/%{gcc_version}/include + +%if "%{gcc_version}" > "4.0.3" +%if "lm32-rtems4.11" != "bfin-rtems4.10" +%if "lm32-rtems4.11" != "avr-rtems4.10" +%dir %{_gcclibdir}/gcc/lm32-rtems4.11/%{gcc_version}/include/ssp +%endif +%endif +%endif + +%if "%{gcc_version}" >= "4.3.0" +%{_gcclibdir}/gcc/lm32-rtems4.11/%{gcc_version}/include-fixed +%endif + +# ============================================================== +# rtems-4.11-gcc-common +# ============================================================== +%package -n rtems-4.11-gcc-common +Summary: Base package for rtems gcc and newlib C Library +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-gcc-common +GCC files that are shared by all targets. + +%files -n rtems-4.11-gcc-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/cpp.info* +%{_infodir}/cppinternals.info* +%{_infodir}/gcc.info* +%{_infodir}/gccint.info* +%{_infodir}/gccinstall.info* + +%dir %{_mandir} +%dir %{_mandir}/man7 +%{_mandir}/man7/fsf-funding.7* +%{_mandir}/man7/gfdl.7* +%{_mandir}/man7/gpl.7* + +%post -n rtems-4.11-gcc-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : + +%preun -n rtems-4.11-gcc-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : +fi + +# ============================================================== +# rtems-4.11-lm32-rtems4.11-gcc-c++ +# ============================================================== +%package -n rtems-4.11-lm32-rtems4.11-gcc-c++ +Summary: GCC c++ compiler for lm32-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +License: GPL +Requires: rtems-4.11-lm32-rtems4.11-gcc-libstdc++ = %{gcc_rpmvers}-%{release} + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-lm32-rtems4.11-gcc-c++ = %{gcc_rpmvers} +%endif + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-lm32-rtems4.11-gcc = %{gcc_rpmvers}-%{release} + +%description -n rtems-4.11-lm32-rtems4.11-gcc-c++ +GCC c++ compiler for lm32-rtems4.11. + + +%package -n rtems-4.11-lm32-rtems4.11-gcc-libstdc++ +Summary: libstdc++ for lm32-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +%description -n rtems-4.11-lm32-rtems4.11-gcc-libstdc++ +%{summary} + + +%files -n rtems-4.11-lm32-rtems4.11-gcc-c++ +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/lm32-rtems4.11-g++.1* + +%dir %{_bindir} +%{_bindir}/lm32-rtems4.11-c++%{_exeext} +%{_bindir}/lm32-rtems4.11-g++%{_exeext} + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/lm32-rtems4.11 +%dir %{_libexecdir}/gcc/lm32-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/lm32-rtems4.11/%{gcc_version}/cc1plus%{_exeext} + + +%files -n rtems-4.11-lm32-rtems4.11-gcc-libstdc++ -f build/files.g++ +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/lm32-rtems4.11 +%dir %{_gcclibdir}/gcc/lm32-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/lm32-rtems4.11/%{gcc_version}/include +%{_gcclibdir}/gcc/lm32-rtems4.11/%{gcc_version}/include/c++ + + + +# ============================================================== +# rtems-4.11-lm32-rtems4.11-newlib +# ============================================================== +%package -n rtems-4.11-lm32-rtems4.11-newlib +Summary: C Library (newlib) for lm32-rtems4.11 +Group: Development/Tools +License: Distributable +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires: rtems-4.11-newlib-common + +%description -n rtems-4.11-lm32-rtems4.11-newlib +Newlib C Library for lm32-rtems4.11. + +%files -n rtems-4.11-lm32-rtems4.11-newlib -f build/files.newlib +%defattr(-,root,root) +%dir %{_exec_prefix} +%dir %{_exec_prefix}/lm32-rtems4.11 +%{_exec_prefix}/lm32-rtems4.11/include + +# ============================================================== +# rtems-4.11-newlib-common +# ============================================================== +%package -n rtems-4.11-newlib-common +Summary: Base package for RTEMS newlib C Library +Group: Development/Tools +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: Distributable + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-newlib-common +newlib files that are shared by all targets. + +%files -n rtems-4.11-newlib-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/libc.info* +%{_infodir}/libm.info* + +%post -n rtems-4.11-newlib-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : + +%preun -n rtems-4.11-newlib-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : +fi + diff --git a/contrib/crossrpms/rtems4.11/lm32/rtems-4.11-lm32-rtems4.11-gdb.spec b/contrib/crossrpms/rtems4.11/lm32/rtems-4.11-lm32-rtems4.11-gdb.spec new file mode 100644 index 0000000000..3b53ba49fb --- /dev/null +++ b/contrib/crossrpms/rtems4.11/lm32/rtems-4.11-lm32-rtems4.11-gdb.spec @@ -0,0 +1,319 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define gdb_version 7.0.90 +%define gdb_rpmvers %{expand:%(echo 7.0.90 | tr - _)} + +Name: rtems-4.11-lm32-rtems4.11-gdb +Summary: Gdb for target lm32-rtems4.11 +Group: Development/Tools +Version: %{gdb_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/gdb +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%define build_sim --enable-sim +%if "%{_build}" != "%{_host}" +# psim doesn't support Cdn-X +%if "lm32-rtems4.11" == "powerpc-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%ifos mingw mingw32 +# Mingw lacks functions required by the simulator +%if "lm32-rtems4.11" == "sparc-rtems4.10" +%define build_sim --disable-sim +%endif +%if "lm32-rtems4.11" == "h8300-rtems4.10" +%define build_sim --disable-sim +%endif +%if "%{gdb_version}" >= "6.8.50" +%if "lm32-rtems4.11" == "m32c-rtems4.10" +%define build_sim --disable-sim +%endif +%endif +%if "lm32-rtems4.11" == "lm32-rtems4.10" +%define build_sim --disable-sim +%endif +%if "lm32-rtems4.11" == "mipstx39-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%if "%{gdb_version}" >= "6.6" +# suse +%if "%{?suse}" >= "10.3" +BuildRequires: libexpat-devel +%else +# Fedora/CentOS/Cygwin/MinGW +BuildRequires: %{_host_rpmprefix}expat-devel +%endif +%endif + +%if "%{gdb_version}" < "6.7" +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}termcap-devel +%endif +%bcond_with system_readline +%else +%bcond_without system_readline +%endif +%{?with_system_readline:BuildRequires: %{_host_rpmprefix}readline-devel} +BuildRequires: %{_host_rpmprefix}ncurses-devel + +%if "%{gdb_version}" >= "6.8.50" +%if "%{_build}" != "%{_host}" +# Can't build python Cdn-X +%bcond_with python +%else +%bcond_without python +%endif +%endif +%{?with_python:BuildRequires: %{_host_rpmprefix}python-devel} + +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 + + +Requires: rtems-4.11-gdb-common + +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif + +%description +GDB for target lm32-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd gdb-%{gdb_version} +%{?PATCH0:%patch0 -p1} +cd .. + +# Force using a system-provided libreadline +%{?with_system_readline:rm -f gdb-%{gdb_version}/readline/configure} +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../gdb-%{gdb_version}/configure \ + --build=%_build --host=%_host \ + --target=lm32-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + %{build_sim} \ + %{?with_system_readline:--with-system-readline} \ +%if "%{gdb_version}" >= "6.6" + --with-expat \ +%endif +%if "%{gdb_version}" >= "6.8.50" +%if %{with python} + --with-python \ +%else + --without-python \ +%endif +%endif + --prefix=%{_prefix} --bindir=%{_bindir} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + +# These come from other packages + rm -rf $RPM_BUILD_ROOT%{_infodir}/bfd* + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure* + rm -rf $RPM_BUILD_ROOT%{_infodir}/standards* + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# host library, installed to a bogus directory + rm -f ${RPM_BUILD_ROOT}%{_libdir}/liblm32-rtems4.11-sim.a + +%if "%{gdb_version}" >= "7.0" +# Bug in gdb-7.0, bogusly installs linux-only files + somethinguseful=0 + for f in ${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls/*.xml; do + case $f in + *linux.xml) rm -f $f;; + *.xml) somethinguseful=1;; + esac + done + if test $somethinguseful -eq 0; then + rm -rf "${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls" + fi +%endif + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# lm32-rtems4.11-gdb +# ============================================================== +# %package -n rtems-4.11-lm32-rtems4.11-gdb +# Summary: rtems gdb for lm32-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-gdb-common +# %endif + +%description -n rtems-4.11-lm32-rtems4.11-gdb +GNU gdb targetting lm32-rtems4.11. + +%files -n rtems-4.11-lm32-rtems4.11-gdb +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/lm32-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/lm32-rtems4.11-* + +# ============================================================== +# rtems-4.11-gdb-common +# ============================================================== +%package -n rtems-4.11-gdb-common +Summary: Base package for RTEMS gdbs +Group: Development/Tools +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info +%{?_with_noarch_subpackages:BuildArch: noarch} + +%description -n rtems-4.11-gdb-common + +GDB files shared by all targets. + +%post -n rtems-4.11-gdb-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : + +%preun -n rtems-4.11-gdb-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : +fi + +%files -n rtems-4.11-gdb-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/gdb.info* + +%{_infodir}/gdbint.info* +%{_infodir}/stabs.info* +%{_infodir}/annotate.info* + diff --git a/contrib/crossrpms/rtems4.11/m32c/.cvsignore b/contrib/crossrpms/rtems4.11/m32c/.cvsignore new file mode 100644 index 0000000000..11289e9f57 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32c/.cvsignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +*.spec.in diff --git a/contrib/crossrpms/rtems4.11/m32c/Makefile.am b/contrib/crossrpms/rtems4.11/m32c/Makefile.am new file mode 100644 index 0000000000..e907b5120a --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32c/Makefile.am @@ -0,0 +1,32 @@ +# $Id$ + +TARGET = m32c-rtems4.11 + +include $(top_srcdir)/mkspec.am + +BINUTILS_VERS = 2.20.1 +BINUTILS_PKGVERS = $(BINUTILS_VERS) +BINUTILS_RPMREL = 1 +include ../binutils.am +BINUTILS_OPTS += + +GCC_VERS = 4.4.3 +GCC_PKGVERS = $(GCC_VERS) +GCC_RPMREL = 1 +NEWLIB_VERS = 1.18.0 +NEWLIB_PKGVERS = $(NEWLIB_VERS) +NEWLIB_RPMREL = `expr $(GCC_RPMREL)` +include ../gcc.am +GCC_OPTS += + +GDB_VERS = 7.0.90 +GDB_PKGVERS = $(GDB_VERS) +GDB_RPMREL = 1 +include ../gdb.am +GDB_OPTS += + +CPUKIT_VERS = 4.9.99.0 +CPUKIT_PKGVERS = $(CPUKIT_VERS)-20090206-2 +CPUKIT_RPMREL = 1 +include ../cpukit.am +CPUKIT_OPTS += diff --git a/contrib/crossrpms/rtems4.11/m32c/binutils-sources.add b/contrib/crossrpms/rtems4.11/m32c/binutils-sources.add new file mode 100644 index 0000000000..5c4d63e3ef --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32c/binutils-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff diff --git a/contrib/crossrpms/rtems4.11/m32c/cpukit-sources.add b/contrib/crossrpms/rtems4.11/m32c/cpukit-sources.add new file mode 100644 index 0000000000..763e672840 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32c/cpukit-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} diff --git a/contrib/crossrpms/rtems4.11/m32c/gcc-sources.add b/contrib/crossrpms/rtems4.11/m32c/gcc-sources.add new file mode 100644 index 0000000000..c130209921 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32c/gcc-sources.add @@ -0,0 +1,47 @@ +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if %build_cxx +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%endif +%if %build_fortran +Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-fortran-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 2} + +%endif +%if %build_gcj +Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-java-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 3} + +%endif +%if %build_gnat +Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-ada-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 4} + +%endif +%if %build_objc +Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-objc-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 5} + +%endif +%if %build_newlib +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} +%endif diff --git a/contrib/crossrpms/rtems4.11/m32c/gdb-sources.add b/contrib/crossrpms/rtems4.11/m32c/gdb-sources.add new file mode 100644 index 0000000000..e5fb99aa66 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32c/gdb-sources.add @@ -0,0 +1,9 @@ +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif diff --git a/contrib/crossrpms/rtems4.11/m32c/rtems-4.11-m32c-rtems4.11-binutils.spec b/contrib/crossrpms/rtems4.11/m32c/rtems-4.11-m32c-rtems4.11-binutils.spec new file mode 100644 index 0000000000..549478a0b2 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32c/rtems-4.11-m32c-rtems4.11-binutils.spec @@ -0,0 +1,268 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define binutils_pkgvers 2.20.1 +%define binutils_version 2.20.1 +%define binutils_rpmvers %{expand:%(echo "2.20.1" | tr - _ )} + +Name: rtems-4.11-m32c-rtems4.11-binutils +Summary: Binutils for target m32c-rtems4.11 +Group: Development/Tools +Version: %{binutils_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/binutils +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{binutils_version}" >= "2.18" +# Bug in bfd: Doesn't build without texinfo installed +BuildRequires: texinfo >= 4.2 +%else +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 +%endif +BuildRequires: flex +BuildRequires: bison + +Requires: rtems-4.11-binutils-common + +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff + +%description +Cross binutils for target m32c-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd binutils-%{binutils_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../binutils-%{binutils_pkgvers}/configure \ + --build=%_build --host=%_host \ + --target=m32c-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + --prefix=%{_prefix} --bindir=%{_bindir} \ + --exec-prefix=%{_exec_prefix} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + 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} \ + exec_prefix=$RPM_BUILD_ROOT%{_exec_prefix} \ + install-info + +# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it. + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info* + + 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 + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# manpages without corresponding tools + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/m32c-rtems4.11-dlltool%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/m32c-rtems4.11-dlltool* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/m32c-rtems4.11-nlmconv%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/m32c-rtems4.11-nlmconv* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/m32c-rtems4.11-windres%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/m32c-rtems4.11-windres* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/m32c-rtems4.11-windmc%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/m32c-rtems4.11-windmc* + fi + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# m32c-rtems4.11-binutils +# ============================================================== +# %package -n rtems-4.11-m32c-rtems4.11-binutils +# Summary: rtems binutils for m32c-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-binutils-common +# %endif + +%description -n rtems-4.11-m32c-rtems4.11-binutils +GNU binutils targetting m32c-rtems4.11. + +%files -n rtems-4.11-m32c-rtems4.11-binutils +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_datarootdir} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/m32c-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/m32c-rtems4.11-* + +%dir %{_exec_prefix}/m32c-rtems4.11 +%dir %{_exec_prefix}/m32c-rtems4.11/bin +%{_exec_prefix}/m32c-rtems4.11/bin/* + +%dir %{_exec_prefix}/m32c-rtems4.11/lib +%{_exec_prefix}/m32c-rtems4.11/lib/ldscripts +# ============================================================== +# rtems-4.11-binutils-common +# ============================================================== +%package -n rtems-4.11-binutils-common +Summary: Base package for RTEMS binutils +Group: Development/Tools +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-binutils-common + +RTEMS is an open source operating system for embedded systems. + +This is the base for binutils regardless of target CPU. + +%post -n rtems-4.11-binutils-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : + +%preun -n rtems-4.11-binutils-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : +fi + +%files -n rtems-4.11-binutils-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/as.info* +%{_infodir}/bfd.info* +%{_infodir}/binutils.info* +%{_infodir}/ld.info* +%{_infodir}/standards.info* +%{_infodir}/gprof.info* + +%dir %{_prefix}/share +%dir %{_prefix}/share/locale + diff --git a/contrib/crossrpms/rtems4.11/m32c/rtems-4.11-m32c-rtems4.11-cpukit.spec b/contrib/crossrpms/rtems4.11/m32c/rtems-4.11-m32c-rtems4.11-cpukit.spec new file mode 100644 index 0000000000..c3732f7ab0 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32c/rtems-4.11-m32c-rtems4.11-cpukit.spec @@ -0,0 +1,158 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define cpukit_pkgvers 4.9.99.0-20090206-2 +%define cpukit_version 4.9.99.0 +%define cpukit_rpmvers %{expand:%(echo "4.9.99.0-20090206-2" | tr - . )} + +Name: rtems-4.11-m32c-rtems4.11-cpukit +Summary: m32c-rtems4.11 cpukit + +Group: Development/Tools +Version: %{cpukit_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://cpukit.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch + +%define debug_package %{nil} + +BuildRequires: rtems-4.11-m32c-rtems4.11-gcc + +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} + +%description +RTEMS cpukit for m32c-rtems4.11. +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 + + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + + cd build + ../rtems-%{cpukit_version}/configure \ + --prefix=%{_prefix} \ + --target=m32c-rtems4.11 \ + --enable-multilib \ + --disable-rtemsbsp + + make all RTEMS_BSP= + cd .. + +%install + rm -rf $RPM_BUILD_ROOT + export PATH="%{_bindir}:${PATH}" + cd build + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + rm -rf $RPM_BUILD_ROOT%{_prefix}/share/man + rm -rf $RPM_BUILD_ROOT%{_prefix}/bin +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{version}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/m32c-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/m32c-rtems4.11/' | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-provides +%define __find_provides %{_builddir}/%{name}-%{version}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{version}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/m32c-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/m32c-rtems4.11/' | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-requires +%define __find_requires %{_builddir}/%{name}-%{version}/find-requires + +%clean + rm -rf $RPM_BUILD_ROOT + +%description -n rtems-4.11-m32c-rtems4.11-cpukit +RTEMS cpukit for target m32c-rtems4.11. + +%files -n rtems-4.11-m32c-rtems4.11-cpukit +%defattr(-,root,root) +%dir %{_prefix} +%{_prefix}/m32c-rtems4.11 +# Violates the FHS +%exclude %{_prefix}/make diff --git a/contrib/crossrpms/rtems4.11/m32c/rtems-4.11-m32c-rtems4.11-gcc.spec b/contrib/crossrpms/rtems4.11/m32c/rtems-4.11-m32c-rtems4.11-gcc.spec new file mode 100644 index 0000000000..ab640d397a --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32c/rtems-4.11-m32c-rtems4.11-gcc.spec @@ -0,0 +1,645 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define gcc_pkgvers 4.4.3 +%define gcc_version 4.4.3 +%define gcc_rpmvers %{expand:%(echo "4.4.3" | tr - _ )} + +%define newlib_pkgvers 1.18.0 +%define newlib_version 1.18.0 + +Name: rtems-4.11-m32c-rtems4.11-gcc +Summary: m32c-rtems4.11 gcc + +Group: Development/Tools +Version: %{gcc_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://gcc.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%define _use_internal_dependency_generator 0 + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{gcc_version}" >= "4.3.0" +%define _gmp_minvers 4.1 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif + +%if %{defined _gmp_minvers} +BuildRequires: gmp-devel >= %{_gmp_minvers} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%endif +%endif + +%if "%{gcc_version}" >= "4.3.3" +%define _cloog_minvers 0.15 +%endif + +%if %{defined _cloog_minvers} +%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%endif + +%if "%{gcc_version}" >= "4.4.0" +%define _mpfr_minvers 2.3.2 +%define mpfr_version 2.4.1 +%else +%if "%{gcc_version}" >= "4.3.0" +%define _mpfr_minvers 2.3.1 +%define mpfr_version 2.3.2 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif +%endif + +%if %{defined _mpfr_minvers} +# FIXME: This is an ugly cludge +%{?fc11:%global mpfr_provided 2.4.1} +%{?fc12:%global mpfr_provided 2.4.1} +%{?fc13:%global mpfr_provided 2.4.1} +%{?suse11_0:%global mpfr_provided 2.3.1} +%{?suse11_1:%global mpfr_provided 2.3.2} +%{?suse11_2:%global mpfr_provided 2.4.1} +%{?cygwin:%global mpfr_provided 2.4.1} +%{?mingw32:%global mpfr_provided %{nil}} + +%if %{defined mpfr_provided} +%if "%{mpfr_provided}" < "%{_mpfr_minvers}" +%define _build_mpfr 1 +%else +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +%else +BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%endif +%endif +%else +%define _build_mpfr 1 +%endif + +%endif + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-m32c-rtems4.11-gcc = %{gcc_rpmvers} +%endif + +%if "%{gcc_version}" >= "4.2.0" +BuildRequires: flex bison +%endif + + +BuildRequires: texinfo >= 4.2 +BuildRequires: rtems-4.11-m32c-rtems4.11-binutils + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-m32c-rtems4.11-binutils +Requires: rtems-4.11-m32c-rtems4.11-gcc-libgcc = %{gcc_rpmvers}-%{release} +Requires: rtems-4.11-m32c-rtems4.11-newlib = %{newlib_version}-1%{?dist} + + +%define _gcclibdir %{_prefix}/lib + +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} + +%if "%{gcc_version}" >= "4.3.0" +Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 +%endif + +%description +Cross gcc for m32c-rtems4.11. + +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 +%{?PATCH0:%patch0 -p0} + + + + + + +%setup -q -T -D -n %{name}-%{version} -a50 +cd newlib-%{newlib_version} +%{?PATCH50:%patch50 -p1} +cd .. + # Copy the C library into gcc's source tree + ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_pkgvers} + +%if 0%{?_build_mpfr} +%setup -q -T -D -n %{name}-%{version} -a60 +%{?PATCH60:%patch60 -p1} + # Build mpfr one-tree style + ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr +%endif + +echo "RTEMS gcc-%{gcc_version}-1%{?dist}/newlib-%{newlib_version}-1%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE + + + # Fix timestamps + cd gcc-%{gcc_pkgvers} + contrib/gcc_update --touch + cd .. +%build + mkdir -p build + + cd build + + languages="c" + export PATH="%{_bindir}:${PATH}" +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ + CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \ +%else +# gcc is not ready to be compiled with -std=gnu99 + CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \ +%endif + ../gcc-%{gcc_pkgvers}/configure \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --exec_prefix=%{_exec_prefix} \ + --includedir=%{_includedir} \ + --libdir=%{_gcclibdir} \ + --libexecdir=%{_libexecdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} \ + --datadir=%{_datadir} \ + --build=%_build --host=%_host \ + --target=m32c-rtems4.11 \ + --disable-libstdcxx-pch \ + --with-gnu-as --with-gnu-ld --verbose \ + --with-newlib \ + --with-system-zlib \ + --disable-nls --without-included-gettext \ + --disable-win32-registry \ + --enable-version-specific-runtime-libs \ + --enable-threads \ + --enable-newlib-io-c99-formats \ + --enable-languages="$languages" $optargs + +%if "%_host" != "%_build" + # Bug in gcc-3.2.1: + # Somehow, gcc doesn't get syslimits.h right for Cdn-Xs + mkdir -p gcc/include + cp ../gcc-%{gcc_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h +%endif + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + cd build/m32c-rtems4.11/newlib + make DESTDIR=$RPM_BUILD_ROOT install-info + cd ../../.. + +%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/m32c-rtems4.11/%{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}/m32c-rtems4.11-c++filt%{_exeext} + + + # We don't ship info/dir + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + + # Bug in gcc-3.4.0pre + rm -f $RPM_BUILD_ROOT%{_bindir}/m32c-rtems4.11-m32c-rtems4.11-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/m32c-rtems4.11/%{gcc_version}/install-tools + rm -rf ${RPM_BUILD_ROOT}%{_libexecdir}/gcc/m32c-rtems4.11/%{gcc_version}/install-tools + + # Bug in gcc > 4.1.0: Installs an unused, empty directory + if test -d ${RPM_BUILD_ROOT}%{_prefix}/m32c-rtems4.11/include/bits; then + rmdir ${RPM_BUILD_ROOT}%{_prefix}/m32c-rtems4.11/include/bits + fi + + # Collect multilib subdirectories + multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` + + echo "%defattr(-,root,root,-)" > build/files.newlib + TGTDIR="%{_exec_prefix}/m32c-rtems4.11/lib" + for i in $multilibs; do + case $i in + \.) echo "%dir ${TGTDIR}" >> build/files.newlib + ;; + *) echo "%dir ${TGTDIR}/$i" >> build/files.newlib + ;; + esac + done + + rm -f dirs ; + echo "%defattr(-,root,root,-)" >> dirs + TGTDIR="%{_gcclibdir}/gcc/m32c-rtems4.11/%{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++ + + TGTDIR="%{_gcclibdir}/gcc/m32c-rtems4.11/%{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 ;; + *include/objc*) ;; + *include/g++*);; + *include/c++*);; + *include-fixed/*);; + *finclude/*);; + *adainclude*);; + *adalib*);; + *gnat1);; + *jc1) ;; + *jvgenmain) ;; + */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + */libstdc++.*) echo "$i" >> build/files.g++ ;; + */libsupc++.*) echo "$i" >> build/files.g++ ;; + *) echo "$i" >> build/files.gcc ;; + esac + done + + TGTDIR="%{_exec_prefix}/m32c-rtems4.11/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 +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/m32c-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/m32c-rtems4.11/'} | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/m32c-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/m32c-rtems4.11/'} | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires + +%ifnarch noarch +# Extract %%__debug_install_post into debug_install_post~ +cat << \EOF > debug_install_post~ +%__debug_install_post +EOF + +# Generate customized debug_install_post script +cat debug_install_post~ | while read a x y; do +case $a in +# Prevent find-debuginfo.sh* from trying to handle foreign binaries +*/find-debuginfo.sh) + b=$(basename $a) + sed -e 's,find "$RPM_BUILD_ROOT" !,find "$RPM_BUILD_ROOT"%_bindir "$RPM_BUILD_ROOT"%_libexecdir !,' $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ +< debug_install_post~ > debug_install_post +%define __debug_install_post . ./debug_install_post + +%endif + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# rtems-4.11-m32c-rtems4.11-gcc +# ============================================================== +# %package -n rtems-4.11-m32c-rtems4.11-gcc +# Summary: GNU cc compiler for m32c-rtems4.11 +# Group: Development/Tools +# Version: %{gcc_rpmvers} +# Requires: rtems-4.11-m32c-rtems4.11-binutils +# Requires: rtems-4.11-m32c-rtems4.11-newlib = %{newlib_version}-1%{?dist} +# License: GPL + +# %if %build_infos +# Requires: rtems-4.11-gcc-common +# %endif + +%description -n rtems-4.11-m32c-rtems4.11-gcc +GNU cc compiler for m32c-rtems4.11. + +# ============================================================== +# rtems-4.11-m32c-rtems4.11-gcc-libgcc +# ============================================================== +%package -n rtems-4.11-m32c-rtems4.11-gcc-libgcc +Summary: libgcc for m32c-rtems4.11-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +Requires: rtems-4.11-m32c-rtems4.11-newlib = %{newlib_version}-1%{?dist} +License: GPL + +%description -n rtems-4.11-m32c-rtems4.11-gcc-libgcc +libgcc m32c-rtems4.11-gcc. + + +%files -n rtems-4.11-m32c-rtems4.11-gcc +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/m32c-rtems4.11-gcc.1* +%{_mandir}/man1/m32c-rtems4.11-cpp.1* +%{_mandir}/man1/m32c-rtems4.11-gcov.1* + +%dir %{_bindir} +%{_bindir}/m32c-rtems4.11-cpp%{_exeext} +%{_bindir}/m32c-rtems4.11-gcc%{_exeext} +%{_bindir}/m32c-rtems4.11-gcc-%{gcc_version}%{_exeext} +%{_bindir}/m32c-rtems4.11-gcov%{_exeext} +%{_bindir}/m32c-rtems4.11-gccbug + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/m32c-rtems4.11 +%dir %{_libexecdir}/gcc/m32c-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/m32c-rtems4.11/%{gcc_version}/cc1%{_exeext} +%{_libexecdir}/gcc/m32c-rtems4.11/%{gcc_version}/collect2%{_exeext} + + +%files -n rtems-4.11-m32c-rtems4.11-gcc-libgcc -f build/files.gcc +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/m32c-rtems4.11 +%dir %{_gcclibdir}/gcc/m32c-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/m32c-rtems4.11/%{gcc_version}/include + +%if "%{gcc_version}" > "4.0.3" +%if "m32c-rtems4.11" != "bfin-rtems4.10" +%if "m32c-rtems4.11" != "avr-rtems4.10" +%dir %{_gcclibdir}/gcc/m32c-rtems4.11/%{gcc_version}/include/ssp +%endif +%endif +%endif + +%if "%{gcc_version}" >= "4.3.0" +%{_gcclibdir}/gcc/m32c-rtems4.11/%{gcc_version}/include-fixed +%endif + +# ============================================================== +# rtems-4.11-gcc-common +# ============================================================== +%package -n rtems-4.11-gcc-common +Summary: Base package for rtems gcc and newlib C Library +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-gcc-common +GCC files that are shared by all targets. + +%files -n rtems-4.11-gcc-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/cpp.info* +%{_infodir}/cppinternals.info* +%{_infodir}/gcc.info* +%{_infodir}/gccint.info* +%{_infodir}/gccinstall.info* + +%dir %{_mandir} +%dir %{_mandir}/man7 +%{_mandir}/man7/fsf-funding.7* +%{_mandir}/man7/gfdl.7* +%{_mandir}/man7/gpl.7* + +%post -n rtems-4.11-gcc-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : + +%preun -n rtems-4.11-gcc-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : +fi + + + + +# ============================================================== +# rtems-4.11-m32c-rtems4.11-newlib +# ============================================================== +%package -n rtems-4.11-m32c-rtems4.11-newlib +Summary: C Library (newlib) for m32c-rtems4.11 +Group: Development/Tools +License: Distributable +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires: rtems-4.11-newlib-common + +%description -n rtems-4.11-m32c-rtems4.11-newlib +Newlib C Library for m32c-rtems4.11. + +%files -n rtems-4.11-m32c-rtems4.11-newlib -f build/files.newlib +%defattr(-,root,root) +%dir %{_exec_prefix} +%dir %{_exec_prefix}/m32c-rtems4.11 +%{_exec_prefix}/m32c-rtems4.11/include + +# ============================================================== +# rtems-4.11-newlib-common +# ============================================================== +%package -n rtems-4.11-newlib-common +Summary: Base package for RTEMS newlib C Library +Group: Development/Tools +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: Distributable + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-newlib-common +newlib files that are shared by all targets. + +%files -n rtems-4.11-newlib-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/libc.info* +%{_infodir}/libm.info* + +%post -n rtems-4.11-newlib-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : + +%preun -n rtems-4.11-newlib-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : +fi + diff --git a/contrib/crossrpms/rtems4.11/m32c/rtems-4.11-m32c-rtems4.11-gdb.spec b/contrib/crossrpms/rtems4.11/m32c/rtems-4.11-m32c-rtems4.11-gdb.spec new file mode 100644 index 0000000000..242e570b86 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32c/rtems-4.11-m32c-rtems4.11-gdb.spec @@ -0,0 +1,319 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define gdb_version 7.0.90 +%define gdb_rpmvers %{expand:%(echo 7.0.90 | tr - _)} + +Name: rtems-4.11-m32c-rtems4.11-gdb +Summary: Gdb for target m32c-rtems4.11 +Group: Development/Tools +Version: %{gdb_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/gdb +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%define build_sim --enable-sim +%if "%{_build}" != "%{_host}" +# psim doesn't support Cdn-X +%if "m32c-rtems4.11" == "powerpc-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%ifos mingw mingw32 +# Mingw lacks functions required by the simulator +%if "m32c-rtems4.11" == "sparc-rtems4.10" +%define build_sim --disable-sim +%endif +%if "m32c-rtems4.11" == "h8300-rtems4.10" +%define build_sim --disable-sim +%endif +%if "%{gdb_version}" >= "6.8.50" +%if "m32c-rtems4.11" == "m32c-rtems4.10" +%define build_sim --disable-sim +%endif +%endif +%if "m32c-rtems4.11" == "lm32-rtems4.10" +%define build_sim --disable-sim +%endif +%if "m32c-rtems4.11" == "mipstx39-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%if "%{gdb_version}" >= "6.6" +# suse +%if "%{?suse}" >= "10.3" +BuildRequires: libexpat-devel +%else +# Fedora/CentOS/Cygwin/MinGW +BuildRequires: %{_host_rpmprefix}expat-devel +%endif +%endif + +%if "%{gdb_version}" < "6.7" +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}termcap-devel +%endif +%bcond_with system_readline +%else +%bcond_without system_readline +%endif +%{?with_system_readline:BuildRequires: %{_host_rpmprefix}readline-devel} +BuildRequires: %{_host_rpmprefix}ncurses-devel + +%if "%{gdb_version}" >= "6.8.50" +%if "%{_build}" != "%{_host}" +# Can't build python Cdn-X +%bcond_with python +%else +%bcond_without python +%endif +%endif +%{?with_python:BuildRequires: %{_host_rpmprefix}python-devel} + +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 + + +Requires: rtems-4.11-gdb-common + +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif + +%description +GDB for target m32c-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd gdb-%{gdb_version} +%{?PATCH0:%patch0 -p1} +cd .. + +# Force using a system-provided libreadline +%{?with_system_readline:rm -f gdb-%{gdb_version}/readline/configure} +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../gdb-%{gdb_version}/configure \ + --build=%_build --host=%_host \ + --target=m32c-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + %{build_sim} \ + %{?with_system_readline:--with-system-readline} \ +%if "%{gdb_version}" >= "6.6" + --with-expat \ +%endif +%if "%{gdb_version}" >= "6.8.50" +%if %{with python} + --with-python \ +%else + --without-python \ +%endif +%endif + --prefix=%{_prefix} --bindir=%{_bindir} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + +# These come from other packages + rm -rf $RPM_BUILD_ROOT%{_infodir}/bfd* + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure* + rm -rf $RPM_BUILD_ROOT%{_infodir}/standards* + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# host library, installed to a bogus directory + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libm32c-rtems4.11-sim.a + +%if "%{gdb_version}" >= "7.0" +# Bug in gdb-7.0, bogusly installs linux-only files + somethinguseful=0 + for f in ${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls/*.xml; do + case $f in + *linux.xml) rm -f $f;; + *.xml) somethinguseful=1;; + esac + done + if test $somethinguseful -eq 0; then + rm -rf "${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls" + fi +%endif + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# m32c-rtems4.11-gdb +# ============================================================== +# %package -n rtems-4.11-m32c-rtems4.11-gdb +# Summary: rtems gdb for m32c-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-gdb-common +# %endif + +%description -n rtems-4.11-m32c-rtems4.11-gdb +GNU gdb targetting m32c-rtems4.11. + +%files -n rtems-4.11-m32c-rtems4.11-gdb +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/m32c-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/m32c-rtems4.11-* + +# ============================================================== +# rtems-4.11-gdb-common +# ============================================================== +%package -n rtems-4.11-gdb-common +Summary: Base package for RTEMS gdbs +Group: Development/Tools +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info +%{?_with_noarch_subpackages:BuildArch: noarch} + +%description -n rtems-4.11-gdb-common + +GDB files shared by all targets. + +%post -n rtems-4.11-gdb-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : + +%preun -n rtems-4.11-gdb-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : +fi + +%files -n rtems-4.11-gdb-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/gdb.info* + +%{_infodir}/gdbint.info* +%{_infodir}/stabs.info* +%{_infodir}/annotate.info* + diff --git a/contrib/crossrpms/rtems4.11/m32r/.cvsignore b/contrib/crossrpms/rtems4.11/m32r/.cvsignore new file mode 100644 index 0000000000..11289e9f57 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32r/.cvsignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +*.spec.in diff --git a/contrib/crossrpms/rtems4.11/m32r/Makefile.am b/contrib/crossrpms/rtems4.11/m32r/Makefile.am new file mode 100644 index 0000000000..c23f785617 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32r/Makefile.am @@ -0,0 +1,32 @@ +# $Id$ + +TARGET = m32r-rtems4.11 + +include $(top_srcdir)/mkspec.am + +BINUTILS_VERS = 2.20.1 +BINUTILS_PKGVERS = $(BINUTILS_VERS) +BINUTILS_RPMREL = 1 +include ../binutils.am +BINUTILS_OPTS += + +GCC_VERS = 4.4.3 +GCC_PKGVERS = $(GCC_VERS) +GCC_RPMREL = 1 +NEWLIB_VERS = 1.18.0 +NEWLIB_PKGVERS = $(NEWLIB_VERS) +NEWLIB_RPMREL = `expr $(GCC_RPMREL)` +include ../gcc.am +GCC_OPTS += + +GDB_VERS = 7.0.90 +GDB_PKGVERS = $(GDB_VERS) +GDB_RPMREL = 1 +include ../gdb.am +GDB_OPTS += + +CPUKIT_VERS = 4.9.99.0 +CPUKIT_PKGVERS = $(CPUKIT_VERS)-20090206-2 +CPUKIT_RPMREL = 1 +include ../cpukit.am +CPUKIT_OPTS += diff --git a/contrib/crossrpms/rtems4.11/m32r/binutils-sources.add b/contrib/crossrpms/rtems4.11/m32r/binutils-sources.add new file mode 100644 index 0000000000..5c4d63e3ef --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32r/binutils-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff diff --git a/contrib/crossrpms/rtems4.11/m32r/cpukit-sources.add b/contrib/crossrpms/rtems4.11/m32r/cpukit-sources.add new file mode 100644 index 0000000000..763e672840 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32r/cpukit-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} diff --git a/contrib/crossrpms/rtems4.11/m32r/gcc-sources.add b/contrib/crossrpms/rtems4.11/m32r/gcc-sources.add new file mode 100644 index 0000000000..c130209921 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32r/gcc-sources.add @@ -0,0 +1,47 @@ +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if %build_cxx +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%endif +%if %build_fortran +Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-fortran-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 2} + +%endif +%if %build_gcj +Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-java-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 3} + +%endif +%if %build_gnat +Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-ada-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 4} + +%endif +%if %build_objc +Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-objc-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 5} + +%endif +%if %build_newlib +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} +%endif diff --git a/contrib/crossrpms/rtems4.11/m32r/gdb-sources.add b/contrib/crossrpms/rtems4.11/m32r/gdb-sources.add new file mode 100644 index 0000000000..e5fb99aa66 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32r/gdb-sources.add @@ -0,0 +1,9 @@ +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif diff --git a/contrib/crossrpms/rtems4.11/m32r/rtems-4.11-m32r-rtems4.11-binutils.spec b/contrib/crossrpms/rtems4.11/m32r/rtems-4.11-m32r-rtems4.11-binutils.spec new file mode 100644 index 0000000000..37a49d566a --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32r/rtems-4.11-m32r-rtems4.11-binutils.spec @@ -0,0 +1,268 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define binutils_pkgvers 2.20.1 +%define binutils_version 2.20.1 +%define binutils_rpmvers %{expand:%(echo "2.20.1" | tr - _ )} + +Name: rtems-4.11-m32r-rtems4.11-binutils +Summary: Binutils for target m32r-rtems4.11 +Group: Development/Tools +Version: %{binutils_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/binutils +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{binutils_version}" >= "2.18" +# Bug in bfd: Doesn't build without texinfo installed +BuildRequires: texinfo >= 4.2 +%else +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 +%endif +BuildRequires: flex +BuildRequires: bison + +Requires: rtems-4.11-binutils-common + +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff + +%description +Cross binutils for target m32r-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd binutils-%{binutils_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../binutils-%{binutils_pkgvers}/configure \ + --build=%_build --host=%_host \ + --target=m32r-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + --prefix=%{_prefix} --bindir=%{_bindir} \ + --exec-prefix=%{_exec_prefix} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + 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} \ + exec_prefix=$RPM_BUILD_ROOT%{_exec_prefix} \ + install-info + +# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it. + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info* + + 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 + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# manpages without corresponding tools + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/m32r-rtems4.11-dlltool%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/m32r-rtems4.11-dlltool* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/m32r-rtems4.11-nlmconv%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/m32r-rtems4.11-nlmconv* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/m32r-rtems4.11-windres%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/m32r-rtems4.11-windres* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/m32r-rtems4.11-windmc%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/m32r-rtems4.11-windmc* + fi + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# m32r-rtems4.11-binutils +# ============================================================== +# %package -n rtems-4.11-m32r-rtems4.11-binutils +# Summary: rtems binutils for m32r-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-binutils-common +# %endif + +%description -n rtems-4.11-m32r-rtems4.11-binutils +GNU binutils targetting m32r-rtems4.11. + +%files -n rtems-4.11-m32r-rtems4.11-binutils +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_datarootdir} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/m32r-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/m32r-rtems4.11-* + +%dir %{_exec_prefix}/m32r-rtems4.11 +%dir %{_exec_prefix}/m32r-rtems4.11/bin +%{_exec_prefix}/m32r-rtems4.11/bin/* + +%dir %{_exec_prefix}/m32r-rtems4.11/lib +%{_exec_prefix}/m32r-rtems4.11/lib/ldscripts +# ============================================================== +# rtems-4.11-binutils-common +# ============================================================== +%package -n rtems-4.11-binutils-common +Summary: Base package for RTEMS binutils +Group: Development/Tools +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-binutils-common + +RTEMS is an open source operating system for embedded systems. + +This is the base for binutils regardless of target CPU. + +%post -n rtems-4.11-binutils-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : + +%preun -n rtems-4.11-binutils-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : +fi + +%files -n rtems-4.11-binutils-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/as.info* +%{_infodir}/bfd.info* +%{_infodir}/binutils.info* +%{_infodir}/ld.info* +%{_infodir}/standards.info* +%{_infodir}/gprof.info* + +%dir %{_prefix}/share +%dir %{_prefix}/share/locale + diff --git a/contrib/crossrpms/rtems4.11/m32r/rtems-4.11-m32r-rtems4.11-cpukit.spec b/contrib/crossrpms/rtems4.11/m32r/rtems-4.11-m32r-rtems4.11-cpukit.spec new file mode 100644 index 0000000000..d7d2d89eb9 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32r/rtems-4.11-m32r-rtems4.11-cpukit.spec @@ -0,0 +1,158 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define cpukit_pkgvers 4.9.99.0-20090206-2 +%define cpukit_version 4.9.99.0 +%define cpukit_rpmvers %{expand:%(echo "4.9.99.0-20090206-2" | tr - . )} + +Name: rtems-4.11-m32r-rtems4.11-cpukit +Summary: m32r-rtems4.11 cpukit + +Group: Development/Tools +Version: %{cpukit_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://cpukit.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch + +%define debug_package %{nil} + +BuildRequires: rtems-4.11-m32r-rtems4.11-gcc + +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} + +%description +RTEMS cpukit for m32r-rtems4.11. +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 + + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + + cd build + ../rtems-%{cpukit_version}/configure \ + --prefix=%{_prefix} \ + --target=m32r-rtems4.11 \ + --enable-multilib \ + --disable-rtemsbsp + + make all RTEMS_BSP= + cd .. + +%install + rm -rf $RPM_BUILD_ROOT + export PATH="%{_bindir}:${PATH}" + cd build + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + rm -rf $RPM_BUILD_ROOT%{_prefix}/share/man + rm -rf $RPM_BUILD_ROOT%{_prefix}/bin +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{version}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/m32r-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/m32r-rtems4.11/' | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-provides +%define __find_provides %{_builddir}/%{name}-%{version}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{version}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/m32r-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/m32r-rtems4.11/' | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-requires +%define __find_requires %{_builddir}/%{name}-%{version}/find-requires + +%clean + rm -rf $RPM_BUILD_ROOT + +%description -n rtems-4.11-m32r-rtems4.11-cpukit +RTEMS cpukit for target m32r-rtems4.11. + +%files -n rtems-4.11-m32r-rtems4.11-cpukit +%defattr(-,root,root) +%dir %{_prefix} +%{_prefix}/m32r-rtems4.11 +# Violates the FHS +%exclude %{_prefix}/make diff --git a/contrib/crossrpms/rtems4.11/m32r/rtems-4.11-m32r-rtems4.11-gcc.spec b/contrib/crossrpms/rtems4.11/m32r/rtems-4.11-m32r-rtems4.11-gcc.spec new file mode 100644 index 0000000000..52c07d928c --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32r/rtems-4.11-m32r-rtems4.11-gcc.spec @@ -0,0 +1,645 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define gcc_pkgvers 4.4.3 +%define gcc_version 4.4.3 +%define gcc_rpmvers %{expand:%(echo "4.4.3" | tr - _ )} + +%define newlib_pkgvers 1.18.0 +%define newlib_version 1.18.0 + +Name: rtems-4.11-m32r-rtems4.11-gcc +Summary: m32r-rtems4.11 gcc + +Group: Development/Tools +Version: %{gcc_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://gcc.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%define _use_internal_dependency_generator 0 + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{gcc_version}" >= "4.3.0" +%define _gmp_minvers 4.1 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif + +%if %{defined _gmp_minvers} +BuildRequires: gmp-devel >= %{_gmp_minvers} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%endif +%endif + +%if "%{gcc_version}" >= "4.3.3" +%define _cloog_minvers 0.15 +%endif + +%if %{defined _cloog_minvers} +%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%endif + +%if "%{gcc_version}" >= "4.4.0" +%define _mpfr_minvers 2.3.2 +%define mpfr_version 2.4.1 +%else +%if "%{gcc_version}" >= "4.3.0" +%define _mpfr_minvers 2.3.1 +%define mpfr_version 2.3.2 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif +%endif + +%if %{defined _mpfr_minvers} +# FIXME: This is an ugly cludge +%{?fc11:%global mpfr_provided 2.4.1} +%{?fc12:%global mpfr_provided 2.4.1} +%{?fc13:%global mpfr_provided 2.4.1} +%{?suse11_0:%global mpfr_provided 2.3.1} +%{?suse11_1:%global mpfr_provided 2.3.2} +%{?suse11_2:%global mpfr_provided 2.4.1} +%{?cygwin:%global mpfr_provided 2.4.1} +%{?mingw32:%global mpfr_provided %{nil}} + +%if %{defined mpfr_provided} +%if "%{mpfr_provided}" < "%{_mpfr_minvers}" +%define _build_mpfr 1 +%else +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +%else +BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%endif +%endif +%else +%define _build_mpfr 1 +%endif + +%endif + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-m32r-rtems4.11-gcc = %{gcc_rpmvers} +%endif + +%if "%{gcc_version}" >= "4.2.0" +BuildRequires: flex bison +%endif + + +BuildRequires: texinfo >= 4.2 +BuildRequires: rtems-4.11-m32r-rtems4.11-binutils + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-m32r-rtems4.11-binutils +Requires: rtems-4.11-m32r-rtems4.11-gcc-libgcc = %{gcc_rpmvers}-%{release} +Requires: rtems-4.11-m32r-rtems4.11-newlib = %{newlib_version}-1%{?dist} + + +%define _gcclibdir %{_prefix}/lib + +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} + +%if "%{gcc_version}" >= "4.3.0" +Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 +%endif + +%description +Cross gcc for m32r-rtems4.11. + +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 +%{?PATCH0:%patch0 -p0} + + + + + + +%setup -q -T -D -n %{name}-%{version} -a50 +cd newlib-%{newlib_version} +%{?PATCH50:%patch50 -p1} +cd .. + # Copy the C library into gcc's source tree + ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_pkgvers} + +%if 0%{?_build_mpfr} +%setup -q -T -D -n %{name}-%{version} -a60 +%{?PATCH60:%patch60 -p1} + # Build mpfr one-tree style + ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr +%endif + +echo "RTEMS gcc-%{gcc_version}-1%{?dist}/newlib-%{newlib_version}-1%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE + + + # Fix timestamps + cd gcc-%{gcc_pkgvers} + contrib/gcc_update --touch + cd .. +%build + mkdir -p build + + cd build + + languages="c" + export PATH="%{_bindir}:${PATH}" +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ + CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \ +%else +# gcc is not ready to be compiled with -std=gnu99 + CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \ +%endif + ../gcc-%{gcc_pkgvers}/configure \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --exec_prefix=%{_exec_prefix} \ + --includedir=%{_includedir} \ + --libdir=%{_gcclibdir} \ + --libexecdir=%{_libexecdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} \ + --datadir=%{_datadir} \ + --build=%_build --host=%_host \ + --target=m32r-rtems4.11 \ + --disable-libstdcxx-pch \ + --with-gnu-as --with-gnu-ld --verbose \ + --with-newlib \ + --with-system-zlib \ + --disable-nls --without-included-gettext \ + --disable-win32-registry \ + --enable-version-specific-runtime-libs \ + --enable-threads \ + --enable-newlib-io-c99-formats \ + --enable-languages="$languages" $optargs + +%if "%_host" != "%_build" + # Bug in gcc-3.2.1: + # Somehow, gcc doesn't get syslimits.h right for Cdn-Xs + mkdir -p gcc/include + cp ../gcc-%{gcc_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h +%endif + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + cd build/m32r-rtems4.11/newlib + make DESTDIR=$RPM_BUILD_ROOT install-info + cd ../../.. + +%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/m32r-rtems4.11/%{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}/m32r-rtems4.11-c++filt%{_exeext} + + + # We don't ship info/dir + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + + # Bug in gcc-3.4.0pre + rm -f $RPM_BUILD_ROOT%{_bindir}/m32r-rtems4.11-m32r-rtems4.11-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/m32r-rtems4.11/%{gcc_version}/install-tools + rm -rf ${RPM_BUILD_ROOT}%{_libexecdir}/gcc/m32r-rtems4.11/%{gcc_version}/install-tools + + # Bug in gcc > 4.1.0: Installs an unused, empty directory + if test -d ${RPM_BUILD_ROOT}%{_prefix}/m32r-rtems4.11/include/bits; then + rmdir ${RPM_BUILD_ROOT}%{_prefix}/m32r-rtems4.11/include/bits + fi + + # Collect multilib subdirectories + multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` + + echo "%defattr(-,root,root,-)" > build/files.newlib + TGTDIR="%{_exec_prefix}/m32r-rtems4.11/lib" + for i in $multilibs; do + case $i in + \.) echo "%dir ${TGTDIR}" >> build/files.newlib + ;; + *) echo "%dir ${TGTDIR}/$i" >> build/files.newlib + ;; + esac + done + + rm -f dirs ; + echo "%defattr(-,root,root,-)" >> dirs + TGTDIR="%{_gcclibdir}/gcc/m32r-rtems4.11/%{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++ + + TGTDIR="%{_gcclibdir}/gcc/m32r-rtems4.11/%{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 ;; + *include/objc*) ;; + *include/g++*);; + *include/c++*);; + *include-fixed/*);; + *finclude/*);; + *adainclude*);; + *adalib*);; + *gnat1);; + *jc1) ;; + *jvgenmain) ;; + */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + */libstdc++.*) echo "$i" >> build/files.g++ ;; + */libsupc++.*) echo "$i" >> build/files.g++ ;; + *) echo "$i" >> build/files.gcc ;; + esac + done + + TGTDIR="%{_exec_prefix}/m32r-rtems4.11/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 +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/m32r-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/m32r-rtems4.11/'} | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/m32r-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/m32r-rtems4.11/'} | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires + +%ifnarch noarch +# Extract %%__debug_install_post into debug_install_post~ +cat << \EOF > debug_install_post~ +%__debug_install_post +EOF + +# Generate customized debug_install_post script +cat debug_install_post~ | while read a x y; do +case $a in +# Prevent find-debuginfo.sh* from trying to handle foreign binaries +*/find-debuginfo.sh) + b=$(basename $a) + sed -e 's,find "$RPM_BUILD_ROOT" !,find "$RPM_BUILD_ROOT"%_bindir "$RPM_BUILD_ROOT"%_libexecdir !,' $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ +< debug_install_post~ > debug_install_post +%define __debug_install_post . ./debug_install_post + +%endif + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# rtems-4.11-m32r-rtems4.11-gcc +# ============================================================== +# %package -n rtems-4.11-m32r-rtems4.11-gcc +# Summary: GNU cc compiler for m32r-rtems4.11 +# Group: Development/Tools +# Version: %{gcc_rpmvers} +# Requires: rtems-4.11-m32r-rtems4.11-binutils +# Requires: rtems-4.11-m32r-rtems4.11-newlib = %{newlib_version}-1%{?dist} +# License: GPL + +# %if %build_infos +# Requires: rtems-4.11-gcc-common +# %endif + +%description -n rtems-4.11-m32r-rtems4.11-gcc +GNU cc compiler for m32r-rtems4.11. + +# ============================================================== +# rtems-4.11-m32r-rtems4.11-gcc-libgcc +# ============================================================== +%package -n rtems-4.11-m32r-rtems4.11-gcc-libgcc +Summary: libgcc for m32r-rtems4.11-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +Requires: rtems-4.11-m32r-rtems4.11-newlib = %{newlib_version}-1%{?dist} +License: GPL + +%description -n rtems-4.11-m32r-rtems4.11-gcc-libgcc +libgcc m32r-rtems4.11-gcc. + + +%files -n rtems-4.11-m32r-rtems4.11-gcc +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/m32r-rtems4.11-gcc.1* +%{_mandir}/man1/m32r-rtems4.11-cpp.1* +%{_mandir}/man1/m32r-rtems4.11-gcov.1* + +%dir %{_bindir} +%{_bindir}/m32r-rtems4.11-cpp%{_exeext} +%{_bindir}/m32r-rtems4.11-gcc%{_exeext} +%{_bindir}/m32r-rtems4.11-gcc-%{gcc_version}%{_exeext} +%{_bindir}/m32r-rtems4.11-gcov%{_exeext} +%{_bindir}/m32r-rtems4.11-gccbug + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/m32r-rtems4.11 +%dir %{_libexecdir}/gcc/m32r-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/m32r-rtems4.11/%{gcc_version}/cc1%{_exeext} +%{_libexecdir}/gcc/m32r-rtems4.11/%{gcc_version}/collect2%{_exeext} + + +%files -n rtems-4.11-m32r-rtems4.11-gcc-libgcc -f build/files.gcc +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/m32r-rtems4.11 +%dir %{_gcclibdir}/gcc/m32r-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/m32r-rtems4.11/%{gcc_version}/include + +%if "%{gcc_version}" > "4.0.3" +%if "m32r-rtems4.11" != "bfin-rtems4.10" +%if "m32r-rtems4.11" != "avr-rtems4.10" +%dir %{_gcclibdir}/gcc/m32r-rtems4.11/%{gcc_version}/include/ssp +%endif +%endif +%endif + +%if "%{gcc_version}" >= "4.3.0" +%{_gcclibdir}/gcc/m32r-rtems4.11/%{gcc_version}/include-fixed +%endif + +# ============================================================== +# rtems-4.11-gcc-common +# ============================================================== +%package -n rtems-4.11-gcc-common +Summary: Base package for rtems gcc and newlib C Library +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-gcc-common +GCC files that are shared by all targets. + +%files -n rtems-4.11-gcc-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/cpp.info* +%{_infodir}/cppinternals.info* +%{_infodir}/gcc.info* +%{_infodir}/gccint.info* +%{_infodir}/gccinstall.info* + +%dir %{_mandir} +%dir %{_mandir}/man7 +%{_mandir}/man7/fsf-funding.7* +%{_mandir}/man7/gfdl.7* +%{_mandir}/man7/gpl.7* + +%post -n rtems-4.11-gcc-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : + +%preun -n rtems-4.11-gcc-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : +fi + + + + +# ============================================================== +# rtems-4.11-m32r-rtems4.11-newlib +# ============================================================== +%package -n rtems-4.11-m32r-rtems4.11-newlib +Summary: C Library (newlib) for m32r-rtems4.11 +Group: Development/Tools +License: Distributable +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires: rtems-4.11-newlib-common + +%description -n rtems-4.11-m32r-rtems4.11-newlib +Newlib C Library for m32r-rtems4.11. + +%files -n rtems-4.11-m32r-rtems4.11-newlib -f build/files.newlib +%defattr(-,root,root) +%dir %{_exec_prefix} +%dir %{_exec_prefix}/m32r-rtems4.11 +%{_exec_prefix}/m32r-rtems4.11/include + +# ============================================================== +# rtems-4.11-newlib-common +# ============================================================== +%package -n rtems-4.11-newlib-common +Summary: Base package for RTEMS newlib C Library +Group: Development/Tools +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: Distributable + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-newlib-common +newlib files that are shared by all targets. + +%files -n rtems-4.11-newlib-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/libc.info* +%{_infodir}/libm.info* + +%post -n rtems-4.11-newlib-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : + +%preun -n rtems-4.11-newlib-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : +fi + diff --git a/contrib/crossrpms/rtems4.11/m32r/rtems-4.11-m32r-rtems4.11-gdb.spec b/contrib/crossrpms/rtems4.11/m32r/rtems-4.11-m32r-rtems4.11-gdb.spec new file mode 100644 index 0000000000..695b031b63 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m32r/rtems-4.11-m32r-rtems4.11-gdb.spec @@ -0,0 +1,319 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define gdb_version 7.0.90 +%define gdb_rpmvers %{expand:%(echo 7.0.90 | tr - _)} + +Name: rtems-4.11-m32r-rtems4.11-gdb +Summary: Gdb for target m32r-rtems4.11 +Group: Development/Tools +Version: %{gdb_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/gdb +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%define build_sim --enable-sim +%if "%{_build}" != "%{_host}" +# psim doesn't support Cdn-X +%if "m32r-rtems4.11" == "powerpc-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%ifos mingw mingw32 +# Mingw lacks functions required by the simulator +%if "m32r-rtems4.11" == "sparc-rtems4.10" +%define build_sim --disable-sim +%endif +%if "m32r-rtems4.11" == "h8300-rtems4.10" +%define build_sim --disable-sim +%endif +%if "%{gdb_version}" >= "6.8.50" +%if "m32r-rtems4.11" == "m32c-rtems4.10" +%define build_sim --disable-sim +%endif +%endif +%if "m32r-rtems4.11" == "lm32-rtems4.10" +%define build_sim --disable-sim +%endif +%if "m32r-rtems4.11" == "mipstx39-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%if "%{gdb_version}" >= "6.6" +# suse +%if "%{?suse}" >= "10.3" +BuildRequires: libexpat-devel +%else +# Fedora/CentOS/Cygwin/MinGW +BuildRequires: %{_host_rpmprefix}expat-devel +%endif +%endif + +%if "%{gdb_version}" < "6.7" +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}termcap-devel +%endif +%bcond_with system_readline +%else +%bcond_without system_readline +%endif +%{?with_system_readline:BuildRequires: %{_host_rpmprefix}readline-devel} +BuildRequires: %{_host_rpmprefix}ncurses-devel + +%if "%{gdb_version}" >= "6.8.50" +%if "%{_build}" != "%{_host}" +# Can't build python Cdn-X +%bcond_with python +%else +%bcond_without python +%endif +%endif +%{?with_python:BuildRequires: %{_host_rpmprefix}python-devel} + +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 + + +Requires: rtems-4.11-gdb-common + +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif + +%description +GDB for target m32r-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd gdb-%{gdb_version} +%{?PATCH0:%patch0 -p1} +cd .. + +# Force using a system-provided libreadline +%{?with_system_readline:rm -f gdb-%{gdb_version}/readline/configure} +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../gdb-%{gdb_version}/configure \ + --build=%_build --host=%_host \ + --target=m32r-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + %{build_sim} \ + %{?with_system_readline:--with-system-readline} \ +%if "%{gdb_version}" >= "6.6" + --with-expat \ +%endif +%if "%{gdb_version}" >= "6.8.50" +%if %{with python} + --with-python \ +%else + --without-python \ +%endif +%endif + --prefix=%{_prefix} --bindir=%{_bindir} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + +# These come from other packages + rm -rf $RPM_BUILD_ROOT%{_infodir}/bfd* + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure* + rm -rf $RPM_BUILD_ROOT%{_infodir}/standards* + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# host library, installed to a bogus directory + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libm32r-rtems4.11-sim.a + +%if "%{gdb_version}" >= "7.0" +# Bug in gdb-7.0, bogusly installs linux-only files + somethinguseful=0 + for f in ${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls/*.xml; do + case $f in + *linux.xml) rm -f $f;; + *.xml) somethinguseful=1;; + esac + done + if test $somethinguseful -eq 0; then + rm -rf "${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls" + fi +%endif + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# m32r-rtems4.11-gdb +# ============================================================== +# %package -n rtems-4.11-m32r-rtems4.11-gdb +# Summary: rtems gdb for m32r-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-gdb-common +# %endif + +%description -n rtems-4.11-m32r-rtems4.11-gdb +GNU gdb targetting m32r-rtems4.11. + +%files -n rtems-4.11-m32r-rtems4.11-gdb +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/m32r-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/m32r-rtems4.11-* + +# ============================================================== +# rtems-4.11-gdb-common +# ============================================================== +%package -n rtems-4.11-gdb-common +Summary: Base package for RTEMS gdbs +Group: Development/Tools +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info +%{?_with_noarch_subpackages:BuildArch: noarch} + +%description -n rtems-4.11-gdb-common + +GDB files shared by all targets. + +%post -n rtems-4.11-gdb-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : + +%preun -n rtems-4.11-gdb-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : +fi + +%files -n rtems-4.11-gdb-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/gdb.info* + +%{_infodir}/gdbint.info* +%{_infodir}/stabs.info* +%{_infodir}/annotate.info* + diff --git a/contrib/crossrpms/rtems4.11/m68k/.cvsignore b/contrib/crossrpms/rtems4.11/m68k/.cvsignore new file mode 100644 index 0000000000..11289e9f57 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m68k/.cvsignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +*.spec.in diff --git a/contrib/crossrpms/rtems4.11/m68k/Makefile.am b/contrib/crossrpms/rtems4.11/m68k/Makefile.am new file mode 100644 index 0000000000..d6dad9fc28 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m68k/Makefile.am @@ -0,0 +1,32 @@ +# $Id$ + +TARGET = m68k-rtems4.11 + +include $(top_srcdir)/mkspec.am + +BINUTILS_VERS = 2.20.1 +BINUTILS_PKGVERS = $(BINUTILS_VERS) +BINUTILS_RPMREL = 1 +include ../binutils.am +BINUTILS_OPTS += + +GCC_VERS = 4.4.3 +GCC_PKGVERS = $(GCC_VERS) +GCC_RPMREL = 1 +NEWLIB_VERS = 1.18.0 +NEWLIB_PKGVERS = $(NEWLIB_VERS) +NEWLIB_RPMREL = `expr $(GCC_RPMREL)` +include ../gcc.am +GCC_OPTS += --languages=cxx + +GDB_VERS = 7.0.90 +GDB_PKGVERS = $(GDB_VERS) +GDB_RPMREL = 1 +include ../gdb.am +GDB_OPTS += + +CPUKIT_VERS = 4.9.99.0 +CPUKIT_PKGVERS = $(CPUKIT_VERS)-20090206-2 +CPUKIT_RPMREL = 1 +include ../cpukit.am +CPUKIT_OPTS += diff --git a/contrib/crossrpms/rtems4.11/m68k/binutils-sources.add b/contrib/crossrpms/rtems4.11/m68k/binutils-sources.add new file mode 100644 index 0000000000..5c4d63e3ef --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m68k/binutils-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff diff --git a/contrib/crossrpms/rtems4.11/m68k/cpukit-sources.add b/contrib/crossrpms/rtems4.11/m68k/cpukit-sources.add new file mode 100644 index 0000000000..763e672840 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m68k/cpukit-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} diff --git a/contrib/crossrpms/rtems4.11/m68k/gcc-sources.add b/contrib/crossrpms/rtems4.11/m68k/gcc-sources.add new file mode 100644 index 0000000000..c130209921 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m68k/gcc-sources.add @@ -0,0 +1,47 @@ +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if %build_cxx +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%endif +%if %build_fortran +Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-fortran-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 2} + +%endif +%if %build_gcj +Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-java-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 3} + +%endif +%if %build_gnat +Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-ada-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 4} + +%endif +%if %build_objc +Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-objc-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 5} + +%endif +%if %build_newlib +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} +%endif diff --git a/contrib/crossrpms/rtems4.11/m68k/gdb-sources.add b/contrib/crossrpms/rtems4.11/m68k/gdb-sources.add new file mode 100644 index 0000000000..e5fb99aa66 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m68k/gdb-sources.add @@ -0,0 +1,9 @@ +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif diff --git a/contrib/crossrpms/rtems4.11/m68k/rtems-4.11-m68k-rtems4.11-binutils.spec b/contrib/crossrpms/rtems4.11/m68k/rtems-4.11-m68k-rtems4.11-binutils.spec new file mode 100644 index 0000000000..47e7b8c608 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m68k/rtems-4.11-m68k-rtems4.11-binutils.spec @@ -0,0 +1,268 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define binutils_pkgvers 2.20.1 +%define binutils_version 2.20.1 +%define binutils_rpmvers %{expand:%(echo "2.20.1" | tr - _ )} + +Name: rtems-4.11-m68k-rtems4.11-binutils +Summary: Binutils for target m68k-rtems4.11 +Group: Development/Tools +Version: %{binutils_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/binutils +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{binutils_version}" >= "2.18" +# Bug in bfd: Doesn't build without texinfo installed +BuildRequires: texinfo >= 4.2 +%else +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 +%endif +BuildRequires: flex +BuildRequires: bison + +Requires: rtems-4.11-binutils-common + +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff + +%description +Cross binutils for target m68k-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd binutils-%{binutils_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../binutils-%{binutils_pkgvers}/configure \ + --build=%_build --host=%_host \ + --target=m68k-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + --prefix=%{_prefix} --bindir=%{_bindir} \ + --exec-prefix=%{_exec_prefix} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + 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} \ + exec_prefix=$RPM_BUILD_ROOT%{_exec_prefix} \ + install-info + +# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it. + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info* + + 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 + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# manpages without corresponding tools + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/m68k-rtems4.11-dlltool%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/m68k-rtems4.11-dlltool* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/m68k-rtems4.11-nlmconv%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/m68k-rtems4.11-nlmconv* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/m68k-rtems4.11-windres%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/m68k-rtems4.11-windres* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/m68k-rtems4.11-windmc%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/m68k-rtems4.11-windmc* + fi + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# m68k-rtems4.11-binutils +# ============================================================== +# %package -n rtems-4.11-m68k-rtems4.11-binutils +# Summary: rtems binutils for m68k-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-binutils-common +# %endif + +%description -n rtems-4.11-m68k-rtems4.11-binutils +GNU binutils targetting m68k-rtems4.11. + +%files -n rtems-4.11-m68k-rtems4.11-binutils +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_datarootdir} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/m68k-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/m68k-rtems4.11-* + +%dir %{_exec_prefix}/m68k-rtems4.11 +%dir %{_exec_prefix}/m68k-rtems4.11/bin +%{_exec_prefix}/m68k-rtems4.11/bin/* + +%dir %{_exec_prefix}/m68k-rtems4.11/lib +%{_exec_prefix}/m68k-rtems4.11/lib/ldscripts +# ============================================================== +# rtems-4.11-binutils-common +# ============================================================== +%package -n rtems-4.11-binutils-common +Summary: Base package for RTEMS binutils +Group: Development/Tools +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-binutils-common + +RTEMS is an open source operating system for embedded systems. + +This is the base for binutils regardless of target CPU. + +%post -n rtems-4.11-binutils-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : + +%preun -n rtems-4.11-binutils-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : +fi + +%files -n rtems-4.11-binutils-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/as.info* +%{_infodir}/bfd.info* +%{_infodir}/binutils.info* +%{_infodir}/ld.info* +%{_infodir}/standards.info* +%{_infodir}/gprof.info* + +%dir %{_prefix}/share +%dir %{_prefix}/share/locale + diff --git a/contrib/crossrpms/rtems4.11/m68k/rtems-4.11-m68k-rtems4.11-cpukit.spec b/contrib/crossrpms/rtems4.11/m68k/rtems-4.11-m68k-rtems4.11-cpukit.spec new file mode 100644 index 0000000000..9715071d49 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m68k/rtems-4.11-m68k-rtems4.11-cpukit.spec @@ -0,0 +1,158 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define cpukit_pkgvers 4.9.99.0-20090206-2 +%define cpukit_version 4.9.99.0 +%define cpukit_rpmvers %{expand:%(echo "4.9.99.0-20090206-2" | tr - . )} + +Name: rtems-4.11-m68k-rtems4.11-cpukit +Summary: m68k-rtems4.11 cpukit + +Group: Development/Tools +Version: %{cpukit_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://cpukit.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch + +%define debug_package %{nil} + +BuildRequires: rtems-4.11-m68k-rtems4.11-gcc + +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} + +%description +RTEMS cpukit for m68k-rtems4.11. +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 + + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + + cd build + ../rtems-%{cpukit_version}/configure \ + --prefix=%{_prefix} \ + --target=m68k-rtems4.11 \ + --enable-multilib \ + --disable-rtemsbsp + + make all RTEMS_BSP= + cd .. + +%install + rm -rf $RPM_BUILD_ROOT + export PATH="%{_bindir}:${PATH}" + cd build + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + rm -rf $RPM_BUILD_ROOT%{_prefix}/share/man + rm -rf $RPM_BUILD_ROOT%{_prefix}/bin +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{version}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/m68k-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/m68k-rtems4.11/' | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-provides +%define __find_provides %{_builddir}/%{name}-%{version}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{version}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/m68k-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/m68k-rtems4.11/' | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-requires +%define __find_requires %{_builddir}/%{name}-%{version}/find-requires + +%clean + rm -rf $RPM_BUILD_ROOT + +%description -n rtems-4.11-m68k-rtems4.11-cpukit +RTEMS cpukit for target m68k-rtems4.11. + +%files -n rtems-4.11-m68k-rtems4.11-cpukit +%defattr(-,root,root) +%dir %{_prefix} +%{_prefix}/m68k-rtems4.11 +# Violates the FHS +%exclude %{_prefix}/make diff --git a/contrib/crossrpms/rtems4.11/m68k/rtems-4.11-m68k-rtems4.11-gcc.spec b/contrib/crossrpms/rtems4.11/m68k/rtems-4.11-m68k-rtems4.11-gcc.spec new file mode 100644 index 0000000000..93a021b9c6 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m68k/rtems-4.11-m68k-rtems4.11-gcc.spec @@ -0,0 +1,716 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define gcc_pkgvers 4.4.3 +%define gcc_version 4.4.3 +%define gcc_rpmvers %{expand:%(echo "4.4.3" | tr - _ )} + +%define newlib_pkgvers 1.18.0 +%define newlib_version 1.18.0 + +Name: rtems-4.11-m68k-rtems4.11-gcc +Summary: m68k-rtems4.11 gcc + +Group: Development/Tools +Version: %{gcc_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://gcc.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%define _use_internal_dependency_generator 0 + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{gcc_version}" >= "4.3.0" +%define _gmp_minvers 4.1 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif + +%if %{defined _gmp_minvers} +BuildRequires: gmp-devel >= %{_gmp_minvers} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%endif +%endif + +%if "%{gcc_version}" >= "4.3.3" +%define _cloog_minvers 0.15 +%endif + +%if %{defined _cloog_minvers} +%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%endif + +%if "%{gcc_version}" >= "4.4.0" +%define _mpfr_minvers 2.3.2 +%define mpfr_version 2.4.1 +%else +%if "%{gcc_version}" >= "4.3.0" +%define _mpfr_minvers 2.3.1 +%define mpfr_version 2.3.2 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif +%endif + +%if %{defined _mpfr_minvers} +# FIXME: This is an ugly cludge +%{?fc11:%global mpfr_provided 2.4.1} +%{?fc12:%global mpfr_provided 2.4.1} +%{?fc13:%global mpfr_provided 2.4.1} +%{?suse11_0:%global mpfr_provided 2.3.1} +%{?suse11_1:%global mpfr_provided 2.3.2} +%{?suse11_2:%global mpfr_provided 2.4.1} +%{?cygwin:%global mpfr_provided 2.4.1} +%{?mingw32:%global mpfr_provided %{nil}} + +%if %{defined mpfr_provided} +%if "%{mpfr_provided}" < "%{_mpfr_minvers}" +%define _build_mpfr 1 +%else +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +%else +BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%endif +%endif +%else +%define _build_mpfr 1 +%endif + +%endif + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-m68k-rtems4.11-gcc = %{gcc_rpmvers} +%endif + +%if "%{gcc_version}" >= "4.2.0" +BuildRequires: flex bison +%endif + + +BuildRequires: texinfo >= 4.2 +BuildRequires: rtems-4.11-m68k-rtems4.11-binutils + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-m68k-rtems4.11-binutils +Requires: rtems-4.11-m68k-rtems4.11-gcc-libgcc = %{gcc_rpmvers}-%{release} +Requires: rtems-4.11-m68k-rtems4.11-newlib = %{newlib_version}-1%{?dist} + + +%define _gcclibdir %{_prefix}/lib + +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} + +%if "%{gcc_version}" >= "4.3.0" +Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 +%endif + +%description +Cross gcc for m68k-rtems4.11. + +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 +%{?PATCH0:%patch0 -p0} + +%setup -q -T -D -n %{name}-%{version} -a1 +%{?PATCH1:%patch1 -p0} + + + + + +%setup -q -T -D -n %{name}-%{version} -a50 +cd newlib-%{newlib_version} +%{?PATCH50:%patch50 -p1} +cd .. + # Copy the C library into gcc's source tree + ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_pkgvers} + +%if 0%{?_build_mpfr} +%setup -q -T -D -n %{name}-%{version} -a60 +%{?PATCH60:%patch60 -p1} + # Build mpfr one-tree style + ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr +%endif + +echo "RTEMS gcc-%{gcc_version}-1%{?dist}/newlib-%{newlib_version}-1%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE + + + # Fix timestamps + cd gcc-%{gcc_pkgvers} + contrib/gcc_update --touch + cd .. +%build + mkdir -p build + + cd build + + languages="c" + languages="$languages,c++" + export PATH="%{_bindir}:${PATH}" +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ + CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \ +%else +# gcc is not ready to be compiled with -std=gnu99 + CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \ +%endif + ../gcc-%{gcc_pkgvers}/configure \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --exec_prefix=%{_exec_prefix} \ + --includedir=%{_includedir} \ + --libdir=%{_gcclibdir} \ + --libexecdir=%{_libexecdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} \ + --datadir=%{_datadir} \ + --build=%_build --host=%_host \ + --target=m68k-rtems4.11 \ + --disable-libstdcxx-pch \ + --with-gnu-as --with-gnu-ld --verbose \ + --with-newlib \ + --with-system-zlib \ + --disable-nls --without-included-gettext \ + --disable-win32-registry \ + --enable-version-specific-runtime-libs \ + --enable-threads \ + --enable-newlib-io-c99-formats \ + --enable-languages="$languages" $optargs + +%if "%_host" != "%_build" + # Bug in gcc-3.2.1: + # Somehow, gcc doesn't get syslimits.h right for Cdn-Xs + mkdir -p gcc/include + cp ../gcc-%{gcc_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h +%endif + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + cd build/m68k-rtems4.11/newlib + make DESTDIR=$RPM_BUILD_ROOT install-info + cd ../../.. + +%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/m68k-rtems4.11/%{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}/m68k-rtems4.11-c++filt%{_exeext} + + + # We don't ship info/dir + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + + # Bug in gcc-3.4.0pre + rm -f $RPM_BUILD_ROOT%{_bindir}/m68k-rtems4.11-m68k-rtems4.11-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/m68k-rtems4.11/%{gcc_version}/install-tools + rm -rf ${RPM_BUILD_ROOT}%{_libexecdir}/gcc/m68k-rtems4.11/%{gcc_version}/install-tools + + # Bug in gcc > 4.1.0: Installs an unused, empty directory + if test -d ${RPM_BUILD_ROOT}%{_prefix}/m68k-rtems4.11/include/bits; then + rmdir ${RPM_BUILD_ROOT}%{_prefix}/m68k-rtems4.11/include/bits + fi + + # Collect multilib subdirectories + multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` + + echo "%defattr(-,root,root,-)" > build/files.newlib + TGTDIR="%{_exec_prefix}/m68k-rtems4.11/lib" + for i in $multilibs; do + case $i in + \.) echo "%dir ${TGTDIR}" >> build/files.newlib + ;; + *) echo "%dir ${TGTDIR}/$i" >> build/files.newlib + ;; + esac + done + + rm -f dirs ; + echo "%defattr(-,root,root,-)" >> dirs + TGTDIR="%{_gcclibdir}/gcc/m68k-rtems4.11/%{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++ + + TGTDIR="%{_gcclibdir}/gcc/m68k-rtems4.11/%{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 ;; + *include/objc*) ;; + *include/g++*);; + *include/c++*);; + *include-fixed/*);; + *finclude/*);; + *adainclude*);; + *adalib*);; + *gnat1);; + *jc1) ;; + *jvgenmain) ;; + */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + */libstdc++.*) echo "$i" >> build/files.g++ ;; + */libsupc++.*) echo "$i" >> build/files.g++ ;; + *) echo "$i" >> build/files.gcc ;; + esac + done + + TGTDIR="%{_exec_prefix}/m68k-rtems4.11/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 +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/m68k-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/m68k-rtems4.11/'} | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/m68k-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/m68k-rtems4.11/'} | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires + +%ifnarch noarch +# Extract %%__debug_install_post into debug_install_post~ +cat << \EOF > debug_install_post~ +%__debug_install_post +EOF + +# Generate customized debug_install_post script +cat debug_install_post~ | while read a x y; do +case $a in +# Prevent find-debuginfo.sh* from trying to handle foreign binaries +*/find-debuginfo.sh) + b=$(basename $a) + sed -e 's,find "$RPM_BUILD_ROOT" !,find "$RPM_BUILD_ROOT"%_bindir "$RPM_BUILD_ROOT"%_libexecdir !,' $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ +< debug_install_post~ > debug_install_post +%define __debug_install_post . ./debug_install_post + +%endif + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# rtems-4.11-m68k-rtems4.11-gcc +# ============================================================== +# %package -n rtems-4.11-m68k-rtems4.11-gcc +# Summary: GNU cc compiler for m68k-rtems4.11 +# Group: Development/Tools +# Version: %{gcc_rpmvers} +# Requires: rtems-4.11-m68k-rtems4.11-binutils +# Requires: rtems-4.11-m68k-rtems4.11-newlib = %{newlib_version}-1%{?dist} +# License: GPL + +# %if %build_infos +# Requires: rtems-4.11-gcc-common +# %endif + +%description -n rtems-4.11-m68k-rtems4.11-gcc +GNU cc compiler for m68k-rtems4.11. + +# ============================================================== +# rtems-4.11-m68k-rtems4.11-gcc-libgcc +# ============================================================== +%package -n rtems-4.11-m68k-rtems4.11-gcc-libgcc +Summary: libgcc for m68k-rtems4.11-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +Requires: rtems-4.11-m68k-rtems4.11-newlib = %{newlib_version}-1%{?dist} +License: GPL + +%description -n rtems-4.11-m68k-rtems4.11-gcc-libgcc +libgcc m68k-rtems4.11-gcc. + + +%files -n rtems-4.11-m68k-rtems4.11-gcc +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/m68k-rtems4.11-gcc.1* +%{_mandir}/man1/m68k-rtems4.11-cpp.1* +%{_mandir}/man1/m68k-rtems4.11-gcov.1* + +%dir %{_bindir} +%{_bindir}/m68k-rtems4.11-cpp%{_exeext} +%{_bindir}/m68k-rtems4.11-gcc%{_exeext} +%{_bindir}/m68k-rtems4.11-gcc-%{gcc_version}%{_exeext} +%{_bindir}/m68k-rtems4.11-gcov%{_exeext} +%{_bindir}/m68k-rtems4.11-gccbug + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/m68k-rtems4.11 +%dir %{_libexecdir}/gcc/m68k-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/m68k-rtems4.11/%{gcc_version}/cc1%{_exeext} +%{_libexecdir}/gcc/m68k-rtems4.11/%{gcc_version}/collect2%{_exeext} + + +%files -n rtems-4.11-m68k-rtems4.11-gcc-libgcc -f build/files.gcc +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/m68k-rtems4.11 +%dir %{_gcclibdir}/gcc/m68k-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/m68k-rtems4.11/%{gcc_version}/include + +%if "%{gcc_version}" > "4.0.3" +%if "m68k-rtems4.11" != "bfin-rtems4.10" +%if "m68k-rtems4.11" != "avr-rtems4.10" +%dir %{_gcclibdir}/gcc/m68k-rtems4.11/%{gcc_version}/include/ssp +%endif +%endif +%endif + +%if "%{gcc_version}" >= "4.3.0" +%{_gcclibdir}/gcc/m68k-rtems4.11/%{gcc_version}/include-fixed +%endif + +# ============================================================== +# rtems-4.11-gcc-common +# ============================================================== +%package -n rtems-4.11-gcc-common +Summary: Base package for rtems gcc and newlib C Library +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-gcc-common +GCC files that are shared by all targets. + +%files -n rtems-4.11-gcc-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/cpp.info* +%{_infodir}/cppinternals.info* +%{_infodir}/gcc.info* +%{_infodir}/gccint.info* +%{_infodir}/gccinstall.info* + +%dir %{_mandir} +%dir %{_mandir}/man7 +%{_mandir}/man7/fsf-funding.7* +%{_mandir}/man7/gfdl.7* +%{_mandir}/man7/gpl.7* + +%post -n rtems-4.11-gcc-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : + +%preun -n rtems-4.11-gcc-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : +fi + +# ============================================================== +# rtems-4.11-m68k-rtems4.11-gcc-c++ +# ============================================================== +%package -n rtems-4.11-m68k-rtems4.11-gcc-c++ +Summary: GCC c++ compiler for m68k-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +License: GPL +Requires: rtems-4.11-m68k-rtems4.11-gcc-libstdc++ = %{gcc_rpmvers}-%{release} + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-m68k-rtems4.11-gcc-c++ = %{gcc_rpmvers} +%endif + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-m68k-rtems4.11-gcc = %{gcc_rpmvers}-%{release} + +%description -n rtems-4.11-m68k-rtems4.11-gcc-c++ +GCC c++ compiler for m68k-rtems4.11. + + +%package -n rtems-4.11-m68k-rtems4.11-gcc-libstdc++ +Summary: libstdc++ for m68k-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +%description -n rtems-4.11-m68k-rtems4.11-gcc-libstdc++ +%{summary} + + +%files -n rtems-4.11-m68k-rtems4.11-gcc-c++ +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/m68k-rtems4.11-g++.1* + +%dir %{_bindir} +%{_bindir}/m68k-rtems4.11-c++%{_exeext} +%{_bindir}/m68k-rtems4.11-g++%{_exeext} + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/m68k-rtems4.11 +%dir %{_libexecdir}/gcc/m68k-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/m68k-rtems4.11/%{gcc_version}/cc1plus%{_exeext} + + +%files -n rtems-4.11-m68k-rtems4.11-gcc-libstdc++ -f build/files.g++ +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/m68k-rtems4.11 +%dir %{_gcclibdir}/gcc/m68k-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/m68k-rtems4.11/%{gcc_version}/include +%{_gcclibdir}/gcc/m68k-rtems4.11/%{gcc_version}/include/c++ + + + +# ============================================================== +# rtems-4.11-m68k-rtems4.11-newlib +# ============================================================== +%package -n rtems-4.11-m68k-rtems4.11-newlib +Summary: C Library (newlib) for m68k-rtems4.11 +Group: Development/Tools +License: Distributable +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires: rtems-4.11-newlib-common + +%description -n rtems-4.11-m68k-rtems4.11-newlib +Newlib C Library for m68k-rtems4.11. + +%files -n rtems-4.11-m68k-rtems4.11-newlib -f build/files.newlib +%defattr(-,root,root) +%dir %{_exec_prefix} +%dir %{_exec_prefix}/m68k-rtems4.11 +%{_exec_prefix}/m68k-rtems4.11/include + +# ============================================================== +# rtems-4.11-newlib-common +# ============================================================== +%package -n rtems-4.11-newlib-common +Summary: Base package for RTEMS newlib C Library +Group: Development/Tools +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: Distributable + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-newlib-common +newlib files that are shared by all targets. + +%files -n rtems-4.11-newlib-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/libc.info* +%{_infodir}/libm.info* + +%post -n rtems-4.11-newlib-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : + +%preun -n rtems-4.11-newlib-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : +fi + diff --git a/contrib/crossrpms/rtems4.11/m68k/rtems-4.11-m68k-rtems4.11-gdb.spec b/contrib/crossrpms/rtems4.11/m68k/rtems-4.11-m68k-rtems4.11-gdb.spec new file mode 100644 index 0000000000..45ebd4939a --- /dev/null +++ b/contrib/crossrpms/rtems4.11/m68k/rtems-4.11-m68k-rtems4.11-gdb.spec @@ -0,0 +1,319 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define gdb_version 7.0.90 +%define gdb_rpmvers %{expand:%(echo 7.0.90 | tr - _)} + +Name: rtems-4.11-m68k-rtems4.11-gdb +Summary: Gdb for target m68k-rtems4.11 +Group: Development/Tools +Version: %{gdb_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/gdb +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%define build_sim --enable-sim +%if "%{_build}" != "%{_host}" +# psim doesn't support Cdn-X +%if "m68k-rtems4.11" == "powerpc-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%ifos mingw mingw32 +# Mingw lacks functions required by the simulator +%if "m68k-rtems4.11" == "sparc-rtems4.10" +%define build_sim --disable-sim +%endif +%if "m68k-rtems4.11" == "h8300-rtems4.10" +%define build_sim --disable-sim +%endif +%if "%{gdb_version}" >= "6.8.50" +%if "m68k-rtems4.11" == "m32c-rtems4.10" +%define build_sim --disable-sim +%endif +%endif +%if "m68k-rtems4.11" == "lm32-rtems4.10" +%define build_sim --disable-sim +%endif +%if "m68k-rtems4.11" == "mipstx39-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%if "%{gdb_version}" >= "6.6" +# suse +%if "%{?suse}" >= "10.3" +BuildRequires: libexpat-devel +%else +# Fedora/CentOS/Cygwin/MinGW +BuildRequires: %{_host_rpmprefix}expat-devel +%endif +%endif + +%if "%{gdb_version}" < "6.7" +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}termcap-devel +%endif +%bcond_with system_readline +%else +%bcond_without system_readline +%endif +%{?with_system_readline:BuildRequires: %{_host_rpmprefix}readline-devel} +BuildRequires: %{_host_rpmprefix}ncurses-devel + +%if "%{gdb_version}" >= "6.8.50" +%if "%{_build}" != "%{_host}" +# Can't build python Cdn-X +%bcond_with python +%else +%bcond_without python +%endif +%endif +%{?with_python:BuildRequires: %{_host_rpmprefix}python-devel} + +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 + + +Requires: rtems-4.11-gdb-common + +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif + +%description +GDB for target m68k-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd gdb-%{gdb_version} +%{?PATCH0:%patch0 -p1} +cd .. + +# Force using a system-provided libreadline +%{?with_system_readline:rm -f gdb-%{gdb_version}/readline/configure} +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../gdb-%{gdb_version}/configure \ + --build=%_build --host=%_host \ + --target=m68k-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + %{build_sim} \ + %{?with_system_readline:--with-system-readline} \ +%if "%{gdb_version}" >= "6.6" + --with-expat \ +%endif +%if "%{gdb_version}" >= "6.8.50" +%if %{with python} + --with-python \ +%else + --without-python \ +%endif +%endif + --prefix=%{_prefix} --bindir=%{_bindir} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + +# These come from other packages + rm -rf $RPM_BUILD_ROOT%{_infodir}/bfd* + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure* + rm -rf $RPM_BUILD_ROOT%{_infodir}/standards* + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# host library, installed to a bogus directory + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libm68k-rtems4.11-sim.a + +%if "%{gdb_version}" >= "7.0" +# Bug in gdb-7.0, bogusly installs linux-only files + somethinguseful=0 + for f in ${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls/*.xml; do + case $f in + *linux.xml) rm -f $f;; + *.xml) somethinguseful=1;; + esac + done + if test $somethinguseful -eq 0; then + rm -rf "${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls" + fi +%endif + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# m68k-rtems4.11-gdb +# ============================================================== +# %package -n rtems-4.11-m68k-rtems4.11-gdb +# Summary: rtems gdb for m68k-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-gdb-common +# %endif + +%description -n rtems-4.11-m68k-rtems4.11-gdb +GNU gdb targetting m68k-rtems4.11. + +%files -n rtems-4.11-m68k-rtems4.11-gdb +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/m68k-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/m68k-rtems4.11-* + +# ============================================================== +# rtems-4.11-gdb-common +# ============================================================== +%package -n rtems-4.11-gdb-common +Summary: Base package for RTEMS gdbs +Group: Development/Tools +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info +%{?_with_noarch_subpackages:BuildArch: noarch} + +%description -n rtems-4.11-gdb-common + +GDB files shared by all targets. + +%post -n rtems-4.11-gdb-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : + +%preun -n rtems-4.11-gdb-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : +fi + +%files -n rtems-4.11-gdb-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/gdb.info* + +%{_infodir}/gdbint.info* +%{_infodir}/stabs.info* +%{_infodir}/annotate.info* + diff --git a/contrib/crossrpms/rtems4.11/mips/.cvsignore b/contrib/crossrpms/rtems4.11/mips/.cvsignore new file mode 100644 index 0000000000..11289e9f57 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/mips/.cvsignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +*.spec.in diff --git a/contrib/crossrpms/rtems4.11/mips/Makefile.am b/contrib/crossrpms/rtems4.11/mips/Makefile.am new file mode 100644 index 0000000000..b2406eb895 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/mips/Makefile.am @@ -0,0 +1,32 @@ +# $Id$ + +TARGET = mips-rtems4.11 + +include $(top_srcdir)/mkspec.am + +BINUTILS_VERS = 2.20.1 +BINUTILS_PKGVERS = $(BINUTILS_VERS) +BINUTILS_RPMREL = 1 +include ../binutils.am +BINUTILS_OPTS += + +GCC_VERS = 4.4.3 +GCC_PKGVERS = $(GCC_VERS) +GCC_RPMREL = 1 +NEWLIB_VERS = 1.18.0 +NEWLIB_PKGVERS = $(NEWLIB_VERS) +NEWLIB_RPMREL = `expr $(GCC_RPMREL)` +include ../gcc.am +GCC_OPTS += --languages=cxx + +GDB_VERS = 7.0.90 +GDB_PKGVERS = $(GDB_VERS) +GDB_RPMREL = 1 +include ../gdb.am +GDB_OPTS += + +CPUKIT_VERS = 4.9.99.0 +CPUKIT_PKGVERS = $(CPUKIT_VERS)-20090206-2 +CPUKIT_RPMREL = 1 +include ../cpukit.am +CPUKIT_OPTS += diff --git a/contrib/crossrpms/rtems4.11/mips/binutils-sources.add b/contrib/crossrpms/rtems4.11/mips/binutils-sources.add new file mode 100644 index 0000000000..5c4d63e3ef --- /dev/null +++ b/contrib/crossrpms/rtems4.11/mips/binutils-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff diff --git a/contrib/crossrpms/rtems4.11/mips/cpukit-sources.add b/contrib/crossrpms/rtems4.11/mips/cpukit-sources.add new file mode 100644 index 0000000000..763e672840 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/mips/cpukit-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} diff --git a/contrib/crossrpms/rtems4.11/mips/gcc-sources.add b/contrib/crossrpms/rtems4.11/mips/gcc-sources.add new file mode 100644 index 0000000000..c130209921 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/mips/gcc-sources.add @@ -0,0 +1,47 @@ +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if %build_cxx +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%endif +%if %build_fortran +Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-fortran-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 2} + +%endif +%if %build_gcj +Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-java-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 3} + +%endif +%if %build_gnat +Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-ada-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 4} + +%endif +%if %build_objc +Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-objc-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 5} + +%endif +%if %build_newlib +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} +%endif diff --git a/contrib/crossrpms/rtems4.11/mips/gdb-sources.add b/contrib/crossrpms/rtems4.11/mips/gdb-sources.add new file mode 100644 index 0000000000..e5fb99aa66 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/mips/gdb-sources.add @@ -0,0 +1,9 @@ +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif diff --git a/contrib/crossrpms/rtems4.11/mips/rtems-4.11-mips-rtems4.11-binutils.spec b/contrib/crossrpms/rtems4.11/mips/rtems-4.11-mips-rtems4.11-binutils.spec new file mode 100644 index 0000000000..2ceb4cb211 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/mips/rtems-4.11-mips-rtems4.11-binutils.spec @@ -0,0 +1,268 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define binutils_pkgvers 2.20.1 +%define binutils_version 2.20.1 +%define binutils_rpmvers %{expand:%(echo "2.20.1" | tr - _ )} + +Name: rtems-4.11-mips-rtems4.11-binutils +Summary: Binutils for target mips-rtems4.11 +Group: Development/Tools +Version: %{binutils_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/binutils +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{binutils_version}" >= "2.18" +# Bug in bfd: Doesn't build without texinfo installed +BuildRequires: texinfo >= 4.2 +%else +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 +%endif +BuildRequires: flex +BuildRequires: bison + +Requires: rtems-4.11-binutils-common + +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff + +%description +Cross binutils for target mips-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd binutils-%{binutils_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../binutils-%{binutils_pkgvers}/configure \ + --build=%_build --host=%_host \ + --target=mips-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + --prefix=%{_prefix} --bindir=%{_bindir} \ + --exec-prefix=%{_exec_prefix} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + 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} \ + exec_prefix=$RPM_BUILD_ROOT%{_exec_prefix} \ + install-info + +# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it. + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info* + + 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 + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# manpages without corresponding tools + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/mips-rtems4.11-dlltool%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mips-rtems4.11-dlltool* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/mips-rtems4.11-nlmconv%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mips-rtems4.11-nlmconv* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/mips-rtems4.11-windres%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mips-rtems4.11-windres* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/mips-rtems4.11-windmc%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mips-rtems4.11-windmc* + fi + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# mips-rtems4.11-binutils +# ============================================================== +# %package -n rtems-4.11-mips-rtems4.11-binutils +# Summary: rtems binutils for mips-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-binutils-common +# %endif + +%description -n rtems-4.11-mips-rtems4.11-binutils +GNU binutils targetting mips-rtems4.11. + +%files -n rtems-4.11-mips-rtems4.11-binutils +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_datarootdir} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/mips-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/mips-rtems4.11-* + +%dir %{_exec_prefix}/mips-rtems4.11 +%dir %{_exec_prefix}/mips-rtems4.11/bin +%{_exec_prefix}/mips-rtems4.11/bin/* + +%dir %{_exec_prefix}/mips-rtems4.11/lib +%{_exec_prefix}/mips-rtems4.11/lib/ldscripts +# ============================================================== +# rtems-4.11-binutils-common +# ============================================================== +%package -n rtems-4.11-binutils-common +Summary: Base package for RTEMS binutils +Group: Development/Tools +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-binutils-common + +RTEMS is an open source operating system for embedded systems. + +This is the base for binutils regardless of target CPU. + +%post -n rtems-4.11-binutils-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : + +%preun -n rtems-4.11-binutils-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : +fi + +%files -n rtems-4.11-binutils-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/as.info* +%{_infodir}/bfd.info* +%{_infodir}/binutils.info* +%{_infodir}/ld.info* +%{_infodir}/standards.info* +%{_infodir}/gprof.info* + +%dir %{_prefix}/share +%dir %{_prefix}/share/locale + diff --git a/contrib/crossrpms/rtems4.11/mips/rtems-4.11-mips-rtems4.11-cpukit.spec b/contrib/crossrpms/rtems4.11/mips/rtems-4.11-mips-rtems4.11-cpukit.spec new file mode 100644 index 0000000000..4cd9c1c232 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/mips/rtems-4.11-mips-rtems4.11-cpukit.spec @@ -0,0 +1,158 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define cpukit_pkgvers 4.9.99.0-20090206-2 +%define cpukit_version 4.9.99.0 +%define cpukit_rpmvers %{expand:%(echo "4.9.99.0-20090206-2" | tr - . )} + +Name: rtems-4.11-mips-rtems4.11-cpukit +Summary: mips-rtems4.11 cpukit + +Group: Development/Tools +Version: %{cpukit_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://cpukit.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch + +%define debug_package %{nil} + +BuildRequires: rtems-4.11-mips-rtems4.11-gcc + +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} + +%description +RTEMS cpukit for mips-rtems4.11. +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 + + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + + cd build + ../rtems-%{cpukit_version}/configure \ + --prefix=%{_prefix} \ + --target=mips-rtems4.11 \ + --enable-multilib \ + --disable-rtemsbsp + + make all RTEMS_BSP= + cd .. + +%install + rm -rf $RPM_BUILD_ROOT + export PATH="%{_bindir}:${PATH}" + cd build + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + rm -rf $RPM_BUILD_ROOT%{_prefix}/share/man + rm -rf $RPM_BUILD_ROOT%{_prefix}/bin +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{version}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/mips-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/mips-rtems4.11/' | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-provides +%define __find_provides %{_builddir}/%{name}-%{version}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{version}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/mips-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/mips-rtems4.11/' | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-requires +%define __find_requires %{_builddir}/%{name}-%{version}/find-requires + +%clean + rm -rf $RPM_BUILD_ROOT + +%description -n rtems-4.11-mips-rtems4.11-cpukit +RTEMS cpukit for target mips-rtems4.11. + +%files -n rtems-4.11-mips-rtems4.11-cpukit +%defattr(-,root,root) +%dir %{_prefix} +%{_prefix}/mips-rtems4.11 +# Violates the FHS +%exclude %{_prefix}/make diff --git a/contrib/crossrpms/rtems4.11/mips/rtems-4.11-mips-rtems4.11-gcc.spec b/contrib/crossrpms/rtems4.11/mips/rtems-4.11-mips-rtems4.11-gcc.spec new file mode 100644 index 0000000000..aad16e3df6 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/mips/rtems-4.11-mips-rtems4.11-gcc.spec @@ -0,0 +1,716 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define gcc_pkgvers 4.4.3 +%define gcc_version 4.4.3 +%define gcc_rpmvers %{expand:%(echo "4.4.3" | tr - _ )} + +%define newlib_pkgvers 1.18.0 +%define newlib_version 1.18.0 + +Name: rtems-4.11-mips-rtems4.11-gcc +Summary: mips-rtems4.11 gcc + +Group: Development/Tools +Version: %{gcc_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://gcc.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%define _use_internal_dependency_generator 0 + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{gcc_version}" >= "4.3.0" +%define _gmp_minvers 4.1 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif + +%if %{defined _gmp_minvers} +BuildRequires: gmp-devel >= %{_gmp_minvers} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%endif +%endif + +%if "%{gcc_version}" >= "4.3.3" +%define _cloog_minvers 0.15 +%endif + +%if %{defined _cloog_minvers} +%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%endif + +%if "%{gcc_version}" >= "4.4.0" +%define _mpfr_minvers 2.3.2 +%define mpfr_version 2.4.1 +%else +%if "%{gcc_version}" >= "4.3.0" +%define _mpfr_minvers 2.3.1 +%define mpfr_version 2.3.2 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif +%endif + +%if %{defined _mpfr_minvers} +# FIXME: This is an ugly cludge +%{?fc11:%global mpfr_provided 2.4.1} +%{?fc12:%global mpfr_provided 2.4.1} +%{?fc13:%global mpfr_provided 2.4.1} +%{?suse11_0:%global mpfr_provided 2.3.1} +%{?suse11_1:%global mpfr_provided 2.3.2} +%{?suse11_2:%global mpfr_provided 2.4.1} +%{?cygwin:%global mpfr_provided 2.4.1} +%{?mingw32:%global mpfr_provided %{nil}} + +%if %{defined mpfr_provided} +%if "%{mpfr_provided}" < "%{_mpfr_minvers}" +%define _build_mpfr 1 +%else +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +%else +BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%endif +%endif +%else +%define _build_mpfr 1 +%endif + +%endif + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-mips-rtems4.11-gcc = %{gcc_rpmvers} +%endif + +%if "%{gcc_version}" >= "4.2.0" +BuildRequires: flex bison +%endif + + +BuildRequires: texinfo >= 4.2 +BuildRequires: rtems-4.11-mips-rtems4.11-binutils + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-mips-rtems4.11-binutils +Requires: rtems-4.11-mips-rtems4.11-gcc-libgcc = %{gcc_rpmvers}-%{release} +Requires: rtems-4.11-mips-rtems4.11-newlib = %{newlib_version}-1%{?dist} + + +%define _gcclibdir %{_prefix}/lib + +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} + +%if "%{gcc_version}" >= "4.3.0" +Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 +%endif + +%description +Cross gcc for mips-rtems4.11. + +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 +%{?PATCH0:%patch0 -p0} + +%setup -q -T -D -n %{name}-%{version} -a1 +%{?PATCH1:%patch1 -p0} + + + + + +%setup -q -T -D -n %{name}-%{version} -a50 +cd newlib-%{newlib_version} +%{?PATCH50:%patch50 -p1} +cd .. + # Copy the C library into gcc's source tree + ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_pkgvers} + +%if 0%{?_build_mpfr} +%setup -q -T -D -n %{name}-%{version} -a60 +%{?PATCH60:%patch60 -p1} + # Build mpfr one-tree style + ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr +%endif + +echo "RTEMS gcc-%{gcc_version}-1%{?dist}/newlib-%{newlib_version}-1%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE + + + # Fix timestamps + cd gcc-%{gcc_pkgvers} + contrib/gcc_update --touch + cd .. +%build + mkdir -p build + + cd build + + languages="c" + languages="$languages,c++" + export PATH="%{_bindir}:${PATH}" +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ + CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \ +%else +# gcc is not ready to be compiled with -std=gnu99 + CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \ +%endif + ../gcc-%{gcc_pkgvers}/configure \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --exec_prefix=%{_exec_prefix} \ + --includedir=%{_includedir} \ + --libdir=%{_gcclibdir} \ + --libexecdir=%{_libexecdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} \ + --datadir=%{_datadir} \ + --build=%_build --host=%_host \ + --target=mips-rtems4.11 \ + --disable-libstdcxx-pch \ + --with-gnu-as --with-gnu-ld --verbose \ + --with-newlib \ + --with-system-zlib \ + --disable-nls --without-included-gettext \ + --disable-win32-registry \ + --enable-version-specific-runtime-libs \ + --enable-threads \ + --enable-newlib-io-c99-formats \ + --enable-languages="$languages" $optargs + +%if "%_host" != "%_build" + # Bug in gcc-3.2.1: + # Somehow, gcc doesn't get syslimits.h right for Cdn-Xs + mkdir -p gcc/include + cp ../gcc-%{gcc_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h +%endif + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + cd build/mips-rtems4.11/newlib + make DESTDIR=$RPM_BUILD_ROOT install-info + cd ../../.. + +%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/mips-rtems4.11/%{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}/mips-rtems4.11-c++filt%{_exeext} + + + # We don't ship info/dir + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + + # Bug in gcc-3.4.0pre + rm -f $RPM_BUILD_ROOT%{_bindir}/mips-rtems4.11-mips-rtems4.11-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/mips-rtems4.11/%{gcc_version}/install-tools + rm -rf ${RPM_BUILD_ROOT}%{_libexecdir}/gcc/mips-rtems4.11/%{gcc_version}/install-tools + + # Bug in gcc > 4.1.0: Installs an unused, empty directory + if test -d ${RPM_BUILD_ROOT}%{_prefix}/mips-rtems4.11/include/bits; then + rmdir ${RPM_BUILD_ROOT}%{_prefix}/mips-rtems4.11/include/bits + fi + + # Collect multilib subdirectories + multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` + + echo "%defattr(-,root,root,-)" > build/files.newlib + TGTDIR="%{_exec_prefix}/mips-rtems4.11/lib" + for i in $multilibs; do + case $i in + \.) echo "%dir ${TGTDIR}" >> build/files.newlib + ;; + *) echo "%dir ${TGTDIR}/$i" >> build/files.newlib + ;; + esac + done + + rm -f dirs ; + echo "%defattr(-,root,root,-)" >> dirs + TGTDIR="%{_gcclibdir}/gcc/mips-rtems4.11/%{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++ + + TGTDIR="%{_gcclibdir}/gcc/mips-rtems4.11/%{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 ;; + *include/objc*) ;; + *include/g++*);; + *include/c++*);; + *include-fixed/*);; + *finclude/*);; + *adainclude*);; + *adalib*);; + *gnat1);; + *jc1) ;; + *jvgenmain) ;; + */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + */libstdc++.*) echo "$i" >> build/files.g++ ;; + */libsupc++.*) echo "$i" >> build/files.g++ ;; + *) echo "$i" >> build/files.gcc ;; + esac + done + + TGTDIR="%{_exec_prefix}/mips-rtems4.11/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 +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/mips-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/mips-rtems4.11/'} | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/mips-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/mips-rtems4.11/'} | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires + +%ifnarch noarch +# Extract %%__debug_install_post into debug_install_post~ +cat << \EOF > debug_install_post~ +%__debug_install_post +EOF + +# Generate customized debug_install_post script +cat debug_install_post~ | while read a x y; do +case $a in +# Prevent find-debuginfo.sh* from trying to handle foreign binaries +*/find-debuginfo.sh) + b=$(basename $a) + sed -e 's,find "$RPM_BUILD_ROOT" !,find "$RPM_BUILD_ROOT"%_bindir "$RPM_BUILD_ROOT"%_libexecdir !,' $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ +< debug_install_post~ > debug_install_post +%define __debug_install_post . ./debug_install_post + +%endif + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# rtems-4.11-mips-rtems4.11-gcc +# ============================================================== +# %package -n rtems-4.11-mips-rtems4.11-gcc +# Summary: GNU cc compiler for mips-rtems4.11 +# Group: Development/Tools +# Version: %{gcc_rpmvers} +# Requires: rtems-4.11-mips-rtems4.11-binutils +# Requires: rtems-4.11-mips-rtems4.11-newlib = %{newlib_version}-1%{?dist} +# License: GPL + +# %if %build_infos +# Requires: rtems-4.11-gcc-common +# %endif + +%description -n rtems-4.11-mips-rtems4.11-gcc +GNU cc compiler for mips-rtems4.11. + +# ============================================================== +# rtems-4.11-mips-rtems4.11-gcc-libgcc +# ============================================================== +%package -n rtems-4.11-mips-rtems4.11-gcc-libgcc +Summary: libgcc for mips-rtems4.11-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +Requires: rtems-4.11-mips-rtems4.11-newlib = %{newlib_version}-1%{?dist} +License: GPL + +%description -n rtems-4.11-mips-rtems4.11-gcc-libgcc +libgcc mips-rtems4.11-gcc. + + +%files -n rtems-4.11-mips-rtems4.11-gcc +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/mips-rtems4.11-gcc.1* +%{_mandir}/man1/mips-rtems4.11-cpp.1* +%{_mandir}/man1/mips-rtems4.11-gcov.1* + +%dir %{_bindir} +%{_bindir}/mips-rtems4.11-cpp%{_exeext} +%{_bindir}/mips-rtems4.11-gcc%{_exeext} +%{_bindir}/mips-rtems4.11-gcc-%{gcc_version}%{_exeext} +%{_bindir}/mips-rtems4.11-gcov%{_exeext} +%{_bindir}/mips-rtems4.11-gccbug + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/mips-rtems4.11 +%dir %{_libexecdir}/gcc/mips-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/mips-rtems4.11/%{gcc_version}/cc1%{_exeext} +%{_libexecdir}/gcc/mips-rtems4.11/%{gcc_version}/collect2%{_exeext} + + +%files -n rtems-4.11-mips-rtems4.11-gcc-libgcc -f build/files.gcc +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/mips-rtems4.11 +%dir %{_gcclibdir}/gcc/mips-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/mips-rtems4.11/%{gcc_version}/include + +%if "%{gcc_version}" > "4.0.3" +%if "mips-rtems4.11" != "bfin-rtems4.10" +%if "mips-rtems4.11" != "avr-rtems4.10" +%dir %{_gcclibdir}/gcc/mips-rtems4.11/%{gcc_version}/include/ssp +%endif +%endif +%endif + +%if "%{gcc_version}" >= "4.3.0" +%{_gcclibdir}/gcc/mips-rtems4.11/%{gcc_version}/include-fixed +%endif + +# ============================================================== +# rtems-4.11-gcc-common +# ============================================================== +%package -n rtems-4.11-gcc-common +Summary: Base package for rtems gcc and newlib C Library +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-gcc-common +GCC files that are shared by all targets. + +%files -n rtems-4.11-gcc-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/cpp.info* +%{_infodir}/cppinternals.info* +%{_infodir}/gcc.info* +%{_infodir}/gccint.info* +%{_infodir}/gccinstall.info* + +%dir %{_mandir} +%dir %{_mandir}/man7 +%{_mandir}/man7/fsf-funding.7* +%{_mandir}/man7/gfdl.7* +%{_mandir}/man7/gpl.7* + +%post -n rtems-4.11-gcc-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : + +%preun -n rtems-4.11-gcc-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : +fi + +# ============================================================== +# rtems-4.11-mips-rtems4.11-gcc-c++ +# ============================================================== +%package -n rtems-4.11-mips-rtems4.11-gcc-c++ +Summary: GCC c++ compiler for mips-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +License: GPL +Requires: rtems-4.11-mips-rtems4.11-gcc-libstdc++ = %{gcc_rpmvers}-%{release} + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-mips-rtems4.11-gcc-c++ = %{gcc_rpmvers} +%endif + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-mips-rtems4.11-gcc = %{gcc_rpmvers}-%{release} + +%description -n rtems-4.11-mips-rtems4.11-gcc-c++ +GCC c++ compiler for mips-rtems4.11. + + +%package -n rtems-4.11-mips-rtems4.11-gcc-libstdc++ +Summary: libstdc++ for mips-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +%description -n rtems-4.11-mips-rtems4.11-gcc-libstdc++ +%{summary} + + +%files -n rtems-4.11-mips-rtems4.11-gcc-c++ +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/mips-rtems4.11-g++.1* + +%dir %{_bindir} +%{_bindir}/mips-rtems4.11-c++%{_exeext} +%{_bindir}/mips-rtems4.11-g++%{_exeext} + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/mips-rtems4.11 +%dir %{_libexecdir}/gcc/mips-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/mips-rtems4.11/%{gcc_version}/cc1plus%{_exeext} + + +%files -n rtems-4.11-mips-rtems4.11-gcc-libstdc++ -f build/files.g++ +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/mips-rtems4.11 +%dir %{_gcclibdir}/gcc/mips-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/mips-rtems4.11/%{gcc_version}/include +%{_gcclibdir}/gcc/mips-rtems4.11/%{gcc_version}/include/c++ + + + +# ============================================================== +# rtems-4.11-mips-rtems4.11-newlib +# ============================================================== +%package -n rtems-4.11-mips-rtems4.11-newlib +Summary: C Library (newlib) for mips-rtems4.11 +Group: Development/Tools +License: Distributable +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires: rtems-4.11-newlib-common + +%description -n rtems-4.11-mips-rtems4.11-newlib +Newlib C Library for mips-rtems4.11. + +%files -n rtems-4.11-mips-rtems4.11-newlib -f build/files.newlib +%defattr(-,root,root) +%dir %{_exec_prefix} +%dir %{_exec_prefix}/mips-rtems4.11 +%{_exec_prefix}/mips-rtems4.11/include + +# ============================================================== +# rtems-4.11-newlib-common +# ============================================================== +%package -n rtems-4.11-newlib-common +Summary: Base package for RTEMS newlib C Library +Group: Development/Tools +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: Distributable + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-newlib-common +newlib files that are shared by all targets. + +%files -n rtems-4.11-newlib-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/libc.info* +%{_infodir}/libm.info* + +%post -n rtems-4.11-newlib-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : + +%preun -n rtems-4.11-newlib-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : +fi + diff --git a/contrib/crossrpms/rtems4.11/mips/rtems-4.11-mips-rtems4.11-gdb.spec b/contrib/crossrpms/rtems4.11/mips/rtems-4.11-mips-rtems4.11-gdb.spec new file mode 100644 index 0000000000..d23a70b9db --- /dev/null +++ b/contrib/crossrpms/rtems4.11/mips/rtems-4.11-mips-rtems4.11-gdb.spec @@ -0,0 +1,319 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define gdb_version 7.0.90 +%define gdb_rpmvers %{expand:%(echo 7.0.90 | tr - _)} + +Name: rtems-4.11-mips-rtems4.11-gdb +Summary: Gdb for target mips-rtems4.11 +Group: Development/Tools +Version: %{gdb_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/gdb +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%define build_sim --enable-sim +%if "%{_build}" != "%{_host}" +# psim doesn't support Cdn-X +%if "mips-rtems4.11" == "powerpc-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%ifos mingw mingw32 +# Mingw lacks functions required by the simulator +%if "mips-rtems4.11" == "sparc-rtems4.10" +%define build_sim --disable-sim +%endif +%if "mips-rtems4.11" == "h8300-rtems4.10" +%define build_sim --disable-sim +%endif +%if "%{gdb_version}" >= "6.8.50" +%if "mips-rtems4.11" == "m32c-rtems4.10" +%define build_sim --disable-sim +%endif +%endif +%if "mips-rtems4.11" == "lm32-rtems4.10" +%define build_sim --disable-sim +%endif +%if "mips-rtems4.11" == "mipstx39-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%if "%{gdb_version}" >= "6.6" +# suse +%if "%{?suse}" >= "10.3" +BuildRequires: libexpat-devel +%else +# Fedora/CentOS/Cygwin/MinGW +BuildRequires: %{_host_rpmprefix}expat-devel +%endif +%endif + +%if "%{gdb_version}" < "6.7" +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}termcap-devel +%endif +%bcond_with system_readline +%else +%bcond_without system_readline +%endif +%{?with_system_readline:BuildRequires: %{_host_rpmprefix}readline-devel} +BuildRequires: %{_host_rpmprefix}ncurses-devel + +%if "%{gdb_version}" >= "6.8.50" +%if "%{_build}" != "%{_host}" +# Can't build python Cdn-X +%bcond_with python +%else +%bcond_without python +%endif +%endif +%{?with_python:BuildRequires: %{_host_rpmprefix}python-devel} + +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 + + +Requires: rtems-4.11-gdb-common + +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif + +%description +GDB for target mips-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd gdb-%{gdb_version} +%{?PATCH0:%patch0 -p1} +cd .. + +# Force using a system-provided libreadline +%{?with_system_readline:rm -f gdb-%{gdb_version}/readline/configure} +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../gdb-%{gdb_version}/configure \ + --build=%_build --host=%_host \ + --target=mips-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + %{build_sim} \ + %{?with_system_readline:--with-system-readline} \ +%if "%{gdb_version}" >= "6.6" + --with-expat \ +%endif +%if "%{gdb_version}" >= "6.8.50" +%if %{with python} + --with-python \ +%else + --without-python \ +%endif +%endif + --prefix=%{_prefix} --bindir=%{_bindir} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + +# These come from other packages + rm -rf $RPM_BUILD_ROOT%{_infodir}/bfd* + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure* + rm -rf $RPM_BUILD_ROOT%{_infodir}/standards* + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# host library, installed to a bogus directory + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libmips-rtems4.11-sim.a + +%if "%{gdb_version}" >= "7.0" +# Bug in gdb-7.0, bogusly installs linux-only files + somethinguseful=0 + for f in ${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls/*.xml; do + case $f in + *linux.xml) rm -f $f;; + *.xml) somethinguseful=1;; + esac + done + if test $somethinguseful -eq 0; then + rm -rf "${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls" + fi +%endif + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# mips-rtems4.11-gdb +# ============================================================== +# %package -n rtems-4.11-mips-rtems4.11-gdb +# Summary: rtems gdb for mips-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-gdb-common +# %endif + +%description -n rtems-4.11-mips-rtems4.11-gdb +GNU gdb targetting mips-rtems4.11. + +%files -n rtems-4.11-mips-rtems4.11-gdb +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/mips-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/mips-rtems4.11-* + +# ============================================================== +# rtems-4.11-gdb-common +# ============================================================== +%package -n rtems-4.11-gdb-common +Summary: Base package for RTEMS gdbs +Group: Development/Tools +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info +%{?_with_noarch_subpackages:BuildArch: noarch} + +%description -n rtems-4.11-gdb-common + +GDB files shared by all targets. + +%post -n rtems-4.11-gdb-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : + +%preun -n rtems-4.11-gdb-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : +fi + +%files -n rtems-4.11-gdb-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/gdb.info* + +%{_infodir}/gdbint.info* +%{_infodir}/stabs.info* +%{_infodir}/annotate.info* + diff --git a/contrib/crossrpms/rtems4.11/mipstx39/.cvsignore b/contrib/crossrpms/rtems4.11/mipstx39/.cvsignore new file mode 100644 index 0000000000..11289e9f57 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/mipstx39/.cvsignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +*.spec.in diff --git a/contrib/crossrpms/rtems4.11/mipstx39/Makefile.am b/contrib/crossrpms/rtems4.11/mipstx39/Makefile.am new file mode 100644 index 0000000000..07ac75ed14 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/mipstx39/Makefile.am @@ -0,0 +1,12 @@ +# $Id$ + +TARGET = mipstx39-rtems4.11 + +include $(top_srcdir)/mkspec.am + +# We only want a gdb with a tx39 simulator in it. We share the other tools +GDB_VERS = 7.0.90 +GDB_PKGVERS = $(GDB_VERS) +GDB_RPMREL = 1 +include ../gdb.am +GDB_OPTS += diff --git a/contrib/crossrpms/rtems4.11/mipstx39/gdb-sources.add b/contrib/crossrpms/rtems4.11/mipstx39/gdb-sources.add new file mode 100644 index 0000000000..e5fb99aa66 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/mipstx39/gdb-sources.add @@ -0,0 +1,9 @@ +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif diff --git a/contrib/crossrpms/rtems4.11/mipstx39/rtems-4.11-mipstx39-rtems4.11-gdb.spec b/contrib/crossrpms/rtems4.11/mipstx39/rtems-4.11-mipstx39-rtems4.11-gdb.spec new file mode 100644 index 0000000000..4eb2b422a0 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/mipstx39/rtems-4.11-mipstx39-rtems4.11-gdb.spec @@ -0,0 +1,319 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define gdb_version 7.0.90 +%define gdb_rpmvers %{expand:%(echo 7.0.90 | tr - _)} + +Name: rtems-4.11-mipstx39-rtems4.11-gdb +Summary: Gdb for target mipstx39-rtems4.11 +Group: Development/Tools +Version: %{gdb_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/gdb +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%define build_sim --enable-sim +%if "%{_build}" != "%{_host}" +# psim doesn't support Cdn-X +%if "mipstx39-rtems4.11" == "powerpc-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%ifos mingw mingw32 +# Mingw lacks functions required by the simulator +%if "mipstx39-rtems4.11" == "sparc-rtems4.10" +%define build_sim --disable-sim +%endif +%if "mipstx39-rtems4.11" == "h8300-rtems4.10" +%define build_sim --disable-sim +%endif +%if "%{gdb_version}" >= "6.8.50" +%if "mipstx39-rtems4.11" == "m32c-rtems4.10" +%define build_sim --disable-sim +%endif +%endif +%if "mipstx39-rtems4.11" == "lm32-rtems4.10" +%define build_sim --disable-sim +%endif +%if "mipstx39-rtems4.11" == "mipstx39-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%if "%{gdb_version}" >= "6.6" +# suse +%if "%{?suse}" >= "10.3" +BuildRequires: libexpat-devel +%else +# Fedora/CentOS/Cygwin/MinGW +BuildRequires: %{_host_rpmprefix}expat-devel +%endif +%endif + +%if "%{gdb_version}" < "6.7" +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}termcap-devel +%endif +%bcond_with system_readline +%else +%bcond_without system_readline +%endif +%{?with_system_readline:BuildRequires: %{_host_rpmprefix}readline-devel} +BuildRequires: %{_host_rpmprefix}ncurses-devel + +%if "%{gdb_version}" >= "6.8.50" +%if "%{_build}" != "%{_host}" +# Can't build python Cdn-X +%bcond_with python +%else +%bcond_without python +%endif +%endif +%{?with_python:BuildRequires: %{_host_rpmprefix}python-devel} + +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 + + +Requires: rtems-4.11-gdb-common + +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif + +%description +GDB for target mipstx39-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd gdb-%{gdb_version} +%{?PATCH0:%patch0 -p1} +cd .. + +# Force using a system-provided libreadline +%{?with_system_readline:rm -f gdb-%{gdb_version}/readline/configure} +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../gdb-%{gdb_version}/configure \ + --build=%_build --host=%_host \ + --target=mipstx39-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + %{build_sim} \ + %{?with_system_readline:--with-system-readline} \ +%if "%{gdb_version}" >= "6.6" + --with-expat \ +%endif +%if "%{gdb_version}" >= "6.8.50" +%if %{with python} + --with-python \ +%else + --without-python \ +%endif +%endif + --prefix=%{_prefix} --bindir=%{_bindir} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + +# These come from other packages + rm -rf $RPM_BUILD_ROOT%{_infodir}/bfd* + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure* + rm -rf $RPM_BUILD_ROOT%{_infodir}/standards* + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# host library, installed to a bogus directory + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libmipstx39-rtems4.11-sim.a + +%if "%{gdb_version}" >= "7.0" +# Bug in gdb-7.0, bogusly installs linux-only files + somethinguseful=0 + for f in ${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls/*.xml; do + case $f in + *linux.xml) rm -f $f;; + *.xml) somethinguseful=1;; + esac + done + if test $somethinguseful -eq 0; then + rm -rf "${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls" + fi +%endif + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# mipstx39-rtems4.11-gdb +# ============================================================== +# %package -n rtems-4.11-mipstx39-rtems4.11-gdb +# Summary: rtems gdb for mipstx39-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-gdb-common +# %endif + +%description -n rtems-4.11-mipstx39-rtems4.11-gdb +GNU gdb targetting mipstx39-rtems4.11. + +%files -n rtems-4.11-mipstx39-rtems4.11-gdb +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/mipstx39-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/mipstx39-rtems4.11-* + +# ============================================================== +# rtems-4.11-gdb-common +# ============================================================== +%package -n rtems-4.11-gdb-common +Summary: Base package for RTEMS gdbs +Group: Development/Tools +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info +%{?_with_noarch_subpackages:BuildArch: noarch} + +%description -n rtems-4.11-gdb-common + +GDB files shared by all targets. + +%post -n rtems-4.11-gdb-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : + +%preun -n rtems-4.11-gdb-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : +fi + +%files -n rtems-4.11-gdb-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/gdb.info* + +%{_infodir}/gdbint.info* +%{_infodir}/stabs.info* +%{_infodir}/annotate.info* + diff --git a/contrib/crossrpms/rtems4.11/powerpc/.cvsignore b/contrib/crossrpms/rtems4.11/powerpc/.cvsignore new file mode 100644 index 0000000000..11289e9f57 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/powerpc/.cvsignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +*.spec.in diff --git a/contrib/crossrpms/rtems4.11/powerpc/Makefile.am b/contrib/crossrpms/rtems4.11/powerpc/Makefile.am new file mode 100644 index 0000000000..25797bc478 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/powerpc/Makefile.am @@ -0,0 +1,32 @@ +# $Id$ + +TARGET = powerpc-rtems4.11 + +include $(top_srcdir)/mkspec.am + +BINUTILS_VERS = 2.20.1 +BINUTILS_PKGVERS = $(BINUTILS_VERS) +BINUTILS_RPMREL = 1 +include ../binutils.am +BINUTILS_OPTS += + +GCC_VERS = 4.4.3 +GCC_PKGVERS = $(GCC_VERS) +GCC_RPMREL = 1 +NEWLIB_VERS = 1.18.0 +NEWLIB_PKGVERS = $(NEWLIB_VERS) +NEWLIB_RPMREL = `expr $(GCC_RPMREL)` +include ../gcc.am +GCC_OPTS += --languages=cxx + +GDB_VERS = 7.0.90 +GDB_PKGVERS = $(GDB_VERS) +GDB_RPMREL = 1 +include ../gdb.am +GDB_OPTS += + +CPUKIT_VERS = 4.9.99.0 +CPUKIT_PKGVERS = $(CPUKIT_VERS)-20090206-2 +CPUKIT_RPMREL = 1 +include ../cpukit.am +CPUKIT_OPTS += diff --git a/contrib/crossrpms/rtems4.11/powerpc/binutils-sources.add b/contrib/crossrpms/rtems4.11/powerpc/binutils-sources.add new file mode 100644 index 0000000000..5c4d63e3ef --- /dev/null +++ b/contrib/crossrpms/rtems4.11/powerpc/binutils-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff diff --git a/contrib/crossrpms/rtems4.11/powerpc/cpukit-sources.add b/contrib/crossrpms/rtems4.11/powerpc/cpukit-sources.add new file mode 100644 index 0000000000..763e672840 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/powerpc/cpukit-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} diff --git a/contrib/crossrpms/rtems4.11/powerpc/gcc-sources.add b/contrib/crossrpms/rtems4.11/powerpc/gcc-sources.add new file mode 100644 index 0000000000..c130209921 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/powerpc/gcc-sources.add @@ -0,0 +1,47 @@ +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if %build_cxx +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%endif +%if %build_fortran +Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-fortran-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 2} + +%endif +%if %build_gcj +Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-java-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 3} + +%endif +%if %build_gnat +Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-ada-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 4} + +%endif +%if %build_objc +Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-objc-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 5} + +%endif +%if %build_newlib +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} +%endif diff --git a/contrib/crossrpms/rtems4.11/powerpc/gdb-sources.add b/contrib/crossrpms/rtems4.11/powerpc/gdb-sources.add new file mode 100644 index 0000000000..e5fb99aa66 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/powerpc/gdb-sources.add @@ -0,0 +1,9 @@ +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif diff --git a/contrib/crossrpms/rtems4.11/powerpc/rtems-4.11-powerpc-rtems4.11-binutils.spec b/contrib/crossrpms/rtems4.11/powerpc/rtems-4.11-powerpc-rtems4.11-binutils.spec new file mode 100644 index 0000000000..112491ecb4 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/powerpc/rtems-4.11-powerpc-rtems4.11-binutils.spec @@ -0,0 +1,268 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define binutils_pkgvers 2.20.1 +%define binutils_version 2.20.1 +%define binutils_rpmvers %{expand:%(echo "2.20.1" | tr - _ )} + +Name: rtems-4.11-powerpc-rtems4.11-binutils +Summary: Binutils for target powerpc-rtems4.11 +Group: Development/Tools +Version: %{binutils_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/binutils +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{binutils_version}" >= "2.18" +# Bug in bfd: Doesn't build without texinfo installed +BuildRequires: texinfo >= 4.2 +%else +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 +%endif +BuildRequires: flex +BuildRequires: bison + +Requires: rtems-4.11-binutils-common + +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff + +%description +Cross binutils for target powerpc-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd binutils-%{binutils_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../binutils-%{binutils_pkgvers}/configure \ + --build=%_build --host=%_host \ + --target=powerpc-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + --prefix=%{_prefix} --bindir=%{_bindir} \ + --exec-prefix=%{_exec_prefix} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + 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} \ + exec_prefix=$RPM_BUILD_ROOT%{_exec_prefix} \ + install-info + +# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it. + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info* + + 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 + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# manpages without corresponding tools + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/powerpc-rtems4.11-dlltool%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/powerpc-rtems4.11-dlltool* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/powerpc-rtems4.11-nlmconv%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/powerpc-rtems4.11-nlmconv* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/powerpc-rtems4.11-windres%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/powerpc-rtems4.11-windres* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/powerpc-rtems4.11-windmc%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/powerpc-rtems4.11-windmc* + fi + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# powerpc-rtems4.11-binutils +# ============================================================== +# %package -n rtems-4.11-powerpc-rtems4.11-binutils +# Summary: rtems binutils for powerpc-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-binutils-common +# %endif + +%description -n rtems-4.11-powerpc-rtems4.11-binutils +GNU binutils targetting powerpc-rtems4.11. + +%files -n rtems-4.11-powerpc-rtems4.11-binutils +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_datarootdir} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/powerpc-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/powerpc-rtems4.11-* + +%dir %{_exec_prefix}/powerpc-rtems4.11 +%dir %{_exec_prefix}/powerpc-rtems4.11/bin +%{_exec_prefix}/powerpc-rtems4.11/bin/* + +%dir %{_exec_prefix}/powerpc-rtems4.11/lib +%{_exec_prefix}/powerpc-rtems4.11/lib/ldscripts +# ============================================================== +# rtems-4.11-binutils-common +# ============================================================== +%package -n rtems-4.11-binutils-common +Summary: Base package for RTEMS binutils +Group: Development/Tools +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-binutils-common + +RTEMS is an open source operating system for embedded systems. + +This is the base for binutils regardless of target CPU. + +%post -n rtems-4.11-binutils-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : + +%preun -n rtems-4.11-binutils-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : +fi + +%files -n rtems-4.11-binutils-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/as.info* +%{_infodir}/bfd.info* +%{_infodir}/binutils.info* +%{_infodir}/ld.info* +%{_infodir}/standards.info* +%{_infodir}/gprof.info* + +%dir %{_prefix}/share +%dir %{_prefix}/share/locale + diff --git a/contrib/crossrpms/rtems4.11/powerpc/rtems-4.11-powerpc-rtems4.11-cpukit.spec b/contrib/crossrpms/rtems4.11/powerpc/rtems-4.11-powerpc-rtems4.11-cpukit.spec new file mode 100644 index 0000000000..7c80cced8d --- /dev/null +++ b/contrib/crossrpms/rtems4.11/powerpc/rtems-4.11-powerpc-rtems4.11-cpukit.spec @@ -0,0 +1,158 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define cpukit_pkgvers 4.9.99.0-20090206-2 +%define cpukit_version 4.9.99.0 +%define cpukit_rpmvers %{expand:%(echo "4.9.99.0-20090206-2" | tr - . )} + +Name: rtems-4.11-powerpc-rtems4.11-cpukit +Summary: powerpc-rtems4.11 cpukit + +Group: Development/Tools +Version: %{cpukit_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://cpukit.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch + +%define debug_package %{nil} + +BuildRequires: rtems-4.11-powerpc-rtems4.11-gcc + +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} + +%description +RTEMS cpukit for powerpc-rtems4.11. +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 + + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + + cd build + ../rtems-%{cpukit_version}/configure \ + --prefix=%{_prefix} \ + --target=powerpc-rtems4.11 \ + --enable-multilib \ + --disable-rtemsbsp + + make all RTEMS_BSP= + cd .. + +%install + rm -rf $RPM_BUILD_ROOT + export PATH="%{_bindir}:${PATH}" + cd build + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + rm -rf $RPM_BUILD_ROOT%{_prefix}/share/man + rm -rf $RPM_BUILD_ROOT%{_prefix}/bin +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{version}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/powerpc-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/powerpc-rtems4.11/' | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-provides +%define __find_provides %{_builddir}/%{name}-%{version}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{version}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/powerpc-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/powerpc-rtems4.11/' | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-requires +%define __find_requires %{_builddir}/%{name}-%{version}/find-requires + +%clean + rm -rf $RPM_BUILD_ROOT + +%description -n rtems-4.11-powerpc-rtems4.11-cpukit +RTEMS cpukit for target powerpc-rtems4.11. + +%files -n rtems-4.11-powerpc-rtems4.11-cpukit +%defattr(-,root,root) +%dir %{_prefix} +%{_prefix}/powerpc-rtems4.11 +# Violates the FHS +%exclude %{_prefix}/make diff --git a/contrib/crossrpms/rtems4.11/powerpc/rtems-4.11-powerpc-rtems4.11-gcc.spec b/contrib/crossrpms/rtems4.11/powerpc/rtems-4.11-powerpc-rtems4.11-gcc.spec new file mode 100644 index 0000000000..31c1004457 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/powerpc/rtems-4.11-powerpc-rtems4.11-gcc.spec @@ -0,0 +1,716 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define gcc_pkgvers 4.4.3 +%define gcc_version 4.4.3 +%define gcc_rpmvers %{expand:%(echo "4.4.3" | tr - _ )} + +%define newlib_pkgvers 1.18.0 +%define newlib_version 1.18.0 + +Name: rtems-4.11-powerpc-rtems4.11-gcc +Summary: powerpc-rtems4.11 gcc + +Group: Development/Tools +Version: %{gcc_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://gcc.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%define _use_internal_dependency_generator 0 + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{gcc_version}" >= "4.3.0" +%define _gmp_minvers 4.1 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif + +%if %{defined _gmp_minvers} +BuildRequires: gmp-devel >= %{_gmp_minvers} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%endif +%endif + +%if "%{gcc_version}" >= "4.3.3" +%define _cloog_minvers 0.15 +%endif + +%if %{defined _cloog_minvers} +%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%endif + +%if "%{gcc_version}" >= "4.4.0" +%define _mpfr_minvers 2.3.2 +%define mpfr_version 2.4.1 +%else +%if "%{gcc_version}" >= "4.3.0" +%define _mpfr_minvers 2.3.1 +%define mpfr_version 2.3.2 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif +%endif + +%if %{defined _mpfr_minvers} +# FIXME: This is an ugly cludge +%{?fc11:%global mpfr_provided 2.4.1} +%{?fc12:%global mpfr_provided 2.4.1} +%{?fc13:%global mpfr_provided 2.4.1} +%{?suse11_0:%global mpfr_provided 2.3.1} +%{?suse11_1:%global mpfr_provided 2.3.2} +%{?suse11_2:%global mpfr_provided 2.4.1} +%{?cygwin:%global mpfr_provided 2.4.1} +%{?mingw32:%global mpfr_provided %{nil}} + +%if %{defined mpfr_provided} +%if "%{mpfr_provided}" < "%{_mpfr_minvers}" +%define _build_mpfr 1 +%else +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +%else +BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%endif +%endif +%else +%define _build_mpfr 1 +%endif + +%endif + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-powerpc-rtems4.11-gcc = %{gcc_rpmvers} +%endif + +%if "%{gcc_version}" >= "4.2.0" +BuildRequires: flex bison +%endif + + +BuildRequires: texinfo >= 4.2 +BuildRequires: rtems-4.11-powerpc-rtems4.11-binutils + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-powerpc-rtems4.11-binutils +Requires: rtems-4.11-powerpc-rtems4.11-gcc-libgcc = %{gcc_rpmvers}-%{release} +Requires: rtems-4.11-powerpc-rtems4.11-newlib = %{newlib_version}-1%{?dist} + + +%define _gcclibdir %{_prefix}/lib + +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} + +%if "%{gcc_version}" >= "4.3.0" +Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 +%endif + +%description +Cross gcc for powerpc-rtems4.11. + +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 +%{?PATCH0:%patch0 -p0} + +%setup -q -T -D -n %{name}-%{version} -a1 +%{?PATCH1:%patch1 -p0} + + + + + +%setup -q -T -D -n %{name}-%{version} -a50 +cd newlib-%{newlib_version} +%{?PATCH50:%patch50 -p1} +cd .. + # Copy the C library into gcc's source tree + ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_pkgvers} + +%if 0%{?_build_mpfr} +%setup -q -T -D -n %{name}-%{version} -a60 +%{?PATCH60:%patch60 -p1} + # Build mpfr one-tree style + ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr +%endif + +echo "RTEMS gcc-%{gcc_version}-1%{?dist}/newlib-%{newlib_version}-1%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE + + + # Fix timestamps + cd gcc-%{gcc_pkgvers} + contrib/gcc_update --touch + cd .. +%build + mkdir -p build + + cd build + + languages="c" + languages="$languages,c++" + export PATH="%{_bindir}:${PATH}" +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ + CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \ +%else +# gcc is not ready to be compiled with -std=gnu99 + CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \ +%endif + ../gcc-%{gcc_pkgvers}/configure \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --exec_prefix=%{_exec_prefix} \ + --includedir=%{_includedir} \ + --libdir=%{_gcclibdir} \ + --libexecdir=%{_libexecdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} \ + --datadir=%{_datadir} \ + --build=%_build --host=%_host \ + --target=powerpc-rtems4.11 \ + --disable-libstdcxx-pch \ + --with-gnu-as --with-gnu-ld --verbose \ + --with-newlib \ + --with-system-zlib \ + --disable-nls --without-included-gettext \ + --disable-win32-registry \ + --enable-version-specific-runtime-libs \ + --enable-threads \ + --enable-newlib-io-c99-formats \ + --enable-languages="$languages" $optargs + +%if "%_host" != "%_build" + # Bug in gcc-3.2.1: + # Somehow, gcc doesn't get syslimits.h right for Cdn-Xs + mkdir -p gcc/include + cp ../gcc-%{gcc_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h +%endif + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + cd build/powerpc-rtems4.11/newlib + make DESTDIR=$RPM_BUILD_ROOT install-info + cd ../../.. + +%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/powerpc-rtems4.11/%{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}/powerpc-rtems4.11-c++filt%{_exeext} + + + # We don't ship info/dir + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + + # Bug in gcc-3.4.0pre + rm -f $RPM_BUILD_ROOT%{_bindir}/powerpc-rtems4.11-powerpc-rtems4.11-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/powerpc-rtems4.11/%{gcc_version}/install-tools + rm -rf ${RPM_BUILD_ROOT}%{_libexecdir}/gcc/powerpc-rtems4.11/%{gcc_version}/install-tools + + # Bug in gcc > 4.1.0: Installs an unused, empty directory + if test -d ${RPM_BUILD_ROOT}%{_prefix}/powerpc-rtems4.11/include/bits; then + rmdir ${RPM_BUILD_ROOT}%{_prefix}/powerpc-rtems4.11/include/bits + fi + + # Collect multilib subdirectories + multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` + + echo "%defattr(-,root,root,-)" > build/files.newlib + TGTDIR="%{_exec_prefix}/powerpc-rtems4.11/lib" + for i in $multilibs; do + case $i in + \.) echo "%dir ${TGTDIR}" >> build/files.newlib + ;; + *) echo "%dir ${TGTDIR}/$i" >> build/files.newlib + ;; + esac + done + + rm -f dirs ; + echo "%defattr(-,root,root,-)" >> dirs + TGTDIR="%{_gcclibdir}/gcc/powerpc-rtems4.11/%{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++ + + TGTDIR="%{_gcclibdir}/gcc/powerpc-rtems4.11/%{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 ;; + *include/objc*) ;; + *include/g++*);; + *include/c++*);; + *include-fixed/*);; + *finclude/*);; + *adainclude*);; + *adalib*);; + *gnat1);; + *jc1) ;; + *jvgenmain) ;; + */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + */libstdc++.*) echo "$i" >> build/files.g++ ;; + */libsupc++.*) echo "$i" >> build/files.g++ ;; + *) echo "$i" >> build/files.gcc ;; + esac + done + + TGTDIR="%{_exec_prefix}/powerpc-rtems4.11/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 +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/powerpc-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/powerpc-rtems4.11/'} | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/powerpc-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/powerpc-rtems4.11/'} | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires + +%ifnarch noarch +# Extract %%__debug_install_post into debug_install_post~ +cat << \EOF > debug_install_post~ +%__debug_install_post +EOF + +# Generate customized debug_install_post script +cat debug_install_post~ | while read a x y; do +case $a in +# Prevent find-debuginfo.sh* from trying to handle foreign binaries +*/find-debuginfo.sh) + b=$(basename $a) + sed -e 's,find "$RPM_BUILD_ROOT" !,find "$RPM_BUILD_ROOT"%_bindir "$RPM_BUILD_ROOT"%_libexecdir !,' $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ +< debug_install_post~ > debug_install_post +%define __debug_install_post . ./debug_install_post + +%endif + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# rtems-4.11-powerpc-rtems4.11-gcc +# ============================================================== +# %package -n rtems-4.11-powerpc-rtems4.11-gcc +# Summary: GNU cc compiler for powerpc-rtems4.11 +# Group: Development/Tools +# Version: %{gcc_rpmvers} +# Requires: rtems-4.11-powerpc-rtems4.11-binutils +# Requires: rtems-4.11-powerpc-rtems4.11-newlib = %{newlib_version}-1%{?dist} +# License: GPL + +# %if %build_infos +# Requires: rtems-4.11-gcc-common +# %endif + +%description -n rtems-4.11-powerpc-rtems4.11-gcc +GNU cc compiler for powerpc-rtems4.11. + +# ============================================================== +# rtems-4.11-powerpc-rtems4.11-gcc-libgcc +# ============================================================== +%package -n rtems-4.11-powerpc-rtems4.11-gcc-libgcc +Summary: libgcc for powerpc-rtems4.11-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +Requires: rtems-4.11-powerpc-rtems4.11-newlib = %{newlib_version}-1%{?dist} +License: GPL + +%description -n rtems-4.11-powerpc-rtems4.11-gcc-libgcc +libgcc powerpc-rtems4.11-gcc. + + +%files -n rtems-4.11-powerpc-rtems4.11-gcc +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/powerpc-rtems4.11-gcc.1* +%{_mandir}/man1/powerpc-rtems4.11-cpp.1* +%{_mandir}/man1/powerpc-rtems4.11-gcov.1* + +%dir %{_bindir} +%{_bindir}/powerpc-rtems4.11-cpp%{_exeext} +%{_bindir}/powerpc-rtems4.11-gcc%{_exeext} +%{_bindir}/powerpc-rtems4.11-gcc-%{gcc_version}%{_exeext} +%{_bindir}/powerpc-rtems4.11-gcov%{_exeext} +%{_bindir}/powerpc-rtems4.11-gccbug + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/powerpc-rtems4.11 +%dir %{_libexecdir}/gcc/powerpc-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/powerpc-rtems4.11/%{gcc_version}/cc1%{_exeext} +%{_libexecdir}/gcc/powerpc-rtems4.11/%{gcc_version}/collect2%{_exeext} + + +%files -n rtems-4.11-powerpc-rtems4.11-gcc-libgcc -f build/files.gcc +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/powerpc-rtems4.11 +%dir %{_gcclibdir}/gcc/powerpc-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/powerpc-rtems4.11/%{gcc_version}/include + +%if "%{gcc_version}" > "4.0.3" +%if "powerpc-rtems4.11" != "bfin-rtems4.10" +%if "powerpc-rtems4.11" != "avr-rtems4.10" +%dir %{_gcclibdir}/gcc/powerpc-rtems4.11/%{gcc_version}/include/ssp +%endif +%endif +%endif + +%if "%{gcc_version}" >= "4.3.0" +%{_gcclibdir}/gcc/powerpc-rtems4.11/%{gcc_version}/include-fixed +%endif + +# ============================================================== +# rtems-4.11-gcc-common +# ============================================================== +%package -n rtems-4.11-gcc-common +Summary: Base package for rtems gcc and newlib C Library +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-gcc-common +GCC files that are shared by all targets. + +%files -n rtems-4.11-gcc-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/cpp.info* +%{_infodir}/cppinternals.info* +%{_infodir}/gcc.info* +%{_infodir}/gccint.info* +%{_infodir}/gccinstall.info* + +%dir %{_mandir} +%dir %{_mandir}/man7 +%{_mandir}/man7/fsf-funding.7* +%{_mandir}/man7/gfdl.7* +%{_mandir}/man7/gpl.7* + +%post -n rtems-4.11-gcc-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : + +%preun -n rtems-4.11-gcc-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : +fi + +# ============================================================== +# rtems-4.11-powerpc-rtems4.11-gcc-c++ +# ============================================================== +%package -n rtems-4.11-powerpc-rtems4.11-gcc-c++ +Summary: GCC c++ compiler for powerpc-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +License: GPL +Requires: rtems-4.11-powerpc-rtems4.11-gcc-libstdc++ = %{gcc_rpmvers}-%{release} + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-powerpc-rtems4.11-gcc-c++ = %{gcc_rpmvers} +%endif + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-powerpc-rtems4.11-gcc = %{gcc_rpmvers}-%{release} + +%description -n rtems-4.11-powerpc-rtems4.11-gcc-c++ +GCC c++ compiler for powerpc-rtems4.11. + + +%package -n rtems-4.11-powerpc-rtems4.11-gcc-libstdc++ +Summary: libstdc++ for powerpc-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +%description -n rtems-4.11-powerpc-rtems4.11-gcc-libstdc++ +%{summary} + + +%files -n rtems-4.11-powerpc-rtems4.11-gcc-c++ +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/powerpc-rtems4.11-g++.1* + +%dir %{_bindir} +%{_bindir}/powerpc-rtems4.11-c++%{_exeext} +%{_bindir}/powerpc-rtems4.11-g++%{_exeext} + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/powerpc-rtems4.11 +%dir %{_libexecdir}/gcc/powerpc-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/powerpc-rtems4.11/%{gcc_version}/cc1plus%{_exeext} + + +%files -n rtems-4.11-powerpc-rtems4.11-gcc-libstdc++ -f build/files.g++ +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/powerpc-rtems4.11 +%dir %{_gcclibdir}/gcc/powerpc-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/powerpc-rtems4.11/%{gcc_version}/include +%{_gcclibdir}/gcc/powerpc-rtems4.11/%{gcc_version}/include/c++ + + + +# ============================================================== +# rtems-4.11-powerpc-rtems4.11-newlib +# ============================================================== +%package -n rtems-4.11-powerpc-rtems4.11-newlib +Summary: C Library (newlib) for powerpc-rtems4.11 +Group: Development/Tools +License: Distributable +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires: rtems-4.11-newlib-common + +%description -n rtems-4.11-powerpc-rtems4.11-newlib +Newlib C Library for powerpc-rtems4.11. + +%files -n rtems-4.11-powerpc-rtems4.11-newlib -f build/files.newlib +%defattr(-,root,root) +%dir %{_exec_prefix} +%dir %{_exec_prefix}/powerpc-rtems4.11 +%{_exec_prefix}/powerpc-rtems4.11/include + +# ============================================================== +# rtems-4.11-newlib-common +# ============================================================== +%package -n rtems-4.11-newlib-common +Summary: Base package for RTEMS newlib C Library +Group: Development/Tools +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: Distributable + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-newlib-common +newlib files that are shared by all targets. + +%files -n rtems-4.11-newlib-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/libc.info* +%{_infodir}/libm.info* + +%post -n rtems-4.11-newlib-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : + +%preun -n rtems-4.11-newlib-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : +fi + diff --git a/contrib/crossrpms/rtems4.11/powerpc/rtems-4.11-powerpc-rtems4.11-gdb.spec b/contrib/crossrpms/rtems4.11/powerpc/rtems-4.11-powerpc-rtems4.11-gdb.spec new file mode 100644 index 0000000000..5bdf580e2e --- /dev/null +++ b/contrib/crossrpms/rtems4.11/powerpc/rtems-4.11-powerpc-rtems4.11-gdb.spec @@ -0,0 +1,319 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define gdb_version 7.0.90 +%define gdb_rpmvers %{expand:%(echo 7.0.90 | tr - _)} + +Name: rtems-4.11-powerpc-rtems4.11-gdb +Summary: Gdb for target powerpc-rtems4.11 +Group: Development/Tools +Version: %{gdb_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/gdb +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%define build_sim --enable-sim +%if "%{_build}" != "%{_host}" +# psim doesn't support Cdn-X +%if "powerpc-rtems4.11" == "powerpc-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%ifos mingw mingw32 +# Mingw lacks functions required by the simulator +%if "powerpc-rtems4.11" == "sparc-rtems4.10" +%define build_sim --disable-sim +%endif +%if "powerpc-rtems4.11" == "h8300-rtems4.10" +%define build_sim --disable-sim +%endif +%if "%{gdb_version}" >= "6.8.50" +%if "powerpc-rtems4.11" == "m32c-rtems4.10" +%define build_sim --disable-sim +%endif +%endif +%if "powerpc-rtems4.11" == "lm32-rtems4.10" +%define build_sim --disable-sim +%endif +%if "powerpc-rtems4.11" == "mipstx39-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%if "%{gdb_version}" >= "6.6" +# suse +%if "%{?suse}" >= "10.3" +BuildRequires: libexpat-devel +%else +# Fedora/CentOS/Cygwin/MinGW +BuildRequires: %{_host_rpmprefix}expat-devel +%endif +%endif + +%if "%{gdb_version}" < "6.7" +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}termcap-devel +%endif +%bcond_with system_readline +%else +%bcond_without system_readline +%endif +%{?with_system_readline:BuildRequires: %{_host_rpmprefix}readline-devel} +BuildRequires: %{_host_rpmprefix}ncurses-devel + +%if "%{gdb_version}" >= "6.8.50" +%if "%{_build}" != "%{_host}" +# Can't build python Cdn-X +%bcond_with python +%else +%bcond_without python +%endif +%endif +%{?with_python:BuildRequires: %{_host_rpmprefix}python-devel} + +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 + + +Requires: rtems-4.11-gdb-common + +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif + +%description +GDB for target powerpc-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd gdb-%{gdb_version} +%{?PATCH0:%patch0 -p1} +cd .. + +# Force using a system-provided libreadline +%{?with_system_readline:rm -f gdb-%{gdb_version}/readline/configure} +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../gdb-%{gdb_version}/configure \ + --build=%_build --host=%_host \ + --target=powerpc-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + %{build_sim} \ + %{?with_system_readline:--with-system-readline} \ +%if "%{gdb_version}" >= "6.6" + --with-expat \ +%endif +%if "%{gdb_version}" >= "6.8.50" +%if %{with python} + --with-python \ +%else + --without-python \ +%endif +%endif + --prefix=%{_prefix} --bindir=%{_bindir} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + +# These come from other packages + rm -rf $RPM_BUILD_ROOT%{_infodir}/bfd* + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure* + rm -rf $RPM_BUILD_ROOT%{_infodir}/standards* + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# host library, installed to a bogus directory + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libpowerpc-rtems4.11-sim.a + +%if "%{gdb_version}" >= "7.0" +# Bug in gdb-7.0, bogusly installs linux-only files + somethinguseful=0 + for f in ${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls/*.xml; do + case $f in + *linux.xml) rm -f $f;; + *.xml) somethinguseful=1;; + esac + done + if test $somethinguseful -eq 0; then + rm -rf "${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls" + fi +%endif + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# powerpc-rtems4.11-gdb +# ============================================================== +# %package -n rtems-4.11-powerpc-rtems4.11-gdb +# Summary: rtems gdb for powerpc-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-gdb-common +# %endif + +%description -n rtems-4.11-powerpc-rtems4.11-gdb +GNU gdb targetting powerpc-rtems4.11. + +%files -n rtems-4.11-powerpc-rtems4.11-gdb +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/powerpc-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/powerpc-rtems4.11-* + +# ============================================================== +# rtems-4.11-gdb-common +# ============================================================== +%package -n rtems-4.11-gdb-common +Summary: Base package for RTEMS gdbs +Group: Development/Tools +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info +%{?_with_noarch_subpackages:BuildArch: noarch} + +%description -n rtems-4.11-gdb-common + +GDB files shared by all targets. + +%post -n rtems-4.11-gdb-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : + +%preun -n rtems-4.11-gdb-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : +fi + +%files -n rtems-4.11-gdb-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/gdb.info* + +%{_infodir}/gdbint.info* +%{_infodir}/stabs.info* +%{_infodir}/annotate.info* + diff --git a/contrib/crossrpms/rtems4.11/sh/.cvsignore b/contrib/crossrpms/rtems4.11/sh/.cvsignore new file mode 100644 index 0000000000..11289e9f57 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sh/.cvsignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +*.spec.in diff --git a/contrib/crossrpms/rtems4.11/sh/Makefile.am b/contrib/crossrpms/rtems4.11/sh/Makefile.am new file mode 100644 index 0000000000..648aabcc46 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sh/Makefile.am @@ -0,0 +1,32 @@ +# $Id$ + +TARGET = sh-rtems4.11 + +include $(top_srcdir)/mkspec.am + +BINUTILS_VERS = 2.20.1 +BINUTILS_PKGVERS = $(BINUTILS_VERS) +BINUTILS_RPMREL = 1 +include ../binutils.am +BINUTILS_OPTS += + +GCC_VERS = 4.4.3 +GCC_PKGVERS = $(GCC_VERS) +GCC_RPMREL = 1 +NEWLIB_VERS = 1.18.0 +NEWLIB_PKGVERS = $(NEWLIB_VERS) +NEWLIB_RPMREL = `expr $(GCC_RPMREL)` +include ../gcc.am +GCC_OPTS += --languages=cxx + +GDB_VERS = 7.0.90 +GDB_PKGVERS = $(GDB_VERS) +GDB_RPMREL = 1 +include ../gdb.am +GDB_OPTS += + +CPUKIT_VERS = 4.9.99.0 +CPUKIT_PKGVERS = $(CPUKIT_VERS)-20090206-2 +CPUKIT_RPMREL = 1 +include ../cpukit.am +CPUKIT_OPTS += diff --git a/contrib/crossrpms/rtems4.11/sh/binutils-sources.add b/contrib/crossrpms/rtems4.11/sh/binutils-sources.add new file mode 100644 index 0000000000..5c4d63e3ef --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sh/binutils-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff diff --git a/contrib/crossrpms/rtems4.11/sh/cpukit-sources.add b/contrib/crossrpms/rtems4.11/sh/cpukit-sources.add new file mode 100644 index 0000000000..763e672840 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sh/cpukit-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} diff --git a/contrib/crossrpms/rtems4.11/sh/gcc-sources.add b/contrib/crossrpms/rtems4.11/sh/gcc-sources.add new file mode 100644 index 0000000000..c130209921 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sh/gcc-sources.add @@ -0,0 +1,47 @@ +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if %build_cxx +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%endif +%if %build_fortran +Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-fortran-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 2} + +%endif +%if %build_gcj +Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-java-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 3} + +%endif +%if %build_gnat +Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-ada-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 4} + +%endif +%if %build_objc +Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-objc-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 5} + +%endif +%if %build_newlib +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} +%endif diff --git a/contrib/crossrpms/rtems4.11/sh/gdb-sources.add b/contrib/crossrpms/rtems4.11/sh/gdb-sources.add new file mode 100644 index 0000000000..e5fb99aa66 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sh/gdb-sources.add @@ -0,0 +1,9 @@ +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif diff --git a/contrib/crossrpms/rtems4.11/sh/rtems-4.11-sh-rtems4.11-binutils.spec b/contrib/crossrpms/rtems4.11/sh/rtems-4.11-sh-rtems4.11-binutils.spec new file mode 100644 index 0000000000..5558eb41aa --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sh/rtems-4.11-sh-rtems4.11-binutils.spec @@ -0,0 +1,268 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define binutils_pkgvers 2.20.1 +%define binutils_version 2.20.1 +%define binutils_rpmvers %{expand:%(echo "2.20.1" | tr - _ )} + +Name: rtems-4.11-sh-rtems4.11-binutils +Summary: Binutils for target sh-rtems4.11 +Group: Development/Tools +Version: %{binutils_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/binutils +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{binutils_version}" >= "2.18" +# Bug in bfd: Doesn't build without texinfo installed +BuildRequires: texinfo >= 4.2 +%else +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 +%endif +BuildRequires: flex +BuildRequires: bison + +Requires: rtems-4.11-binutils-common + +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff + +%description +Cross binutils for target sh-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd binutils-%{binutils_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../binutils-%{binutils_pkgvers}/configure \ + --build=%_build --host=%_host \ + --target=sh-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + --prefix=%{_prefix} --bindir=%{_bindir} \ + --exec-prefix=%{_exec_prefix} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + 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} \ + exec_prefix=$RPM_BUILD_ROOT%{_exec_prefix} \ + install-info + +# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it. + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info* + + 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 + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# manpages without corresponding tools + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/sh-rtems4.11-dlltool%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/sh-rtems4.11-dlltool* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/sh-rtems4.11-nlmconv%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/sh-rtems4.11-nlmconv* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/sh-rtems4.11-windres%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/sh-rtems4.11-windres* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/sh-rtems4.11-windmc%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/sh-rtems4.11-windmc* + fi + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# sh-rtems4.11-binutils +# ============================================================== +# %package -n rtems-4.11-sh-rtems4.11-binutils +# Summary: rtems binutils for sh-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-binutils-common +# %endif + +%description -n rtems-4.11-sh-rtems4.11-binutils +GNU binutils targetting sh-rtems4.11. + +%files -n rtems-4.11-sh-rtems4.11-binutils +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_datarootdir} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/sh-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/sh-rtems4.11-* + +%dir %{_exec_prefix}/sh-rtems4.11 +%dir %{_exec_prefix}/sh-rtems4.11/bin +%{_exec_prefix}/sh-rtems4.11/bin/* + +%dir %{_exec_prefix}/sh-rtems4.11/lib +%{_exec_prefix}/sh-rtems4.11/lib/ldscripts +# ============================================================== +# rtems-4.11-binutils-common +# ============================================================== +%package -n rtems-4.11-binutils-common +Summary: Base package for RTEMS binutils +Group: Development/Tools +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-binutils-common + +RTEMS is an open source operating system for embedded systems. + +This is the base for binutils regardless of target CPU. + +%post -n rtems-4.11-binutils-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : + +%preun -n rtems-4.11-binutils-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : +fi + +%files -n rtems-4.11-binutils-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/as.info* +%{_infodir}/bfd.info* +%{_infodir}/binutils.info* +%{_infodir}/ld.info* +%{_infodir}/standards.info* +%{_infodir}/gprof.info* + +%dir %{_prefix}/share +%dir %{_prefix}/share/locale + diff --git a/contrib/crossrpms/rtems4.11/sh/rtems-4.11-sh-rtems4.11-cpukit.spec b/contrib/crossrpms/rtems4.11/sh/rtems-4.11-sh-rtems4.11-cpukit.spec new file mode 100644 index 0000000000..5113232002 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sh/rtems-4.11-sh-rtems4.11-cpukit.spec @@ -0,0 +1,158 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define cpukit_pkgvers 4.9.99.0-20090206-2 +%define cpukit_version 4.9.99.0 +%define cpukit_rpmvers %{expand:%(echo "4.9.99.0-20090206-2" | tr - . )} + +Name: rtems-4.11-sh-rtems4.11-cpukit +Summary: sh-rtems4.11 cpukit + +Group: Development/Tools +Version: %{cpukit_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://cpukit.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch + +%define debug_package %{nil} + +BuildRequires: rtems-4.11-sh-rtems4.11-gcc + +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} + +%description +RTEMS cpukit for sh-rtems4.11. +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 + + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + + cd build + ../rtems-%{cpukit_version}/configure \ + --prefix=%{_prefix} \ + --target=sh-rtems4.11 \ + --enable-multilib \ + --disable-rtemsbsp + + make all RTEMS_BSP= + cd .. + +%install + rm -rf $RPM_BUILD_ROOT + export PATH="%{_bindir}:${PATH}" + cd build + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + rm -rf $RPM_BUILD_ROOT%{_prefix}/share/man + rm -rf $RPM_BUILD_ROOT%{_prefix}/bin +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{version}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/sh-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/sh-rtems4.11/' | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-provides +%define __find_provides %{_builddir}/%{name}-%{version}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{version}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/sh-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/sh-rtems4.11/' | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-requires +%define __find_requires %{_builddir}/%{name}-%{version}/find-requires + +%clean + rm -rf $RPM_BUILD_ROOT + +%description -n rtems-4.11-sh-rtems4.11-cpukit +RTEMS cpukit for target sh-rtems4.11. + +%files -n rtems-4.11-sh-rtems4.11-cpukit +%defattr(-,root,root) +%dir %{_prefix} +%{_prefix}/sh-rtems4.11 +# Violates the FHS +%exclude %{_prefix}/make diff --git a/contrib/crossrpms/rtems4.11/sh/rtems-4.11-sh-rtems4.11-gcc.spec b/contrib/crossrpms/rtems4.11/sh/rtems-4.11-sh-rtems4.11-gcc.spec new file mode 100644 index 0000000000..b0151f45f4 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sh/rtems-4.11-sh-rtems4.11-gcc.spec @@ -0,0 +1,716 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define gcc_pkgvers 4.4.3 +%define gcc_version 4.4.3 +%define gcc_rpmvers %{expand:%(echo "4.4.3" | tr - _ )} + +%define newlib_pkgvers 1.18.0 +%define newlib_version 1.18.0 + +Name: rtems-4.11-sh-rtems4.11-gcc +Summary: sh-rtems4.11 gcc + +Group: Development/Tools +Version: %{gcc_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://gcc.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%define _use_internal_dependency_generator 0 + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{gcc_version}" >= "4.3.0" +%define _gmp_minvers 4.1 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif + +%if %{defined _gmp_minvers} +BuildRequires: gmp-devel >= %{_gmp_minvers} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%endif +%endif + +%if "%{gcc_version}" >= "4.3.3" +%define _cloog_minvers 0.15 +%endif + +%if %{defined _cloog_minvers} +%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%endif + +%if "%{gcc_version}" >= "4.4.0" +%define _mpfr_minvers 2.3.2 +%define mpfr_version 2.4.1 +%else +%if "%{gcc_version}" >= "4.3.0" +%define _mpfr_minvers 2.3.1 +%define mpfr_version 2.3.2 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif +%endif + +%if %{defined _mpfr_minvers} +# FIXME: This is an ugly cludge +%{?fc11:%global mpfr_provided 2.4.1} +%{?fc12:%global mpfr_provided 2.4.1} +%{?fc13:%global mpfr_provided 2.4.1} +%{?suse11_0:%global mpfr_provided 2.3.1} +%{?suse11_1:%global mpfr_provided 2.3.2} +%{?suse11_2:%global mpfr_provided 2.4.1} +%{?cygwin:%global mpfr_provided 2.4.1} +%{?mingw32:%global mpfr_provided %{nil}} + +%if %{defined mpfr_provided} +%if "%{mpfr_provided}" < "%{_mpfr_minvers}" +%define _build_mpfr 1 +%else +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +%else +BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%endif +%endif +%else +%define _build_mpfr 1 +%endif + +%endif + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-sh-rtems4.11-gcc = %{gcc_rpmvers} +%endif + +%if "%{gcc_version}" >= "4.2.0" +BuildRequires: flex bison +%endif + + +BuildRequires: texinfo >= 4.2 +BuildRequires: rtems-4.11-sh-rtems4.11-binutils + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-sh-rtems4.11-binutils +Requires: rtems-4.11-sh-rtems4.11-gcc-libgcc = %{gcc_rpmvers}-%{release} +Requires: rtems-4.11-sh-rtems4.11-newlib = %{newlib_version}-1%{?dist} + + +%define _gcclibdir %{_prefix}/lib + +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} + +%if "%{gcc_version}" >= "4.3.0" +Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 +%endif + +%description +Cross gcc for sh-rtems4.11. + +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 +%{?PATCH0:%patch0 -p0} + +%setup -q -T -D -n %{name}-%{version} -a1 +%{?PATCH1:%patch1 -p0} + + + + + +%setup -q -T -D -n %{name}-%{version} -a50 +cd newlib-%{newlib_version} +%{?PATCH50:%patch50 -p1} +cd .. + # Copy the C library into gcc's source tree + ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_pkgvers} + +%if 0%{?_build_mpfr} +%setup -q -T -D -n %{name}-%{version} -a60 +%{?PATCH60:%patch60 -p1} + # Build mpfr one-tree style + ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr +%endif + +echo "RTEMS gcc-%{gcc_version}-1%{?dist}/newlib-%{newlib_version}-1%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE + + + # Fix timestamps + cd gcc-%{gcc_pkgvers} + contrib/gcc_update --touch + cd .. +%build + mkdir -p build + + cd build + + languages="c" + languages="$languages,c++" + export PATH="%{_bindir}:${PATH}" +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ + CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \ +%else +# gcc is not ready to be compiled with -std=gnu99 + CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \ +%endif + ../gcc-%{gcc_pkgvers}/configure \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --exec_prefix=%{_exec_prefix} \ + --includedir=%{_includedir} \ + --libdir=%{_gcclibdir} \ + --libexecdir=%{_libexecdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} \ + --datadir=%{_datadir} \ + --build=%_build --host=%_host \ + --target=sh-rtems4.11 \ + --disable-libstdcxx-pch \ + --with-gnu-as --with-gnu-ld --verbose \ + --with-newlib \ + --with-system-zlib \ + --disable-nls --without-included-gettext \ + --disable-win32-registry \ + --enable-version-specific-runtime-libs \ + --enable-threads \ + --enable-newlib-io-c99-formats \ + --enable-languages="$languages" $optargs + +%if "%_host" != "%_build" + # Bug in gcc-3.2.1: + # Somehow, gcc doesn't get syslimits.h right for Cdn-Xs + mkdir -p gcc/include + cp ../gcc-%{gcc_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h +%endif + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + cd build/sh-rtems4.11/newlib + make DESTDIR=$RPM_BUILD_ROOT install-info + cd ../../.. + +%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/sh-rtems4.11/%{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}/sh-rtems4.11-c++filt%{_exeext} + + + # We don't ship info/dir + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + + # Bug in gcc-3.4.0pre + rm -f $RPM_BUILD_ROOT%{_bindir}/sh-rtems4.11-sh-rtems4.11-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/sh-rtems4.11/%{gcc_version}/install-tools + rm -rf ${RPM_BUILD_ROOT}%{_libexecdir}/gcc/sh-rtems4.11/%{gcc_version}/install-tools + + # Bug in gcc > 4.1.0: Installs an unused, empty directory + if test -d ${RPM_BUILD_ROOT}%{_prefix}/sh-rtems4.11/include/bits; then + rmdir ${RPM_BUILD_ROOT}%{_prefix}/sh-rtems4.11/include/bits + fi + + # Collect multilib subdirectories + multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` + + echo "%defattr(-,root,root,-)" > build/files.newlib + TGTDIR="%{_exec_prefix}/sh-rtems4.11/lib" + for i in $multilibs; do + case $i in + \.) echo "%dir ${TGTDIR}" >> build/files.newlib + ;; + *) echo "%dir ${TGTDIR}/$i" >> build/files.newlib + ;; + esac + done + + rm -f dirs ; + echo "%defattr(-,root,root,-)" >> dirs + TGTDIR="%{_gcclibdir}/gcc/sh-rtems4.11/%{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++ + + TGTDIR="%{_gcclibdir}/gcc/sh-rtems4.11/%{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 ;; + *include/objc*) ;; + *include/g++*);; + *include/c++*);; + *include-fixed/*);; + *finclude/*);; + *adainclude*);; + *adalib*);; + *gnat1);; + *jc1) ;; + *jvgenmain) ;; + */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + */libstdc++.*) echo "$i" >> build/files.g++ ;; + */libsupc++.*) echo "$i" >> build/files.g++ ;; + *) echo "$i" >> build/files.gcc ;; + esac + done + + TGTDIR="%{_exec_prefix}/sh-rtems4.11/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 +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/sh-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/sh-rtems4.11/'} | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/sh-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/sh-rtems4.11/'} | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires + +%ifnarch noarch +# Extract %%__debug_install_post into debug_install_post~ +cat << \EOF > debug_install_post~ +%__debug_install_post +EOF + +# Generate customized debug_install_post script +cat debug_install_post~ | while read a x y; do +case $a in +# Prevent find-debuginfo.sh* from trying to handle foreign binaries +*/find-debuginfo.sh) + b=$(basename $a) + sed -e 's,find "$RPM_BUILD_ROOT" !,find "$RPM_BUILD_ROOT"%_bindir "$RPM_BUILD_ROOT"%_libexecdir !,' $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ +< debug_install_post~ > debug_install_post +%define __debug_install_post . ./debug_install_post + +%endif + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# rtems-4.11-sh-rtems4.11-gcc +# ============================================================== +# %package -n rtems-4.11-sh-rtems4.11-gcc +# Summary: GNU cc compiler for sh-rtems4.11 +# Group: Development/Tools +# Version: %{gcc_rpmvers} +# Requires: rtems-4.11-sh-rtems4.11-binutils +# Requires: rtems-4.11-sh-rtems4.11-newlib = %{newlib_version}-1%{?dist} +# License: GPL + +# %if %build_infos +# Requires: rtems-4.11-gcc-common +# %endif + +%description -n rtems-4.11-sh-rtems4.11-gcc +GNU cc compiler for sh-rtems4.11. + +# ============================================================== +# rtems-4.11-sh-rtems4.11-gcc-libgcc +# ============================================================== +%package -n rtems-4.11-sh-rtems4.11-gcc-libgcc +Summary: libgcc for sh-rtems4.11-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +Requires: rtems-4.11-sh-rtems4.11-newlib = %{newlib_version}-1%{?dist} +License: GPL + +%description -n rtems-4.11-sh-rtems4.11-gcc-libgcc +libgcc sh-rtems4.11-gcc. + + +%files -n rtems-4.11-sh-rtems4.11-gcc +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/sh-rtems4.11-gcc.1* +%{_mandir}/man1/sh-rtems4.11-cpp.1* +%{_mandir}/man1/sh-rtems4.11-gcov.1* + +%dir %{_bindir} +%{_bindir}/sh-rtems4.11-cpp%{_exeext} +%{_bindir}/sh-rtems4.11-gcc%{_exeext} +%{_bindir}/sh-rtems4.11-gcc-%{gcc_version}%{_exeext} +%{_bindir}/sh-rtems4.11-gcov%{_exeext} +%{_bindir}/sh-rtems4.11-gccbug + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/sh-rtems4.11 +%dir %{_libexecdir}/gcc/sh-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/sh-rtems4.11/%{gcc_version}/cc1%{_exeext} +%{_libexecdir}/gcc/sh-rtems4.11/%{gcc_version}/collect2%{_exeext} + + +%files -n rtems-4.11-sh-rtems4.11-gcc-libgcc -f build/files.gcc +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/sh-rtems4.11 +%dir %{_gcclibdir}/gcc/sh-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/sh-rtems4.11/%{gcc_version}/include + +%if "%{gcc_version}" > "4.0.3" +%if "sh-rtems4.11" != "bfin-rtems4.10" +%if "sh-rtems4.11" != "avr-rtems4.10" +%dir %{_gcclibdir}/gcc/sh-rtems4.11/%{gcc_version}/include/ssp +%endif +%endif +%endif + +%if "%{gcc_version}" >= "4.3.0" +%{_gcclibdir}/gcc/sh-rtems4.11/%{gcc_version}/include-fixed +%endif + +# ============================================================== +# rtems-4.11-gcc-common +# ============================================================== +%package -n rtems-4.11-gcc-common +Summary: Base package for rtems gcc and newlib C Library +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-gcc-common +GCC files that are shared by all targets. + +%files -n rtems-4.11-gcc-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/cpp.info* +%{_infodir}/cppinternals.info* +%{_infodir}/gcc.info* +%{_infodir}/gccint.info* +%{_infodir}/gccinstall.info* + +%dir %{_mandir} +%dir %{_mandir}/man7 +%{_mandir}/man7/fsf-funding.7* +%{_mandir}/man7/gfdl.7* +%{_mandir}/man7/gpl.7* + +%post -n rtems-4.11-gcc-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : + +%preun -n rtems-4.11-gcc-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : +fi + +# ============================================================== +# rtems-4.11-sh-rtems4.11-gcc-c++ +# ============================================================== +%package -n rtems-4.11-sh-rtems4.11-gcc-c++ +Summary: GCC c++ compiler for sh-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +License: GPL +Requires: rtems-4.11-sh-rtems4.11-gcc-libstdc++ = %{gcc_rpmvers}-%{release} + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-sh-rtems4.11-gcc-c++ = %{gcc_rpmvers} +%endif + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-sh-rtems4.11-gcc = %{gcc_rpmvers}-%{release} + +%description -n rtems-4.11-sh-rtems4.11-gcc-c++ +GCC c++ compiler for sh-rtems4.11. + + +%package -n rtems-4.11-sh-rtems4.11-gcc-libstdc++ +Summary: libstdc++ for sh-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +%description -n rtems-4.11-sh-rtems4.11-gcc-libstdc++ +%{summary} + + +%files -n rtems-4.11-sh-rtems4.11-gcc-c++ +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/sh-rtems4.11-g++.1* + +%dir %{_bindir} +%{_bindir}/sh-rtems4.11-c++%{_exeext} +%{_bindir}/sh-rtems4.11-g++%{_exeext} + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/sh-rtems4.11 +%dir %{_libexecdir}/gcc/sh-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/sh-rtems4.11/%{gcc_version}/cc1plus%{_exeext} + + +%files -n rtems-4.11-sh-rtems4.11-gcc-libstdc++ -f build/files.g++ +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/sh-rtems4.11 +%dir %{_gcclibdir}/gcc/sh-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/sh-rtems4.11/%{gcc_version}/include +%{_gcclibdir}/gcc/sh-rtems4.11/%{gcc_version}/include/c++ + + + +# ============================================================== +# rtems-4.11-sh-rtems4.11-newlib +# ============================================================== +%package -n rtems-4.11-sh-rtems4.11-newlib +Summary: C Library (newlib) for sh-rtems4.11 +Group: Development/Tools +License: Distributable +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires: rtems-4.11-newlib-common + +%description -n rtems-4.11-sh-rtems4.11-newlib +Newlib C Library for sh-rtems4.11. + +%files -n rtems-4.11-sh-rtems4.11-newlib -f build/files.newlib +%defattr(-,root,root) +%dir %{_exec_prefix} +%dir %{_exec_prefix}/sh-rtems4.11 +%{_exec_prefix}/sh-rtems4.11/include + +# ============================================================== +# rtems-4.11-newlib-common +# ============================================================== +%package -n rtems-4.11-newlib-common +Summary: Base package for RTEMS newlib C Library +Group: Development/Tools +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: Distributable + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-newlib-common +newlib files that are shared by all targets. + +%files -n rtems-4.11-newlib-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/libc.info* +%{_infodir}/libm.info* + +%post -n rtems-4.11-newlib-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : + +%preun -n rtems-4.11-newlib-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : +fi + diff --git a/contrib/crossrpms/rtems4.11/sh/rtems-4.11-sh-rtems4.11-gdb.spec b/contrib/crossrpms/rtems4.11/sh/rtems-4.11-sh-rtems4.11-gdb.spec new file mode 100644 index 0000000000..5c9db208e2 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sh/rtems-4.11-sh-rtems4.11-gdb.spec @@ -0,0 +1,319 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define gdb_version 7.0.90 +%define gdb_rpmvers %{expand:%(echo 7.0.90 | tr - _)} + +Name: rtems-4.11-sh-rtems4.11-gdb +Summary: Gdb for target sh-rtems4.11 +Group: Development/Tools +Version: %{gdb_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/gdb +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%define build_sim --enable-sim +%if "%{_build}" != "%{_host}" +# psim doesn't support Cdn-X +%if "sh-rtems4.11" == "powerpc-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%ifos mingw mingw32 +# Mingw lacks functions required by the simulator +%if "sh-rtems4.11" == "sparc-rtems4.10" +%define build_sim --disable-sim +%endif +%if "sh-rtems4.11" == "h8300-rtems4.10" +%define build_sim --disable-sim +%endif +%if "%{gdb_version}" >= "6.8.50" +%if "sh-rtems4.11" == "m32c-rtems4.10" +%define build_sim --disable-sim +%endif +%endif +%if "sh-rtems4.11" == "lm32-rtems4.10" +%define build_sim --disable-sim +%endif +%if "sh-rtems4.11" == "mipstx39-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%if "%{gdb_version}" >= "6.6" +# suse +%if "%{?suse}" >= "10.3" +BuildRequires: libexpat-devel +%else +# Fedora/CentOS/Cygwin/MinGW +BuildRequires: %{_host_rpmprefix}expat-devel +%endif +%endif + +%if "%{gdb_version}" < "6.7" +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}termcap-devel +%endif +%bcond_with system_readline +%else +%bcond_without system_readline +%endif +%{?with_system_readline:BuildRequires: %{_host_rpmprefix}readline-devel} +BuildRequires: %{_host_rpmprefix}ncurses-devel + +%if "%{gdb_version}" >= "6.8.50" +%if "%{_build}" != "%{_host}" +# Can't build python Cdn-X +%bcond_with python +%else +%bcond_without python +%endif +%endif +%{?with_python:BuildRequires: %{_host_rpmprefix}python-devel} + +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 + + +Requires: rtems-4.11-gdb-common + +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif + +%description +GDB for target sh-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd gdb-%{gdb_version} +%{?PATCH0:%patch0 -p1} +cd .. + +# Force using a system-provided libreadline +%{?with_system_readline:rm -f gdb-%{gdb_version}/readline/configure} +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../gdb-%{gdb_version}/configure \ + --build=%_build --host=%_host \ + --target=sh-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + %{build_sim} \ + %{?with_system_readline:--with-system-readline} \ +%if "%{gdb_version}" >= "6.6" + --with-expat \ +%endif +%if "%{gdb_version}" >= "6.8.50" +%if %{with python} + --with-python \ +%else + --without-python \ +%endif +%endif + --prefix=%{_prefix} --bindir=%{_bindir} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + +# These come from other packages + rm -rf $RPM_BUILD_ROOT%{_infodir}/bfd* + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure* + rm -rf $RPM_BUILD_ROOT%{_infodir}/standards* + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# host library, installed to a bogus directory + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libsh-rtems4.11-sim.a + +%if "%{gdb_version}" >= "7.0" +# Bug in gdb-7.0, bogusly installs linux-only files + somethinguseful=0 + for f in ${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls/*.xml; do + case $f in + *linux.xml) rm -f $f;; + *.xml) somethinguseful=1;; + esac + done + if test $somethinguseful -eq 0; then + rm -rf "${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls" + fi +%endif + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# sh-rtems4.11-gdb +# ============================================================== +# %package -n rtems-4.11-sh-rtems4.11-gdb +# Summary: rtems gdb for sh-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-gdb-common +# %endif + +%description -n rtems-4.11-sh-rtems4.11-gdb +GNU gdb targetting sh-rtems4.11. + +%files -n rtems-4.11-sh-rtems4.11-gdb +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/sh-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/sh-rtems4.11-* + +# ============================================================== +# rtems-4.11-gdb-common +# ============================================================== +%package -n rtems-4.11-gdb-common +Summary: Base package for RTEMS gdbs +Group: Development/Tools +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info +%{?_with_noarch_subpackages:BuildArch: noarch} + +%description -n rtems-4.11-gdb-common + +GDB files shared by all targets. + +%post -n rtems-4.11-gdb-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : + +%preun -n rtems-4.11-gdb-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : +fi + +%files -n rtems-4.11-gdb-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/gdb.info* + +%{_infodir}/gdbint.info* +%{_infodir}/stabs.info* +%{_infodir}/annotate.info* + diff --git a/contrib/crossrpms/rtems4.11/sparc/.cvsignore b/contrib/crossrpms/rtems4.11/sparc/.cvsignore new file mode 100644 index 0000000000..11289e9f57 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sparc/.cvsignore @@ -0,0 +1,3 @@ +Makefile +Makefile.in +*.spec.in diff --git a/contrib/crossrpms/rtems4.11/sparc/Makefile.am b/contrib/crossrpms/rtems4.11/sparc/Makefile.am new file mode 100644 index 0000000000..5500596ad2 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sparc/Makefile.am @@ -0,0 +1,32 @@ +# $Id$ + +TARGET = sparc-rtems4.11 + +include $(top_srcdir)/mkspec.am + +BINUTILS_VERS = 2.20.1 +BINUTILS_PKGVERS = $(BINUTILS_VERS) +BINUTILS_RPMREL = 1 +include ../binutils.am +BINUTILS_OPTS += + +GCC_VERS = 4.4.3 +GCC_PKGVERS = $(GCC_VERS) +GCC_RPMREL = 1 +NEWLIB_VERS = 1.18.0 +NEWLIB_PKGVERS = $(NEWLIB_VERS) +NEWLIB_RPMREL = `expr $(GCC_RPMREL)` +include ../gcc.am +GCC_OPTS += --languages=cxx + +GDB_VERS = 7.0.90 +GDB_PKGVERS = $(GDB_VERS) +GDB_RPMREL = 1 +include ../gdb.am +GDB_OPTS += + +CPUKIT_VERS = 4.9.99.0 +CPUKIT_PKGVERS = $(CPUKIT_VERS)-20090206-2 +CPUKIT_RPMREL = 1 +include ../cpukit.am +CPUKIT_OPTS += diff --git a/contrib/crossrpms/rtems4.11/sparc/binutils-sources.add b/contrib/crossrpms/rtems4.11/sparc/binutils-sources.add new file mode 100644 index 0000000000..5c4d63e3ef --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sparc/binutils-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff diff --git a/contrib/crossrpms/rtems4.11/sparc/cpukit-sources.add b/contrib/crossrpms/rtems4.11/sparc/cpukit-sources.add new file mode 100644 index 0000000000..0390faf93d --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sparc/cpukit-sources.add @@ -0,0 +1,2 @@ +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} diff --git a/contrib/crossrpms/rtems4.11/sparc/gcc-sources.add b/contrib/crossrpms/rtems4.11/sparc/gcc-sources.add new file mode 100644 index 0000000000..c130209921 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sparc/gcc-sources.add @@ -0,0 +1,47 @@ +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if %build_cxx +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%endif +%if %build_fortran +Source2: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-fortran-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 2} + +%endif +%if %build_gcj +Source3: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-java-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 3} + +%endif +%if %build_gnat +Source4: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-ada-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 4} + +%endif +%if %build_objc +Source5: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-objc-%{gcc_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 5} + +%endif +%if %build_newlib +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} +%endif diff --git a/contrib/crossrpms/rtems4.11/sparc/gdb-sources.add b/contrib/crossrpms/rtems4.11/sparc/gdb-sources.add new file mode 100644 index 0000000000..e5fb99aa66 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sparc/gdb-sources.add @@ -0,0 +1,9 @@ +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif diff --git a/contrib/crossrpms/rtems4.11/sparc/rtems-4.11-sparc-rtems4.11-binutils.spec b/contrib/crossrpms/rtems4.11/sparc/rtems-4.11-sparc-rtems4.11-binutils.spec new file mode 100644 index 0000000000..4f8351f6b2 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sparc/rtems-4.11-sparc-rtems4.11-binutils.spec @@ -0,0 +1,268 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define binutils_pkgvers 2.20.1 +%define binutils_version 2.20.1 +%define binutils_rpmvers %{expand:%(echo "2.20.1" | tr - _ )} + +Name: rtems-4.11-sparc-rtems4.11-binutils +Summary: Binutils for target sparc-rtems4.11 +Group: Development/Tools +Version: %{binutils_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/binutils +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{binutils_version}" >= "2.18" +# Bug in bfd: Doesn't build without texinfo installed +BuildRequires: texinfo >= 4.2 +%else +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 +%endif +BuildRequires: flex +BuildRequires: bison + +Requires: rtems-4.11-binutils-common + +Source0: ftp://ftp.gnu.org/gnu/binutils/binutils-%{binutils_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/binutils-2.20.1-rtems4.10-20100310.diff + +%description +Cross binutils for target sparc-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd binutils-%{binutils_pkgvers} +%{?PATCH0:%patch0 -p1} +cd .. + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../binutils-%{binutils_pkgvers}/configure \ + --build=%_build --host=%_host \ + --target=sparc-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + --prefix=%{_prefix} --bindir=%{_bindir} \ + --exec-prefix=%{_exec_prefix} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + 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} \ + exec_prefix=$RPM_BUILD_ROOT%{_exec_prefix} \ + install-info + +# Dropped in FSF-binutils-2.9.5, but Cygwin still ships it. + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure.info* + + 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 + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# manpages without corresponding tools + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/sparc-rtems4.11-dlltool%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/sparc-rtems4.11-dlltool* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/sparc-rtems4.11-nlmconv%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/sparc-rtems4.11-nlmconv* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/sparc-rtems4.11-windres%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/sparc-rtems4.11-windres* + fi + if test ! -f ${RPM_BUILD_ROOT}%{_bindir}/sparc-rtems4.11-windmc%{_exeext}; then + rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/sparc-rtems4.11-windmc* + fi + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# sparc-rtems4.11-binutils +# ============================================================== +# %package -n rtems-4.11-sparc-rtems4.11-binutils +# Summary: rtems binutils for sparc-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-binutils-common +# %endif + +%description -n rtems-4.11-sparc-rtems4.11-binutils +GNU binutils targetting sparc-rtems4.11. + +%files -n rtems-4.11-sparc-rtems4.11-binutils +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_datarootdir} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/sparc-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/sparc-rtems4.11-* + +%dir %{_exec_prefix}/sparc-rtems4.11 +%dir %{_exec_prefix}/sparc-rtems4.11/bin +%{_exec_prefix}/sparc-rtems4.11/bin/* + +%dir %{_exec_prefix}/sparc-rtems4.11/lib +%{_exec_prefix}/sparc-rtems4.11/lib/ldscripts +# ============================================================== +# rtems-4.11-binutils-common +# ============================================================== +%package -n rtems-4.11-binutils-common +Summary: Base package for RTEMS binutils +Group: Development/Tools +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-binutils-common + +RTEMS is an open source operating system for embedded systems. + +This is the base for binutils regardless of target CPU. + +%post -n rtems-4.11-binutils-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : + +%preun -n rtems-4.11-binutils-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/as.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/bfd.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/binutils.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/ld.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/standards.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gprof.info.gz || : +fi + +%files -n rtems-4.11-binutils-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/as.info* +%{_infodir}/bfd.info* +%{_infodir}/binutils.info* +%{_infodir}/ld.info* +%{_infodir}/standards.info* +%{_infodir}/gprof.info* + +%dir %{_prefix}/share +%dir %{_prefix}/share/locale + diff --git a/contrib/crossrpms/rtems4.11/sparc/rtems-4.11-sparc-rtems4.11-cpukit.spec b/contrib/crossrpms/rtems4.11/sparc/rtems-4.11-sparc-rtems4.11-cpukit.spec new file mode 100644 index 0000000000..27aff55abf --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sparc/rtems-4.11-sparc-rtems4.11-cpukit.spec @@ -0,0 +1,158 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define cpukit_pkgvers 4.9.99.0-20090206-2 +%define cpukit_version 4.9.99.0 +%define cpukit_rpmvers %{expand:%(echo "4.9.99.0-20090206-2" | tr - . )} + +Name: rtems-4.11-sparc-rtems4.11-cpukit +Summary: sparc-rtems4.11 cpukit + +Group: Development/Tools +Version: %{cpukit_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://cpukit.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildArch: noarch + +%define debug_package %{nil} + +BuildRequires: rtems-4.11-sparc-rtems4.11-gcc + +Source0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/rtems-%{cpukit_pkgvers}.tar.bz2 +%{?_without_sources:NoSource: 0} + +%description +RTEMS cpukit for sparc-rtems4.11. +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 + + +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + + cd build + ../rtems-%{cpukit_version}/configure \ + --prefix=%{_prefix} \ + --target=sparc-rtems4.11 \ + --enable-multilib \ + --disable-rtemsbsp + + make all RTEMS_BSP= + cd .. + +%install + rm -rf $RPM_BUILD_ROOT + export PATH="%{_bindir}:${PATH}" + cd build + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + rm -rf $RPM_BUILD_ROOT%{_prefix}/share/man + rm -rf $RPM_BUILD_ROOT%{_prefix}/bin +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{version}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/sparc-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/sparc-rtems4.11/' | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-provides +%define __find_provides %{_builddir}/%{name}-%{version}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{version}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/sparc-rtems4.11/(lib|include|sys-root)' \ + | grep -v '^${RPM_BUILD_ROOT}%{cpukitlib}/sparc-rtems4.11/' | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{version}/find-requires +%define __find_requires %{_builddir}/%{name}-%{version}/find-requires + +%clean + rm -rf $RPM_BUILD_ROOT + +%description -n rtems-4.11-sparc-rtems4.11-cpukit +RTEMS cpukit for target sparc-rtems4.11. + +%files -n rtems-4.11-sparc-rtems4.11-cpukit +%defattr(-,root,root) +%dir %{_prefix} +%{_prefix}/sparc-rtems4.11 +# Violates the FHS +%exclude %{_prefix}/make diff --git a/contrib/crossrpms/rtems4.11/sparc/rtems-4.11-sparc-rtems4.11-gcc.spec b/contrib/crossrpms/rtems4.11/sparc/rtems-4.11-sparc-rtems4.11-gcc.spec new file mode 100644 index 0000000000..71151dd745 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sparc/rtems-4.11-sparc-rtems4.11-gcc.spec @@ -0,0 +1,716 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + + +%define gcc_pkgvers 4.4.3 +%define gcc_version 4.4.3 +%define gcc_rpmvers %{expand:%(echo "4.4.3" | tr - _ )} + +%define newlib_pkgvers 1.18.0 +%define newlib_version 1.18.0 + +Name: rtems-4.11-sparc-rtems4.11-gcc +Summary: sparc-rtems4.11 gcc + +Group: Development/Tools +Version: %{gcc_rpmvers} +Release: 1%{?dist} +License: GPL +URL: http://gcc.gnu.org +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%define _use_internal_dependency_generator 0 + +BuildRequires: %{_host_rpmprefix}gcc + +%if "%{gcc_version}" >= "4.3.0" +%define _gmp_minvers 4.1 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif + +%if %{defined _gmp_minvers} +BuildRequires: gmp-devel >= %{_gmp_minvers} +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}gmp-devel >= %{_gmp_minvers} +%endif +%endif + +%if "%{gcc_version}" >= "4.3.3" +%define _cloog_minvers 0.15 +%endif + +%if %{defined _cloog_minvers} +%{?fc11:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc12:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?fc13:BuildRequires: cloog-ppl-devel >= %_cloog_minvers} +%{?suse11_2:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%{?suse11_1:BuildRequires: cloog-devel >= %_cloog_minvers, ppl-devel} +%endif + +%if "%{gcc_version}" >= "4.4.0" +%define _mpfr_minvers 2.3.2 +%define mpfr_version 2.4.1 +%else +%if "%{gcc_version}" >= "4.3.0" +%define _mpfr_minvers 2.3.1 +%define mpfr_version 2.3.2 +%else +%if "%{gcc_version}" >= "4.2.0" +%endif +%endif +%endif + +%if %{defined _mpfr_minvers} +# FIXME: This is an ugly cludge +%{?fc11:%global mpfr_provided 2.4.1} +%{?fc12:%global mpfr_provided 2.4.1} +%{?fc13:%global mpfr_provided 2.4.1} +%{?suse11_0:%global mpfr_provided 2.3.1} +%{?suse11_1:%global mpfr_provided 2.3.2} +%{?suse11_2:%global mpfr_provided 2.4.1} +%{?cygwin:%global mpfr_provided 2.4.1} +%{?mingw32:%global mpfr_provided %{nil}} + +%if %{defined mpfr_provided} +%if "%{mpfr_provided}" < "%{_mpfr_minvers}" +%define _build_mpfr 1 +%else +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}mpfr-devel >= %{_mpfr_minvers} +%else +BuildRequires: mpfr-devel >= %{_mpfr_minvers} +%endif +%endif +%else +%define _build_mpfr 1 +%endif + +%endif + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-sparc-rtems4.11-gcc = %{gcc_rpmvers} +%endif + +%if "%{gcc_version}" >= "4.2.0" +BuildRequires: flex bison +%endif + + +BuildRequires: texinfo >= 4.2 +BuildRequires: rtems-4.11-sparc-rtems4.11-binutils + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-sparc-rtems4.11-binutils +Requires: rtems-4.11-sparc-rtems4.11-gcc-libgcc = %{gcc_rpmvers}-%{release} +Requires: rtems-4.11-sparc-rtems4.11-newlib = %{newlib_version}-1%{?dist} + + +%define _gcclibdir %{_prefix}/lib + +%if "%{gcc_version}" == "4.4.3" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.3-rtems4.10-20100210.diff +%endif +%if "%{gcc_version}" == "4.4.2" +Source0: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-core-%{gcc_pkgvers}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gcc-core-4.4.2-rtems4.10-20091104.diff +%endif +%{?_without_sources:NoSource: 0} + +%if "%{gcc_version}" == "4.4.3" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%if "%{gcc_version}" == "4.4.2" +Source1: ftp://ftp.gnu.org/gnu/gcc/gcc-%{gcc_pkgvers}/gcc-g++-%{gcc_pkgvers}.tar.bz2 +%endif +%{?_without_sources:NoSource: 1} + +%if "%{newlib_version}" == "1.18.0" +Source50: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_pkgvers}.tar.gz +Patch50: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/newlib-1.18.0-rtems4.10-20100310.diff +%endif +%{?_without_sources:NoSource: 50} + +%if "%{gcc_version}" >= "4.3.0" +Source60: http://www.mpfr.org/mpfr-current/mpfr-%{mpfr_version}.tar.bz2 +%endif + +%description +Cross gcc for sparc-rtems4.11. + +%prep +%setup -c -T -n %{name}-%{version} + +%setup -q -T -D -n %{name}-%{version} -a0 +%{?PATCH0:%patch0 -p0} + +%setup -q -T -D -n %{name}-%{version} -a1 +%{?PATCH1:%patch1 -p0} + + + + + +%setup -q -T -D -n %{name}-%{version} -a50 +cd newlib-%{newlib_version} +%{?PATCH50:%patch50 -p1} +cd .. + # Copy the C library into gcc's source tree + ln -s ../newlib-%{newlib_version}/newlib gcc-%{gcc_pkgvers} + +%if 0%{?_build_mpfr} +%setup -q -T -D -n %{name}-%{version} -a60 +%{?PATCH60:%patch60 -p1} + # Build mpfr one-tree style + ln -s ../mpfr-%{mpfr_version} gcc-%{gcc_pkgvers}/mpfr +%endif + +echo "RTEMS gcc-%{gcc_version}-1%{?dist}/newlib-%{newlib_version}-1%{?dist}" > gcc-%{gcc_pkgvers}/gcc/DEV-PHASE + + + # Fix timestamps + cd gcc-%{gcc_pkgvers} + contrib/gcc_update --touch + cd .. +%build + mkdir -p build + + cd build + + languages="c" + languages="$languages,c++" + export PATH="%{_bindir}:${PATH}" +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ + CC="%{_host}-gcc ${RPM_OPT_FLAGS}" \ +%else +# gcc is not ready to be compiled with -std=gnu99 + CC=$(echo "%{__cc} ${RPM_OPT_FLAGS}" | sed -e 's,-std=gnu99 ,,') \ +%endif + ../gcc-%{gcc_pkgvers}/configure \ + --prefix=%{_prefix} \ + --bindir=%{_bindir} \ + --exec_prefix=%{_exec_prefix} \ + --includedir=%{_includedir} \ + --libdir=%{_gcclibdir} \ + --libexecdir=%{_libexecdir} \ + --mandir=%{_mandir} \ + --infodir=%{_infodir} \ + --datadir=%{_datadir} \ + --build=%_build --host=%_host \ + --target=sparc-rtems4.11 \ + --disable-libstdcxx-pch \ + --with-gnu-as --with-gnu-ld --verbose \ + --with-newlib \ + --with-system-zlib \ + --disable-nls --without-included-gettext \ + --disable-win32-registry \ + --enable-version-specific-runtime-libs \ + --enable-threads \ + --enable-newlib-io-c99-formats \ + --enable-languages="$languages" $optargs + +%if "%_host" != "%_build" + # Bug in gcc-3.2.1: + # Somehow, gcc doesn't get syslimits.h right for Cdn-Xs + mkdir -p gcc/include + cp ../gcc-%{gcc_pkgvers}/gcc/gsyslimits.h gcc/include/syslimits.h +%endif + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + + make DESTDIR=$RPM_BUILD_ROOT install + cd .. + + cd build/sparc-rtems4.11/newlib + make DESTDIR=$RPM_BUILD_ROOT install-info + cd ../../.. + +%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/sparc-rtems4.11/%{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}/sparc-rtems4.11-c++filt%{_exeext} + + + # We don't ship info/dir + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + + # Bug in gcc-3.4.0pre + rm -f $RPM_BUILD_ROOT%{_bindir}/sparc-rtems4.11-sparc-rtems4.11-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/sparc-rtems4.11/%{gcc_version}/install-tools + rm -rf ${RPM_BUILD_ROOT}%{_libexecdir}/gcc/sparc-rtems4.11/%{gcc_version}/install-tools + + # Bug in gcc > 4.1.0: Installs an unused, empty directory + if test -d ${RPM_BUILD_ROOT}%{_prefix}/sparc-rtems4.11/include/bits; then + rmdir ${RPM_BUILD_ROOT}%{_prefix}/sparc-rtems4.11/include/bits + fi + + # Collect multilib subdirectories + multilibs=`build/gcc/xgcc -Bbuild/gcc/ --print-multi-lib | sed -e 's,;.*$,,'` + + echo "%defattr(-,root,root,-)" > build/files.newlib + TGTDIR="%{_exec_prefix}/sparc-rtems4.11/lib" + for i in $multilibs; do + case $i in + \.) echo "%dir ${TGTDIR}" >> build/files.newlib + ;; + *) echo "%dir ${TGTDIR}/$i" >> build/files.newlib + ;; + esac + done + + rm -f dirs ; + echo "%defattr(-,root,root,-)" >> dirs + TGTDIR="%{_gcclibdir}/gcc/sparc-rtems4.11/%{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++ + + TGTDIR="%{_gcclibdir}/gcc/sparc-rtems4.11/%{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 ;; + *include/objc*) ;; + *include/g++*);; + *include/c++*);; + *include-fixed/*);; + *finclude/*);; + *adainclude*);; + *adalib*);; + *gnat1);; + *jc1) ;; + *jvgenmain) ;; + */libgfortran*.*) echo "$i" >> build/files.gfortran ;; + */libstdc++.*) echo "$i" >> build/files.g++ ;; + */libsupc++.*) echo "$i" >> build/files.g++ ;; + *) echo "$i" >> build/files.gcc ;; + esac + done + + TGTDIR="%{_exec_prefix}/sparc-rtems4.11/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 +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/sparc-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/sparc-rtems4.11/'} | %__find_provides +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides +%define __find_provides %{_builddir}/%{name}-%{gcc_rpmvers}/find-provides + +cat << EOF > %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +#!/bin/sh +grep -E -v '^${RPM_BUILD_ROOT}%{_exec_prefix}/sparc-rtems4.11/(lib|include|sys-root)' \ + %{?_gcclibdir:| grep -v '^${RPM_BUILD_ROOT}%{_gcclibdir}/gcc/sparc-rtems4.11/'} | %__find_requires +EOF +chmod +x %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires +%define __find_requires %{_builddir}/%{name}-%{gcc_rpmvers}/find-requires + +%ifnarch noarch +# Extract %%__debug_install_post into debug_install_post~ +cat << \EOF > debug_install_post~ +%__debug_install_post +EOF + +# Generate customized debug_install_post script +cat debug_install_post~ | while read a x y; do +case $a in +# Prevent find-debuginfo.sh* from trying to handle foreign binaries +*/find-debuginfo.sh) + b=$(basename $a) + sed -e 's,find "$RPM_BUILD_ROOT" !,find "$RPM_BUILD_ROOT"%_bindir "$RPM_BUILD_ROOT"%_libexecdir !,' $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm/find-debuginfo.sh,./find-debuginfo.sh,' \ +< debug_install_post~ > debug_install_post +%define __debug_install_post . ./debug_install_post + +%endif + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# rtems-4.11-sparc-rtems4.11-gcc +# ============================================================== +# %package -n rtems-4.11-sparc-rtems4.11-gcc +# Summary: GNU cc compiler for sparc-rtems4.11 +# Group: Development/Tools +# Version: %{gcc_rpmvers} +# Requires: rtems-4.11-sparc-rtems4.11-binutils +# Requires: rtems-4.11-sparc-rtems4.11-newlib = %{newlib_version}-1%{?dist} +# License: GPL + +# %if %build_infos +# Requires: rtems-4.11-gcc-common +# %endif + +%description -n rtems-4.11-sparc-rtems4.11-gcc +GNU cc compiler for sparc-rtems4.11. + +# ============================================================== +# rtems-4.11-sparc-rtems4.11-gcc-libgcc +# ============================================================== +%package -n rtems-4.11-sparc-rtems4.11-gcc-libgcc +Summary: libgcc for sparc-rtems4.11-gcc +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +Requires: rtems-4.11-sparc-rtems4.11-newlib = %{newlib_version}-1%{?dist} +License: GPL + +%description -n rtems-4.11-sparc-rtems4.11-gcc-libgcc +libgcc sparc-rtems4.11-gcc. + + +%files -n rtems-4.11-sparc-rtems4.11-gcc +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/sparc-rtems4.11-gcc.1* +%{_mandir}/man1/sparc-rtems4.11-cpp.1* +%{_mandir}/man1/sparc-rtems4.11-gcov.1* + +%dir %{_bindir} +%{_bindir}/sparc-rtems4.11-cpp%{_exeext} +%{_bindir}/sparc-rtems4.11-gcc%{_exeext} +%{_bindir}/sparc-rtems4.11-gcc-%{gcc_version}%{_exeext} +%{_bindir}/sparc-rtems4.11-gcov%{_exeext} +%{_bindir}/sparc-rtems4.11-gccbug + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/sparc-rtems4.11 +%dir %{_libexecdir}/gcc/sparc-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/sparc-rtems4.11/%{gcc_version}/cc1%{_exeext} +%{_libexecdir}/gcc/sparc-rtems4.11/%{gcc_version}/collect2%{_exeext} + + +%files -n rtems-4.11-sparc-rtems4.11-gcc-libgcc -f build/files.gcc +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/sparc-rtems4.11 +%dir %{_gcclibdir}/gcc/sparc-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/sparc-rtems4.11/%{gcc_version}/include + +%if "%{gcc_version}" > "4.0.3" +%if "sparc-rtems4.11" != "bfin-rtems4.10" +%if "sparc-rtems4.11" != "avr-rtems4.10" +%dir %{_gcclibdir}/gcc/sparc-rtems4.11/%{gcc_version}/include/ssp +%endif +%endif +%endif + +%if "%{gcc_version}" >= "4.3.0" +%{_gcclibdir}/gcc/sparc-rtems4.11/%{gcc_version}/include-fixed +%endif + +# ============================================================== +# rtems-4.11-gcc-common +# ============================================================== +%package -n rtems-4.11-gcc-common +Summary: Base package for rtems gcc and newlib C Library +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-gcc-common +GCC files that are shared by all targets. + +%files -n rtems-4.11-gcc-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/cpp.info* +%{_infodir}/cppinternals.info* +%{_infodir}/gcc.info* +%{_infodir}/gccint.info* +%{_infodir}/gccinstall.info* + +%dir %{_mandir} +%dir %{_mandir}/man7 +%{_mandir}/man7/fsf-funding.7* +%{_mandir}/man7/gfdl.7* +%{_mandir}/man7/gpl.7* + +%post -n rtems-4.11-gcc-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : + +%preun -n rtems-4.11-gcc-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/cppinternals.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gccinstall.info.gz || : +fi + +# ============================================================== +# rtems-4.11-sparc-rtems4.11-gcc-c++ +# ============================================================== +%package -n rtems-4.11-sparc-rtems4.11-gcc-c++ +Summary: GCC c++ compiler for sparc-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +License: GPL +Requires: rtems-4.11-sparc-rtems4.11-gcc-libstdc++ = %{gcc_rpmvers}-%{release} + +%if "%{_build}" != "%{_host}" +BuildRequires: rtems-4.11-sparc-rtems4.11-gcc-c++ = %{gcc_rpmvers} +%endif + +Requires: rtems-4.11-gcc-common +Requires: rtems-4.11-sparc-rtems4.11-gcc = %{gcc_rpmvers}-%{release} + +%description -n rtems-4.11-sparc-rtems4.11-gcc-c++ +GCC c++ compiler for sparc-rtems4.11. + + +%package -n rtems-4.11-sparc-rtems4.11-gcc-libstdc++ +Summary: libstdc++ for sparc-rtems4.11 +Group: Development/Tools +Version: %{gcc_rpmvers} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: GPL + +%description -n rtems-4.11-sparc-rtems4.11-gcc-libstdc++ +%{summary} + + +%files -n rtems-4.11-sparc-rtems4.11-gcc-c++ +%defattr(-,root,root) +%dir %{_prefix} + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/sparc-rtems4.11-g++.1* + +%dir %{_bindir} +%{_bindir}/sparc-rtems4.11-c++%{_exeext} +%{_bindir}/sparc-rtems4.11-g++%{_exeext} + +%dir %{_libexecdir} +%dir %{_libexecdir}/gcc +%dir %{_libexecdir}/gcc/sparc-rtems4.11 +%dir %{_libexecdir}/gcc/sparc-rtems4.11/%{gcc_version} +%{_libexecdir}/gcc/sparc-rtems4.11/%{gcc_version}/cc1plus%{_exeext} + + +%files -n rtems-4.11-sparc-rtems4.11-gcc-libstdc++ -f build/files.g++ +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_gcclibdir} +%dir %{_gcclibdir}/gcc +%dir %{_gcclibdir}/gcc/sparc-rtems4.11 +%dir %{_gcclibdir}/gcc/sparc-rtems4.11/%{gcc_version} +%dir %{_gcclibdir}/gcc/sparc-rtems4.11/%{gcc_version}/include +%{_gcclibdir}/gcc/sparc-rtems4.11/%{gcc_version}/include/c++ + + + +# ============================================================== +# rtems-4.11-sparc-rtems4.11-newlib +# ============================================================== +%package -n rtems-4.11-sparc-rtems4.11-newlib +Summary: C Library (newlib) for sparc-rtems4.11 +Group: Development/Tools +License: Distributable +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} + +Requires: rtems-4.11-newlib-common + +%description -n rtems-4.11-sparc-rtems4.11-newlib +Newlib C Library for sparc-rtems4.11. + +%files -n rtems-4.11-sparc-rtems4.11-newlib -f build/files.newlib +%defattr(-,root,root) +%dir %{_exec_prefix} +%dir %{_exec_prefix}/sparc-rtems4.11 +%{_exec_prefix}/sparc-rtems4.11/include + +# ============================================================== +# rtems-4.11-newlib-common +# ============================================================== +%package -n rtems-4.11-newlib-common +Summary: Base package for RTEMS newlib C Library +Group: Development/Tools +Version: %{newlib_version} +Release: 1%{?dist} +%{?_with_noarch_subpackages:BuildArch: noarch} +License: Distributable + +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info + +%description -n rtems-4.11-newlib-common +newlib files that are shared by all targets. + +%files -n rtems-4.11-newlib-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/libc.info* +%{_infodir}/libm.info* + +%post -n rtems-4.11-newlib-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : + +%preun -n rtems-4.11-newlib-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/libm.info.gz || : +fi + diff --git a/contrib/crossrpms/rtems4.11/sparc/rtems-4.11-sparc-rtems4.11-gdb.spec b/contrib/crossrpms/rtems4.11/sparc/rtems-4.11-sparc-rtems4.11-gdb.spec new file mode 100644 index 0000000000..cb456b3970 --- /dev/null +++ b/contrib/crossrpms/rtems4.11/sparc/rtems-4.11-sparc-rtems4.11-gdb.spec @@ -0,0 +1,319 @@ +# +# Please send bugfixes or comments to +# http://www.rtems.org/bugzilla +# + +%define _prefix /opt/rtems-4.11 +%define _exec_prefix %{_prefix} +%define _bindir %{_exec_prefix}/bin +%define _sbindir %{_exec_prefix}/sbin +%define _libexecdir %{_exec_prefix}/libexec +%define _datarootdir %{_prefix}/share +%define _datadir %{_datarootdir} +%define _sysconfdir %{_prefix}/etc +%define _sharedstatedir %{_prefix}/com +%define _localstatedir %{_prefix}/var +%define _includedir %{_prefix}/include +%define _libdir %{_exec_prefix}/%{_lib} +%define _mandir %{_datarootdir}/man +%define _infodir %{_datarootdir}/info +%define _localedir %{_datarootdir}/locale + +%ifos cygwin cygwin32 mingw mingw32 +%define _exeext .exe +%define debug_package %{nil} +%define _libdir %{_exec_prefix}/lib +%else +%define _exeext %{nil} +%endif + +%ifos cygwin cygwin32 +%define optflags -O3 -pipe -march=i486 -funroll-loops +%endif + +%ifos mingw mingw32 +%if %{defined _mingw32_cflags} +%define optflags %{_mingw32_cflags} +%else +%define optflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields +%endif +%endif + +%if "%{_build}" != "%{_host}" +%define _host_rpmprefix %{_host}- +%else +%define _host_rpmprefix %{nil} +%endif + +%define gdb_version 7.0.90 +%define gdb_rpmvers %{expand:%(echo 7.0.90 | tr - _)} + +Name: rtems-4.11-sparc-rtems4.11-gdb +Summary: Gdb for target sparc-rtems4.11 +Group: Development/Tools +Version: %{gdb_rpmvers} +Release: 1%{?dist} +License: GPL/LGPL +URL: http://sources.redhat.com/gdb +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: %{_host_rpmprefix}gcc + +%define build_sim --enable-sim +%if "%{_build}" != "%{_host}" +# psim doesn't support Cdn-X +%if "sparc-rtems4.11" == "powerpc-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%ifos mingw mingw32 +# Mingw lacks functions required by the simulator +%if "sparc-rtems4.11" == "sparc-rtems4.10" +%define build_sim --disable-sim +%endif +%if "sparc-rtems4.11" == "h8300-rtems4.10" +%define build_sim --disable-sim +%endif +%if "%{gdb_version}" >= "6.8.50" +%if "sparc-rtems4.11" == "m32c-rtems4.10" +%define build_sim --disable-sim +%endif +%endif +%if "sparc-rtems4.11" == "lm32-rtems4.10" +%define build_sim --disable-sim +%endif +%if "sparc-rtems4.11" == "mipstx39-rtems4.10" +%define build_sim --disable-sim +%endif +%endif + +%if "%{gdb_version}" >= "6.6" +# suse +%if "%{?suse}" >= "10.3" +BuildRequires: libexpat-devel +%else +# Fedora/CentOS/Cygwin/MinGW +BuildRequires: %{_host_rpmprefix}expat-devel +%endif +%endif + +%if "%{gdb_version}" < "6.7" +%if "%{_build}" != "%{_host}" +BuildRequires: %{_host_rpmprefix}termcap-devel +%endif +%bcond_with system_readline +%else +%bcond_without system_readline +%endif +%{?with_system_readline:BuildRequires: %{_host_rpmprefix}readline-devel} +BuildRequires: %{_host_rpmprefix}ncurses-devel + +%if "%{gdb_version}" >= "6.8.50" +%if "%{_build}" != "%{_host}" +# Can't build python Cdn-X +%bcond_with python +%else +%bcond_without python +%endif +%endif +%{?with_python:BuildRequires: %{_host_rpmprefix}python-devel} + +# Required for building the infos +BuildRequires: /sbin/install-info +BuildRequires: texinfo >= 4.2 + + +Requires: rtems-4.11-gdb-common + +%if "%{gdb_version}" == "7.0.90" +Source0: ftp://sourceware.org/pub/gdb/snapshots/branch/gdb-7.0.90.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-7.0.90-rtems4.10-20100225.diff +%endif + +%if "%{gdb_version}" == "7.0.1" +Source0: ftp://ftp.gnu.org/gnu/gdb/gdb-%{gdb_version}.tar.bz2 +Patch0: ftp://ftp.rtems.org/pub/rtems/SOURCES/4.10/gdb-%{gdb_version}-rtems4.10-20091222.diff +%endif + +%description +GDB for target sparc-rtems4.11 +%prep +%setup -q -c -T -n %{name}-%{version} + +%setup -q -D -T -n %{name}-%{version} -a0 +cd gdb-%{gdb_version} +%{?PATCH0:%patch0 -p1} +cd .. + +# Force using a system-provided libreadline +%{?with_system_readline:rm -f gdb-%{gdb_version}/readline/configure} +%build + export PATH="%{_bindir}:${PATH}" + mkdir -p build + cd build +%if "%{_build}" != "%{_host}" + CFLAGS_FOR_BUILD="-g -O2 -Wall" \ +%endif + CFLAGS="$RPM_OPT_FLAGS" \ + ../gdb-%{gdb_version}/configure \ + --build=%_build --host=%_host \ + --target=sparc-rtems4.11 \ + --verbose --disable-nls \ + --without-included-gettext \ + --disable-win32-registry \ + --disable-werror \ + %{build_sim} \ + %{?with_system_readline:--with-system-readline} \ +%if "%{gdb_version}" >= "6.6" + --with-expat \ +%endif +%if "%{gdb_version}" >= "6.8.50" +%if %{with python} + --with-python \ +%else + --without-python \ +%endif +%endif + --prefix=%{_prefix} --bindir=%{_bindir} \ + --includedir=%{_includedir} --libdir=%{_libdir} \ + --mandir=%{_mandir} --infodir=%{_infodir} + + make %{?_smp_mflags} all + make info + cd .. + +%install + export PATH="%{_bindir}:${PATH}" + rm -rf $RPM_BUILD_ROOT + + cd build + make DESTDIR=$RPM_BUILD_ROOT install + + rm -f $RPM_BUILD_ROOT%{_infodir}/dir + touch $RPM_BUILD_ROOT%{_infodir}/dir + +# These come from other packages + rm -rf $RPM_BUILD_ROOT%{_infodir}/bfd* + rm -rf $RPM_BUILD_ROOT%{_infodir}/configure* + rm -rf $RPM_BUILD_ROOT%{_infodir}/standards* + +# We don't ship host files + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libiberty* + +# host library, installed to a bogus directory + rm -f ${RPM_BUILD_ROOT}%{_libdir}/libsparc-rtems4.11-sim.a + +%if "%{gdb_version}" >= "7.0" +# Bug in gdb-7.0, bogusly installs linux-only files + somethinguseful=0 + for f in ${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls/*.xml; do + case $f in + *linux.xml) rm -f $f;; + *.xml) somethinguseful=1;; + esac + done + if test $somethinguseful -eq 0; then + rm -rf "${RPM_BUILD_ROOT}%{_datadir}/gdb/syscalls" + fi +%endif + + cd .. + +# 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 +# Prevent brp-strip* from trying to handle foreign binaries +*/brp-strip*) + b=$(basename $a) + sed -e 's,find $RPM_BUILD_ROOT,find $RPM_BUILD_ROOT%_bindir $RPM_BUILD_ROOT%_libexecdir,' $a > $b + chmod a+x $b + ;; +# Fix up brp-compress to handle %%_prefix != /usr +*/brp-compress*) + b=$(basename $a) + sed -e 's,\./usr/,.%{_prefix}/,g' < $a > $b + chmod a+x $b + ;; +esac +done + +sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' \ + -e 's,^[ ]*/usr/lib/rpm.*/brp-compress,./brp-compress,' \ +< os_install_post~ > os_install_post +%define __os_install_post . ./os_install_post + +%clean + rm -rf $RPM_BUILD_ROOT + +# ============================================================== +# sparc-rtems4.11-gdb +# ============================================================== +# %package -n rtems-4.11-sparc-rtems4.11-gdb +# Summary: rtems gdb for sparc-rtems4.11 +# Group: Development/Tools +# %if %build_infos +# Requires: rtems-4.11-gdb-common +# %endif + +%description -n rtems-4.11-sparc-rtems4.11-gdb +GNU gdb targetting sparc-rtems4.11. + +%files -n rtems-4.11-sparc-rtems4.11-gdb +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_mandir} +%dir %{_mandir}/man1 +%{_mandir}/man1/sparc-rtems4.11-*.1* + +%dir %{_bindir} +%{_bindir}/sparc-rtems4.11-* + +# ============================================================== +# rtems-4.11-gdb-common +# ============================================================== +%package -n rtems-4.11-gdb-common +Summary: Base package for RTEMS gdbs +Group: Development/Tools +Requires(post): /sbin/install-info +Requires(preun): /sbin/install-info +%{?_with_noarch_subpackages:BuildArch: noarch} + +%description -n rtems-4.11-gdb-common + +GDB files shared by all targets. + +%post -n rtems-4.11-gdb-common + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : + +%preun -n rtems-4.11-gdb-common +if [ $1 -eq 0 ]; then + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdb.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/gdbint.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/stabs.info.gz || : + /sbin/install-info --delete --info-dir=%{_infodir} %{_infodir}/annotate.info.gz || : +fi + +%files -n rtems-4.11-gdb-common +%defattr(-,root,root) +%dir %{_prefix} +%dir %{_prefix}/share + +%dir %{_infodir} +%ghost %{_infodir}/dir +%{_infodir}/gdb.info* + +%{_infodir}/gdbint.info* +%{_infodir}/stabs.info* +%{_infodir}/annotate.info* + -- cgit v1.2.3