summaryrefslogtreecommitdiffstats
path: root/scripts/toolchain.spec.in
blob: 110514e04457962e2bb776f8f2a34f517c6febec (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#
# spec file for package rtems
# 
# Copyright  (c)  1999  OARCorp, Huntsville, AL
#
# please send bugfixes or comments to joel@OARcorp.com
#

# neededforbuild  @target_alias@-binutils @target_alias@-gcc

Vendor:       OAR Corporation
Distribution: Linux
Name:         rtems-@target_alias@-tools
Release:      @Release@
Copyright:    1999 OARCorp
Group:        unsorted
Provides:     rtems-@target_alias@-tools

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

Version:      @Version@
Summary:      rtems gcc tool chain for target @target_alias@
Source0:	gcc-2.95.1.tar.gz
Source1:	newlib-1.8.2.tar.gz
Source2:      	binutils-990901.tar.gz
Patch0:		gcc-2.95.1-rtems-19991015.diff
Patch1:		newlib-1.8.2-rtems-19991015.diff
Patch2:		binutils-990901-rtems-19991015.diff

Buildroot:    /tmp
# Patch:
%description
RTEMS is an open source operating system for embedded systems.

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

%prep
# untar the sources inside rtems-@target_alias@-@bsp@-@Version@
%setup -c -n rtems-@target_alias@-tools -a 1 -a 2

# %setup -c -n rtems-@target_alias@ -a 1 -a 2
%patch0 -p0
%patch1 -p0
%patch2 -p0

mkdir src
( cd src
  # The configure scripts and share libraries should be taken from
  # the tool component with the newest version.
  GET_CONFIGURE_SCRIPTS_FROM=gcc-2.95.1
  for f in config config.guess config.sub configure configure.in \
        config-ml.in Makefile.in install-sh move-if-change \
        mkinstalldirs libiberty config.if ltconfig missing
  do
        ln -s ../${GET_CONFIGURE_SCRIPTS_FROM}/$f .
  done

  # Link in GCC or EGCS
  for f in gcc libio libstdc++ texinfo xiberty
  do
    	ln -s ../gcc-2.95.1/${f} .
  done

  # Get these components from binutils
  for f in bfd binutils gas gprof ld opcodes etc
  do
       ln -s ../binutils-990901/$f .
  done

  # Now get the C library
  ln -s ../newlib-1.8.2/newlib .
)

%build
test -d build || mkdir build
( cd build
  ../src/configure --target=@target_alias@ \
    --with-gnu-as --with-gnu-ld --with-newlib --verbose \
    --prefix=/opt/rtems 

  test -d $RPM_BUILD_ROOT/opt \
    || mkdir $RPM_BUILD_ROOT/opt
  test -d $RPM_BUILD_ROOT/opt/rtems \
    || mkdir $RPM_BUILD_ROOT/opt/rtems
  test -d $RPM_BUILD_ROOT/opt/rtems/@target_alias@ \
    || mkdir $RPM_BUILD_ROOT/opt/rtems/@target_alias@
  test -d $RPM_BUILD_ROOT/opt/rtems/@target_alias@/include \
    || mkdir $RPM_BUILD_ROOT/opt/rtems/@target_alias@/include
  test -d $RPM_BUILD_ROOT/opt/rtems/@target_alias@/sys-include \
    || mkdir $RPM_BUILD_ROOT/opt/rtems/@target_alias@/sys-include

  srclimits=../src/newlib/libc/sys/rtems/include/limits.h
  for dir in $RPM_BUILD_ROOT/opt/rtems/@target_alias@/include \
             $RPM_BUILD_ROOT/opt/rtems/@target_alias@/sys-include
  do
    cp ${srclimits} ${dir}
  done

  make LANGUAGES="c c++" all

  cd gcc
    rm -f stmp-multilib
    find . -name "*.a" -print | xargs -e rm -f

    make LANGUAGES="c c++" all
  cd ..
)

%install
( cd build
  make prefix=$RPM_BUILD_ROOT/opt/rtems LANGUAGES="c c++" install
)

%files
/opt/rtems/@target_alias@/bin
/opt/rtems/@target_alias@/include
/opt/rtems/@target_alias@/lib
/opt/rtems/@target_alias@/sys-include
/opt/rtems/bin/@target_alias@*
/opt/rtems/lib/gcc-lib/@target_alias@/2.95.1