summaryrefslogtreecommitdiffstats
path: root/scripts/gccnewlib.spec.in
blob: 1bf0b26a3974b2562fc945b20a1702913ffcc1d0 (plain)
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
#
# 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:         @target_alias@-gcc-newlib
Release:      @Release@
Copyright:    1999 OARCorp
Group:        unsorted
Provides:     @target_alias@-gcc-newlib

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

Version:      gcc-@gcc_version@-newlib-@newlib_version@
Summary:      rtems gcc and newlib C Library for target @target_alias@
Source0:	gcc-@gcc_version@.tar.gz
Source1:	newlib-@newlib_version@.tar.gz
Patch0:		gcc-@gcc_version@-rtems-@gcc_patch_version@.diff
Patch1:		newlib-@newlib_version@-rtems-@newlib_patch_version@.diff

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

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

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

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

%patch0 -p0
%patch1 -p0

( cd gcc-@gcc_version@

  # Now link the C library into the source tree 
  ln -s ../newlib-@newlib_version@/newlib .
)

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

  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=../gcc-@gcc_version@/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
  make all
  make info

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

    make all
  cd ..
)

%install
( cd build
  make prefix=$RPM_BUILD_ROOT/opt/rtems install
  cd @target_alias@/newlib
  make prefix=$RPM_BUILD_ROOT/opt/rtems install-info
)

%files
%doc /opt/rtems/info/chill.info*
%doc /opt/rtems/info/cpp.info*
%doc /opt/rtems/info/gcc.info*
%doc /opt/rtems/info/g77.info*
%doc /opt/rtems/info/libc.info*
%doc /opt/rtems/info/libm.info*
%doc /opt/rtems/man/man1/cccp.1
%doc /opt/rtems/man/man1/@target_alias@-gcc.1
%doc /opt/rtems/man/man1/@target_alias@-g++.1

/opt/rtems/bin/cpp
/opt/rtems/bin/@target_alias@-c++
/opt/rtems/bin/@target_alias@-g++
/opt/rtems/bin/@target_alias@-gcc
/opt/rtems/bin/@target_alias@-gcj
/opt/rtems/lib/gcc-lib/@target_alias@/@gcc_version@
/opt/rtems/@target_alias@/include*
/opt/rtems/@target_alias@/sys-include
/opt/rtems/@target_alias@/lib*