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