aix: Add fork-inferior.o to NATDEPFILES
[external/binutils.git] / gdb / configure.nat
1 # ; -*- mode: sh ; -*-
2 # Copyright (C) 2013-2017 Free Software Foundation, Inc.
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 #
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.
43 #
44 # Notes:
45 #
46 # - To avoid shell expansion of variables, declare them with single
47 #   quotes.
48 #
49 # - nat_makefile_frag must contain the full path of the file.
50
51
52 # This first case is useful for filling default values for each
53 # gdb_host.
54 case ${gdb_host} in
55     *linux*)
56         NAT_FILE='config/nm-linux.h'
57         NATDEPFILES='inf-ptrace.o fork-child.o fork-inferior.o proc-service.o \
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'
61         NAT_CDEPS='$(srcdir)/proc-service.list'
62         LOADLIBES='-ldl $(RDYNAMIC)'
63         ;;
64     fbsd*)
65         NATDEPFILES='fork-child.o fork-inferior.o inf-ptrace.o fbsd-nat.o'
66         HAVE_NATIVE_GCORE_HOST=1
67         LOADLIBES='-lkvm'
68         ;;
69     nbsd*)
70         NATDEPFILES='fork-child.o fork-inferior.o inf-ptrace.o'
71         ;;
72     obsd*)
73         NATDEPFILES='fork-child.o fork-inferior.o inf-ptrace.o'
74         ;;
75     cygwin*)
76         NATDEPFILES='x86-nat.o x86-dregs.o windows-nat.o'
77         ;;
78     mingw*)
79         NATDEPFILES='x86-nat.o x86-dregs.o windows-nat.o'
80         ;;
81     aix)
82         NATDEPFILES='fork-inferior.o fork-child.o inf-ptrace.o'
83         ;;
84 esac
85
86 # This is where we actually filter by host and host CPU.
87 case ${gdb_host} in
88     aix)
89         case ${gdb_host_cpu} in
90             powerpc)
91                 # Host: IBM PowerPC running AIX aix-thread.o is not
92                 # listed in NATDEPFILES as it is pulled in by
93                 # configure.
94                 NATDEPFILES="${NATDEPFILES} rs6000-nat.o"
95
96                 # When compiled with cc, for debugging, this argument
97                 # should be passed.  We have no idea who our current
98                 # compiler is though, so we skip it.
99                 # MH_CFLAGS='-bnodelcsect'
100                 ;;
101         esac
102         ;;
103     alpha-linux)
104         case ${gdb_host_cpu} in
105             alpha)
106                 # Host: Little-endian Alpha running Linux
107                 NATDEPFILES="${NATDEPFILES} alpha-linux-nat.o"
108                 # doublest.c currently assumes some properties of FP arithmetic
109                 # on the host which require this.
110                 MH_CFLAGS='-mieee'
111                 ;;
112         esac
113         ;;
114     cygwin)
115         case ${gdb_host_cpu} in
116             i386)
117                 # Native config information for GDB on i386
118                 # systems running Cygwin.
119                 NATDEPFILES="${NATDEPFILES} i386-windows-nat.o"
120                 ;;
121         esac
122         ;;
123     cygwin64)
124         case ${gdb_host_cpu} in
125             i386)
126                 # Native config information for GDB on amd64
127                 # systems running Cygwin.
128                 NATDEPFILES="${NATDEPFILES} amd64-windows-nat.o"
129                 ;;
130         esac
131         ;;
132     darwin)
133         case ${gdb_host_cpu} in
134             i386)
135                 # Host: IA86 running Darwin
136                 NATDEPFILES='fork-child.o darwin-nat.o \
137                 i386-darwin-nat.o x86-nat.o x86-dregs.o amd64-nat.o \
138                 darwin-nat-info.o'
139                 ;;
140         esac
141         ;;
142     fbsd)
143         case ${gdb_host_cpu} in
144             i386)
145                 # Host: FreeBSD/i386
146                 NATDEPFILES="${NATDEPFILES} x86-nat.o x86-dregs.o \
147                 x86-bsd-nat.o i386-bsd-nat.o i386-fbsd-nat.o bsd-kvm.o"
148                 NAT_FILE='nm-fbsd.h'
149                 ;;
150             mips)
151                 # Host: FreeBSD/mips
152                 NATDEPFILES="${NATDEPFILES} mips-fbsd-nat.o"
153                 LOADLIBES=
154                 ;;
155             powerpc)
156                 # Native config information for GDB on PowerPC
157                 # systems running FreeBSD.
158                 NATDEPFILES="${NATDEPFILES} ppc-fbsd-nat.o bsd-kvm.o"
159                 ;;
160             sparc)
161                 # Host: FreeBSD/sparc64
162                 NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc64-nat.o \
163                 sparc64-fbsd-nat.o bsd-kvm.o"
164                 ;;
165         esac
166         ;;
167     fbsd64)
168         case ${gdb_host_cpu} in
169             i386)
170                 # Host: FreeBSD/amd64
171                 NATDEPFILES="${NATDEPFILES} amd64-nat.o amd64-bsd-nat.o \
172                 amd64-fbsd-nat.o bsd-kvm.o x86-nat.o x86-dregs.o x86-bsd-nat.o"
173                 ;;
174         esac
175         ;;
176     go32)
177         case ${gdb_host_cpu} in
178             i386)
179                 # Host: Intel x86 running DJGPP
180                 # We include several header files from config/djgpp
181                 MH_CFLAGS='-I$(srcdir)/config/djgpp'
182                 NATDEPFILES='go32-nat.o x86-nat.o x86-dregs.o'
183                 XM_CLIBS='-ldbg'
184                 ;;
185         esac
186         ;;
187     i386gnu)
188         case ${gdb_host_cpu} in
189             i386)
190                 # Host: Intel 386 running the GNU Hurd
191                 NATDEPFILES='i386-gnu-nat.o gnu-nat.o \
192                      x86-nat.o x86-dregs.o fork-child.o \
193                      notify_S.o process_reply_S.o msg_reply_S.o \
194                      msg_U.o exc_request_U.o exc_request_S.o'
195                 HAVE_NATIVE_GCORE_HOST=1
196
197                 NAT_FILE='nm-i386gnu.h'
198                 MH_CFLAGS='-D_GNU_SOURCE'
199
200                 XM_CLIBS='-lshouldbeinlibc'
201
202                 nat_makefile_frag="${srcdir}/config/${gdb_host_cpu}/i386gnu.mn"
203                 ;;
204         esac
205         ;;
206     i386sol2)
207         case ${gdb_host_cpu} in
208             i386)
209                 # Host: Solaris x86
210                 NATDEPFILES='fork-child.o i386-v4-nat.o i386-sol2-nat.o \
211                 procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o'
212                 HAVE_NATIVE_GCORE_HOST=1
213                 ;;
214         esac
215         ;;
216     linux)
217         case ${gdb_host_cpu} in
218             aarch64)
219                 #  Host: AArch64 based machine running GNU/Linux
220                 NATDEPFILES="${NATDEPFILES} aarch64-linux-nat.o \
221                 aarch32-linux-nat.o aarch64-linux-hw-point.o aarch64-linux.o"
222                 ;;
223             arm)
224                 # Host: ARM based machine running GNU/Linux
225                 NATDEPFILES="${NATDEPFILES} arm-linux-nat.o \
226                 aarch32-linux-nat.o"
227                 ;;
228             i386)
229                 # Host: Intel 386 running GNU/Linux.
230                 NATDEPFILES="${NATDEPFILES} x86-nat.o x86-dregs.o \
231                 i386-linux-nat.o x86-linux-nat.o linux-btrace.o \
232                 x86-linux.o x86-linux-dregs.o"
233                 ;;
234             ia64)
235                 # Host: Intel IA-64 running GNU/Linux
236                 NATDEPFILES="${NATDEPFILES} ia64-linux-nat.o"
237                 ;;
238             m32r)
239                 # Host: M32R based machine running GNU/Linux
240                 NATDEPFILES="${NATDEPFILES} m32r-linux-nat.o"
241                 ;;
242             m68k)
243                 # Host: Motorola m68k running GNU/Linux.
244                 NATDEPFILES="${NATDEPFILES} m68k-linux-nat.o"
245                 ;;
246             mips)
247                 # Host: Linux/MIPS
248                 NATDEPFILES="${NATDEPFILES} mips-linux-nat.o \
249                 mips-linux-watch.o"
250                 ;;
251             pa)
252                 # Host: Hewlett-Packard PA-RISC machine, running Linux
253                 NATDEPFILES="${NATDEPFILES} hppa-linux-nat.o"
254                 ;;
255             powerpc)
256                 # Host: PowerPC, running Linux
257                 NATDEPFILES="${NATDEPFILES} ppc-linux-nat.o"
258                 ;;
259             s390)
260                 # Host: S390, running Linux
261                 NATDEPFILES="${NATDEPFILES} s390-linux-nat.o"
262                 ;;
263             sparc)
264                 # Host: GNU/Linux SPARC
265                 NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc-linux-nat.o"
266                 ;;
267             tilegx)
268                 # Host: Tilera TILE-Gx running GNU/Linux.
269                 NATDEPFILES="${NATDEPFILES} tilegx-linux-nat.o"
270                 NAT_CDEPS=
271                 ;;
272             xtensa)
273                 # Host: Xtensa, running GNU/Linux.
274                 NATDEPFILES="${NATDEPFILES} xtensa-linux-nat.o"
275                 ;;
276         esac
277         ;;
278     linux64)
279         case ${gdb_host_cpu} in
280             i386)
281                 # Host: GNU/Linux x86-64
282                 NATDEPFILES="${NATDEPFILES} x86-nat.o x86-dregs.o \
283                 amd64-nat.o amd64-linux-nat.o x86-linux-nat.o linux-btrace.o \
284                 x86-linux.o x86-linux-dregs.o amd64-linux-siginfo.o"
285                 ;;
286             sparc)
287                 # Host: GNU/Linux UltraSPARC
288                 NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc64-nat.o \
289                 sparc64-linux-nat.o"
290                 ;;
291         esac
292         ;;
293     mingw)
294         case ${gdb_host_cpu} in
295             i386)
296                 NATDEPFILES="${NATDEPFILES} i386-windows-nat.o"
297                 ;;
298         esac
299         ;;
300     mingw64)
301         case ${gdb_host_cpu} in
302             i386)
303                 NATDEPFILES="${NATDEPFILES} amd64-windows-nat.o"
304                 ;;
305         esac
306         ;;
307     nbsd)
308         case ${gdb_host_cpu} in
309             alpha)
310                 # Host: NetBSD/alpha
311                 NATDEPFILES="${NATDEPFILES} alpha-bsd-nat.o bsd-kvm.o"
312                 LOADLIBES='-lkvm'
313                 ;;
314             mips)
315                 # Host: NetBSD/mips
316                 NATDEPFILES="${NATDEPFILES} mips-nbsd-nat.o"
317                 ;;
318             pa)
319                 # Host: NetBSD/hppa
320                 NATDEPFILES="${NATDEPFILES} nbsd-nat.o hppa-nbsd-nat.o"
321                 ;;
322             powerpc)
323                 # Host: NetBSD/powerpc
324                 NATDEPFILES="${NATDEPFILES} ppc-nbsd-nat.o bsd-kvm.o"
325                 LOADLIBES='-lkvm'
326                 ;;
327             sh)
328                 # Host: NetBSD/sh
329                 NATDEPFILES="${NATDEPFILES} sh-nbsd-nat.o"
330                 ;;
331
332         esac
333         ;;
334     nbsd64)
335         case ${gdb_host_cpu} in
336             i386)
337                 # Host: NetBSD/amd64
338                 NATDEPFILES="${NATDEPFILES} nbsd-nat.o amd64-nat.o \
339                 x86-bsd-nat.o amd64-bsd-nat.o amd64-nbsd-nat.o"
340                 ;;
341             sparc)
342                 # Host: NetBSD/sparc64
343                 NATDEPFILES="${NATDEPFILES} sparc64-nbsd-nat.o sparc-nat.o \
344                 bsd-kvm.o"
345                 ;;
346
347         esac
348         ;;
349     nbdself)
350         case ${gdb_host_cpu} in
351             arm)
352                 # Host: NetBSD/arm
353                 NATDEPFILES="${NATDEPFILES} arm-nbsd-nat.o"
354                 ;;
355             i386)
356                 # Host: NetBSD/i386 ELF
357                 NATDEPFILES="${NATDEPFILES} nbsd-nat.o x86-bsd-nat.o \
358                 i386-bsd-nat.o i386-nbsd-nat.o bsd-kvm.o"
359                 LOADLIBES='-lkvm'
360                 ;;
361             m68k)
362                 # Host: NetBSD/m68k ELF
363                 NATDEPFILES="${NATDEPFILES} m68k-bsd-nat.o bsd-kvm.o"
364                 LOADLIBES='-lkvm'
365                 ;;
366             sparc)
367                 # Host: NetBSD/sparc ELF
368                 NATDEPFILES="${NATDEPFILES} sparc-nat.o sparc-nbsd-nat.o \
369                 bsd-kvm.o"
370                 LOADLIBES='-lkvm'
371                 ;;
372             vax)
373                 # Host: NetBSD/vax ELF
374                 NATDEPFILES="${NATDEPFILES} vax-bsd-nat.o bsd-kvm.o"
375                 LOADLIBES='-lkvm'
376                 ;;
377
378         esac
379         ;;
380     nto)
381         case ${gdb_host_cpu} in
382             i386)
383                 # Host: Intel 386 running QNX.
384                 NATDEPFILES='nto-procfs.o'
385                 NAT_FILE='config/nm-nto.h'
386                 ;;
387         esac
388         ;;
389     obsd)
390         case ${gdb_host_cpu} in
391             i386)
392                 # Host: OpenBSD/i386 ELF
393                 NATDEPFILES="${NATDEPFILES} obsd-nat.o x86-bsd-nat.o \
394                 i386-bsd-nat.o i386-obsd-nat.o bsd-kvm.o"
395                 LOADLIBES='-lkvm'
396                 ;;
397             m68k)
398                 # Host: OpenBSD/m68k
399                 NATDEPFILES="${NATDEPFILES} m68k-bsd-nat.o bsd-kvm.o"
400                 LOADLIBES='-lkvm'
401                 ;;
402             m88k)
403                 # Host: OpenBSD/m88k
404                 NATDEPFILES="${NATDEPFILES} m88k-bsd-nat.o"
405                 ;;
406             pa)
407                 # Host: OpenBSD/hppa
408                 NATDEPFILES="${NATDEPFILES} obsd-nat.o hppa-obsd-nat.o"
409                 ;;
410             powerpc)
411                 # Host: OpenBSD/powerpc
412                 NATDEPFILES="${NATDEPFILES} obsd-nat.o ppc-obsd-nat.o bsd-kvm.o"
413                 LOADLIBES='-lkvm'
414                 ;;
415             vax)
416                 # Host: OpenBSD/vax
417                 NATDEPFILES="${NATDEPFILES} vax-bsd-nat.o bsd-kvm.o"
418                 LOADLIBES='-lkvm'
419                 ;;
420         esac
421         ;;
422     obsd64)
423         case ${gdb_host_cpu} in
424             i386)
425                 # Host: OpenBSD/amd64
426                 NATDEPFILES="${NATDEPFILES} obsd-nat.o amd64-nat.o \
427                 x86-bsd-nat.o amd64-bsd-nat.o amd64-obsd-nat.o bsd-kvm.o"
428                 LOADLIBES='-lkvm'
429                 ;;
430             mips)
431                 # Host: OpenBSD/mips64
432                 NATDEPFILES="${NATDEPFILES} obsd-nat.o mips64-obsd-nat.o"
433                 ;;
434             sparc)
435                 # Host: OpenBSD/sparc64
436                 NATDEPFILES="${NATDEPFILES} obsd-nat.o sparc64-obsd-nat.o \
437                 sparc-nat.o bsd-kvm.o"
438                 LOADLIBES='-lkvm'
439                 ;;
440         esac
441         ;;
442     ppc64-linux)
443         case ${gdb_host_cpu} in
444             powerpc)
445                 # Host: PowerPC64, running Linux
446                 XM_CLIBS=
447                 NATDEPFILES="${NATDEPFILES} ppc-linux-nat.o ppc-linux.o"
448                 ;;
449         esac
450         ;;
451     sol2)
452         case ${gdb_host_cpu} in
453             sparc)
454                 # Host: Solaris SPARC & UltraSPARC
455                 NAT_FILE='nm-sol2.h'
456                 NATDEPFILES='sparc-sol2-nat.o \
457                 fork-child.o \
458                 procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o'
459                 HAVE_NATIVE_GCORE_HOST=1
460                 ;;
461         esac
462         ;;
463     sol2-64)
464         case ${gdb_host_cpu} in
465             i386)
466                 # Host: Solaris x86_64
467                 NATDEPFILES='fork-child.o amd64-nat.o i386-v4-nat.o i386-sol2-nat.o \
468                 procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o'
469                 HAVE_NATIVE_GCORE_HOST=1
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=
482                 NATDEPFILES='spu-linux-nat.o fork-child.o inf-ptrace.o \
483                       linux-procfs.o linux-ptrace.o linux-waitpid.o \
484                       linux-personality.o linux-namespaces.o'
485                 ;;
486         esac
487         ;;
488 esac