Make init.c depend on source files
[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"
e50f25ec
SDJ
168 ;;
169 mips)
170 # Host: FreeBSD/mips
171 NATDEPFILES="${NATDEPFILES} mips-fbsd-nat.o"
172 LOADLIBES=
173 ;;
174 powerpc)
175 # Native config information for GDB on PowerPC
176 # systems running FreeBSD.
177 NATDEPFILES="${NATDEPFILES} ppc-fbsd-nat.o bsd-kvm.o"
178 ;;
74792ff7
JB
179 riscv*)
180 # Host: FreeBSD/riscv
181 NATDEPFILES="${NATDEPFILES} riscv-fbsd-nat.o"
182 ;;
e50f25ec
SDJ
183 sparc)
184 # Host: FreeBSD/sparc64
185 NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc64-nat.o \
186 sparc64-fbsd-nat.o bsd-kvm.o"
187 ;;
188 esac
189 ;;
190 fbsd64)
191 case ${gdb_host_cpu} in
192 i386)
193 # Host: FreeBSD/amd64
194 NATDEPFILES="${NATDEPFILES} amd64-nat.o amd64-bsd-nat.o \
195 amd64-fbsd-nat.o bsd-kvm.o x86-nat.o x86-dregs.o x86-bsd-nat.o"
196 ;;
197 esac
198 ;;
199 go32)
200 case ${gdb_host_cpu} in
201 i386)
202 # Host: Intel x86 running DJGPP
203 # We include several header files from config/djgpp
204 MH_CFLAGS='-I$(srcdir)/config/djgpp'
205 NATDEPFILES='go32-nat.o x86-nat.o x86-dregs.o'
206 XM_CLIBS='-ldbg'
207 ;;
208 esac
209 ;;
210 i386gnu)
211 case ${gdb_host_cpu} in
212 i386)
213 # Host: Intel 386 running the GNU Hurd
214 NATDEPFILES='i386-gnu-nat.o gnu-nat.o \
21ea5acd
SDJ
215 x86-nat.o x86-dregs.o fork-child.o \
216 notify_S.o process_reply_S.o msg_reply_S.o \
217 msg_U.o exc_request_U.o exc_request_S.o'
e50f25ec 218 HAVE_NATIVE_GCORE_HOST=1
21ea5acd 219
e50f25ec
SDJ
220 NAT_FILE='nm-i386gnu.h'
221 MH_CFLAGS='-D_GNU_SOURCE'
21ea5acd 222
e50f25ec 223 XM_CLIBS='-lshouldbeinlibc'
21ea5acd 224
2b351b19 225 nat_makefile_frag="${srcdir}/config/${gdb_host_cpu}/i386gnu.mn"
e50f25ec
SDJ
226 ;;
227 esac
21ea5acd 228 ;;
e50f25ec
SDJ
229 linux)
230 case ${gdb_host_cpu} in
231 aarch64)
232 # Host: AArch64 based machine running GNU/Linux
233 NATDEPFILES="${NATDEPFILES} aarch64-linux-nat.o \
122394f1
AH
234 aarch32-linux-nat.o aarch64-linux-hw-point.o aarch64-linux.o \
235 aarch64-sve-linux-ptrace.o"
e50f25ec
SDJ
236 ;;
237 arm)
238 # Host: ARM based machine running GNU/Linux
239 NATDEPFILES="${NATDEPFILES} arm-linux-nat.o \
240 aarch32-linux-nat.o"
241 ;;
242 i386)
243 # Host: Intel 386 running GNU/Linux.
244 NATDEPFILES="${NATDEPFILES} x86-nat.o x86-dregs.o \
245 i386-linux-nat.o x86-linux-nat.o linux-btrace.o \
246 x86-linux.o x86-linux-dregs.o"
247 ;;
248 ia64)
249 # Host: Intel IA-64 running GNU/Linux
250 NATDEPFILES="${NATDEPFILES} ia64-linux-nat.o"
251 ;;
252 m32r)
253 # Host: M32R based machine running GNU/Linux
254 NATDEPFILES="${NATDEPFILES} m32r-linux-nat.o"
255 ;;
256 m68k)
257 # Host: Motorola m68k running GNU/Linux.
258 NATDEPFILES="${NATDEPFILES} m68k-linux-nat.o"
259 ;;
260 mips)
261 # Host: Linux/MIPS
6798487f
PA
262 NATDEPFILES="${NATDEPFILES} linux-nat-trad.o \
263 mips-linux-nat.o mips-linux-watch.o"
e50f25ec
SDJ
264 ;;
265 pa)
266 # Host: Hewlett-Packard PA-RISC machine, running Linux
267 NATDEPFILES="${NATDEPFILES} hppa-linux-nat.o"
268 ;;
269 powerpc)
270 # Host: PowerPC, running Linux
2e077f5e 271 NATDEPFILES="${NATDEPFILES} ppc-linux-nat.o ppc-linux.o"
e50f25ec 272 ;;
52a187f8
JW
273 riscv*)
274 # Host: RISC-V, running Linux
275 NATDEPFILES="${NATDEPFILES} riscv-linux-nat.o"
276 ;;
e50f25ec
SDJ
277 s390)
278 # Host: S390, running Linux
279 NATDEPFILES="${NATDEPFILES} s390-linux-nat.o"
280 ;;
281 sparc)
282 # Host: GNU/Linux SPARC
283 NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc-linux-nat.o"
284 ;;
285 tilegx)
286 # Host: Tilera TILE-Gx running GNU/Linux.
287 NATDEPFILES="${NATDEPFILES} tilegx-linux-nat.o"
288 NAT_CDEPS=
289 ;;
290 xtensa)
291 # Host: Xtensa, running GNU/Linux.
292 NATDEPFILES="${NATDEPFILES} xtensa-linux-nat.o"
293 ;;
294 esac
295 ;;
296 linux64)
297 case ${gdb_host_cpu} in
298 i386)
299 # Host: GNU/Linux x86-64
300 NATDEPFILES="${NATDEPFILES} x86-nat.o x86-dregs.o \
301 amd64-nat.o amd64-linux-nat.o x86-linux-nat.o linux-btrace.o \
302 x86-linux.o x86-linux-dregs.o amd64-linux-siginfo.o"
303 ;;
304 sparc)
305 # Host: GNU/Linux UltraSPARC
306 NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc64-nat.o \
307 sparc64-linux-nat.o"
308 ;;
309 esac
310 ;;
311 mingw)
312 case ${gdb_host_cpu} in
313 i386)
314 NATDEPFILES="${NATDEPFILES} i386-windows-nat.o"
315 ;;
316 esac
317 ;;
318 mingw64)
319 case ${gdb_host_cpu} in
320 i386)
321 NATDEPFILES="${NATDEPFILES} amd64-windows-nat.o"
322 ;;
323 esac
324 ;;
325 nbsd)
326 case ${gdb_host_cpu} in
327 alpha)
328 # Host: NetBSD/alpha
329 NATDEPFILES="${NATDEPFILES} alpha-bsd-nat.o bsd-kvm.o"
330 LOADLIBES='-lkvm'
331 ;;
332 mips)
333 # Host: NetBSD/mips
334 NATDEPFILES="${NATDEPFILES} mips-nbsd-nat.o"
335 ;;
336 pa)
337 # Host: NetBSD/hppa
338 NATDEPFILES="${NATDEPFILES} nbsd-nat.o hppa-nbsd-nat.o"
339 ;;
340 powerpc)
341 # Host: NetBSD/powerpc
342 NATDEPFILES="${NATDEPFILES} ppc-nbsd-nat.o bsd-kvm.o"
343 LOADLIBES='-lkvm'
344 ;;
345 sh)
346 # Host: NetBSD/sh
347 NATDEPFILES="${NATDEPFILES} sh-nbsd-nat.o"
348 ;;
349
350 esac
351 ;;
352 nbsd64)
353 case ${gdb_host_cpu} in
354 i386)
355 # Host: NetBSD/amd64
a379bfd0
JB
356 NATDEPFILES="${NATDEPFILES} nbsd-nat.o amd64-nat.o x86-nat.o \
357 x86-dregs.o x86-bsd-nat.o amd64-bsd-nat.o amd64-nbsd-nat.o"
e50f25ec
SDJ
358 ;;
359 sparc)
360 # Host: NetBSD/sparc64
361 NATDEPFILES="${NATDEPFILES} sparc64-nbsd-nat.o sparc-nat.o \
362 bsd-kvm.o"
b9c0e1b4 363 LOADLIBES='-lkvm'
e50f25ec
SDJ
364 ;;
365
366 esac
367 ;;
b9c0e1b4 368 nbsdelf)
e50f25ec
SDJ
369 case ${gdb_host_cpu} in
370 arm)
371 # Host: NetBSD/arm
372 NATDEPFILES="${NATDEPFILES} arm-nbsd-nat.o"
373 ;;
374 i386)
375 # Host: NetBSD/i386 ELF
a379bfd0
JB
376 NATDEPFILES="${NATDEPFILES} nbsd-nat.o x86-nat.o x86-dregs.o \
377 x86-bsd-nat.o i386-bsd-nat.o i386-nbsd-nat.o bsd-kvm.o"
e50f25ec
SDJ
378 LOADLIBES='-lkvm'
379 ;;
380 m68k)
381 # Host: NetBSD/m68k ELF
382 NATDEPFILES="${NATDEPFILES} m68k-bsd-nat.o bsd-kvm.o"
383 LOADLIBES='-lkvm'
384 ;;
385 sparc)
386 # Host: NetBSD/sparc ELF
387 NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc-nbsd-nat.o \
388 bsd-kvm.o"
389 LOADLIBES='-lkvm'
390 ;;
391 vax)
392 # Host: NetBSD/vax ELF
393 NATDEPFILES="${NATDEPFILES} vax-bsd-nat.o bsd-kvm.o"
394 LOADLIBES='-lkvm'
395 ;;
396
397 esac
398 ;;
399 nto)
400 case ${gdb_host_cpu} in
401 i386)
402 # Host: Intel 386 running QNX.
403 NATDEPFILES='nto-procfs.o'
404 NAT_FILE='config/nm-nto.h'
405 ;;
406 esac
407 ;;
408 obsd)
409 case ${gdb_host_cpu} in
410 i386)
411 # Host: OpenBSD/i386 ELF
412 NATDEPFILES="${NATDEPFILES} obsd-nat.o x86-bsd-nat.o \
413 i386-bsd-nat.o i386-obsd-nat.o bsd-kvm.o"
414 LOADLIBES='-lkvm'
415 ;;
416 m68k)
417 # Host: OpenBSD/m68k
418 NATDEPFILES="${NATDEPFILES} m68k-bsd-nat.o bsd-kvm.o"
419 LOADLIBES='-lkvm'
420 ;;
e50f25ec
SDJ
421 pa)
422 # Host: OpenBSD/hppa
423 NATDEPFILES="${NATDEPFILES} obsd-nat.o hppa-obsd-nat.o"
424 ;;
425 powerpc)
426 # Host: OpenBSD/powerpc
427 NATDEPFILES="${NATDEPFILES} obsd-nat.o ppc-obsd-nat.o bsd-kvm.o"
428 LOADLIBES='-lkvm'
429 ;;
430 vax)
431 # Host: OpenBSD/vax
432 NATDEPFILES="${NATDEPFILES} vax-bsd-nat.o bsd-kvm.o"
433 LOADLIBES='-lkvm'
434 ;;
435 esac
436 ;;
437 obsd64)
438 case ${gdb_host_cpu} in
439 i386)
440 # Host: OpenBSD/amd64
441 NATDEPFILES="${NATDEPFILES} obsd-nat.o amd64-nat.o \
442 x86-bsd-nat.o amd64-bsd-nat.o amd64-obsd-nat.o bsd-kvm.o"
443 LOADLIBES='-lkvm'
444 ;;
445 mips)
446 # Host: OpenBSD/mips64
447 NATDEPFILES="${NATDEPFILES} obsd-nat.o mips64-obsd-nat.o"
448 ;;
449 sparc)
450 # Host: OpenBSD/sparc64
451 NATDEPFILES="${NATDEPFILES} obsd-nat.o sparc64-obsd-nat.o \
452 sparc-nat.o bsd-kvm.o"
453 LOADLIBES='-lkvm'
454 ;;
455 esac
456 ;;
457 ppc64-linux)
458 case ${gdb_host_cpu} in
459 powerpc)
460 # Host: PowerPC64, running Linux
461 XM_CLIBS=
462 NATDEPFILES="${NATDEPFILES} ppc-linux-nat.o ppc-linux.o"
463 ;;
464 esac
465 ;;
466 sol2)
467 case ${gdb_host_cpu} in
281c4447
RO
468 i386)
469 # Host: Solaris x86_64
470 NATDEPFILES="${NATDEPFILES} \
8674be79 471 amd64-nat.o i386-sol2-nat.o"
281c4447 472 ;;
e50f25ec
SDJ
473 sparc)
474 # Host: Solaris SPARC & UltraSPARC
475 NAT_FILE='nm-sol2.h'
281c4447 476 NATDEPFILES="${NATDEPFILES} sparc-sol2-nat.o"
e50f25ec
SDJ
477 ;;
478 esac
479 ;;
480 spu-linux)
481 case ${gdb_host_cpu} in
482 powerpc)
483 # Target: Cell BE (PowerPC64 + SPU)
484 # This implements a 'pseudo-native' GDB running on the
485 # PPU side of the Cell BE and debugging the SPU side.
486 NAT_FILE=
487 NAT_CDEPS=
488 LOADLIBES=
d7fcdff9
UW
489 NATDEPFILES='spu-linux-nat.o \
490 inf-ptrace.o fork-child.o fork-inferior.o \
21ea5acd
SDJ
491 linux-procfs.o linux-ptrace.o linux-waitpid.o \
492 linux-personality.o linux-namespaces.o'
e50f25ec
SDJ
493 ;;
494 esac
21ea5acd 495 ;;
21ea5acd 496esac
This page took 0.170019 seconds and 4 git commands to generate.