summaryrefslogtreecommitdiffstats
path: root/contrib/crossrpms/gcc/gccnewlib.add
blob: 3a873527d8e70aa62932b8ec1e6356e07f8c793d (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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256

%define gcc_pkgvers @GCC_PKGVERS@
%define gcc_version @GCC_VERS@
%define gcc_rpmvers %{expand:%(echo "@GCC_VERS@" | tr - _ )}

%if %build_newlib
%define newlib_pkgvers		@NEWLIB_PKGVERS@
%define newlib_version		@NEWLIB_VERS@
%endif

Name:         	@rpmprefix@@tool_target@-gcc
Summary:      	@tool_target@ gcc

Group:	      	Development/Tools
Version:        %{gcc_rpmvers}
Release:      	@GCC_RPMREL@
License:      	GPL
URL:		http://gcc.gnu.org
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

%define _use_internal_dependency_generator 0

BuildRequires:  %{_host_rpmprefix}gcc

# FIXME: Disable lto for now, to avoid dependencies on libelf
%bcond_with lto

# FIXME: Disable python gdb scripts
# ATM, no idea how to package them
%bcond_with pygdb

# FIXME: Disable GCC-plugin
# Bug in gcc-4.5-20100318, doesn't build them on x86_84 hosts.
%bcond_with plugin

# EXPERIMENTAL: Use gcc's stdint.h instead of newlib's
# Should be applicable to gcc >= 4.5.0
%bcond_with gcc_stdint

# EXPERIMENTAL: Enable newlib's iconv
%bcond_without iconv

# versions of libraries, we conditionally bundle if necessary
%global mpc_version	0.8.1
%global mpfr_version	2.4.2
%global gmp_version	4.3.2
%global libelf_version  0.8.13

# versions of libraries these distros are known to ship
%if 0%{?fc16}
%global mpc_provided 0.8.3
%global mpfr_provided 3.0.0
%global gmp_provided 4.3.2
%endif

%if 0%{?fc15}
%global mpc_provided 0.8.3
%global mpfr_provided 3.0.0
%global gmp_provided 4.3.2
%endif

%if 0%{?fc14}
%global mpc_provided 0.8.1
%global mpfr_provided 2.4.2
%global gmp_provided 4.3.1
%endif

%if 0%{?el6}
%global mpc_provided %{nil}
%global mpfr_provided 2.4.1
%global gmp_provided 4.3.1
%endif

%if 0%{?el5}
%global mpc_provided %{nil}
%global mpfr_provided %{nil}
%global gmp_provided 4.1.4
%endif

%if 0%{?suse12_1}
%global mpc_provided 0.8.2
%global mpfr_provided 3.0.1
%global gmp_provided 5.0.2
%endif

%if 0%{?suse11_3}
%global mpc_provided 0.8.1
%global mpfr_provided 2.4.2
%global gmp_provided 4.3.2
%endif

%if 0%{?suse11_4}
%global mpc_provided 0.8.2
%global mpfr_provided 3.0.0
%global gmp_provided 5.0.1
%endif

%if 0%{?cygwin}
%global mpc_provided 0.8
%global mpfr_provided 2.4.1
%global gmp_provided 4.3.1
%endif

%if 0%{?mingw32}
%global mpc_provided 0.8.1
%global mpfr_provided 2.4.1
%global gmp_provided 4.3.2
%endif

%if "%{gcc_version}" >= "4.2.0"
%if %build_fortran
%define gmp_required		4.1
%define mpfr_required		2.2.1
%endif
%endif

%if "%{gcc_version}" >= "4.3.0"
%define gmp_required		4.1
%define mpfr_required		2.3.1
%endif

%if "%{gcc_version}" >= "4.3.3"
%define cloog_required 		0.15
%endif

%if "%{gcc_version}" >= "4.4.0"
%define mpfr_required		2.3.2
%endif

%if "%{gcc_version}" >= "4.5.0"
%define mpc_required 		0.8
%if %{with lto}
%define libelf_required 	0.8.12
%endif
%endif

%if %{defined mpc_required}
%if "%{mpc_provided}" >= "%{mpc_required}"
%{?fedora:BuildRequires: libmpc-devel >= %{mpc_required}}
%{?suse:BuildRequires: mpc-devel >= %{mpc_required}}
%if "%{_build}" != "%{_host}"
BuildRequires:  %{_host_rpmprefix}mpc-devel >= %{mpc_required}
%endif
%else
%define _build_mpc 1
%define gmp_required 		4.2
%endif
%endif

%if %{defined gmp_required}
%if "%{gmp_provided}" >= "%{gmp_required}"
BuildRequires: gmp-devel >= %{gmp_required}
%if "%{_build}" != "%{_host}"
BuildRequires:  %{_host_rpmprefix}gmp-devel >= %{gmp_required}
%endif
%else
%define _build_gmp 1
%endif
%endif

%if %{defined libelf_required}
%if "%{libelf_provided}" >= "%{libelf_required}"
BuildRequires: libelf-devel >= %{libelf_required}
%if "%{_build}" != "%{_host}"
BuildRequires:  %{_host_rpmprefix}libelf-devel >= %{libelf_required}
%endif
%else
%define _build_libelf 1
%endif
%endif


%if %{defined cloog_required}
%{?fc14:BuildRequires: cloog-ppl-devel >= %cloog_required}
%{?fc15:BuildRequires: cloog-ppl-devel >= %cloog_required}
%{?fc16:BuildRequires: cloog-ppl-devel >= %cloog_required}
%{?el6:BuildRequires: cloog-ppl-devel >= %cloog_required}
%{?suse11_4:BuildRequires: cloog-devel >= %cloog_required, ppl-devel}
%{?suse11_3:BuildRequires: cloog-devel >= %cloog_required, ppl-devel}
%endif


%if %{defined mpfr_required}
%if "%{mpfr_provided}" >= "%{mpfr_required}"
BuildRequires: mpfr-devel >= %{mpfr_required}
%if "%{_build}" != "%{_host}"
BuildRequires:  %{_host_rpmprefix}mpfr-devel >= %{mpfr_required}
%endif
%else
%define _build_mpfr 1
%endif
%endif

%if "%{_build}" != "%{_host}"
BuildRequires:  @rpmprefix@@tool_target@-gcc = %{gcc_rpmvers}
%endif

# Not strictly required, but patches may introduce a need to use them.
# For reasons of simplicity, always require them.
BuildRequires:	flex bison

BuildRequires:	texinfo >= 4.2
BuildRequires:	@rpmprefix@@tool_target@-binutils
BuildRequires:	@rpmprefix@@tool_target@-sys-root
BuildRequires:	@rpmprefix@@tool_target@-w32api-sys-root

%if %build_infos
Requires:	@rpmprefix@gcc-common
%endif
Requires:	@rpmprefix@@tool_target@-binutils
Requires:	@rpmprefix@@tool_target@-sys-root
Requires:	@rpmprefix@@tool_target@-w32api-sys-root
Requires:	@rpmprefix@@tool_target@-gcc-libgcc = %{gcc_rpmvers}-%{release}
%if %build_newlib
Requires:	@rpmprefix@@tool_target@-newlib = %{newlib_version}-@NEWLIB_RPMREL@
%endif

%if "%{gcc_version}" >= "4.5.0"
BuildRequires:  zlib-devel
%if "%{_build}" != "%{_host}"
BuildRequires:  %{_host_rpmprefix}zlib-devel
%endif
%else
%if %build_gcj
BuildRequires:	zlib-devel
%endif
%endif
%if %build_gnat
# Building gnat requires gnat
BuildRequires:	gcc-gnat
BuildRequires:	@rpmprefix@@tool_target@-newlib < %{newlib_version}-@NEWLIB_RPMREL@
%endif

%global _gcclibdir %{_prefix}/lib

@SOURCES@

%if 0%{?_build_mpfr}
Source60:    http://www.mpfr.org/mpfr-%{mpfr_version}/mpfr-%{mpfr_version}.tar.bz2
%endif

%if 0%{?_build_mpc}
Source61:    http://www.multiprecision.org/mpc/download/mpc-%{mpc_version}.tar.gz
%endif

%if 0%{?_build_gmp}
Source62:    ftp://ftp.gnu.org/gnu/gmp/gmp-%{gmp_version}.tar.bz2
%endif

%if 0%{?_build_libelf}
Source63:    http://www.mr511.de/software/libelf-%{libelf_version}.tar.gz
%endif

%description
Cross gcc for @tool_target@.