packaging: Add python3-base dependency
[platform/upstream/gdb.git] / gdb / configure.ac
1 dnl Autoconf configure script for GDB, the GNU debugger.
2 dnl Copyright (C) 1995-2023 Free Software Foundation, Inc.
3 dnl
4 dnl This file is part of GDB.
5 dnl
6 dnl This program is free software; you can redistribute it and/or modify
7 dnl it under the terms of the GNU General Public License as published by
8 dnl the Free Software Foundation; either version 3 of the License, or
9 dnl (at your option) any later version.
10 dnl
11 dnl This program is distributed in the hope that it will be useful,
12 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
13 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 dnl GNU General Public License for more details.
15 dnl
16 dnl You should have received a copy of the GNU General Public License
17 dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
19 dnl Process this file with autoconf to produce a configure script.
20
21 AC_INIT
22 AC_CONFIG_MACRO_DIRS([.. ../config])
23 AC_CONFIG_SRCDIR([main.c])
24 AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
25 AM_MAINTAINER_MODE
26
27 AC_PROG_CC
28 AC_PROG_CXX
29
30 AC_USE_SYSTEM_EXTENSIONS
31 ACX_LARGEFILE
32 AM_PROG_INSTALL_STRIP
33
34 AC_CONFIG_AUX_DIR(..)
35
36 # Set build, build_cpu, build_vendor and build_os.
37 AC_CANONICAL_BUILD
38
39 # Set host, host_cpu, host_vendor, and host_os.
40 AC_CANONICAL_HOST
41
42 # Set target, target_cpu, target_vendor, and target_os.
43 AC_CANONICAL_TARGET
44
45 ACX_NONCANONICAL_TARGET
46
47 AC_ARG_PROGRAM
48
49 # We require libtool to link with the in-tree libtool libraries
50 # the proper way.
51 LT_INIT
52 # ... and we need it soon, since it is used by some of the
53 # link tests in the configure script.
54 LT_OUTPUT
55
56 # We require a C++11 compiler.  Check if one is available, and if
57 # necessary, set CXX_DIALECT to some -std=xxx switch.
58 AX_CXX_COMPILE_STDCXX(11, , mandatory)
59
60 # Dependency checking.
61 ZW_CREATE_DEPDIR
62 ZW_PROG_COMPILER_DEPENDENCIES([CC])
63
64 dnl List of object files and targets accumulated by configure.
65
66 CONFIG_OBS=
67 CONFIG_DEPS=
68 CONFIG_SRCS=
69 ENABLE_CFLAGS=
70
71 CONFIG_ALL=
72 CONFIG_CLEAN=
73 CONFIG_INSTALL=
74 CONFIG_UNINSTALL=
75
76 dnl Set up for gettext.
77 ZW_GNU_GETTEXT_SISTER_DIR
78
79 localedir='${datadir}/locale'
80 AC_SUBST(localedir)
81
82 if test x"$USE_NLS" = xyes; then
83    CONFIG_ALL="$CONFIG_ALL all-po"
84    CONFIG_CLEAN="$CONFIG_CLEAN clean-po"
85    CONFIG_INSTALL="$CONFIG_INSTALL install-po"
86    CONFIG_UNINSTALL="$CONFIG_UNINSTALL uninstall-po"
87 fi
88
89 PACKAGE=gdb
90 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package. ])
91 AC_SUBST(PACKAGE)
92
93 # We never need to detect it in this sub-configure.
94 # But preserve it for config.status --recheck.
95 AC_ARG_VAR(MAKEINFO,
96   [Parent configure detects if it is of sufficient version.])
97 AC_ARG_VAR(MAKEINFOFLAGS,
98   [Parameters for MAKEINFO.])
99
100 MAKEINFO_EXTRA_FLAGS=""
101 AC_CACHE_CHECK([whether $MAKEINFO supports @click], gdb_cv_have_makeinfo_click,
102   [echo '@clicksequence{a @click{} b}' >conftest.texinfo
103   if eval "$MAKEINFO conftest.texinfo >&5 2>&5"; then
104     gdb_cv_have_makeinfo_click=yes
105   else
106     gdb_cv_have_makeinfo_click=no
107   fi])
108 if test x"$gdb_cv_have_makeinfo_click" = xyes; then
109   MAKEINFO_EXTRA_FLAGS="$MAKEINFO_EXTRA_FLAGS -DHAVE_MAKEINFO_CLICK"
110 fi
111 AC_SUBST(MAKEINFO_EXTRA_FLAGS)
112
113 GDB_AC_WITH_DIR(DEBUGDIR, separate-debug-dir,
114     [look for global separate debug info in this path @<:@LIBDIR/debug@:>@],
115     [${libdir}/debug])
116
117 # We can't pass paths as command line arguments.
118 # Mingw32 tries to be clever and will convert the paths for us.
119 # For example -DBINDIR="/usr/local/bin" passed on the command line may get
120 # converted to -DBINDIR="E:/msys/mingw32/msys/1.0/local/bin".
121 # This breaks GDB's relocatable path conversions since paths passed in
122 # config.h would not get so translated, the path prefixes no longer match.
123 AC_DEFINE_DIR(BINDIR, bindir, [Directory of programs.])
124
125 # GDB's datadir relocation
126
127 GDB_AC_WITH_DIR(GDB_DATADIR, gdb-datadir,
128     [look for global separate data files in this path @<:@DATADIR/gdb@:>@],
129     [${datadir}/gdb])
130
131 AC_ARG_WITH(relocated-sources,
132 AS_HELP_STRING([--with-relocated-sources=PATH], [automatically relocate this path for source files]),
133 [reloc_srcdir="${withval}"
134  AC_DEFINE_DIR(RELOC_SRCDIR, reloc_srcdir,
135               [Relocated directory for source files. ])
136 ])
137
138 AC_MSG_CHECKING([for default auto-load directory])
139 AC_ARG_WITH(auto-load-dir,
140 AS_HELP_STRING([--with-auto-load-dir=PATH],
141   [directories from which to load auto-loaded scripts @<:@$debugdir:$datadir/auto-load@:>@]),,
142   [with_auto_load_dir='$debugdir:$datadir/auto-load'])
143 escape_dir=`echo $with_auto_load_dir | sed -e 's/[[$]]datadir\>/\\\\\\\\\\\\&/g' -e 's/[[$]]debugdir\>/\\\\\\\\\\\\&/g'`
144 AC_DEFINE_DIR(AUTO_LOAD_DIR, escape_dir,
145               [Directories from which to load auto-loaded scripts.])
146 AC_MSG_RESULT([$with_auto_load_dir])
147
148 AC_MSG_CHECKING([for default auto-load safe-path])
149 AC_ARG_WITH(auto-load-safe-path,
150 AS_HELP_STRING([--with-auto-load-safe-path=PATH],
151   [directories safe to hold auto-loaded files @<:@--with-auto-load-dir@:>@])
152 AS_HELP_STRING([--without-auto-load-safe-path],
153                [do not restrict auto-loaded files locations]),
154     [if test "$with_auto_load_safe_path" = "no"; then
155      with_auto_load_safe_path="/"
156      fi],
157 [with_auto_load_safe_path="$with_auto_load_dir"])
158 escape_dir=`echo $with_auto_load_safe_path | sed -e 's/[[$]]datadir\>/\\\\\\\\\\\\&/g' -e 's/[[$]]debugdir\>/\\\\\\\\\\\\&/g'`
159 AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escape_dir,
160               [Directories safe to hold auto-loaded files.])
161 AC_MSG_RESULT([$with_auto_load_safe_path])
162
163 AC_CONFIG_SUBDIRS(testsuite)
164
165 # Check whether to support alternative target configurations
166 AC_ARG_ENABLE(targets,
167 AS_HELP_STRING([--enable-targets=TARGETS], [alternative target configurations]),
168 [case "${enableval}" in
169   yes | "") AC_MSG_ERROR(enable-targets option must specify target names or 'all')
170             ;;
171   no)       enable_targets= ;;
172   *)        enable_targets=$enableval ;;
173 esac])
174
175 BFD_64_BIT
176
177 # Provide defaults for some variables set by the per-host and per-target
178 # configuration.
179 gdb_host_obs=posix-hdep.o
180
181 if test "${target}" = "${host}"; then
182   gdb_native=yes
183 else
184   gdb_native=no
185 fi
186
187 . $srcdir/configure.host
188
189 # Accumulate some settings from configure.tgt over all enabled targets
190
191 TARGET_OBS=
192 all_targets=
193 HAVE_NATIVE_GCORE_TARGET=
194
195 for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'`
196 do
197   if test "$targ_alias" = "all"; then
198     all_targets=true
199   else
200     # Canonicalize the secondary target names.
201     result=`$ac_config_sub $targ_alias 2>/dev/null`
202     if test -n "$result"; then
203         targ=$result
204     else
205         targ=$targ_alias
206     fi
207
208     . ${srcdir}/configure.tgt
209
210     AS_IF([test -z "${gdb_target_obs}"],
211       [AC_MSG_ERROR([configuration ${targ} is unsupported.])])
212
213     # Target-specific object files
214     for i in ${gdb_target_obs}; do
215         case " $TARGET_OBS " in
216         *" ${i} "*) ;;
217         *)
218           TARGET_OBS="$TARGET_OBS ${i}"
219           ;;
220         esac
221     done
222
223     # Check whether this target needs 64-bit CORE_ADDR
224     if test x${enable_64_bit_bfd} = xno; then
225       . ${srcdir}/../bfd/config.bfd
226     fi
227
228     # Check whether this target is native and supports gcore.
229     if test $gdb_native = yes -a "$targ_alias" = "$target_alias" \
230        && $gdb_have_gcore; then
231       HAVE_NATIVE_GCORE_TARGET=1
232     fi
233   fi
234 done
235
236 if test x${all_targets} = xtrue; then
237   if test x${enable_64_bit_bfd} = xyes; then
238     TARGET_OBS='$(ALL_TARGET_OBS) $(ALL_64_TARGET_OBS)'
239   else
240     TARGET_OBS='$(ALL_TARGET_OBS)'
241   fi
242 fi
243
244 AC_SUBST(TARGET_OBS)
245 AC_SUBST(HAVE_NATIVE_GCORE_TARGET)
246
247 # For other settings, only the main target counts.
248 gdb_sim=
249 gdb_osabi=
250 targ=$target; . ${srcdir}/configure.tgt
251
252 # Fetch the default architecture and default target vector from BFD.
253 targ=$target; . $srcdir/../bfd/config.bfd
254
255 # We only want the first architecture, so strip off the others if
256 # there is more than one.
257 targ_archs=`echo $targ_archs | sed 's/ .*//'`
258
259 if test "x$targ_archs" != x; then
260   AC_DEFINE_UNQUOTED(DEFAULT_BFD_ARCH, $targ_archs,
261     [Define to BFD's default architecture. ])
262 fi
263 if test "x$targ_defvec" != x; then
264   AC_DEFINE_UNQUOTED(DEFAULT_BFD_VEC, $targ_defvec,
265     [Define to BFD's default target vector. ])
266 fi
267
268 # Enable MI.
269 AC_ARG_ENABLE([gdbmi],
270               [AS_HELP_STRING([--disable-gdbmi], [disable machine-interface (MI)])],
271               [GDB_CHECK_YES_NO_VAL([$enableval], [--enable-gdbmi])],
272               [enable_gdbmi=yes])
273 if test x"$enable_gdbmi" = xyes; then
274   if test -d "$srcdir/mi"; then
275     CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_MI_OBS)"
276     CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_MI_DEPS)"
277     CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_MI_SRCS)"
278     ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_MI_CFLAGS)"
279   fi
280 fi
281
282 # Enable TUI.
283 AC_ARG_ENABLE(tui,
284 AS_HELP_STRING([--enable-tui],
285                [enable full-screen terminal user interface (TUI)]),
286                [GDB_CHECK_YES_NO_AUTO_VAL([$enableval], [--enable-tui])],
287                [enable_tui=auto])
288
289 # Enable gdbtk.
290 AC_ARG_ENABLE([gdbtk],
291               [AS_HELP_STRING([--enable-gdbtk], [enable gdbtk graphical user interface (GUI)])],
292               [GDB_CHECK_YES_NO_VAL([$enableval], [--enable-gdbtk])],
293               [if test -d "$srcdir/gdbtk"; then
294                  enable_gdbtk=yes
295                else
296                  enable_gdbtk=no
297                fi])
298 # We unconditionally disable gdbtk tests on selected platforms.
299 case $host_os in
300   go32* | windows*)
301     AC_MSG_WARN([gdbtk isn't supported on $host; disabling])
302     enable_gdbtk=no ;;
303 esac
304
305 # Handle optional debuginfod support
306 AC_DEBUGINFOD
307
308 # Libunwind support for ia64.
309 AC_ARG_WITH(libunwind-ia64,
310 AS_HELP_STRING([--with-libunwind-ia64],
311                [use libunwind frame unwinding for ia64 targets]),,
312             [with_libunwind_ia64=auto])
313
314 # Backward compatibility option.
315 if test "${with_libunwind+set}" = set; then
316   if test x"$with_libunwind_ia64" != xauto; then
317     AC_MSG_ERROR(
318       [option --with-libunwind is deprecated, use --with-libunwind-ia64])
319   fi
320   AC_MSG_WARN([option --with-libunwind is deprecated, use --with-libunwind-ia64])
321   with_libunwind_ia64="$with_libunwind"
322 fi
323
324 case "$with_libunwind_ia64" in
325   yes | no)
326     ;;
327   auto)
328     AC_CHECK_HEADERS(libunwind-ia64.h)
329     with_libunwind_ia64=$ac_cv_header_libunwind_ia64_h
330     ;;
331   *)
332     AC_MSG_ERROR(
333       [bad value $with_libunwind_ia64 for GDB --with-libunwind-ia64 option])
334     ;;
335 esac
336
337 if test x"$with_libunwind_ia64" = xyes; then
338   AC_CHECK_HEADERS(libunwind-ia64.h)
339   if test x"$ac_cv_header_libunwind_ia64_h" != xyes; then
340     AC_MSG_ERROR([GDB option --with-libunwind-ia64 requires libunwind-ia64.h])
341   fi
342   CONFIG_OBS="$CONFIG_OBS ia64-libunwind-tdep.o"
343   CONFIG_DEPS="$CONFIG_DEPS ia64-libunwind-tdep.o"
344   CONFIG_SRCS="$CONFIG_SRCS ia64-libunwind-tdep.c"
345 fi
346
347 opt_curses=no
348 AC_ARG_WITH(curses, AS_HELP_STRING([--with-curses], [use the curses library instead of the termcap library]), opt_curses=$withval)
349
350 prefer_curses=no
351 if test "$opt_curses" = "yes"; then
352   prefer_curses=yes
353 fi
354
355 # Profiling support.
356 AC_ARG_ENABLE([profiling],
357               [AS_HELP_STRING([--enable-profiling], [enable profiling of GDB])],
358               [GDB_CHECK_YES_NO_VAL([$enableval], [--enable-profiling])],
359               [enable_profiling=no])
360
361 AC_CHECK_FUNCS(monstartup _mcleanup)
362 AC_CACHE_CHECK(
363   [for _etext],
364   [ac_cv_var__etext],
365   [AC_LINK_IFELSE(
366      [AC_LANG_PROGRAM(
367         [#include <stdlib.h>
368          extern char _etext;],
369         [free (&_etext);]
370       )],
371      [ac_cv_var__etext=yes],
372      [ac_cv_var__etext=no]
373    )]
374 )
375 if test "$ac_cv_var__etext" = yes; then
376   AC_DEFINE(HAVE__ETEXT, 1,
377             [Define to 1 if your system has the _etext variable. ])
378 fi
379 AC_CACHE_CHECK(
380   [for etext],
381   [ac_cv_var_etext],
382   [AC_LINK_IFELSE(
383      [AC_LANG_PROGRAM(
384         [#include <stdlib.h>
385          extern char etext;],
386         [free (&etext);]
387       )],
388      [ac_cv_var_etext=yes],
389      [ac_cv_var_etext=no]
390    )]
391 )
392 if test "$ac_cv_var_etext" = yes; then
393   AC_DEFINE(HAVE_ETEXT, 1,
394             [Define to 1 if your system has the etext variable. ])
395 fi
396 if test "$enable_profiling" = yes ; then
397   if test "$ac_cv_func_monstartup" = no || test "$ac_cv_func__mcleanup" = no; then
398     AC_MSG_ERROR(--enable-profiling requires monstartup and _mcleanup)
399   fi
400   PROFILE_CFLAGS=-pg
401   OLD_CFLAGS="$CFLAGS"
402   CFLAGS="$CFLAGS $PROFILE_CFLAGS"
403
404   AC_CACHE_CHECK(
405     [whether $CC supports -pg],
406     [ac_cv_cc_supports_pg],
407     [AC_COMPILE_IFELSE(
408        [AC_LANG_PROGRAM([], [int x;])],
409        [ac_cv_cc_supports_pg=yes],
410        [ac_cv_cc_supports_pg=no]
411      )]
412   )
413
414   if test "$ac_cv_cc_supports_pg" = no; then
415     AC_MSG_ERROR(--enable-profiling requires a compiler which supports -pg)
416   fi
417
418   CFLAGS="$OLD_CFLAGS"
419 fi
420
421 CODESIGN_CERT=
422 AC_ARG_ENABLE([codesign],
423   AS_HELP_STRING([--enable-codesign=CERT],
424                  [sign gdb with 'codesign -s CERT']),
425   [CODESIGN_CERT=$enableval])
426 AC_SUBST([CODESIGN_CERT])
427
428 ACX_PKGVERSION([GDB])
429 ACX_BUGURL([https://www.gnu.org/software/gdb/bugs/])
430 AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description])
431 AC_DEFINE_UNQUOTED([REPORT_BUGS_TO], ["$REPORT_BUGS_TO"], [Bug reporting address])
432
433 # --------------------- #
434 # Checks for programs.  #
435 # --------------------- #
436
437 AC_PROG_AWK
438 AC_PROG_INSTALL
439 AC_PROG_LN_S
440 AC_PROG_RANLIB
441 AC_PROG_YACC
442
443 AC_CHECK_TOOL(AR, ar)
444 AC_CHECK_TOOL(DLLTOOL, dlltool)
445 AC_CHECK_TOOL(WINDRES, windres)
446
447 case $host_os in
448   gnu*)
449     # Needed for GNU Hurd hosts.
450     AC_CHECK_TOOL(MIG, mig)
451     if test x"$MIG" = x; then
452       AC_MSG_ERROR([MIG not found but required for $host hosts])
453     fi
454     ;;
455 esac
456
457 # ---------------------- #
458 # Checks for libraries.  #
459 # ---------------------- #
460
461 # We might need to link with -lm; most simulators need it.
462 AC_CHECK_LIB(m, main)
463
464 # Some systems (e.g. Solaris) have `gethostbyname' in libnsl.
465 AC_SEARCH_LIBS(gethostbyname, nsl)
466
467 # Some systems (e.g. Solaris) have `socketpair' in libsocket.
468 AC_SEARCH_LIBS(socketpair, socket)
469
470 # Link in zlib/zstd if we can.  This allows us to read compressed debug
471 # sections.
472 AM_ZLIB
473 AC_ZSTD
474
475 AM_ICONV
476
477 # GDB may fork/exec the iconv program to get the list of supported character
478 # sets.  Allow the user to specify where to find it.
479 # There are several factors affecting the choice of option name:
480 # - There is already --with-libiconv-prefix but we can't use it, it specifies
481 #   the build-time location of libiconv files.
482 # - The program we need to find is iconv, which comes with glibc.  The user
483 #   doesn't necessarily have libiconv installed.  Therefore naming this
484 #   --with-libiconv-foo feels wrong.
485 # - We want the path to be relocatable, but GDB_AC_DEFINE_RELOCATABLE is
486 #   defined to work on directories not files (though it really doesn't know
487 #   the difference).
488 # - Calling this --with-iconv-prefix is perceived to cause too much confusion
489 #   with --with-libiconv-prefix.
490 # Putting these together is why the option name is --with-iconv-bin.
491
492 AC_ARG_WITH(iconv-bin,
493 AS_HELP_STRING([--with-iconv-bin=PATH], [specify where to find the iconv program]),
494 [iconv_bin="${withval}"
495  AC_DEFINE_UNQUOTED([ICONV_BIN], ["${iconv_bin}"],
496                     [Path of directory of iconv program.])
497  GDB_AC_DEFINE_RELOCATABLE(ICONV_BIN, iconv, ${iconv_bin})
498 ])
499
500 # For the TUI, we need enhanced curses functionality.
501 if test x"$enable_tui" != xno; then
502   prefer_curses=yes
503 fi
504
505 curses_found=no
506 if test x"$prefer_curses" = xyes; then
507   # FIXME: kettenis/20040905: We prefer ncurses over the vendor-supplied
508   # curses library because the latter might not provide all the
509   # functionality we need.  However, this leads to problems on systems
510   # where the linker searches /usr/local/lib, but the compiler doesn't
511   # search /usr/local/include, if ncurses is installed in /usr/local.  A
512   # default installation of ncurses on alpha*-dec-osf* will lead to such
513   # a situation.
514   AC_SEARCH_LIBS(waddstr, [ncursesw ncurses cursesX curses])
515
516   if test "$ac_cv_search_waddstr" != no; then
517     curses_found=yes
518   fi
519 fi
520
521 # Check whether we should enable the TUI, but only do so if we really
522 # can.
523 if test x"$enable_tui" != xno; then
524   if test -d "$srcdir/tui"; then
525     if test "$curses_found" != no; then
526       CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)"
527       CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
528       CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
529       ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_TUI_CFLAGS)"
530     else
531       if test x"$enable_tui" = xyes; then
532         AC_MSG_ERROR([no enhanced curses library found; disable TUI])
533       else
534         AC_MSG_WARN([no enhanced curses library found; disabling TUI])
535       fi
536     fi
537   fi
538 fi
539
540 # Since GDB uses Readline, we need termcap functionality.  In many
541 # cases this will be provided by the curses library, but some systems
542 # have a separate termcap library, or no curses library at all.
543
544 case $host_os in
545   cygwin*)
546     if test -d "$srcdir/libtermcap"; then
547       LIBS="../libtermcap/libtermcap.a $LIBS"
548       ac_cv_search_tgetent="../libtermcap/libtermcap.a"
549     fi ;;
550   go32* | *djgpp*)
551     ac_cv_search_tgetent="none required"
552     ;;
553 esac
554
555 # These are the libraries checked by Readline.
556 AC_SEARCH_LIBS(tgetent, [termcap tinfow tinfo curses ncursesw ncurses])
557
558 if test "$ac_cv_search_tgetent" = no; then
559   CONFIG_OBS="$CONFIG_OBS stub-termcap.o"
560 fi
561
562 AC_ARG_WITH([system-readline],
563   [AS_HELP_STRING([--with-system-readline],
564                   [use installed readline library])])
565
566 if test "$with_system_readline" = yes; then
567   AC_CHECK_HEADERS(readline/readline.h, [readline_h=yes], [readline_h=no])
568   if test "$readline_h" = "no"; then
569     AC_MSG_ERROR([readline development packages are probably missing])
570   fi
571   AC_CACHE_CHECK(
572     [whether system readline is new enough],
573     [gdb_cv_readline_ok],
574     [AC_COMPILE_IFELSE(
575        [AC_LANG_PROGRAM(
576           [#include <stdio.h>
577            #include <readline/readline.h>],
578           [#if RL_VERSION_MAJOR < 7
579            # error "readline version 7 required"
580            #endif]
581         )],
582        [gdb_cv_readline_ok=yes],
583        [gdb_cv_readline_ok=no]
584      )]
585   )
586   if test "$gdb_cv_readline_ok" != yes; then
587     AC_MSG_ERROR([system readline is not new enough])
588   fi
589
590   READLINE=-lreadline
591   READLINE_DEPS=
592   READLINE_CFLAGS=
593   READLINE_TEXI_INCFLAG=
594   READLINE_DOC_SOURCE_INCLUDES='$(READLINE_SYSTEM_DOC_INCLUDES)'
595 else
596   READLINE='$(READLINE_DIR)/libreadline.a'
597   READLINE_DEPS='$(READLINE)'
598   READLINE_CFLAGS='-I$(READLINE_SRC)/..'
599   READLINE_TEXI_INCFLAG='-I $(READLINE_DIR)'
600   READLINE_DOC_SOURCE_INCLUDES='$(READLINE_INTREE_DOC_INCLUDES)'
601 fi
602 AC_SUBST(READLINE)
603 AC_SUBST(READLINE_DEPS)
604 AC_SUBST(READLINE_CFLAGS)
605 AC_SUBST(READLINE_TEXI_INCFLAG)
606 AC_SUBST(READLINE_DOC_SOURCE_INCLUDES)
607
608 # Generate jit-reader.h
609
610 # This is typedeffed to GDB_CORE_ADDR in jit-reader.h
611 TARGET_PTR=
612
613 AC_CHECK_SIZEOF(unsigned long long)
614 AC_CHECK_SIZEOF(unsigned long)
615 AC_CHECK_SIZEOF(unsigned __int128)
616
617 if test "x${ac_cv_sizeof_unsigned_long}" = "x8"; then
618   TARGET_PTR="unsigned long"
619 elif test "x${ac_cv_sizeof_unsigned_long_long}" = "x8"; then
620   TARGET_PTR="unsigned long long"
621 elif test "x${ac_cv_sizeof_unsigned___int128}" = "x16"; then
622   TARGET_PTR="unsigned __int128"
623 else
624   TARGET_PTR="unsigned long"
625 fi
626
627 AC_SUBST(TARGET_PTR)
628 AC_CONFIG_FILES([jit-reader.h:jit-reader.in])
629
630 AC_SEARCH_LIBS(dlopen, dl)
631
632 GDB_AC_WITH_DIR([JIT_READER_DIR], [jit-reader-dir],
633                 [directory to load the JIT readers from],
634                 [${libdir}/gdb])
635
636 AC_ARG_WITH(expat,
637   AS_HELP_STRING([--with-expat], [include expat support (auto/yes/no)]),
638   [], [with_expat=auto])
639 AC_MSG_CHECKING([whether to use expat])
640 AC_MSG_RESULT([$with_expat])
641
642 if test "${with_expat}" = no; then
643   AC_MSG_WARN([expat support disabled; some features may be unavailable.])
644   HAVE_LIBEXPAT=no
645 else
646   AC_LIB_HAVE_LINKFLAGS([expat], [], [#include "expat.h"],
647                         [XML_Parser p = XML_ParserCreate (0);])
648   if test "$HAVE_LIBEXPAT" != yes; then
649     if test "$with_expat" = yes; then
650       AC_MSG_ERROR([expat is missing or unusable])
651     else
652       AC_MSG_WARN([expat is missing or unusable; some features may be unavailable.])
653     fi
654   else
655     save_LIBS=$LIBS
656     LIBS="$LIBS $LIBEXPAT"
657     AC_CHECK_FUNCS(XML_StopParser)
658     LIBS=$save_LIBS
659   fi
660 fi
661
662 # Verify that we have a usable GMP library.
663 AC_LIB_HAVE_LINKFLAGS([gmp], [], [#include <gmp.h>],
664                       [mpz_t n;
665                        mpz_init (n);])
666 if test "$HAVE_LIBGMP" != yes; then
667   AC_MSG_ERROR([GMP is missing or unusable])
668 fi
669
670 AC_ARG_WITH(mpfr,
671   AS_HELP_STRING([--with-mpfr], [include MPFR support (auto/yes/no)]),
672   [], [with_mpfr=auto])
673 AC_MSG_CHECKING([whether to use MPFR])
674 AC_MSG_RESULT([$with_mpfr])
675
676 if test "${with_mpfr}" = no; then
677   AC_MSG_WARN([MPFR support disabled; some features may be unavailable.])
678   HAVE_LIBMPFR=no
679 else
680   AC_LIB_HAVE_LINKFLAGS([mpfr], [gmp], [#include <mpfr.h>],
681                         [mpfr_exp_t exp; mpfr_t x;
682                          mpfr_frexp (&exp, x, x, MPFR_RNDN);])
683   if test "$HAVE_LIBMPFR" != yes; then
684     if test "$with_mpfr" = yes; then
685       AC_MSG_ERROR([MPFR is missing or unusable])
686     else
687       AC_MSG_WARN([MPFR is missing or unusable; some features may be unavailable.])
688     fi
689   fi
690 fi
691
692 # --------------------- #
693 # Check for libpython.  #
694 # --------------------- #
695
696 dnl Utility to simplify finding libpython.
697 dnl $1 = the shell variable to assign the result to
698 dnl      If libpython is found we store $version here.
699 dnl $2 = additional flags to add to CPPFLAGS
700 dnl $3 = additional flags to add to LIBS
701
702 AC_DEFUN([AC_TRY_LIBPYTHON],
703 [
704   define([have_libpython_var],$1)
705   new_CPPFLAGS=$2
706   new_LIBS=$3
707   AC_MSG_CHECKING([for python])
708   save_CPPFLAGS=$CPPFLAGS
709   save_LIBS=$LIBS
710   CPPFLAGS="$CPPFLAGS $new_CPPFLAGS"
711   LIBS="$new_LIBS $LIBS"
712   found_usable_python=no
713   AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include "Python.h"]],
714                                  [[
715                                     #if PY_MAJOR_VERSION != 3
716                                     # error "We only support Python 3"
717                                     #endif
718                                     Py_Initialize ();
719                                  ]])],
720                  [have_libpython_var=yes
721                   found_usable_python=yes
722                   PYTHON_CPPFLAGS=$new_CPPFLAGS
723                   PYTHON_LIBS=$new_LIBS])
724   CPPFLAGS=$save_CPPFLAGS
725   LIBS=$save_LIBS
726   AC_MSG_RESULT([${found_usable_python}])
727 ])
728
729 dnl There are several different values for --with-python:
730 dnl
731 dnl no -   Don't include python support.
732 dnl yes -  Include python support, error if it's missing.
733 dnl        If we find python in $PATH, use it to fetch configure options,
734 dnl        otherwise assume the compiler can find it with no help from us.
735 dnl auto - Same as "yes", but if python is missing from the system,
736 dnl        fall back to "no".
737 dnl /path/to/python/exec-prefix -
738 dnl        Use the python located in this directory.
739 dnl        If /path/to/python/exec-prefix/bin/python exists, use it to find
740 dnl        the compilation parameters.  Otherwise use
741 dnl        -I/path/to/python/exec-prefix/include,
742 dnl        -L/path/to/python/exec-prefix/lib.
743 dnl        NOTE: This case is historical.  It is what was done for 7.0/7.1
744 dnl        but is deprecated.
745 dnl /path/to/python/executable -
746 dnl        Run python-config.py with this version of python to fetch the
747 dnl        compilation parameters.
748 dnl        NOTE: This needn't be the real python executable.
749 dnl        In a cross-compilation scenario (build != host), this could be
750 dnl        a shell script that provides what python-config.py provides for
751 dnl        --ldflags, --includes, --exec-prefix.
752 dnl python-executable -
753 dnl        Find python-executable in $PATH, and then handle the same as
754 dnl        /path/to/python/executable.
755 dnl
756 dnl If a python program is specified, it is used to run python-config.py and
757 dnl is passed --ldflags, --includes, --exec-prefix.
758
759 AC_ARG_WITH(python,
760   AS_HELP_STRING([--with-python@<:@=PYTHON@:>@], [include python support (auto/yes/no/<python-program>)]),
761   [], [with_python=auto])
762 AC_MSG_CHECKING([whether to use python])
763 AC_MSG_RESULT([$with_python])
764
765 if test "${with_python}" = no; then
766   AC_MSG_WARN([python support disabled; some features may be unavailable.])
767   have_libpython=no
768 else
769   case "${with_python}" in
770   [[\\/]]* | ?:[[\\/]]*)
771     if test -d "${with_python}"; then
772       # Assume the python binary is ${with_python}/bin/python.
773       python_prog="${with_python}/bin/python"
774       python_prefix=
775       # If python does not exit ${with_python}/bin, then try in
776       # ${with_python}.  On Windows/MinGW, this is where the Python
777       # executable is.
778       if test ! -x "${python_prog}"; then
779         python_prog="${with_python}/python"
780         python_prefix=
781       fi
782       if test ! -x "${python_prog}"; then
783         # Fall back to gdb 7.0/7.1 behaviour.
784         python_prog=missing
785         python_prefix=${with_python}
786       fi
787     elif test -x "${with_python}"; then
788       # While we can't run python compiled for $host (unless host == build),
789       # the user could write a script that provides the needed information,
790       # so we support that.
791       python_prog=${with_python}
792       python_prefix=
793     else
794       AC_MSG_ERROR(invalid value for --with-python)
795     fi
796     ;;
797   */*)
798     # Disallow --with-python=foo/bar.
799     AC_MSG_ERROR(invalid value for --with-python)
800     ;;
801   *)
802     # The user has either specified auto, yes, or the name of the python
803     # program assumed to be in $PATH.
804     python_prefix=
805     case "${with_python}" in
806     yes | auto)
807       if test "${build}" = "${host}"; then
808         # Look first for 'python', then 'python3'.
809         AC_PATH_PROGS(python_prog_path, [python python3], missing)
810         if test "${python_prog_path}" = missing; then
811           python_prog=missing
812         else
813           python_prog=${python_prog_path}
814         fi
815       else
816         # Not much we can do except assume the cross-compiler will find the
817         # right files.
818         python_prog=missing
819       fi
820       ;;
821     *)
822       # While we can't run python compiled for $host (unless host == build),
823       # the user could write a script that provides the needed information,
824       # so we support that.
825       python_prog="${with_python}"
826       AC_PATH_PROG(python_prog_path, ${python_prog}, missing)
827       if test "${python_prog_path}" = missing; then
828         AC_MSG_ERROR(unable to find python program ${python_prog})
829       fi
830       ;;
831     esac
832   esac
833
834   if test "${python_prog}" != missing; then
835     # We have a python program to use, but it may be too old.
836     # Don't flag an error for --with-python=auto (the default).
837     have_python_config=yes
838     python_includes=`${python_prog} ${srcdir}/python/python-config.py --includes`
839     if test $? != 0; then
840       have_python_config=failed
841       if test "${with_python}" != auto; then
842         AC_MSG_ERROR(failure running python-config --includes)
843       fi
844     fi
845     python_libs=`${python_prog} ${srcdir}/python/python-config.py --ldflags`
846     if test $? != 0; then
847       have_python_config=failed
848       if test "${with_python}" != auto; then
849         AC_MSG_ERROR(failure running python-config --ldflags)
850       fi
851     fi
852     python_prefix=`${python_prog} ${srcdir}/python/python-config.py --exec-prefix`
853     if test $? != 0; then
854       have_python_config=failed
855       if test "${with_python}" != auto; then
856         AC_MSG_ERROR(failure running python-config --exec-prefix)
857       fi
858     fi
859   else
860     # We do not have a python executable we can use to determine where
861     # to find the Python headers and libs.  We cannot guess the include
862     # path from the python_prefix either, because that include path
863     # depends on the Python version.  So, there is nothing much we can
864     # do except assume that the compiler will be able to find those files.
865     python_includes=
866     python_libs=
867     have_python_config=no
868   fi
869
870   # If we have python-config, only try the configuration it provides.
871   # Otherwise fallback on the old way of trying different versions of
872   # python in turn.
873
874   have_libpython=no
875   if test "${have_python_config}" = yes; then
876     AC_TRY_LIBPYTHON(have_libpython,
877                      ${python_includes}, ${python_libs})
878   fi
879
880   if test "${have_libpython}" = no; then
881     case "${with_python}" in
882     yes)
883       AC_MSG_ERROR([python is missing or unusable])
884       ;;
885     auto)
886       AC_MSG_WARN([python is missing or unusable; some features may be unavailable.])
887       ;;
888     *)
889       AC_MSG_ERROR([no usable python found at ${with_python}])
890       ;;
891     esac
892   else
893     if test -n "${python_prefix}"; then
894       AC_DEFINE_UNQUOTED(WITH_PYTHON_PATH, "${python_prefix}",
895                          [Define if --with-python provides a path, either directly or via python-config.py --exec-prefix.])
896       GDB_AC_DEFINE_RELOCATABLE(PYTHON_PATH, python, ${python_prefix})
897     fi
898   fi
899 fi
900
901 dnl Use --with-python-libdir to control where GDB looks for the Python
902 dnl libraries.
903 dnl
904 dnl If this is not given then the default will be based on the value
905 dnl passed to --with-python, which is in the python_prefix variable.
906 dnl If the --with-python option wasn't given then the default value in
907 dnl python_prefix is based on running the 'gdb/python/python-config
908 dnl --exec-prefix' script.
909 AC_ARG_WITH(python-libdir,
910   AS_HELP_STRING([--with-python-libdir@<:@=DIR@:>@], [search for python's libraries in DIR]),
911   [],[
912     # If no python libdir is specified then select one based on
913     # python's prefix path.
914     if test -n "${python_prefix}"; then
915       with_python_libdir=${python_prefix}/lib
916     fi
917   ])
918
919 if test "${have_libpython}" != no; then
920   AC_DEFINE(HAVE_PYTHON, 1, [Define if Python interpreter is being linked in.])
921   CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_PYTHON_OBS)"
922   CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_PYTHON_DEPS)"
923   CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_PYTHON_SRCS)"
924   CONFIG_INSTALL="$CONFIG_INSTALL install-python"
925   ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_PYTHON_CFLAGS)"
926
927   if test -n "${with_python_libdir}"; then
928     AC_DEFINE_UNQUOTED(WITH_PYTHON_LIBDIR, "${with_python_libdir}",
929                        [Directory containing Python's standard libraries from --with-python-libdir.])
930     GDB_AC_DEFINE_RELOCATABLE(PYTHON_LIBDIR, [python lib], ${with_python_libdir})
931   fi
932
933   # Flags needed to compile Python code (taken from python-config --cflags).
934   # We cannot call python-config directly because it will output whatever was
935   # used when compiling the Python interpreter itself, including flags which
936   # would make the python-related objects be compiled differently from the
937   # rest of GDB (e.g., -O2 and -fPIC).
938   if test "${GCC}" = yes; then
939     tentative_python_cflags="-fno-strict-aliasing -fwrapv"
940     # Python headers recommend -DNDEBUG, but it's unclear if that just
941     # refers to building Python itself.  In release mode, though, it
942     # doesn't hurt for the Python code in gdb to follow.
943     $development || tentative_python_cflags="$tentative_python_cflags -DNDEBUG"
944   fi
945
946   if test "x${tentative_python_cflags}" != x; then
947     AC_MSG_CHECKING(compiler flags for python code)
948     for flag in ${tentative_python_cflags}; do
949       # Check that the compiler accepts it
950       saved_CFLAGS="$CFLAGS"
951       CFLAGS="$CFLAGS $flag"
952       AC_COMPILE_IFELSE(
953         [AC_LANG_PROGRAM([], [])],
954         [PYTHON_CFLAGS="${PYTHON_CFLAGS} $flag"],
955         []
956       )
957       CFLAGS="$saved_CFLAGS"
958     done
959     AC_MSG_RESULT(${PYTHON_CFLAGS})
960   fi
961
962   # On x64 Windows, Python's include headers, and pyconfig.h in
963   # particular, rely on MS_WIN64 macro to detect that it's a 64bit
964   # version of Windows.  Unfortunately, MS_WIN64 is only defined if
965   # _MSC_VER, a Microsoft-specific macro, is defined.  So, when
966   # building on x64 Windows with GCC, we define MS_WIN64 ourselves.
967   # The issue was reported to the Python community, but still isn't
968   # solved as of 2012-10-02 (http://bugs.python.org/issue4709).
969
970   case "$gdb_host" in
971     mingw64)
972            if test "${GCC}" = yes; then
973              CPPFLAGS="$CPPFLAGS -DMS_WIN64"
974            fi
975            ;;
976   esac
977 else
978   # Even if Python support is not compiled in, we need to have this file
979   # included so that the "python" command, et.al., still exists.
980   CONFIG_OBS="$CONFIG_OBS python/python.o"
981   CONFIG_SRCS="$CONFIG_SRCS python/python.c"
982 fi
983
984 # Work around Python http://bugs.python.org/issue10112.  See also
985 # http://bugs.python.org/issue11410, otherwise -Wl,--dynamic-list has
986 # no effect.  Note that the only test after this that uses Python is
987 # the -rdynamic/-Wl,--dynamic-list test, and we do want that one to be
988 # run without -export-dynamic too.
989 PYTHON_LIBS=`echo $PYTHON_LIBS | sed -e 's/-Xlinker -export-dynamic//'`
990
991 AC_SUBST(PYTHON_CFLAGS)
992 AC_SUBST(PYTHON_CPPFLAGS)
993 AC_SUBST(PYTHON_LIBS)
994 AM_CONDITIONAL(HAVE_PYTHON, test "${have_libpython}" != no)
995
996 # -------------------- #
997 # Check for libguile.  #
998 # -------------------- #
999
1000 dnl Utility to simplify finding libguile.
1001 dnl $1 = pkg-config-program
1002 dnl $2 = space-separate list of guile versions to try
1003 dnl $3 = yes|no, indicating whether to flag errors or ignore them
1004 dnl $4 = the shell variable to assign the result to
1005 dnl      If libguile is found we store "yes" here.
1006
1007 AC_DEFUN([AC_TRY_LIBGUILE],
1008 [
1009   pkg_config=$1
1010   guile_version_list=$2
1011   flag_errors=$3
1012   define([have_libguile_var],$4)
1013   found_usable_guile=checking
1014   AC_MSG_CHECKING([for usable guile from ${pkg_config}])
1015   for guile_version in ${guile_version_list}; do
1016     ${pkg_config} --exists ${guile_version} 2>/dev/null
1017     if test $? != 0; then
1018       continue
1019     fi
1020     dnl pkg-config says the package exists, so if we get an error now,
1021     dnl that's bad.
1022     new_CPPFLAGS=`${pkg_config} --cflags ${guile_version}`
1023     if test $? != 0; then
1024       AC_MSG_ERROR([failure running pkg-config --cflags ${guile_version}])
1025     fi
1026     new_LIBS=`${pkg_config} --libs ${guile_version}`
1027     if test $? != 0; then
1028       AC_MSG_ERROR([failure running pkg-config --libs ${guile_version}])
1029     fi
1030     dnl If we get this far, great.
1031     found_usable_guile=${guile_version}
1032     break
1033   done
1034   if test "${found_usable_guile}" = "checking"; then
1035     if test "${flag_errors}" = "yes"; then
1036       AC_MSG_ERROR([unable to find usable guile version from "${guile_version_list}"])
1037     else
1038       found_usable_guile=no
1039     fi
1040   fi
1041   dnl One final sanity check.
1042   dnl The user could have said --with-guile=python-2.7.
1043   if test "${found_usable_guile}" != no; then
1044     save_CPPFLAGS=$CPPFLAGS
1045     save_LIBS=$LIBS
1046     CPPFLAGS="$CPPFLAGS $new_CPPFLAGS"
1047     LIBS="$LIBS $new_LIBS"
1048     AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include "libguile.h"]],
1049                                    [[scm_init_guile ();]])],
1050                    [have_libguile_var=yes
1051                     GUILE_CPPFLAGS=$new_CPPFLAGS
1052                     GUILE_LIBS=$new_LIBS],
1053                    [found_usable_guile=no])
1054     dnl scm_set_automatic_finalization_enabled added in Guile 2.2.
1055     AC_CHECK_FUNC(scm_set_automatic_finalization_enabled,
1056       AC_DEFINE(HAVE_GUILE_MANUAL_FINALIZATION, 1,
1057                 [Define if Guile supports manual finalization.])
1058     )
1059     CPPFLAGS=$save_CPPFLAGS
1060     LIBS=$save_LIBS
1061     if test "${found_usable_guile}" = no; then
1062       if test "${flag_errors}" = yes; then
1063         AC_MSG_FAILURE([linking guile version ${guile_version} test program failed])
1064       fi
1065     fi
1066   fi
1067   AC_MSG_RESULT([${found_usable_guile}])
1068 ])
1069
1070 dnl There are several different values for --with-guile:
1071 dnl
1072 dnl no -   Don't include guile support.
1073 dnl yes -  Include guile support, error if it's missing.
1074 dnl        The pkg-config program must be in $PATH.
1075 dnl auto - Same as "yes", but if guile is missing from the system,
1076 dnl        fall back to "no".
1077 dnl guile-version [guile-version-choice-2 ...] -
1078 dnl        A space-separated list of guile package versions to try.
1079 dnl        These are passed to pkg-config as-is.
1080 dnl        E.g., guile-2.0 or guile-2.2-uninstalled
1081 dnl        This requires making sure PKG_CONFIG_PATH is set appropriately.
1082 dnl /path/to/pkg-config -
1083 dnl        Use this pkg-config program.
1084 dnl        NOTE: This needn't be the "real" pkg-config program.
1085 dnl        It could be a shell script.  It is invoked as:
1086 dnl        pkg-config --exists $version
1087 dnl        pkg-config --cflags $version
1088 dnl        pkg-config --libs $version
1089 dnl        pkg-config --variable guild $version
1090 dnl        The script will be called with $version having each value in
1091 dnl        $try_guile_versions until --exists indicates success.
1092
1093 AC_ARG_WITH(guile,
1094   AS_HELP_STRING([--with-guile@<:@=GUILE@:>@], [include guile support (auto/yes/no/<guile-version>/<pkg-config-program>)]),
1095   [], [with_guile=auto])
1096 AC_MSG_CHECKING([whether to use guile])
1097 AC_MSG_RESULT([$with_guile])
1098
1099 dnl We check guile with pkg-config.
1100 AC_PATH_PROG(pkg_config_prog_path, pkg-config, missing)
1101
1102 try_guile_versions="guile-3.0 guile-2.2 guile-2.0"
1103 have_libguile=no
1104 case "${with_guile}" in
1105 no)
1106   AC_MSG_WARN([guile support disabled; some features will be unavailable.])
1107   ;;
1108 auto)
1109   if test "${pkg_config_prog_path}" = "missing"; then
1110     AC_MSG_WARN([pkg-config not found, guile support disabled])
1111   else
1112     AC_TRY_LIBGUILE(${pkg_config_prog_path}, ${try_guile_versions}, no, have_libguile)
1113   fi
1114   ;;
1115 yes)
1116   if test "${pkg_config_prog_path}" = "missing"; then
1117     AC_MSG_ERROR([pkg-config not found])
1118   fi
1119   AC_TRY_LIBGUILE(${pkg_config_prog_path}, ${try_guile_versions}, yes, have_libguile)
1120   ;;
1121 [[\\/]]* | ?:[[\\/]]*)
1122   if test -x "${with_guile}"; then
1123     AC_TRY_LIBGUILE(${with_guile}, ${try_guile_versions}, yes, have_libguile)
1124   else
1125     AC_MSG_ERROR([Guile config program not executable: ${with_guile}])
1126   fi
1127   ;;
1128 "" | */*)
1129   # Disallow --with=guile="" and --with-guile=foo/bar.
1130   AC_MSG_ERROR([invalid value for --with-guile])
1131   ;;
1132 *)
1133   # A space separate list of guile versions to try, in order.
1134   if test "${pkg_config_prog_path}" = "missing"; then
1135     AC_MSG_ERROR([pkg-config not found])
1136   fi
1137   AC_TRY_LIBGUILE(${pkg_config_prog_path}, ${with_guile}, yes, have_libguile)
1138   ;;
1139 esac
1140
1141 if test "${have_libguile}" != no; then
1142   dnl Get the name of the 'guild' program.
1143   case "${with_guile}" in
1144   [[\\/]]* | ?:[[\\/]]*)
1145     GDB_GUILE_PROGRAM_NAMES(["${with_guile}"], ["${guile_version}"])
1146     ;;
1147   *)
1148     GDB_GUILE_PROGRAM_NAMES(["${pkg_config_prog_path}"], ["${guile_version}"])
1149     ;;
1150   esac
1151
1152   dnl Make sure guild can handle this host.
1153   GDB_TRY_GUILD([$srcdir/guile/lib/gdb/support.scm])
1154   dnl If not, disable guile support.
1155   if test "$ac_cv_guild_ok" = no; then
1156     have_libguile=no
1157     AC_MSG_WARN(disabling guile support, $GUILD fails compiling for $host)
1158   fi
1159 fi
1160
1161 if test "${have_libguile}" != no; then
1162   AC_DEFINE(HAVE_GUILE, 1, [Define if Guile interpreter is being linked in.])
1163   CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_GUILE_OBS)"
1164   CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_GUILE_DEPS)"
1165   CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_GUILE_SRCS)"
1166   CONFIG_INSTALL="$CONFIG_INSTALL install-guile"
1167   ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_GUILE_CFLAGS)"
1168
1169   dnl The 'scm_new_smob' function appeared in Guile 2.0.6.
1170   save_LIBS="$LIBS"
1171   save_CPPFLAGS="$CPPFLAGS"
1172   LIBS="$GUILE_LIBS"
1173   CPPFLAGS="$GUILE_CPPFLAGS"
1174   AC_CHECK_FUNCS([scm_new_smob])
1175   LIBS="$save_LIBS"
1176   CPPFLAGS="$save_CPPFLAGS"
1177 else
1178   # Even if Guile support is not compiled in, we need to have these files
1179   # included.
1180   CONFIG_OBS="$CONFIG_OBS guile/guile.o"
1181   CONFIG_SRCS="$CONFIG_SRCS guile/guile.c"
1182 fi
1183 AC_SUBST(GUILE_CPPFLAGS)
1184 AC_SUBST(GUILE_LIBS)
1185 AM_CONDITIONAL(HAVE_GUILE, test "${have_libguile}" != no)
1186
1187 # ---------------------------- #
1188 # Check for source highlight.  #
1189 # ---------------------------- #
1190
1191 SRCHIGH_LIBS=
1192 SRCHIGH_CFLAGS=
1193
1194 AC_ARG_ENABLE([source-highlight],
1195               [AS_HELP_STRING([--enable-source-highlight],
1196                               [enable source-highlight for source listings])],
1197               [GDB_CHECK_YES_NO_AUTO_VAL([$enableval], [--enable-source-highlight])],
1198               [enable_source_highlight=auto])
1199
1200 if test "${enable_source_highlight}" != "no"; then
1201   AC_MSG_CHECKING([for the source-highlight library])
1202   if test "${pkg_config_prog_path}" = "missing"; then
1203     AC_MSG_RESULT([no - pkg-config not found])
1204     if test "${enable_source_highlight}" = "yes"; then
1205       AC_MSG_ERROR([pkg-config was not found in your system])
1206     fi
1207   else
1208     if ${pkg_config_prog_path} --exists source-highlight; then
1209       case "$LDFLAGS" in
1210         *static-libstdc*)
1211           AC_MSG_ERROR([source highlight is incompatible with -static-libstdc++; dnl
1212 either use --disable-source-highlight or dnl
1213 --without-static-standard-libraries])
1214           ;;
1215       esac
1216
1217       srchigh_pkg_cflags=`${pkg_config_prog_path} --cflags source-highlight`
1218       srchigh_pkg_libs=`${pkg_config_prog_path} --libs source-highlight`
1219
1220       # Now that we have found a source-highlight library, check if we can use
1221       # it.  In particular, we're trying to detect the situation that the
1222       # library is using the new libstdc++ library abi ( see
1223       # https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html )
1224       # while the compiler being used to compile gdb is using the old abi.
1225       # Such a situation will result in an undefined reference to
1226       # srchilite::SourceHighlight::SourceHighlight(std::string const&).
1227       # This situation can occur for instance when using a source highlight
1228       # library compiled with g++ 7.5.0 while building gdb with g++ 4.8.5.
1229       AC_LANG_PUSH(C++)
1230       save_CXXFLAGS="$CXXFLAGS"
1231       save_LIBS="$LIBS"
1232       CXXFLAGS="$CXXFLAGS $srchigh_pkg_cflags"
1233       LIBS="$LIBS $srchigh_pkg_libs"
1234       AC_LINK_IFELSE(
1235         [AC_LANG_PROGRAM(
1236           [#include <srchilite/sourcehighlight.h>],
1237           [std::string outlang = "esc.outlang";
1238            new srchilite::SourceHighlight (outlang);]
1239         )],
1240         [have_usable_source_highlight=yes],
1241         [have_usable_source_highlight=no]
1242       )
1243       CXXFLAGS="$save_CXXFLAGS"
1244       LIBS="$save_LIBS"
1245       AC_LANG_POP(C++)
1246
1247       if test "${have_usable_source_highlight}" = "yes"; then
1248         AC_DEFINE([HAVE_SOURCE_HIGHLIGHT], 1,
1249                   [Define to 1 if the source-highlight library is available])
1250         AC_MSG_RESULT([yes])
1251         SRCHIGH_CFLAGS="$srchigh_pkg_cflags"
1252         SRCHIGH_LIBS="$srchigh_pkg_libs"
1253       else
1254         AC_MSG_RESULT([no])
1255         if test "${enable_source_highlight}" = "yes"; then
1256           AC_MSG_ERROR([source-highlight in your system could not be used])
1257         fi
1258       fi
1259     else
1260       AC_MSG_RESULT([no])
1261       if test "${enable_source_highlight}" = "yes"; then
1262         AC_MSG_ERROR([source-highlight was not found in your system])
1263       fi
1264     fi
1265   fi
1266 fi
1267 AC_SUBST(SRCHIGH_LIBS)
1268 AC_SUBST(SRCHIGH_CFLAGS)
1269
1270 # ------------------------- #
1271 # Checks for header files.  #
1272 # ------------------------- #
1273
1274 AC_HEADER_STDC
1275 # elf_hp.h is for HP/UX 64-bit shared library support.
1276 AC_CHECK_HEADERS([nlist.h machine/reg.h \
1277                   thread_db.h \
1278                   sys/file.h sys/filio.h sys/ioctl.h sys/param.h \
1279                   sys/procctl.h sys/resource.h sys/ptrace.h ptrace.h \
1280                   sys/reg.h sys/debugreg.h \
1281                   termios.h elf_hp.h])
1282 AC_CHECK_HEADERS(sys/user.h, [], [],
1283 [#if HAVE_SYS_PARAM_H
1284 # include <sys/param.h>
1285 #endif
1286 ])
1287
1288 AC_CHECK_HEADERS(curses.h cursesX.h ncurses.h ncursesw/ncurses.h ncurses/ncurses.h ncurses/term.h)
1289 AC_CHECK_HEADERS(term.h, [], [],
1290 [#if HAVE_CURSES_H
1291 # include <curses.h>
1292 #endif
1293 ])
1294
1295 AC_CHECK_HEADERS([sys/socket.h])
1296 AC_CHECK_HEADERS([ws2tcpip.h])
1297 AC_CHECK_HEADERS([execinfo.h])
1298
1299 # ------------------------- #
1300 # Checks for declarations.  #
1301 # ------------------------- #
1302
1303 libiberty_INIT
1304
1305 AC_CHECK_DECLS([snprintf])
1306 AM_LC_MESSAGES
1307
1308 # ------------------ #
1309 # Checks for types.  #
1310 # ------------------ #
1311
1312 AC_CHECK_TYPES(socklen_t, [], [],
1313 [#include <sys/types.h>
1314 #if HAVE_SYS_SOCKET_H
1315 # include <sys/socket.h>
1316 #elif HAVE_WS2TCPIP_H
1317 # include <ws2tcpip.h>
1318 #endif
1319 ])
1320
1321 # ------------------------------------- #
1322 # Checks for compiler characteristics.  #
1323 # ------------------------------------- #
1324
1325 AC_C_CONST
1326 AC_C_INLINE
1327 AC_C_BIGENDIAN
1328
1329 # ------------------------------ #
1330 # Checks for library functions.  #
1331 # ------------------------------ #
1332
1333 AC_CHECK_FUNCS([getuid getgid \
1334                 pipe pread pread64 pwrite resize_term \
1335                 getpgid setsid \
1336                 sigaction sigsetmask socketpair \
1337                 ttrace wborder wresize setlocale iconvlist libiconvlist btowc \
1338                 setrlimit getrlimit posix_madvise waitpid \
1339                 use_default_colors])
1340 AM_LANGINFO_CODESET
1341 GDB_AC_COMMON
1342
1343 # Check the return and argument types of ptrace.
1344 GDB_AC_PTRACE
1345
1346 dnl AC_FUNC_SETPGRP does not work when cross compiling
1347 dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
1348 if test "$cross_compiling" = no; then
1349   AC_FUNC_SETPGRP
1350 else
1351   AC_CACHE_CHECK(
1352     [whether setpgrp takes no argument],
1353     [ac_cv_func_setpgrp_void],
1354     [AC_COMPILE_IFELSE(
1355        [AC_LANG_PROGRAM(
1356           [#include <unistd.h>],
1357           [if (setpgrp(1,1) == -1)
1358              exit (0);
1359            else
1360              exit (1);]
1361         )],
1362        [ac_cv_func_setpgrp_void=no],
1363        [ac_cv_func_setpgrp_void=yes]
1364      )]
1365   )
1366 if test "$ac_cv_func_setpgrp_void" = yes; then
1367   AC_DEFINE(SETPGRP_VOID, 1)
1368 fi
1369 fi
1370
1371 # Check if <sys/proc.h> defines `struct thread' with a td_pcb member.
1372 AC_CHECK_MEMBERS([struct thread.td_pcb], [], [],
1373 [#include <sys/param.h>
1374 #include <sys/proc.h>
1375 ])
1376
1377 # See if <sys/lwp.h> defines `struct lwp`.
1378 AC_CACHE_CHECK(
1379   [for struct lwp],
1380   [gdb_cv_struct_lwp],
1381   [AC_COMPILE_IFELSE(
1382      [AC_LANG_PROGRAM(
1383         [#include <sys/param.h>
1384          #define _KMEMUSER
1385          #include <sys/lwp.h>],
1386         [struct lwp l;]
1387       )],
1388      [gdb_cv_struct_lwp=yes],
1389      [gdb_cv_struct_lwp=no]
1390    )]
1391 )
1392 if test "$gdb_cv_struct_lwp" = yes; then
1393   AC_DEFINE(HAVE_STRUCT_LWP, 1,
1394             [Define to 1 if your system has struct lwp.])
1395 fi
1396
1397 # See if <machine/reg.h> degines `struct reg'.
1398 AC_CACHE_CHECK(
1399   [for struct reg in machine/reg.h],
1400   [gdb_cv_struct_reg],
1401   [AC_COMPILE_IFELSE(
1402      [AC_LANG_PROGRAM(
1403         [#include <sys/types.h>
1404          #include <machine/reg.h>],
1405         [struct reg r;]
1406       )],
1407      [gdb_cv_struct_reg=yes],
1408      [gdb_cv_struct_reg=no]
1409    )]
1410 )
1411 if test "$gdb_cv_struct_reg" = yes; then
1412   AC_DEFINE(HAVE_STRUCT_REG, 1,
1413             [Define to 1 if your system has struct reg in <machine/reg.h>.])
1414 fi
1415
1416 # See if <machine/reg.h> supports the %fs and %gs i386 segment registers.
1417 # Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
1418 AC_CHECK_MEMBERS([struct reg.r_fs, struct reg.r_gs], [], [],
1419                  [#include <sys/types.h>
1420 #include <machine/reg.h>])
1421
1422 # See if <sys/ptrace.h> provides the PTRACE_GETREGS request.
1423 AC_MSG_CHECKING(for PTRACE_GETREGS)
1424 AC_CACHE_VAL(
1425   [gdb_cv_have_ptrace_getregs],
1426   [AC_COMPILE_IFELSE(
1427     [AC_LANG_PROGRAM([#include <sys/ptrace.h>], [PTRACE_GETREGS;])],
1428     [gdb_cv_have_ptrace_getregs=yes],
1429     [gdb_cv_have_ptrace_getregs=no]
1430    )]
1431 )
1432 AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
1433 if test "$gdb_cv_have_ptrace_getregs" = yes; then
1434   AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
1435   [Define if sys/ptrace.h defines the PTRACE_GETREGS request.])
1436 fi
1437
1438 # See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.
1439 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
1440 AC_CACHE_VAL(
1441   [gdb_cv_have_ptrace_getfpxregs],
1442   [AC_COMPILE_IFELSE(
1443      [AC_LANG_PROGRAM([#include <sys/ptrace.h>], [PTRACE_GETFPXREGS;])],
1444      [gdb_cv_have_ptrace_getfpxregs=yes],
1445      [gdb_cv_have_ptrace_getfpxregs=no]
1446    )]
1447 )
1448 AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
1449 if test "$gdb_cv_have_ptrace_getfpxregs" = yes; then
1450   AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
1451   [Define if sys/ptrace.h defines the PTRACE_GETFPXREGS request.])
1452 fi
1453
1454 # See if <sys/ptrace.h> provides the PT_GETDBREGS request.
1455 AC_MSG_CHECKING(for PT_GETDBREGS)
1456 AC_CACHE_VAL(
1457   [gdb_cv_have_pt_getdbregs],
1458   [AC_COMPILE_IFELSE(
1459      [AC_LANG_PROGRAM(
1460         [#include <sys/types.h>
1461          #include <sys/ptrace.h>],
1462         [PT_GETDBREGS;]
1463       )],
1464      [gdb_cv_have_pt_getdbregs=yes],
1465      [gdb_cv_have_pt_getdbregs=no]
1466    )]
1467 )
1468 AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
1469 if test "$gdb_cv_have_pt_getdbregs" = yes; then
1470   AC_DEFINE(HAVE_PT_GETDBREGS, 1,
1471   [Define if sys/ptrace.h defines the PT_GETDBREGS request.])
1472 fi
1473
1474 # See if <sys/ptrace.h> supports LWP names on FreeBSD
1475 # Older FreeBSD versions don't have the pl_tdname member of
1476 # `struct ptrace_lwpinfo'.
1477 AC_CHECK_MEMBERS([struct ptrace_lwpinfo.pl_tdname], [], [],
1478                  [#include <sys/ptrace.h>])
1479
1480 # See if <sys/ptrace.h> supports syscall fields on FreeBSD.  The
1481 # pl_syscall_code member of `struct ptrace_lwpinfo' was added in
1482 # FreeBSD 10.3.
1483 AC_CHECK_MEMBERS([struct ptrace_lwpinfo.pl_syscall_code], [], [],
1484                  [#include <sys/ptrace.h>])
1485
1486 # Check if the compiler supports the `long long' type.
1487
1488 AC_CACHE_CHECK([for long long support in compiler], gdb_cv_c_long_long,
1489                [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1490 [[extern long long foo;]],
1491 [[switch (foo & 2) { case 0: return 1; }]])],
1492                                   gdb_cv_c_long_long=yes,
1493                                   gdb_cv_c_long_long=no)])
1494 if test "$gdb_cv_c_long_long" != yes; then
1495   # libdecnumber requires long long.
1496   AC_MSG_ERROR([Compiler must support long long for GDB.])
1497 fi
1498
1499 # Check if the compiler and runtime support printing decfloats.
1500
1501 AC_CACHE_CHECK([for decfloat support in printf],
1502                gdb_cv_printf_has_decfloat,
1503                [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1504 [[char buf[64];
1505   _Decimal32 d32 = 1.2345df;
1506   _Decimal64 d64 = 1.2345dd;
1507   _Decimal128 d128 = 1.2345dl;
1508   sprintf (buf, "Decimal32: %H\nDecimal64: %D\nDecimal128: %DD", d32, d64, d128);
1509   return (strcmp ("Decimal32: 1.2345\nDecimal64: 1.2345\nDecimal128: 1.2345", buf));]])],
1510                               gdb_cv_printf_has_decfloat=yes,
1511                               gdb_cv_printf_has_decfloat=no,
1512                               gdb_cv_printf_has_decfloat=no)])
1513 if test "$gdb_cv_printf_has_decfloat" = yes; then
1514   AC_DEFINE(PRINTF_HAS_DECFLOAT, 1,
1515             [Define to 1 if the "%H, %D and %DD" formats work to print decfloats.])
1516 fi
1517
1518 # Check if the compiler supports the `long double' type.  We can't use
1519 # AC_C_LONG_DOUBLE because that one does additional checks on the
1520 # constants defined in <float.h> that fail on some systems,
1521 # e.g. FreeBSD/i386 4.7 and OpenBSD/i386 3.6.
1522
1523 AC_CACHE_CHECK([for long double support in compiler], gdb_cv_c_long_double,
1524                [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[long double foo;]])],
1525                                   gdb_cv_c_long_double=yes,
1526                                   gdb_cv_c_long_double=no)])
1527 if test "$gdb_cv_c_long_double" = yes; then
1528   AC_DEFINE(HAVE_LONG_DOUBLE, 1,
1529            [Define to 1 if the compiler supports long double.])
1530 fi
1531
1532 # Check if the compiler and runtime support printing long doubles.
1533
1534 AC_CACHE_CHECK([for long double support in printf],
1535                gdb_cv_printf_has_long_double,
1536                [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1537 [[char buf[16];
1538   long double f = 3.141592653;
1539   sprintf (buf, "%Lg", f);
1540   return (strncmp ("3.14159", buf, 7));]])],
1541                               gdb_cv_printf_has_long_double=yes,
1542                               gdb_cv_printf_has_long_double=no,
1543                               gdb_cv_printf_has_long_double=no)])
1544 if test "$gdb_cv_printf_has_long_double" = yes; then
1545   AC_DEFINE(PRINTF_HAS_LONG_DOUBLE, 1,
1546             [Define to 1 if the "%Lg" format works to print long doubles.])
1547 fi
1548
1549 # Check if the compiler and runtime support scanning long doubles.
1550
1551 AC_CACHE_CHECK([for long double support in scanf],
1552                gdb_cv_scanf_has_long_double,
1553                [AC_RUN_IFELSE([AC_LANG_PROGRAM(
1554 [[#include <stdio.h>]],
1555 [[char *buf = "3.141592653";
1556   long double f = 0;
1557   sscanf (buf, "%Lg", &f);
1558   return !(f > 3.14159 && f < 3.14160);]])],
1559                               gdb_cv_scanf_has_long_double=yes,
1560                               gdb_cv_scanf_has_long_double=no,
1561                               gdb_cv_scanf_has_long_double=no)])
1562 if test "$gdb_cv_scanf_has_long_double" = yes; then
1563   AC_DEFINE(SCANF_HAS_LONG_DOUBLE, 1,
1564             [Define to 1 if the "%Lg" format works to scan long doubles.])
1565 fi
1566
1567 case ${host_os} in
1568 aix*)
1569   AC_CACHE_CHECK(
1570     [for -bbigtoc option], [gdb_cv_bigtoc],
1571     [SAVE_LDFLAGS=$LDFLAGS
1572
1573      case $GCC in
1574        yes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;
1575        *) gdb_cv_bigtoc=-bbigtoc ;;
1576      esac
1577
1578      LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
1579      AC_LINK_IFELSE(
1580        [AC_LANG_PROGRAM([], [int i;])],
1581        [],
1582        [gdb_cv_bigtoc=]
1583      )
1584      LDFLAGS="${SAVE_LDFLAGS}"]
1585   )
1586   CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
1587   ;;
1588 esac
1589
1590 AC_MSG_CHECKING(for the dynamic export flag)
1591 dynamic_list=false
1592 if test "${gdb_native}" = yes; then
1593    # The dynamically loaded libthread_db needs access to symbols in the gdb
1594    # executable.  Older GNU ld supports --export-dynamic but --dynamic-list
1595    # may not be supported there.
1596    old_LDFLAGS="$LDFLAGS"
1597    # Older GNU ld supports --export-dynamic but --dynamic-list it does not.
1598    RDYNAMIC="-Wl,--dynamic-list=${srcdir}/proc-service.list"
1599    LDFLAGS="$LDFLAGS $RDYNAMIC"
1600    if test "${have_libpython}" = no; then
1601      AC_LINK_IFELSE(
1602        [AC_LANG_PROGRAM([], [])],
1603        [dynamic_list=true],
1604        []
1605      )
1606    else
1607      # Workaround http://bugs.python.org/issue4434 where static
1608      # libpythonX.Y.a would get its symbols required for
1609      # pythonX.Y/lib-dynload/*.so modules hidden by -Wl,--dynamic-list.
1610      # Problem does not happen for the recommended libpythonX.Y.so linkage.
1611
1612      # Note the workaround for Python
1613      # http://bugs.python.org/issue10112 earlier has removed
1614      # -export-dynamic from PYTHON_LIBS.  That's exactly what we want
1615      # here too, as otherwise it'd make this -Wl,--dynamic-list test
1616      # always pass.
1617      old_CFLAGS="$CFLAGS"
1618      CFLAGS="$CFLAGS $PYTHON_CFLAGS"
1619      old_LIBS="$LIBS"
1620      LIBS="$LIBS $PYTHON_LIBS"
1621      old_CPPFLAGS="$CPPFLAGS"
1622      CPPFLAGS="$CPPFLAGS $PYTHON_CPPFLAGS"
1623      AC_RUN_IFELSE(
1624        [AC_LANG_PROGRAM(
1625          [#include "Python.h"],
1626          [int err;
1627           Py_Initialize ();
1628           err = PyRun_SimpleString ("import ctypes\n");
1629           Py_Finalize ();
1630           return err == 0 ? 0 : 1;])],
1631        [dynamic_list=true], [], [true])
1632      LIBS="$old_LIBS"
1633      CFLAGS="$old_CFLAGS"
1634      CPPFLAGS="$old_CPPFLAGS"
1635    fi
1636    LDFLAGS="$old_LDFLAGS"
1637 fi
1638 if $dynamic_list; then
1639   found="-Wl,--dynamic-list"
1640   RDYNAMIC='-Wl,--dynamic-list=$(srcdir)/proc-service.list'
1641 else
1642   found="-rdynamic"
1643   RDYNAMIC="-rdynamic"
1644 fi
1645 AC_SUBST(RDYNAMIC)
1646 AC_MSG_RESULT($found)
1647
1648 AC_CACHE_CHECK(
1649   [whether execinfo.h backtrace is available],
1650   gdb_cv_execinfo_backtrace,
1651   [AC_LINK_IFELSE(
1652      [AC_LANG_PROGRAM(
1653         [
1654          #include <execinfo.h>
1655         ],
1656         [
1657          int f;
1658          void *b[[2]];
1659          f = backtrace (b, 2);
1660          backtrace_symbols_fd (b, f, 2);
1661         ])],
1662    [gdb_cv_execinfo_backtrace=yes],
1663    [gdb_cv_execinfo_backtrace=no])])
1664 if test "$gdb_cv_execinfo_backtrace" = yes; then
1665   AC_DEFINE(HAVE_EXECINFO_BACKTRACE, 1,
1666             [Define to 1 if execinfo.h backtrace functions are available.])
1667 fi
1668
1669 dnl For certain native configurations, we need to check whether thread
1670 dnl support can be built in or not.
1671 dnl
1672 dnl Note that we only want this if we are both native (host == target),
1673 dnl and not doing a canadian cross build (build == host).
1674
1675 if test "${build}" = "${host}" -a "${host}" = "${target}" ; then
1676    case ${host_os} in
1677    aix*)
1678       AC_MSG_CHECKING(for AiX thread debugging library)
1679       AC_CACHE_VAL(
1680         [gdb_cv_have_aix_thread_debug],
1681         [AC_COMPILE_IFELSE(
1682            [AC_LANG_PROGRAM(
1683               [#include <sys/pthdebug.h>],
1684               [#ifndef PTHDB_VERSION_3
1685                #error
1686                #endif]
1687             )],
1688            [gdb_cv_have_aix_thread_debug=yes],
1689            [gdb_cv_have_aix_thread_debug=no]
1690          )]
1691       )
1692       AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)
1693       if test "$gdb_cv_have_aix_thread_debug" = yes; then
1694          CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
1695          CONFIG_OBS="${CONFIG_OBS} aix-thread.o"
1696          LIBS="$LIBS -lpthdebug"
1697
1698          # Older versions of AIX do not provide the declaration for
1699          # the getthrds function (it appears that it was introduced
1700          # with AIX 6.x).
1701          AC_CHECK_DECLS(getthrds, [], [], [[#include <procinfo.h>]])
1702       fi
1703       ;;
1704    esac
1705    AC_SUBST(CONFIG_LDFLAGS)
1706 fi
1707
1708 dnl See if we have a thread_db header file that has TD_NOTALLOC and
1709 dnl other error codes.
1710 if test "x$ac_cv_header_thread_db_h" = "xyes"; then
1711   AC_CACHE_CHECK(
1712     [whether <thread_db.h> has TD_NOTALLOC],
1713     [gdb_cv_thread_db_h_has_td_notalloc],
1714     [AC_COMPILE_IFELSE(
1715        [AC_LANG_PROGRAM(
1716           [#include <thread_db.h>],
1717           [int i = TD_NOTALLOC;]
1718         )],
1719        [gdb_cv_thread_db_h_has_td_notalloc=yes],
1720        [gdb_cv_thread_db_h_has_td_notalloc=no]
1721      )]
1722   )
1723
1724   AC_CACHE_CHECK(
1725     [whether <thread_db.h> has TD_VERSION],
1726     [gdb_cv_thread_db_h_has_td_version],
1727     [AC_COMPILE_IFELSE(
1728        [AC_LANG_PROGRAM(
1729           [#include <thread_db.h>],
1730           [int i = TD_VERSION;]
1731         )],
1732        [gdb_cv_thread_db_h_has_td_version=yes],
1733        [gdb_cv_thread_db_h_has_td_version=no]
1734      )]
1735   )
1736
1737   AC_CACHE_CHECK(
1738     [whether <thread_db.h> has TD_NOTLS],
1739     [gdb_cv_thread_db_h_has_td_notls],
1740     [AC_COMPILE_IFELSE(
1741        [AC_LANG_PROGRAM(
1742           [#include <thread_db.h>],
1743           [int i = TD_NOTLS;]
1744         )],
1745        [gdb_cv_thread_db_h_has_td_notls=yes],
1746        [gdb_cv_thread_db_h_has_td_notls=no]
1747      )]
1748   )
1749 fi
1750 if test "x$gdb_cv_thread_db_h_has_td_notalloc" = "xyes"; then
1751   AC_DEFINE(THREAD_DB_HAS_TD_NOTALLOC, 1,
1752             [Define if <thread_db.h> has the TD_NOTALLOC error code.])
1753 fi
1754 if test "x$gdb_cv_thread_db_h_has_td_version" = "xyes"; then
1755   AC_DEFINE(THREAD_DB_HAS_TD_VERSION, 1,
1756             [Define if <thread_db.h> has the TD_VERSION error code.])
1757 fi
1758 if test "x$gdb_cv_thread_db_h_has_td_notls" = "xyes"; then
1759   AC_DEFINE(THREAD_DB_HAS_TD_NOTLS, 1,
1760             [Define if <thread_db.h> has the TD_NOTLS error code.])
1761 fi
1762
1763 dnl Set the host's .gdbinit filename.
1764 case $host_os in
1765   go32* | *djgpp*)
1766     gdbinit=gdb.ini
1767     ;;
1768   *)
1769     gdbinit=.gdbinit
1770     ;;
1771 esac
1772 AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
1773
1774 dnl Set the host's .gdbearlyinit filename
1775 AC_DEFINE_UNQUOTED(GDBEARLYINIT,".gdbearlyinit",[The .gdbearlyinit filename.])
1776
1777 dnl Handle optional features that can be enabled.
1778
1779 # Support for --with-sysroot is a copy of GDB_AC_WITH_DIR,
1780 # except that the argument to --with-sysroot is optional.
1781 # --with-sysroot (or --with-sysroot=yes) sets the default sysroot path.
1782 if test "x$with_sysroot" = xyes; then
1783   with_sysroot="${exec_prefix}/${target_alias}/sys-root"
1784 fi
1785 AC_ARG_WITH(sysroot,
1786   AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
1787                  [search for usr/lib et al within DIR]),
1788   [TARGET_SYSTEM_ROOT=$withval], [TARGET_SYSTEM_ROOT=])
1789 AC_DEFINE_DIR(TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT,
1790               [search for usr/lib et al within DIR])
1791 AC_SUBST(TARGET_SYSTEM_ROOT)
1792 GDB_AC_DEFINE_RELOCATABLE(TARGET_SYSTEM_ROOT, sysroot, ${ac_define_dir})
1793
1794 GDB_AC_WITH_DIR(SYSTEM_GDBINIT, system-gdbinit,
1795     [automatically load a system-wide gdbinit file],
1796     [])
1797 GDB_AC_WITH_DIR(SYSTEM_GDBINIT_DIR, system-gdbinit-dir,
1798     [automatically load system-wide gdbinit files from this directory],
1799     [])
1800
1801 AM_GDB_COMPILER_TYPE
1802 AM_GDB_WARNINGS
1803 AM_GDB_UBSAN
1804
1805 # In the Cygwin environment, we need some additional flags.
1806 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
1807 [AC_EGREP_CPP(^lose$, [
1808 #if defined (__CYGWIN__) || defined (__CYGWIN32__)
1809 lose
1810 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
1811
1812
1813 dnl Figure out which of the many generic ser-*.c files the _host_ supports.
1814 SER_HARDWIRE="ser-base.o ser-unix.o ser-pipe.o ser-tcp.o"
1815 case ${host} in
1816   *go32* ) SER_HARDWIRE=ser-go32.o ;;
1817   *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
1818   *mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o ser-mingw.o" ;;
1819   *) SER_HARDWIRE="$SER_HARDWIRE ser-uds.o" ;;
1820 esac
1821 AC_SUBST(SER_HARDWIRE)
1822
1823 # libreadline needs libuser32.a in a cygwin environment
1824 WIN32LIBS=
1825 if test x"$gdb_cv_os_cygwin" = xyes; then
1826     WIN32LIBS="-luser32"
1827     case "${target}" in
1828         *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
1829         ;;
1830     esac
1831 fi
1832
1833 # The ser-tcp.c module requires sockets.
1834 # Note that WIN32APILIBS is set by GDB_AC_COMMON.
1835 WIN32LIBS="$WIN32LIBS $WIN32APILIBS"
1836
1837 # Add ELF support to GDB, but only if BFD includes ELF support.
1838 GDB_AC_CHECK_BFD([for ELF support in BFD], gdb_cv_var_elf,
1839                  [bfd_get_elf_phdr_upper_bound (NULL)], elf-bfd.h)
1840 if test "$gdb_cv_var_elf" = yes; then
1841   CONFIG_OBS="$CONFIG_OBS elfread.o stap-probe.o dtrace-probe.o \
1842                 gcore-elf.o elf-none-tdep.o"
1843   AC_DEFINE(HAVE_ELF, 1,
1844             [Define if ELF support should be included.])
1845   # -ldl is provided by bfd/Makfile.am (LIBDL) <PLUGINS>.
1846   if test "$plugins" = "yes"; then
1847     AC_SEARCH_LIBS(dlopen, dl)
1848   fi
1849 fi
1850
1851 # Add macho support to GDB, but only if BFD includes it.
1852 GDB_AC_CHECK_BFD([for Mach-O support in BFD], gdb_cv_var_macho,
1853                  [bfd_mach_o_lookup_command (NULL, 0, NULL)], mach-o.h)
1854 if test "$gdb_cv_var_macho" = yes; then
1855   CONFIG_OBS="$CONFIG_OBS machoread.o"
1856 fi
1857
1858 # Add any host-specific objects to GDB.
1859 CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
1860
1861 # If building on ELF, look for lzma support for embedded compressed debug info.
1862 if test "$gdb_cv_var_elf" = yes; then
1863   AC_ARG_WITH(lzma,
1864     AS_HELP_STRING([--with-lzma], [support lzma compression (auto/yes/no)]),
1865     [], [with_lzma=auto])
1866   AC_MSG_CHECKING([whether to use lzma])
1867   AC_MSG_RESULT([$with_lzma])
1868
1869   if test "${with_lzma}" != no; then
1870     AC_LIB_HAVE_LINKFLAGS([lzma], [], [#include "lzma.h"],
1871                           [lzma_index_iter iter;
1872                            lzma_index_iter_init (&iter, 0);
1873                            lzma_mf_is_supported (LZMA_MF_HC3);])
1874     if test "$HAVE_LIBLZMA" != yes; then
1875       if test "$with_lzma" = yes; then
1876         AC_MSG_ERROR([missing liblzma for --with-lzma])
1877       fi
1878     fi
1879   fi
1880 fi
1881
1882 LIBGUI="../libgui/src/libgui.a"
1883 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
1884 AC_SUBST(LIBGUI)
1885 AC_SUBST(GUI_CFLAGS_X)
1886
1887 WIN32LDAPP=
1888 AC_SUBST(WIN32LIBS)
1889 AC_SUBST(WIN32LDAPP)
1890
1891 case "${host}" in
1892 *-*-cygwin* | *-*-mingw* )
1893     configdir="win"
1894     ;;
1895 *)
1896     configdir="unix"
1897     ;;
1898 esac
1899
1900 GDBTKLIBS=
1901 if test "${enable_gdbtk}" = "yes"; then
1902
1903     # Gdbtk must have an absolute path to srcdir in order to run
1904     # properly when not installed.
1905     here=`pwd`
1906     cd ${srcdir}
1907     GDBTK_SRC_DIR=`pwd`
1908     cd $here
1909
1910     SC_PATH_TCLCONFIG
1911
1912     # If $no_tk is nonempty, then we can't do Tk, and there is no
1913     # point to doing Tcl.
1914     SC_PATH_TKCONFIG
1915
1916     if test -z "${no_tcl}" -a -z "${no_tk}"; then
1917         SC_LOAD_TCLCONFIG
1918
1919         # Check for in-tree tcl
1920         here=`pwd`
1921         cd ${srcdir}/..
1922         topdir=`pwd`
1923         cd ${here}
1924
1925         intree="no"
1926         if test "${TCL_SRC_DIR}" = "${topdir}/tcl"; then
1927           intree="yes"
1928         fi
1929
1930         # Find Tcl private headers
1931         if test x"${intree}" = xno; then
1932           CY_AC_TCL_PRIVATE_HEADERS
1933           TCL_INCLUDE="${TCL_INCLUDE_SPEC} ${TCL_PRIVATE_INCLUDE}"
1934           TCL_LIBRARY="${TCL_LIB_SPEC}"
1935           TCL_DEPS=""
1936         else
1937           # If building tcl in the same src tree, private headers
1938           # are not needed, but we need to be sure to use the right
1939           # headers library
1940           TCL_INCLUDE="-I${TCL_SRC_DIR}/generic"
1941           TCL_LIBRARY="${TCL_BUILD_LIB_SPEC}"
1942           TCL_DEPS="../tcl/${configdir}${TCL_LIB_FILE}"
1943         fi
1944         AC_SUBST(TCL_INCLUDE)
1945         AC_SUBST(TCL_LIBRARY)
1946         AC_SUBST(TCL_DEPS)
1947
1948         SC_LOAD_TKCONFIG
1949
1950         # Check for in-tree Tk
1951         intree="no"
1952         if test "${TK_SRC_DIR}" = "${topdir}/tk"; then
1953           intree="yes"
1954         fi
1955
1956         # Find Tk private headers
1957         if test x"${intree}" = xno; then
1958           CY_AC_TK_PRIVATE_HEADERS
1959           TK_INCLUDE="${TK_INCLUDE_SPEC} ${TK_PRIVATE_INCLUDE}"
1960           TK_LIBRARY=${TK_LIB_SPEC}
1961           TK_DEPS=""
1962         else
1963           TK_INCLUDE="-I${TK_SRC_DIR}/generic"
1964           TK_LIBRARY="${TK_BUILD_LIB_SPEC}"
1965           TK_DEPS="../tk/${configdir}/${TK_LIB_FILE}"
1966         fi
1967         AC_SUBST(TK_INCLUDE)
1968         AC_SUBST(TK_LIBRARY)
1969         AC_SUBST(TK_DEPS)
1970         AC_SUBST(TK_XINCLUDES)
1971
1972         ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
1973
1974         # Include some libraries that Tcl and Tk want.
1975         TCL_LIBS='$(LIBGUI) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
1976         # Yes, the ordering seems wrong here.  But it isn't.
1977         # TK_LIBS is the list of libraries that need to be linked
1978         # after Tcl/Tk.  Note that this isn't put into LIBS.  If it
1979         # were in LIBS then any link tests after this point would
1980         # try to include things like `$(LIBGUI)', which wouldn't work.
1981         GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
1982
1983         CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
1984         CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
1985         CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
1986         CONFIG_ALL="${CONFIG_ALL} all-gdbtk"
1987         CONFIG_CLEAN="${CONFIG_CLEAN} clean-gdbtk"
1988         CONFIG_INSTALL="${CONFIG_INSTALL} install-gdbtk"
1989         CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-gdbtk"
1990
1991         if test x"$gdb_cv_os_cygwin" = xyes; then
1992           WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1993           WIN32LDAPP="-Wl,--subsystem,console"
1994           CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1995         fi
1996
1997         AC_CONFIG_SUBDIRS(gdbtk)
1998     fi
1999 fi
2000
2001 AC_SUBST(X_CFLAGS)
2002 AC_SUBST(X_LDFLAGS)
2003 AC_SUBST(X_LIBS)
2004 AC_SUBST(GDBTKLIBS)
2005 AC_SUBST(GDBTK_CFLAGS)
2006 AC_SUBST(GDBTK_SRC_DIR)
2007
2008 AC_PATH_X
2009
2010 # Unlike the sim directory, whether a simulator is linked is controlled by
2011 # presence of a gdb_sim definition in the target configure.tgt entry.
2012 # This code just checks for a few cases where we'd like to ignore those
2013 # definitions, even when they're present in the '.mt' file.  These cases
2014 # are when --disable-sim is specified, or if the simulator directory is
2015 # not part of the source tree.
2016 #
2017 AC_ARG_ENABLE(sim,
2018 AS_HELP_STRING([--enable-sim], [link gdb with simulator]),
2019 [echo "enable_sim = $enable_sim";
2020  echo "enableval = ${enableval}";
2021  case "${enableval}" in
2022   yes) ignore_sim=false ;;
2023   no)  ignore_sim=true ;;
2024   *)   ignore_sim=false ;;
2025  esac],
2026 [ignore_sim=false])
2027
2028 if test ! -d "${srcdir}/../sim"; then
2029   ignore_sim=true
2030 fi
2031
2032 SIM=
2033 SIM_OBS=
2034 if test "${ignore_sim}" = "false"; then
2035   if test x"${gdb_sim}" != x ; then
2036     SIM="${gdb_sim}"
2037     SIM_OBS="remote-sim.o"
2038
2039     # Some tdep code should only be compiled in when the ppc sim is
2040     # built.  PR sim/13418.
2041     case $target in
2042       powerpc*-*-*)
2043         AC_DEFINE(WITH_PPC_SIM, 1, [Define if the PPC simulator is being linked in.])
2044         ;;
2045     esac
2046   fi
2047 fi
2048 AC_SUBST(SIM)
2049 AC_SUBST(SIM_OBS)
2050
2051 AC_SUBST(ENABLE_CFLAGS)
2052 AC_SUBST(PROFILE_CFLAGS)
2053
2054 AC_SUBST(CONFIG_OBS)
2055 AC_SUBST(CONFIG_DEPS)
2056 AC_SUBST(CONFIG_SRCS)
2057 AC_SUBST(CONFIG_ALL)
2058 AC_SUBST(CONFIG_CLEAN)
2059 AC_SUBST(CONFIG_INSTALL)
2060 AC_SUBST(CONFIG_UNINSTALL)
2061
2062 # List of host floatformats.
2063 AC_DEFINE_UNQUOTED(GDB_HOST_FLOAT_FORMAT,$gdb_host_float_format,[Host float floatformat])
2064 AC_DEFINE_UNQUOTED(GDB_HOST_DOUBLE_FORMAT,$gdb_host_double_format,[Host double floatformat])
2065 AC_DEFINE_UNQUOTED(GDB_HOST_LONG_DOUBLE_FORMAT,$gdb_host_long_double_format,[Host long double floatformat])
2066
2067 # target_subdir is used by the testsuite to find the target libraries.
2068 target_subdir=
2069 if test "${host}" != "${target}"; then
2070     target_subdir="${target_alias}/"
2071 fi
2072 AC_SUBST(target_subdir)
2073
2074 # Import nat definitions.
2075 nat_makefile_frag=/dev/null
2076 if test "${gdb_native}" = "yes"; then
2077   . ${srcdir}/configure.nat
2078   nativefile=$NAT_FILE
2079 fi
2080
2081 AC_SUBST(NAT_FILE)
2082 AC_SUBST(NATDEPFILES)
2083 AC_SUBST(NAT_CDEPS)
2084 AC_SUBST(LOADLIBES)
2085 AC_SUBST(MH_CFLAGS)
2086 AC_SUBST(XM_CLIBS)
2087 AC_SUBST(NAT_GENERATED_FILES)
2088 AC_SUBST(HAVE_NATIVE_GCORE_HOST)
2089 AC_SUBST_FILE(nat_makefile_frag)
2090
2091 if test x"${gdb_osabi}" != x ; then
2092     AC_DEFINE_UNQUOTED(GDB_OSABI_DEFAULT, $gdb_osabi,
2093                        [Define to the default OS ABI for this configuration.])
2094 fi
2095
2096 # Setup possible use of libbacktrace.
2097 AC_ARG_ENABLE([libbacktrace],
2098               [AS_HELP_STRING([--enable-libbacktrace],
2099                               [use libbacktrace to write a backtrace after a fatal signal.])],
2100               [GDB_CHECK_YES_NO_VAL([$enableval], [--enable-libbacktrace])],
2101               [enable_libbacktrace=yes])
2102
2103 if test "${enable_libbacktrace}" = "yes"; then
2104   LIBBACKTRACE_INC="-I$srcdir/../libbacktrace/ -I../libbacktrace/"
2105   LIBBACKTRACE_LIB=../libbacktrace/libbacktrace.la
2106   AC_DEFINE(HAVE_LIBBACKTRACE, 1, [Define if libbacktrace is being used.])
2107 else
2108   LIBBACKTRACE_INC=
2109   LIBBACKTRACE_LIB=
2110 fi
2111
2112 AC_SUBST(LIBBACKTRACE_INC)
2113 AC_SUBST(LIBBACKTRACE_LIB)
2114
2115 # Check for babeltrace and babeltrace-ctf
2116 AC_ARG_WITH(babeltrace,
2117   AS_HELP_STRING([--with-babeltrace], [include babeltrace support (auto/yes/no)]),
2118   [], [with_babeltrace=auto])
2119 AC_MSG_CHECKING([whether to use babeltrace])
2120 AC_MSG_RESULT([$with_babeltrace])
2121
2122 if test "x$with_babeltrace" = "xno"; then
2123   AC_MSG_WARN([babletrace support disabled; GDB is unable to read CTF data.])
2124 else
2125   # Append -Werror to CFLAGS so that configure can catch the warning
2126   # "assignment from incompatible pointer type", which is related to
2127   # the babeltrace change from 1.0.3 to 1.1.0.  Babeltrace 1.1.0 works
2128   # in GDB, while babeltrace 1.0.3 is broken.
2129   # AC_LIB_HAVE_LINKFLAGS may modify CPPFLAGS in it, so it should be
2130   # safe to save and restore CFLAGS here.
2131   saved_CFLAGS=$CFLAGS
2132   CFLAGS="$CFLAGS -Werror"
2133   AC_LIB_HAVE_LINKFLAGS([babeltrace], [babeltrace-ctf],
2134                         [#include <babeltrace/babeltrace.h>
2135                          #include <babeltrace/ctf/events.h>
2136                          #include <babeltrace/ctf/iterator.h>],
2137                         [struct bt_iter_pos *pos = bt_iter_get_pos (bt_ctf_get_iter (NULL));
2138                         struct bt_ctf_event *event = NULL;
2139                         const struct bt_definition *scope;
2140
2141                         pos->type = BT_SEEK_BEGIN;
2142                         bt_iter_set_pos (bt_ctf_get_iter (NULL), pos);
2143                         scope = bt_ctf_get_top_level_scope (event,
2144                                                            BT_STREAM_EVENT_HEADER);
2145                         bt_ctf_get_uint64 (bt_ctf_get_field (event, scope, "id"));
2146                         ])
2147   CFLAGS=$saved_CFLAGS
2148
2149   if test "$HAVE_LIBBABELTRACE" != yes; then
2150      if test "$with_babeltrace" = yes; then
2151        AC_MSG_ERROR([babeltrace is missing or unusable])
2152      else
2153        AC_MSG_WARN([babeltrace is missing or unusable; GDB is unable to read CTF data.])
2154      fi
2155   fi
2156 fi
2157
2158 # Check for xxhash
2159 AC_ARG_WITH(xxhash,
2160   AS_HELP_STRING([--with-xxhash], [use libxxhash for hashing (faster) (auto/yes/no)]),
2161   [], [with_xxhash=auto])
2162
2163 GCC_ENABLE([libctf], [yes], [], [Handle .ctf type-info sections])
2164 if test "${enable_libctf}" = yes; then
2165   AC_DEFINE(ENABLE_LIBCTF, 1, [Handle .ctf type-info sections])
2166   LIBCTF="../libctf/libctf.la"
2167   CTF_DEPS="../libctf/libctf.la"
2168 else
2169   LIBCTF=
2170   CTF_DEPS=
2171 fi
2172 AC_SUBST(LIBCTF)
2173 AC_SUBST(CTF_DEPS)
2174
2175 # If nativefile (NAT_FILE) is not set in configure.nat, we link to an
2176 # empty version.
2177
2178 if test "x$with_xxhash" != "xno"; then
2179   AC_LIB_HAVE_LINKFLAGS([xxhash], [],
2180                         [#include <xxhash.h>],
2181                         [XXH32("foo", 3, 0);
2182                         ])
2183   if test "$HAVE_LIBXXHASH" != yes; then
2184     if test "$with_xxhash" = yes; then
2185       AC_MSG_ERROR([xxhash is missing or unusable])
2186     fi
2187   fi
2188   if test "x$with_xxhash" = "xauto"; then
2189     with_xxhash="$HAVE_LIBXXHASH"
2190   fi
2191 fi
2192
2193 AC_MSG_CHECKING([whether to use xxhash])
2194 AC_MSG_RESULT([$with_xxhash])
2195
2196 NM_H=
2197 rm -f nm.h
2198 if test "${nativefile}" != ""; then
2199     case "${nativefile}" in
2200       nm-*.h ) GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}" ;;
2201       * ) GDB_NM_FILE="${nativefile}"
2202     esac
2203     AC_CONFIG_LINKS([nm.h:$GDB_NM_FILE], [echo > stamp-nmh],
2204                     [GDB_NM_FILE=$GDB_NM_FILE])
2205     AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}", [nativefile])
2206     NM_H=nm.h
2207 fi
2208 AC_SUBST(GDB_NM_FILE)
2209 AC_SUBST(NM_H)
2210
2211 dnl Add dependency for xsltproc if building with maintainer-mode enabled.
2212 AC_PATH_PROGS(XSLTPROC, xsltproc, missing)
2213 if test "x$USE_MAINTAINER_MODE" = xyes; then
2214   if test "${XSLTPROC}" = missing; then
2215     AC_MSG_ERROR(unable to find xsltproc.  maintainer-mode requires xsltproc.)
2216   fi
2217 fi
2218 AC_SUBST(XSLTPROC)
2219
2220 dnl Check for exe extension set on certain hosts (e.g. Win32)
2221 AC_EXEEXT
2222
2223 dnl  Detect the character set used by this host.
2224 dnl  At the moment, we just assume it's UTF-8.
2225 AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "UTF-8",
2226           [Define to be a string naming the default host character set.])
2227
2228 GDB_AC_SELFTEST([
2229   CONFIG_OBS="$CONFIG_OBS \$(SELFTESTS_OBS)"
2230   CONFIG_SRCS="$CONFIG_SRCS \$(SELFTESTS_SRCS)"
2231 ])
2232
2233 GDB_AC_TRANSFORM([gdb], [GDB_TRANSFORM_NAME])
2234 GDB_AC_TRANSFORM([gcore], [GCORE_TRANSFORM_NAME])
2235 AC_CONFIG_FILES([gcore], [chmod +x gcore])
2236 AC_CONFIG_FILES([Makefile gdb-gdb.gdb gdb-gdb.py doc/Makefile data-directory/Makefile])
2237
2238 AC_OUTPUT