Add assert in prepare_for_building
[deliverable/binutils-gdb.git] / gdb / configure.nat
CommitLineData
21ea5acd 1# ; -*- mode: sh ; -*-
e2882c85 2# Copyright (C) 2013-2018 Free Software Foundation, Inc.
21ea5acd
SDJ
3#
4# This file is part of GDB.
5#
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; either version 3 of the License, or
9# (at your option) any later version.
10#
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with this program. If not, see <http://www.gnu.org/licenses/>.
18
19# Variables defined here:
20#
21# NAT_FILE - The header file with definitions for this native target.
22#
23# NATDEPFILES - Source files required for native debugging on this
24# native target.
25#
26# NAT_CDEPS - Dynamic symbols to be exported for libthread_db.
27#
28# LOADLIBES - Libraries against which GDB will be linked for this
29# native target.
30#
31# MH_CFLAGS - Additional CFLAGS for this host.
32#
33# XM_CLIBS - Host-dependent libraries against which GDB will be linked
34# for this native target.
35#
36# HAVE_NATIVE_GCORE_HOST - Whether gcore should be installed on this
37# native target.
38#
2b351b19
PA
39# nat_makefile_frag - Name of the (optional) Makefile fragment file
40# required to build the native target. The
41# fragment is incorporated into the Makefile that
42# configure constructs from Makefile.in.
21ea5acd
SDJ
43#
44# Notes:
45#
46# - To avoid shell expansion of variables, declare them with single
47# quotes.
48#
2b351b19 49# - nat_makefile_frag must contain the full path of the file.
21ea5acd
SDJ
50
51
e50f25ec
SDJ
52# This first case is useful for filling default values for each
53# gdb_host.
54case ${gdb_host} in
55 *linux*)
21ea5acd 56 NAT_FILE='config/nm-linux.h'
2090129c 57 NATDEPFILES='inf-ptrace.o fork-child.o fork-inferior.o proc-service.o \
e50f25ec
SDJ
58 linux-thread-db.o linux-nat.o linux-osdata.o linux-fork.o \
59 linux-procfs.o linux-ptrace.o linux-waitpid.o \
60 linux-personality.o linux-namespaces.o'
21ea5acd 61 NAT_CDEPS='$(srcdir)/proc-service.list'
21ea5acd 62 LOADLIBES='-ldl $(RDYNAMIC)'
21ea5acd 63 ;;
e50f25ec 64 fbsd*)
2090129c 65 NATDEPFILES='fork-child.o fork-inferior.o inf-ptrace.o fbsd-nat.o'
e50f25ec 66 HAVE_NATIVE_GCORE_HOST=1
21ea5acd
SDJ
67 LOADLIBES='-lkvm'
68 ;;
e50f25ec 69 nbsd*)
2090129c 70 NATDEPFILES='fork-child.o fork-inferior.o inf-ptrace.o'
28ad437d 71 HAVE_NATIVE_GCORE_HOST=1
21ea5acd 72 ;;
e50f25ec 73 obsd*)
2090129c 74 NATDEPFILES='fork-child.o fork-inferior.o inf-ptrace.o'
21ea5acd 75 ;;
e50f25ec
SDJ
76 cygwin*)
77 NATDEPFILES='x86-nat.o x86-dregs.o windows-nat.o'
21ea5acd 78 ;;
e50f25ec
SDJ
79 mingw*)
80 NATDEPFILES='x86-nat.o x86-dregs.o windows-nat.o'
21ea5acd 81 ;;
3b912944
SM
82 aix)
83 NATDEPFILES='fork-inferior.o fork-child.o inf-ptrace.o'
84 ;;
848d9074
SM
85 darwin)
86 NATDEPFILES='fork-child.o fork-inferior.o darwin-nat.o \
87 darwin-nat-info.o'
281c4447
RO
88 ;;
89 sol2)
90 NATDEPFILES='fork-child.o fork-inferior.o \
91 procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o \
92 sol-thread.o'
93 HAVE_NATIVE_GCORE_HOST=1
848d9074 94 ;;
e50f25ec 95esac
21ea5acd 96
e50f25ec
SDJ
97# This is where we actually filter by host and host CPU.
98case ${gdb_host} in
99 aix)
100 case ${gdb_host_cpu} in
101 powerpc)
102 # Host: IBM PowerPC running AIX aix-thread.o is not
103 # listed in NATDEPFILES as it is pulled in by
104 # configure.
3b912944 105 NATDEPFILES="${NATDEPFILES} rs6000-nat.o"
e50f25ec
SDJ
106
107 # When compiled with cc, for debugging, this argument
108 # should be passed. We have no idea who our current
109 # compiler is though, so we skip it.
110 # MH_CFLAGS='-bnodelcsect'
111 ;;
112 esac
113 ;;
114 alpha-linux)
115 case ${gdb_host_cpu} in
116 alpha)
117 # Host: Little-endian Alpha running Linux
6798487f 118 NATDEPFILES="${NATDEPFILES} linux-nat-trad.o alpha-linux-nat.o"
e50f25ec
SDJ
119 # doublest.c currently assumes some properties of FP arithmetic
120 # on the host which require this.
121 MH_CFLAGS='-mieee'
122 ;;
123 esac
124 ;;
125 cygwin)
126 case ${gdb_host_cpu} in
127 i386)
128 # Native config information for GDB on i386
129 # systems running Cygwin.
130 NATDEPFILES="${NATDEPFILES} i386-windows-nat.o"
131 ;;
132 esac
133 ;;
134 cygwin64)
135 case ${gdb_host_cpu} in
136 i386)
137 # Native config information for GDB on amd64
138 # systems running Cygwin.
139 NATDEPFILES="${NATDEPFILES} amd64-windows-nat.o"
140 ;;
141 esac
142 ;;
143 darwin)
144 case ${gdb_host_cpu} in
145 i386)
146 # Host: IA86 running Darwin
848d9074
SM
147 NATDEPFILES="${NATDEPFILES} i386-darwin-nat.o x86-nat.o \
148 x86-dregs.o amd64-nat.o"
e50f25ec
SDJ
149 ;;
150 esac
151 ;;
152 fbsd)
153 case ${gdb_host_cpu} in
351787dd
JB
154 aarch64)
155 # Host: FreeBSD/aarch64
156 NATDEPFILES="${NATDEPFILES} aarch64-fbsd-nat.o"
157 LOADLIBES=
158 ;;
4f9d9906
JB
159 arm)
160 # Host: FreeBSD/arm
161 NATDEPFILES="${NATDEPFILES} arm-fbsd-nat.o"
162 LOADLIBES=
163 ;;
e50f25ec
SDJ
164 i386)
165 # Host: FreeBSD/i386
166 NATDEPFILES="${NATDEPFILES} x86-nat.o x86-dregs.o \
167 x86-bsd-nat.o i386-bsd-nat.o i386-fbsd-nat.o bsd-kvm.o"
168 NAT_FILE='nm-fbsd.h'
169 ;;
170 mips)
171 # Host: FreeBSD/mips
172 NATDEPFILES="${NATDEPFILES} mips-fbsd-nat.o"
173 LOADLIBES=
174 ;;
175 powerpc)
176 # Native config information for GDB on PowerPC
177 # systems running FreeBSD.
178 NATDEPFILES="${NATDEPFILES} ppc-fbsd-nat.o bsd-kvm.o"
179 ;;
180 sparc)
181 # Host: FreeBSD/sparc64
182 NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc64-nat.o \
183 sparc64-fbsd-nat.o bsd-kvm.o"
184 ;;
185 esac
186 ;;
187 fbsd64)
188 case ${gdb_host_cpu} in
189 i386)
190 # Host: FreeBSD/amd64
191 NATDEPFILES="${NATDEPFILES} amd64-nat.o amd64-bsd-nat.o \
192 amd64-fbsd-nat.o bsd-kvm.o x86-nat.o x86-dregs.o x86-bsd-nat.o"
193 ;;
194 esac
195 ;;
196 go32)
197 case ${gdb_host_cpu} in
198 i386)
199 # Host: Intel x86 running DJGPP
200 # We include several header files from config/djgpp
201 MH_CFLAGS='-I$(srcdir)/config/djgpp'
202 NATDEPFILES='go32-nat.o x86-nat.o x86-dregs.o'
203 XM_CLIBS='-ldbg'
204 ;;
205 esac
206 ;;
207 i386gnu)
208 case ${gdb_host_cpu} in
209 i386)
210 # Host: Intel 386 running the GNU Hurd
211 NATDEPFILES='i386-gnu-nat.o gnu-nat.o \
21ea5acd
SDJ
212 x86-nat.o x86-dregs.o fork-child.o \
213 notify_S.o process_reply_S.o msg_reply_S.o \
214 msg_U.o exc_request_U.o exc_request_S.o'
e50f25ec 215 HAVE_NATIVE_GCORE_HOST=1
21ea5acd 216
e50f25ec
SDJ
217 NAT_FILE='nm-i386gnu.h'
218 MH_CFLAGS='-D_GNU_SOURCE'
21ea5acd 219
e50f25ec 220 XM_CLIBS='-lshouldbeinlibc'
21ea5acd 221
2b351b19 222 nat_makefile_frag="${srcdir}/config/${gdb_host_cpu}/i386gnu.mn"
e50f25ec
SDJ
223 ;;
224 esac
21ea5acd 225 ;;
e50f25ec
SDJ
226 linux)
227 case ${gdb_host_cpu} in
228 aarch64)
229 # Host: AArch64 based machine running GNU/Linux
230 NATDEPFILES="${NATDEPFILES} aarch64-linux-nat.o \
122394f1
AH
231 aarch32-linux-nat.o aarch64-linux-hw-point.o aarch64-linux.o \
232 aarch64-sve-linux-ptrace.o"
e50f25ec
SDJ
233 ;;
234 arm)
235 # Host: ARM based machine running GNU/Linux
236 NATDEPFILES="${NATDEPFILES} arm-linux-nat.o \
237 aarch32-linux-nat.o"
238 ;;
239 i386)
240 # Host: Intel 386 running GNU/Linux.
241 NATDEPFILES="${NATDEPFILES} x86-nat.o x86-dregs.o \
242 i386-linux-nat.o x86-linux-nat.o linux-btrace.o \
243 x86-linux.o x86-linux-dregs.o"
244 ;;
245 ia64)
246 # Host: Intel IA-64 running GNU/Linux
247 NATDEPFILES="${NATDEPFILES} ia64-linux-nat.o"
248 ;;
249 m32r)
250 # Host: M32R based machine running GNU/Linux
251 NATDEPFILES="${NATDEPFILES} m32r-linux-nat.o"
252 ;;
253 m68k)
254 # Host: Motorola m68k running GNU/Linux.
255 NATDEPFILES="${NATDEPFILES} m68k-linux-nat.o"
256 ;;
257 mips)
258 # Host: Linux/MIPS
6798487f
PA
259 NATDEPFILES="${NATDEPFILES} linux-nat-trad.o \
260 mips-linux-nat.o mips-linux-watch.o"
e50f25ec
SDJ
261 ;;
262 pa)
263 # Host: Hewlett-Packard PA-RISC machine, running Linux
264 NATDEPFILES="${NATDEPFILES} hppa-linux-nat.o"
265 ;;
266 powerpc)
267 # Host: PowerPC, running Linux
2e077f5e 268 NATDEPFILES="${NATDEPFILES} ppc-linux-nat.o ppc-linux.o"
e50f25ec
SDJ
269 ;;
270 s390)
271 # Host: S390, running Linux
272 NATDEPFILES="${NATDEPFILES} s390-linux-nat.o"
273 ;;
274 sparc)
275 # Host: GNU/Linux SPARC
276 NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc-linux-nat.o"
277 ;;
278 tilegx)
279 # Host: Tilera TILE-Gx running GNU/Linux.
280 NATDEPFILES="${NATDEPFILES} tilegx-linux-nat.o"
281 NAT_CDEPS=
282 ;;
283 xtensa)
284 # Host: Xtensa, running GNU/Linux.
285 NATDEPFILES="${NATDEPFILES} xtensa-linux-nat.o"
286 ;;
287 esac
288 ;;
289 linux64)
290 case ${gdb_host_cpu} in
291 i386)
292 # Host: GNU/Linux x86-64
293 NATDEPFILES="${NATDEPFILES} x86-nat.o x86-dregs.o \
294 amd64-nat.o amd64-linux-nat.o x86-linux-nat.o linux-btrace.o \
295 x86-linux.o x86-linux-dregs.o amd64-linux-siginfo.o"
296 ;;
297 sparc)
298 # Host: GNU/Linux UltraSPARC
299 NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc64-nat.o \
300 sparc64-linux-nat.o"
301 ;;
302 esac
303 ;;
304 mingw)
305 case ${gdb_host_cpu} in
306 i386)
307 NATDEPFILES="${NATDEPFILES} i386-windows-nat.o"
308 ;;
309 esac
310 ;;
311 mingw64)
312 case ${gdb_host_cpu} in
313 i386)
314 NATDEPFILES="${NATDEPFILES} amd64-windows-nat.o"
315 ;;
316 esac
317 ;;
318 nbsd)
319 case ${gdb_host_cpu} in
320 alpha)
321 # Host: NetBSD/alpha
322 NATDEPFILES="${NATDEPFILES} alpha-bsd-nat.o bsd-kvm.o"
323 LOADLIBES='-lkvm'
324 ;;
325 mips)
326 # Host: NetBSD/mips
327 NATDEPFILES="${NATDEPFILES} mips-nbsd-nat.o"
328 ;;
329 pa)
330 # Host: NetBSD/hppa
331 NATDEPFILES="${NATDEPFILES} nbsd-nat.o hppa-nbsd-nat.o"
332 ;;
333 powerpc)
334 # Host: NetBSD/powerpc
335 NATDEPFILES="${NATDEPFILES} ppc-nbsd-nat.o bsd-kvm.o"
336 LOADLIBES='-lkvm'
337 ;;
338 sh)
339 # Host: NetBSD/sh
340 NATDEPFILES="${NATDEPFILES} sh-nbsd-nat.o"
341 ;;
342
343 esac
344 ;;
345 nbsd64)
346 case ${gdb_host_cpu} in
347 i386)
348 # Host: NetBSD/amd64
a379bfd0
JB
349 NATDEPFILES="${NATDEPFILES} nbsd-nat.o amd64-nat.o x86-nat.o \
350 x86-dregs.o x86-bsd-nat.o amd64-bsd-nat.o amd64-nbsd-nat.o"
e50f25ec
SDJ
351 ;;
352 sparc)
353 # Host: NetBSD/sparc64
354 NATDEPFILES="${NATDEPFILES} sparc64-nbsd-nat.o sparc-nat.o \
355 bsd-kvm.o"
b9c0e1b4 356 LOADLIBES='-lkvm'
e50f25ec
SDJ
357 ;;
358
359 esac
360 ;;
b9c0e1b4 361 nbsdelf)
e50f25ec
SDJ
362 case ${gdb_host_cpu} in
363 arm)
364 # Host: NetBSD/arm
365 NATDEPFILES="${NATDEPFILES} arm-nbsd-nat.o"
366 ;;
367 i386)
368 # Host: NetBSD/i386 ELF
a379bfd0
JB
369 NATDEPFILES="${NATDEPFILES} nbsd-nat.o x86-nat.o x86-dregs.o \
370 x86-bsd-nat.o i386-bsd-nat.o i386-nbsd-nat.o bsd-kvm.o"
e50f25ec
SDJ
371 LOADLIBES='-lkvm'
372 ;;
373 m68k)
374 # Host: NetBSD/m68k ELF
375 NATDEPFILES="${NATDEPFILES} m68k-bsd-nat.o bsd-kvm.o"
376 LOADLIBES='-lkvm'
377 ;;
378 sparc)
379 # Host: NetBSD/sparc ELF
380 NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc-nbsd-nat.o \
381 bsd-kvm.o"
382 LOADLIBES='-lkvm'
383 ;;
384 vax)
385 # Host: NetBSD/vax ELF
386 NATDEPFILES="${NATDEPFILES} vax-bsd-nat.o bsd-kvm.o"
387 LOADLIBES='-lkvm'
388 ;;
389
390 esac
391 ;;
392 nto)
393 case ${gdb_host_cpu} in
394 i386)
395 # Host: Intel 386 running QNX.
396 NATDEPFILES='nto-procfs.o'
397 NAT_FILE='config/nm-nto.h'
398 ;;
399 esac
400 ;;
401 obsd)
402 case ${gdb_host_cpu} in
403 i386)
404 # Host: OpenBSD/i386 ELF
405 NATDEPFILES="${NATDEPFILES} obsd-nat.o x86-bsd-nat.o \
406 i386-bsd-nat.o i386-obsd-nat.o bsd-kvm.o"
407 LOADLIBES='-lkvm'
408 ;;
409 m68k)
410 # Host: OpenBSD/m68k
411 NATDEPFILES="${NATDEPFILES} m68k-bsd-nat.o bsd-kvm.o"
412 LOADLIBES='-lkvm'
413 ;;
e50f25ec
SDJ
414 pa)
415 # Host: OpenBSD/hppa
416 NATDEPFILES="${NATDEPFILES} obsd-nat.o hppa-obsd-nat.o"
417 ;;
418 powerpc)
419 # Host: OpenBSD/powerpc
420 NATDEPFILES="${NATDEPFILES} obsd-nat.o ppc-obsd-nat.o bsd-kvm.o"
421 LOADLIBES='-lkvm'
422 ;;
423 vax)
424 # Host: OpenBSD/vax
425 NATDEPFILES="${NATDEPFILES} vax-bsd-nat.o bsd-kvm.o"
426 LOADLIBES='-lkvm'
427 ;;
428 esac
429 ;;
430 obsd64)
431 case ${gdb_host_cpu} in
432 i386)
433 # Host: OpenBSD/amd64
434 NATDEPFILES="${NATDEPFILES} obsd-nat.o amd64-nat.o \
435 x86-bsd-nat.o amd64-bsd-nat.o amd64-obsd-nat.o bsd-kvm.o"
436 LOADLIBES='-lkvm'
437 ;;
438 mips)
439 # Host: OpenBSD/mips64
440 NATDEPFILES="${NATDEPFILES} obsd-nat.o mips64-obsd-nat.o"
441 ;;
442 sparc)
443 # Host: OpenBSD/sparc64
444 NATDEPFILES="${NATDEPFILES} obsd-nat.o sparc64-obsd-nat.o \
445 sparc-nat.o bsd-kvm.o"
446 LOADLIBES='-lkvm'
447 ;;
448 esac
449 ;;
450 ppc64-linux)
451 case ${gdb_host_cpu} in
452 powerpc)
453 # Host: PowerPC64, running Linux
454 XM_CLIBS=
455 NATDEPFILES="${NATDEPFILES} ppc-linux-nat.o ppc-linux.o"
456 ;;
457 esac
458 ;;
459 sol2)
460 case ${gdb_host_cpu} in
281c4447
RO
461 i386)
462 # Host: Solaris x86_64
463 NATDEPFILES="${NATDEPFILES} \
464 amd64-nat.o i386-v4-nat.o i386-sol2-nat.o"
465 ;;
e50f25ec
SDJ
466 sparc)
467 # Host: Solaris SPARC & UltraSPARC
468 NAT_FILE='nm-sol2.h'
281c4447 469 NATDEPFILES="${NATDEPFILES} sparc-sol2-nat.o"
e50f25ec
SDJ
470 ;;
471 esac
472 ;;
473 spu-linux)
474 case ${gdb_host_cpu} in
475 powerpc)
476 # Target: Cell BE (PowerPC64 + SPU)
477 # This implements a 'pseudo-native' GDB running on the
478 # PPU side of the Cell BE and debugging the SPU side.
479 NAT_FILE=
480 NAT_CDEPS=
481 LOADLIBES=
d7fcdff9
UW
482 NATDEPFILES='spu-linux-nat.o \
483 inf-ptrace.o fork-child.o fork-inferior.o \
21ea5acd
SDJ
484 linux-procfs.o linux-ptrace.o linux-waitpid.o \
485 linux-personality.o linux-namespaces.o'
e50f25ec
SDJ
486 ;;
487 esac
21ea5acd 488 ;;
21ea5acd 489esac
This page took 0.202539 seconds and 4 git commands to generate.