summaryrefslogtreecommitdiffstats
path: root/mmix-binutils.spec
blob: c7c85bec8e555cd0b6bec2cc5aaeb4fa1586f4d3 (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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
%global run_testsuite 0

Name:           mmix-binutils
Version:        2.25.1
Release:        1%{?dist}
Summary:        Cross-compiled version of binutils for MMIX machine code

License:        GPLv2+ and LGPLv2+ and GPLv3+ and LGPLv3+
Group:          Development/Libraries
URL:            http://www.gnu.org/software/binutils/
Source0:        http://ftpmirror.gnu.org/binutils/binutils-%{version}.tar.bz2
Patch0:         binutils-textdomain.patch


BuildRequires:  gettext-devel
BuildRequires:  flex
BuildRequires:  bison
BuildRequires:  texinfo
BuildRequires:  zlib-devel
%if %{run_testsuite}
BuildRequires:  dejagnu
BuildRequires:  sharutils
%endif
Provides:       bundled(libiberty)

%description
Cross compiled binutils (utilities like 'strip', 'as', 'ld') which
understand MMIX executables and object code.


%prep
%setup -q -n binutils-%{version}
%patch0 -p1


%build
mkdir build
pushd build
CFLAGS="$RPM_OPT_FLAGS" \
../configure \
  --build=%_build --host=%_host \
  --target=mmix \
  --prefix=%{_prefix} \
  --bindir=%{_bindir} \
  --includedir=%{_includedir} \
  --libdir=%{_libdir} \
  --mandir=%{_mandir} \
  --infodir=%{_infodir} \
  --disable-gdb \
  --disable-libdecnumber \
  --disable-readline \
  --disable-sim

make all %{?_smp_mflags}
popd


%check
%if !%{run_testsuite}
echo ====================TESTSUITE DISABLED=========================
%else
pushd build
  make -k check < /dev/null || :
  echo ====================TESTING MMIX =========================
  cat {gas/testsuite/gas,ld/ld,binutils/binutils}.sum
  echo ====================TESTING MMIX END=====================
  for file in {gas/testsuite/gas,ld/ld,binutils/binutils}.{sum,log}
  do
    ln $file binutils-mmix-knuth-mmixware-$(basename $file) || :
  done
  tar cjf binutils-mmix-knuth-mmixware.tar.bz2 binutils-mmix-knuth-mmixware-*.{sum,log}
  uuencode binutils-mmix-knuth-mmixware.tar.bz2 binutils-mmix-knuth-mmixware.tar.bz2
  rm -f binutils-mmix-knuth-mmixware.tar.bz2 binutils-mmix-knuth-mmixware-*.{sum,log}
popd
%endif


%install
make -C build install DESTDIR=$RPM_BUILD_ROOT

# These files conflict with ordinary binutils.
rm -rf $RPM_BUILD_ROOT%{_infodir}

%find_lang mmix-binutils
%find_lang mmix-bfd
%find_lang mmix-gas
%find_lang mmix-gprof
%find_lang mmix-ld
%find_lang mmix-opcodes
cat mmix-bfd.lang >> mmix-binutils.lang
cat mmix-gas.lang >> mmix-binutils.lang
cat mmix-gprof.lang >> mmix-binutils.lang
cat mmix-ld.lang >> mmix-binutils.lang
cat mmix-opcodes.lang >> mmix-binutils.lang


%files -f mmix-binutils.lang
%doc COPYING
%{_bindir}/mmix-addr2line
%{_bindir}/mmix-ar
%{_bindir}/mmix-as
%{_bindir}/mmix-c++filt
%{_bindir}/mmix-elfedit
%{_bindir}/mmix-gprof
%{_bindir}/mmix-ld
%{_bindir}/mmix-ld.bfd
%{_bindir}/mmix-nm
%{_bindir}/mmix-objcopy
%{_bindir}/mmix-objdump
%{_bindir}/mmix-ranlib
%{_bindir}/mmix-readelf
%{_bindir}/mmix-size
%{_bindir}/mmix-strings
%{_bindir}/mmix-strip
%dir %{_prefix}/mmix
%dir %{_prefix}/mmix/bin
%dir %{_prefix}/mmix/lib
%{_prefix}/mmix/bin/ar
%{_prefix}/mmix/bin/as
%{_prefix}/mmix/bin/ld
%{_prefix}/mmix/bin/ld.bfd
%{_prefix}/mmix/bin/nm
%{_prefix}/mmix/bin/objcopy
%{_prefix}/mmix/bin/objdump
%{_prefix}/mmix/bin/ranlib
%{_prefix}/mmix/bin/strip
%{_prefix}/mmix/lib/ldscripts
%{_mandir}/man1/mmix-*


%changelog
* Wed Aug 19 2015 Yaakov Selkowitz <yselkowi@redhat.com> - 2.25.1-1
- Initial RPM release