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
|
Summary: Bruce's C compiler
Summary(pl.UTF-8): Kompilator C Bruce'a
Name: bcc
Version: 0.16.19
Release: 1
License: GPL
Group: Development/Languages
Source0: http://www.debath.co.uk/dev86/Dev86src-%{version}.tar.gz
# Source0-md5: 442e98e1afa23fe00d40c5a996385942
Patch0: Dev86src-noroot.patch
Patch1: Dev86src-opt.patch
Patch2: dev86-0.16.17-fortify.patch
Patch3: dev86-pic.patch
Patch4: dev86-64bit.patch
Patch5: dev86-noelks.patch
Patch6: dev86-nostrip.patch
Patch7: dev86-print-overflow.patch
Patch8: dev86-make.patch
Patch9: dev86-copt.patch
Patch10: dev86-format.patch
URL: http://www.debath.co.uk/
Requires: bin86 >= %{version}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
# don't try to strip Linux-8086 objects
%define _noautostrip .*%{_libdir}/bcc/.*\\.[ao]
%description
Bcc is a simple C compiler that produces 8086 assembler, in addition
compiler compile time options allow 80386 or 6809 versions. The
compiler understands traditional K&R C with just the restriction that
bit fields are mapped to one of the other integer types.
%description -l pl.UTF-8
Bcc jest prostym kompilatorem C tworzącym pliki asemblerowe 8086,
a dodatkowo pozwala na wybranie wersji 80386 lub 6809. Kompilator
rozumie tradycyjne C K&R z takim ograniczeniem, że pola bitowe
są odwzorowywane do jednego z innych typów całkowitych.
%prep
%setup -q -n dev86-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p0
%if "%{_lib}" == "lib64"
%patch4 -p1
%endif
%ifnarch %{ix86}
%patch5 -p1
%endif
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
mv -f bootblocks/README README.bootblocks
mv -f copt/README README.copt
mv -f dis88/README README.dis88
mv -f elksemu/README README.elksemu
mv -f unproto/README README.unproto
%build
CC="%{__cc}" \
%{__make} -j1 all other \
OPT="%{rpmcppflags} %{rpmcflags}" <<!FooBar!
5
quit
!FooBar!
%install
rm -rf $RPM_BUILD_ROOT
%{__make} -j1 install-all \
DIST=$RPM_BUILD_ROOT \
LIBDIR=%{_libdir}/bcc \
INCLDIR=%{_libdir}/bcc \
LOCALPREFIX=%{_prefix} \
MANDIR=%{_mandir}
cp -R libc/kinclude $RPM_BUILD_ROOT%{_libdir}/bcc
ln -sf objdump86 $RPM_BUILD_ROOT%{_bindir}/nm86
ln -sf objdump86 $RPM_BUILD_ROOT%{_bindir}/size86
# these are separated in bin86 package
%{__rm} $RPM_BUILD_ROOT%{_bindir}/{as86,ld86}
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{as,ld}86.1*
%ifnarch %{ix86}
%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/elks*.1
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc Changes Contributors README*
%attr(755,root,root) %{_bindir}/ar86
%attr(755,root,root) %{_bindir}/bcc
%attr(755,root,root) %{_bindir}/dis86
%ifarch %{ix86}
%attr(755,root,root) %{_bindir}/elksemu
%endif
%attr(755,root,root) %{_bindir}/makeboot
%attr(755,root,root) %{_bindir}/nm86
%attr(755,root,root) %{_bindir}/objdump86
%attr(755,root,root) %{_bindir}/size86
%dir %{_libdir}/bcc
%attr(755,root,root) %{_libdir}/bcc/as86_encap
%attr(755,root,root) %{_libdir}/bcc/bcc-cc1
%attr(755,root,root) %{_libdir}/bcc/bcc-cpp
%attr(755,root,root) %{_libdir}/bcc/copt
%attr(755,root,root) %{_libdir}/bcc/unproto
%{_libdir}/bcc/i386
%{_libdir}/bcc/include
%{_libdir}/bcc/kinclude
%{_libdir}/bcc/crt*.o
%{_libdir}/bcc/lib*.a
%{_libdir}/bcc/rules.*
%{_mandir}/man1/bcc.1*
%{_mandir}/man1/dis86.1*
%ifarch %{ix86}
%{_mandir}/man1/elks.1*
%{_mandir}/man1/elksemu.1*
%endif
|