summaryrefslogtreecommitdiffstats
path: root/scripts/binutils/binutils.add
blob: 301fb0c70be61e6982638564620272a39a8eb2c2 (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
#
# spec file for binutils package targetting rtems
# 
# Copyright  (c)  1999,2000,2002 OARCorp, Huntsville, AL
#
# please send bugfixes or comments to joel@OARcorp.com
#

%define _prefix	@prefix@

Vendor:       OAR Corporation
Distribution: Linux
Name:         @target_alias@-binutils-collection
Summary:      binutils for target @target_alias@
Group:        rtems
Release:      @Release@
License:      GPL/LGPL

Autoreqprov:  	off
Packager:     	corsepiu@faw.uni-ulm.de and joel@OARcorp.com
Prefix:		%{_prefix}
BuildRoot:	%{_tmppath}/@target_alias@-binutils

Version:      	@binutils_version@
Source0:      	ftp://ftp.gnu.org/pub/gnu/binutils/binutils-@binutils_version@.tar.bz2
# Patch0:		binutils-@binutils_version@-rtems-@binutils_patch_version@.diff
#
# The original sources are not included in the source RPM.
# If we included them, then the source RPMs for each target
# would duplicate MBs of source unnecessarily.  This is 
# a duplication of over 30 MBs of source for each of
# the more than 10 targets it is possible to build.
#
# You can get them yourself from the Internet and copy them to
# your /usr/src/redhat/SOURCES directory ($RPM_SOURCE_DIR).
# Or you can try the ftp options of rpm :-)
#
NoSource:      0

%description

RTEMS is an open source operating system for embedded systems.

This is binutils sources with patches for RTEMS.

%prep
# untar the sources inside @target_alias@-binutils
%setup -c -n @target_alias@-binutils

# %patch0 -p0
  test -d build || mkdir build

%build
# HACK: This should be %{target} != %{build}, but SuSE's rpm screws it.
%if "%{target_os}" != "%{build_os}"
  CONFIGURE_ARGS="--build=%{_build} --host=%{_target}"
%endif

  cd build
  ../binutils-@binutils_version@/configure ${CONFIGURE_ARGS} --target=@target_alias@ \
    --verbose --prefix=%{_prefix}

  make all
  make info


%install
  cd build
  make prefix=$RPM_BUILD_ROOT%{_prefix} install
  make prefix=$RPM_BUILD_ROOT%{_prefix} install-info
# A bug in binutils: binutils does not install share/locale
# however it uses it
  ../binutils-@binutils_version@/mkinstalldirs \
    $RPM_BUILD_ROOT%{_prefix}/share/locale

# gzip info files
  gzip -f $RPM_BUILD_ROOT%{_prefix}/info/*.info 2>/dev/null
  gzip -f $RPM_BUILD_ROOT%{_prefix}/info/*.info-? 2>/dev/null

  if test -f $RPM_BUILD_ROOT%{_prefix}/info/configure.info.gz;
  then
# These are only present in binutils >= 2.9.5
    find $RPM_BUILD_ROOT%{_prefix}/info -name 'configure.*' | \
      sed -e "s,^$RPM_BUILD_ROOT,,g" > ../files
  else
    touch ../files
  fi

# We assume that info/dir exists when building the RPMs
  rm -f $RPM_BUILD_ROOT%{_prefix}/info/dir
  f=`find $RPM_BUILD_ROOT%{_prefix}/info -name '*.info.gz'`
  test x"$f" != x"" && for i in $f; do
    install-info $i $RPM_BUILD_ROOT%{_prefix}/info/dir
  done

%clean
# let rpm --clean remove BuildRoot iif using the default BuildRoot
  test "$RPM_BUILD_ROOT" = "%{_tmppath}/@target_alias@-binutils" && \
    rm -rf $RPM_BUILD_ROOT