1dnl Autoconf configure script for GDB, the GNU debugger.
2dnl Copyright (C) 1995-2023 Free Software Foundation, Inc.
3dnl
4dnl This file is part of GDB.
5dnl
6dnl This program is free software; you can redistribute it and/or modify
7dnl it under the terms of the GNU General Public License as published by
8dnl the Free Software Foundation; either version 3 of the License, or
9dnl (at your option) any later version.
10dnl
11dnl This program is distributed in the hope that it will be useful,
12dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
13dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14dnl GNU General Public License for more details.
15dnl
16dnl You should have received a copy of the GNU General Public License
17dnl along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
19dnl Process this file with autoconf to produce a configure script.
20
21AC_INIT
22AC_CONFIG_MACRO_DIRS([.. ../config])
23AC_CONFIG_SRCDIR([main.c])
24AC_CONFIG_HEADERS(config.h:config.in, [echo > stamp-h])
25AM_MAINTAINER_MODE
26
27AC_PROG_CC
28AC_PROG_CXX
29
30AC_USE_SYSTEM_EXTENSIONS
31ACX_LARGEFILE
32AM_PROG_INSTALL_STRIP
33
34AC_CONFIG_AUX_DIR(..)
35
36# Set build, build_cpu, build_vendor and build_os.
37AC_CANONICAL_BUILD
38
39# Set host, host_cpu, host_vendor, and host_os.
40AC_CANONICAL_HOST
41
42# Set target, target_cpu, target_vendor, and target_os.
43AC_CANONICAL_TARGET
44
45ACX_NONCANONICAL_TARGET
46
47AC_ARG_PROGRAM
48
49# We require libtool to link with the in-tree libtool libraries
50# the proper way.
51LT_INIT
52# ... and we need it soon, since it is used by some of the
53# link tests in the configure script.
54LT_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.
58AX_CXX_COMPILE_STDCXX(11, , mandatory)
59
60# Dependency checking.
61ZW_CREATE_DEPDIR
62ZW_PROG_COMPILER_DEPENDENCIES([CC])
63
64dnl List of object files and targets accumulated by configure.
65
66CONFIG_OBS=
67CONFIG_DEPS=
68CONFIG_SRCS=
69ENABLE_CFLAGS=
70
71CONFIG_ALL=
72CONFIG_CLEAN=
73CONFIG_INSTALL=
74CONFIG_UNINSTALL=
75
76dnl Set up for gettext.
77ZW_GNU_GETTEXT_SISTER_DIR
78
79localedir='${datadir}/locale'
80AC_SUBST(localedir)
81
82if 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"
87fi
88
89PACKAGE=gdb
90AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package. ])
91AC_SUBST(PACKAGE)
92
93# We never need to detect it in this sub-configure.
94# But preserve it for config.status --recheck.
95AC_ARG_VAR(MAKEINFO,
96  [Parent configure detects if it is of sufficient version.])
97AC_ARG_VAR(MAKEINFOFLAGS,
98  [Parameters for MAKEINFO.])
99
100MAKEINFO_EXTRA_FLAGS=""
101AC_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])
108if test x"$gdb_cv_have_makeinfo_click" = xyes; then
109  MAKEINFO_EXTRA_FLAGS="$MAKEINFO_EXTRA_FLAGS -DHAVE_MAKEINFO_CLICK"
110fi
111AC_SUBST(MAKEINFO_EXTRA_FLAGS)
112
113GDB_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.
123AC_DEFINE_DIR(BINDIR, bindir, [Directory of programs.])
124
125# GDB's datadir relocation
126
127GDB_AC_WITH_DIR(GDB_DATADIR, gdb-datadir,
128    [look for global separate data files in this path @<:@DATADIR/gdb@:>@],
129    [${datadir}/gdb])
130
131AC_ARG_WITH(relocated-sources,
132AS_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
138AC_MSG_CHECKING([for default auto-load directory])
139AC_ARG_WITH(auto-load-dir,
140AS_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'])
143escape_dir=`echo $with_auto_load_dir | sed -e 's/[[$]]datadir\>/\\\\\\\\\\\\&/g' -e 's/[[$]]debugdir\>/\\\\\\\\\\\\&/g'`
144AC_DEFINE_DIR(AUTO_LOAD_DIR, escape_dir,
145	      [Directories from which to load auto-loaded scripts.])
146AC_MSG_RESULT([$with_auto_load_dir])
147
148AC_MSG_CHECKING([for default auto-load safe-path])
149AC_ARG_WITH(auto-load-safe-path,
150AS_HELP_STRING([--with-auto-load-safe-path=PATH],
151  [directories safe to hold auto-loaded files @<:@--with-auto-load-dir@:>@])
152AS_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"])
158escape_dir=`echo $with_auto_load_safe_path | sed -e 's/[[$]]datadir\>/\\\\\\\\\\\\&/g' -e 's/[[$]]debugdir\>/\\\\\\\\\\\\&/g'`
159AC_DEFINE_DIR(AUTO_LOAD_SAFE_PATH, escape_dir,
160	      [Directories safe to hold auto-loaded files.])
161AC_MSG_RESULT([$with_auto_load_safe_path])
162
163AC_CONFIG_SUBDIRS(testsuite)
164
165# Check whether to support alternative target configurations
166AC_ARG_ENABLE(targets,
167AS_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 ;;
173esac])
174
175BFD_64_BIT
176
177# Provide defaults for some variables set by the per-host and per-target
178# configuration.
179gdb_host_obs=posix-hdep.o
180
181if test "${target}" = "${host}"; then
182  gdb_native=yes
183else
184  gdb_native=no
185fi
186
187. $srcdir/configure.host
188
189# Accumulate some settings from configure.tgt over all enabled targets
190
191TARGET_OBS=
192all_targets=
193HAVE_NATIVE_GCORE_TARGET=
194
195for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'`
196do
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
234done
235
236if 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
242fi
243
244AC_SUBST(TARGET_OBS)
245AC_SUBST(HAVE_NATIVE_GCORE_TARGET)
246
247# For other settings, only the main target counts.
248gdb_sim=
249gdb_osabi=
250targ=$target; . ${srcdir}/configure.tgt
251
252# Fetch the default architecture and default target vector from BFD.
253targ=$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.
257targ_archs=`echo $targ_archs | sed 's/ .*//'`
258
259if test "x$targ_archs" != x; then
260  AC_DEFINE_UNQUOTED(DEFAULT_BFD_ARCH, $targ_archs,
261    [Define to BFD's default architecture. ])
262fi
263if test "x$targ_defvec" != x; then
264  AC_DEFINE_UNQUOTED(DEFAULT_BFD_VEC, $targ_defvec,
265    [Define to BFD's default target vector. ])
266fi
267
268# Enable MI.
269AC_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])
273if 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
280fi
281
282# Enable TUI.
283AC_ARG_ENABLE(tui,
284AS_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.
290AC_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.
299case $host_os in
300  go32* | windows*)
301    AC_MSG_WARN([gdbtk isn't supported on $host; disabling])
302    enable_gdbtk=no ;;
303esac
304
305# Handle optional debuginfod support
306AC_DEBUGINFOD
307
308# Libunwind support for ia64.
309AC_ARG_WITH(libunwind-ia64,
310AS_HELP_STRING([--with-libunwind-ia64],
311	       [use libunwind frame unwinding for ia64 targets]),,
312	    [with_libunwind_ia64=auto])
313
314# Backward compatibility option.
315if 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"
322fi
323
324case "$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    ;;
335esac
336
337if 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"
345fi
346
347opt_curses=no
348AC_ARG_WITH(curses, AS_HELP_STRING([--with-curses], [use the curses library instead of the termcap library]), opt_curses=$withval)
349
350prefer_curses=no
351if test "$opt_curses" = "yes"; then
352  prefer_curses=yes
353fi
354
355# Profiling support.
356AC_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
361AC_CHECK_FUNCS(monstartup _mcleanup)
362AC_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)
375if test "$ac_cv_var__etext" = yes; then
376  AC_DEFINE(HAVE__ETEXT, 1,
377            [Define to 1 if your system has the _etext variable. ])
378fi
379AC_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)
392if test "$ac_cv_var_etext" = yes; then
393  AC_DEFINE(HAVE_ETEXT, 1,
394            [Define to 1 if your system has the etext variable. ])
395fi
396if 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"
419fi
420
421CODESIGN_CERT=
422AC_ARG_ENABLE([codesign],
423  AS_HELP_STRING([--enable-codesign=CERT],
424                 [sign gdb with 'codesign -s CERT']),
425  [CODESIGN_CERT=$enableval])
426AC_SUBST([CODESIGN_CERT])
427
428ACX_PKGVERSION([GDB])
429ACX_BUGURL([https://www.gnu.org/software/gdb/bugs/])
430AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description])
431AC_DEFINE_UNQUOTED([REPORT_BUGS_TO], ["$REPORT_BUGS_TO"], [Bug reporting address])
432
433# --------------------- #
434# Checks for programs.  #
435# --------------------- #
436
437AC_PROG_AWK
438AC_PROG_INSTALL
439AC_PROG_LN_S
440AC_PROG_RANLIB
441AC_PROG_YACC
442
443AC_CHECK_TOOL(AR, ar)
444AC_CHECK_TOOL(DLLTOOL, dlltool)
445AC_CHECK_TOOL(WINDRES, windres)
446
447case $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    ;;
455esac
456
457# ---------------------- #
458# Checks for libraries.  #
459# ---------------------- #
460
461# We might need to link with -lm; most simulators need it.
462AC_CHECK_LIB(m, main)
463
464# Some systems (e.g. Solaris) have `gethostbyname' in libnsl.
465AC_SEARCH_LIBS(gethostbyname, nsl)
466
467# Some systems (e.g. Solaris) have `socketpair' in libsocket.
468AC_SEARCH_LIBS(socketpair, socket)
469
470# Link in zlib/zstd if we can.  This allows us to read compressed debug
471# sections.
472AM_ZLIB
473AC_ZSTD
474
475AM_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
492AC_ARG_WITH(iconv-bin,
493AS_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.
501if test x"$enable_tui" != xno; then
502  prefer_curses=yes
503fi
504
505curses_found=no
506if 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
519fi
520
521# Check whether we should enable the TUI, but only do so if we really
522# can.
523if 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
538fi
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
544case $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    ;;
553esac
554
555# These are the libraries checked by Readline.
556AC_SEARCH_LIBS(tgetent, [termcap tinfow tinfo curses ncursesw ncurses])
557
558if test "$ac_cv_search_tgetent" = no; then
559  CONFIG_OBS="$CONFIG_OBS stub-termcap.o"
560fi
561
562AC_ARG_WITH([system-readline],
563  [AS_HELP_STRING([--with-system-readline],
564                  [use installed readline library])])
565
566if 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)'
595else
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)'
601fi
602AC_SUBST(READLINE)
603AC_SUBST(READLINE_DEPS)
604AC_SUBST(READLINE_CFLAGS)
605AC_SUBST(READLINE_TEXI_INCFLAG)
606AC_SUBST(READLINE_DOC_SOURCE_INCLUDES)
607
608# Generate jit-reader.h
609
610# This is typedeffed to GDB_CORE_ADDR in jit-reader.h
611TARGET_PTR=
612
613AC_CHECK_SIZEOF(unsigned long long)
614AC_CHECK_SIZEOF(unsigned long)
615AC_CHECK_SIZEOF(unsigned __int128)
616
617if test "x${ac_cv_sizeof_unsigned_long}" = "x8"; then
618  TARGET_PTR="unsigned long"
619elif test "x${ac_cv_sizeof_unsigned_long_long}" = "x8"; then
620  TARGET_PTR="unsigned long long"
621elif test "x${ac_cv_sizeof_unsigned___int128}" = "x16"; then
622  TARGET_PTR="unsigned __int128"
623else
624  TARGET_PTR="unsigned long"
625fi
626
627AC_SUBST(TARGET_PTR)
628AC_CONFIG_FILES([jit-reader.h:jit-reader.in])
629
630AC_SEARCH_LIBS(dlopen, dl)
631
632GDB_AC_WITH_DIR([JIT_READER_DIR], [jit-reader-dir],
633                [directory to load the JIT readers from],
634                [${libdir}/gdb])
635
636AC_ARG_WITH(expat,
637  AS_HELP_STRING([--with-expat], [include expat support (auto/yes/no)]),
638  [], [with_expat=auto])
639AC_MSG_CHECKING([whether to use expat])
640AC_MSG_RESULT([$with_expat])
641
642if test "${with_expat}" = no; then
643  AC_MSG_WARN([expat support disabled; some features may be unavailable.])
644  HAVE_LIBEXPAT=no
645else
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
660fi
661
662# Verify that we have a usable GMP library.
663AC_LIB_HAVE_LINKFLAGS([gmp], [], [#include <gmp.h>],
664                      [mpz_t n;
665                       mpz_init (n);])
666if test "$HAVE_LIBGMP" != yes; then
667  AC_MSG_ERROR([GMP is missing or unusable])
668fi
669
670AC_ARG_WITH(mpfr,
671  AS_HELP_STRING([--with-mpfr], [include MPFR support (auto/yes/no)]),
672  [], [with_mpfr=auto])
673AC_MSG_CHECKING([whether to use MPFR])
674AC_MSG_RESULT([$with_mpfr])
675
676if test "${with_mpfr}" = no; then
677  AC_MSG_WARN([MPFR support disabled; some features may be unavailable.])
678  HAVE_LIBMPFR=no
679else
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
690fi
691
692# --------------------- #
693# Check for libpython.  #
694# --------------------- #
695
696dnl Utility to simplify finding libpython.
697dnl $1 = the shell variable to assign the result to
698dnl      If libpython is found we store $version here.
699dnl $2 = additional flags to add to CPPFLAGS
700dnl $3 = additional flags to add to LIBS
701
702AC_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
729dnl There are several different values for --with-python:
730dnl
731dnl no -   Don't include python support.
732dnl yes -  Include python support, error if it's missing.
733dnl        If we find python in $PATH, use it to fetch configure options,
734dnl        otherwise assume the compiler can find it with no help from us.
735dnl auto - Same as "yes", but if python is missing from the system,
736dnl        fall back to "no".
737dnl /path/to/python/exec-prefix -
738dnl        Use the python located in this directory.
739dnl        If /path/to/python/exec-prefix/bin/python exists, use it to find
740dnl        the compilation parameters.  Otherwise use
741dnl        -I/path/to/python/exec-prefix/include,
742dnl        -L/path/to/python/exec-prefix/lib.
743dnl        NOTE: This case is historical.  It is what was done for 7.0/7.1
744dnl        but is deprecated.
745dnl /path/to/python/executable -
746dnl        Run python-config.py with this version of python to fetch the
747dnl        compilation parameters.
748dnl        NOTE: This needn't be the real python executable.
749dnl        In a cross-compilation scenario (build != host), this could be
750dnl        a shell script that provides what python-config.py provides for
751dnl        --ldflags, --includes, --exec-prefix.
752dnl python-executable -
753dnl        Find python-executable in $PATH, and then handle the same as
754dnl        /path/to/python/executable.
755dnl
756dnl If a python program is specified, it is used to run python-config.py and
757dnl is passed --ldflags, --includes, --exec-prefix.
758
759AC_ARG_WITH(python,
760  AS_HELP_STRING([--with-python@<:@=PYTHON@:>@], [include python support (auto/yes/no/<python-program>)]),
761  [], [with_python=auto])
762AC_MSG_CHECKING([whether to use python])
763AC_MSG_RESULT([$with_python])
764
765if test "${with_python}" = no; then
766  AC_MSG_WARN([python support disabled; some features may be unavailable.])
767  have_libpython=no
768else
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
899fi
900
901dnl Use --with-python-libdir to control where GDB looks for the Python
902dnl libraries.
903dnl
904dnl If this is not given then the default will be based on the value
905dnl passed to --with-python, which is in the python_prefix variable.
906dnl If the --with-python option wasn't given then the default value in
907dnl python_prefix is based on running the 'gdb/python/python-config
908dnl --exec-prefix' script.
909AC_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
919if 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
977else
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"
982fi
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.
989PYTHON_LIBS=`echo $PYTHON_LIBS | sed -e 's/-Xlinker -export-dynamic//'`
990
991AC_SUBST(PYTHON_CFLAGS)
992AC_SUBST(PYTHON_CPPFLAGS)
993AC_SUBST(PYTHON_LIBS)
994AM_CONDITIONAL(HAVE_PYTHON, test "${have_libpython}" != no)
995
996# -------------------- #
997# Check for libguile.  #
998# -------------------- #
999
1000dnl Utility to simplify finding libguile.
1001dnl $1 = pkg-config-program
1002dnl $2 = space-separate list of guile versions to try
1003dnl $3 = yes|no, indicating whether to flag errors or ignore them
1004dnl $4 = the shell variable to assign the result to
1005dnl      If libguile is found we store "yes" here.
1006
1007AC_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
1070dnl There are several different values for --with-guile:
1071dnl
1072dnl no -   Don't include guile support.
1073dnl yes -  Include guile support, error if it's missing.
1074dnl        The pkg-config program must be in $PATH.
1075dnl auto - Same as "yes", but if guile is missing from the system,
1076dnl        fall back to "no".
1077dnl guile-version [guile-version-choice-2 ...] -
1078dnl        A space-separated list of guile package versions to try.
1079dnl        These are passed to pkg-config as-is.
1080dnl        E.g., guile-2.0 or guile-2.2-uninstalled
1081dnl        This requires making sure PKG_CONFIG_PATH is set appropriately.
1082dnl /path/to/pkg-config -
1083dnl        Use this pkg-config program.
1084dnl        NOTE: This needn't be the "real" pkg-config program.
1085dnl        It could be a shell script.  It is invoked as:
1086dnl        pkg-config --exists $version
1087dnl        pkg-config --cflags $version
1088dnl        pkg-config --libs $version
1089dnl        pkg-config --variable guild $version
1090dnl        The script will be called with $version having each value in
1091dnl        $try_guile_versions until --exists indicates success.
1092
1093AC_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])
1096AC_MSG_CHECKING([whether to use guile])
1097AC_MSG_RESULT([$with_guile])
1098
1099dnl We check guile with pkg-config.
1100AC_PATH_PROG(pkg_config_prog_path, pkg-config, missing)
1101
1102try_guile_versions="guile-3.0 guile-2.2 guile-2.0"
1103have_libguile=no
1104case "${with_guile}" in
1105no)
1106  AC_MSG_WARN([guile support disabled; some features will be unavailable.])
1107  ;;
1108auto)
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  ;;
1115yes)
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  ;;
1139esac
1140
1141if 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
1159fi
1160
1161if 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"
1177else
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"
1182fi
1183AC_SUBST(GUILE_CPPFLAGS)
1184AC_SUBST(GUILE_LIBS)
1185AM_CONDITIONAL(HAVE_GUILE, test "${have_libguile}" != no)
1186
1187# ---------------------------- #
1188# Check for source highlight.  #
1189# ---------------------------- #
1190
1191SRCHIGH_LIBS=
1192SRCHIGH_CFLAGS=
1193
1194AC_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
1200if 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
1212either 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
1266fi
1267AC_SUBST(SRCHIGH_LIBS)
1268AC_SUBST(SRCHIGH_CFLAGS)
1269
1270# ------------------------- #
1271# Checks for header files.  #
1272# ------------------------- #
1273
1274AC_HEADER_STDC
1275# elf_hp.h is for HP/UX 64-bit shared library support.
1276AC_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])
1282AC_CHECK_HEADERS(sys/user.h, [], [],
1283[#if HAVE_SYS_PARAM_H
1284# include <sys/param.h>
1285#endif
1286])
1287
1288AC_CHECK_HEADERS(curses.h cursesX.h ncurses.h ncursesw/ncurses.h ncurses/ncurses.h ncurses/term.h)
1289AC_CHECK_HEADERS(term.h, [], [],
1290[#if HAVE_CURSES_H
1291# include <curses.h>
1292#endif
1293])
1294
1295AC_CHECK_HEADERS([sys/socket.h])
1296AC_CHECK_HEADERS([ws2tcpip.h])
1297AC_CHECK_HEADERS([execinfo.h])
1298
1299# ------------------------- #
1300# Checks for declarations.  #
1301# ------------------------- #
1302
1303libiberty_INIT
1304
1305AC_CHECK_DECLS([snprintf])
1306AM_LC_MESSAGES
1307
1308# ------------------ #
1309# Checks for types.  #
1310# ------------------ #
1311
1312AC_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
1325AC_C_CONST
1326AC_C_INLINE
1327AC_C_BIGENDIAN
1328
1329# ------------------------------ #
1330# Checks for library functions.  #
1331# ------------------------------ #
1332
1333AC_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])
1340AM_LANGINFO_CODESET
1341GDB_AC_COMMON
1342
1343# Check the return and argument types of ptrace.
1344GDB_AC_PTRACE
1345
1346dnl AC_FUNC_SETPGRP does not work when cross compiling
1347dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
1348if test "$cross_compiling" = no; then
1349  AC_FUNC_SETPGRP
1350else
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  )
1366if test "$ac_cv_func_setpgrp_void" = yes; then
1367  AC_DEFINE(SETPGRP_VOID, 1)
1368fi
1369fi
1370
1371# Check if <sys/proc.h> defines `struct thread' with a td_pcb member.
1372AC_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`.
1378AC_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)
1392if test "$gdb_cv_struct_lwp" = yes; then
1393  AC_DEFINE(HAVE_STRUCT_LWP, 1,
1394            [Define to 1 if your system has struct lwp.])
1395fi
1396
1397# See if <machine/reg.h> degines `struct reg'.
1398AC_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)
1411if 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>.])
1414fi
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'.
1418AC_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.
1423AC_MSG_CHECKING(for PTRACE_GETREGS)
1424AC_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)
1432AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
1433if 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.])
1436fi
1437
1438# See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.
1439AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
1440AC_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)
1448AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
1449if 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.])
1452fi
1453
1454# See if <sys/ptrace.h> provides the PT_GETDBREGS request.
1455AC_MSG_CHECKING(for PT_GETDBREGS)
1456AC_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)
1468AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
1469if 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.])
1472fi
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'.
1477AC_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.
1483AC_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
1488AC_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)])
1494if test "$gdb_cv_c_long_long" != yes; then
1495  # libdecnumber requires long long.
1496  AC_MSG_ERROR([Compiler must support long long for GDB.])
1497fi
1498
1499# Check if the compiler and runtime support printing decfloats.
1500
1501AC_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)])
1513if 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.])
1516fi
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
1523AC_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)])
1527if 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.])
1530fi
1531
1532# Check if the compiler and runtime support printing long doubles.
1533
1534AC_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)])
1544if 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.])
1547fi
1548
1549# Check if the compiler and runtime support scanning long doubles.
1550
1551AC_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)])
1562if 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.])
1565fi
1566
1567case ${host_os} in
1568aix*)
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  ;;
1588esac
1589
1590AC_MSG_CHECKING(for the dynamic export flag)
1591dynamic_list=false
1592if 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"
1637fi
1638if $dynamic_list; then
1639  found="-Wl,--dynamic-list"
1640  RDYNAMIC='-Wl,--dynamic-list=$(srcdir)/proc-service.list'
1641else
1642  found="-rdynamic"
1643  RDYNAMIC="-rdynamic"
1644fi
1645AC_SUBST(RDYNAMIC)
1646AC_MSG_RESULT($found)
1647
1648AC_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])])
1664if 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.])
1667fi
1668
1669dnl For certain native configurations, we need to check whether thread
1670dnl support can be built in or not.
1671dnl
1672dnl Note that we only want this if we are both native (host == target),
1673dnl and not doing a canadian cross build (build == host).
1674
1675if 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)
1706fi
1707
1708dnl See if we have a thread_db header file that has TD_NOTALLOC and
1709dnl other error codes.
1710if 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  )
1749fi
1750if 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.])
1753fi
1754if 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.])
1757fi
1758if 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.])
1761fi
1762
1763dnl Set the host's .gdbinit filename.
1764case $host_os in
1765  go32* | *djgpp*)
1766    gdbinit=gdb.ini
1767    ;;
1768  *)
1769    gdbinit=.gdbinit
1770    ;;
1771esac
1772AC_DEFINE_UNQUOTED(GDBINIT,"$gdbinit",[The .gdbinit filename.])
1773
1774dnl Set the host's .gdbearlyinit filename
1775AC_DEFINE_UNQUOTED(GDBEARLYINIT,".gdbearlyinit",[The .gdbearlyinit filename.])
1776
1777dnl 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.
1782if test "x$with_sysroot" = xyes; then
1783  with_sysroot="${exec_prefix}/${target_alias}/sys-root"
1784fi
1785AC_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=])
1789AC_DEFINE_DIR(TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT,
1790              [search for usr/lib et al within DIR])
1791AC_SUBST(TARGET_SYSTEM_ROOT)
1792GDB_AC_DEFINE_RELOCATABLE(TARGET_SYSTEM_ROOT, sysroot, ${ac_define_dir})
1793
1794GDB_AC_WITH_DIR(SYSTEM_GDBINIT, system-gdbinit,
1795    [automatically load a system-wide gdbinit file],
1796    [])
1797GDB_AC_WITH_DIR(SYSTEM_GDBINIT_DIR, system-gdbinit-dir,
1798    [automatically load system-wide gdbinit files from this directory],
1799    [])
1800
1801AM_GDB_COMPILER_TYPE
1802AM_GDB_WARNINGS
1803AM_GDB_UBSAN
1804
1805# In the Cygwin environment, we need some additional flags.
1806AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
1807[AC_EGREP_CPP(^lose$, [
1808#if defined (__CYGWIN__) || defined (__CYGWIN32__)
1809lose
1810#endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
1811
1812
1813dnl Figure out which of the many generic ser-*.c files the _host_ supports.
1814SER_HARDWIRE="ser-base.o ser-unix.o ser-pipe.o ser-tcp.o"
1815case ${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" ;;
1820esac
1821AC_SUBST(SER_HARDWIRE)
1822
1823# libreadline needs libuser32.a in a cygwin environment
1824WIN32LIBS=
1825if test x"$gdb_cv_os_cygwin" = xyes; then
1826    WIN32LIBS="-luser32"
1827    case "${target}" in
1828	*cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
1829	;;
1830    esac
1831fi
1832
1833# The ser-tcp.c module requires sockets.
1834# Note that WIN32APILIBS is set by GDB_AC_COMMON.
1835WIN32LIBS="$WIN32LIBS $WIN32APILIBS"
1836
1837# Add ELF support to GDB, but only if BFD includes ELF support.
1838GDB_AC_CHECK_BFD([for ELF support in BFD], gdb_cv_var_elf,
1839                 [bfd_get_elf_phdr_upper_bound (NULL)], elf-bfd.h)
1840if 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
1849fi
1850
1851# Add macho support to GDB, but only if BFD includes it.
1852GDB_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)
1854if test "$gdb_cv_var_macho" = yes; then
1855  CONFIG_OBS="$CONFIG_OBS machoread.o"
1856fi
1857
1858# Add any host-specific objects to GDB.
1859CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
1860
1861# If building on ELF, look for lzma support for embedded compressed debug info.
1862if 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
1880fi
1881
1882LIBGUI="../libgui/src/libgui.a"
1883GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
1884AC_SUBST(LIBGUI)
1885AC_SUBST(GUI_CFLAGS_X)
1886
1887WIN32LDAPP=
1888AC_SUBST(WIN32LIBS)
1889AC_SUBST(WIN32LDAPP)
1890
1891case "${host}" in
1892*-*-cygwin* | *-*-mingw* )
1893    configdir="win"
1894    ;;
1895*)
1896    configdir="unix"
1897    ;;
1898esac
1899
1900GDBTKLIBS=
1901if 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
1999fi
2000
2001AC_SUBST(X_CFLAGS)
2002AC_SUBST(X_LDFLAGS)
2003AC_SUBST(X_LIBS)
2004AC_SUBST(GDBTKLIBS)
2005AC_SUBST(GDBTK_CFLAGS)
2006AC_SUBST(GDBTK_SRC_DIR)
2007
2008AC_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#
2017AC_ARG_ENABLE(sim,
2018AS_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
2028if test ! -d "${srcdir}/../sim"; then
2029  ignore_sim=true
2030fi
2031
2032SIM=
2033SIM_OBS=
2034if 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
2047fi
2048AC_SUBST(SIM)
2049AC_SUBST(SIM_OBS)
2050
2051AC_SUBST(ENABLE_CFLAGS)
2052AC_SUBST(PROFILE_CFLAGS)
2053
2054AC_SUBST(CONFIG_OBS)
2055AC_SUBST(CONFIG_DEPS)
2056AC_SUBST(CONFIG_SRCS)
2057AC_SUBST(CONFIG_ALL)
2058AC_SUBST(CONFIG_CLEAN)
2059AC_SUBST(CONFIG_INSTALL)
2060AC_SUBST(CONFIG_UNINSTALL)
2061
2062# List of host floatformats.
2063AC_DEFINE_UNQUOTED(GDB_HOST_FLOAT_FORMAT,$gdb_host_float_format,[Host float floatformat])
2064AC_DEFINE_UNQUOTED(GDB_HOST_DOUBLE_FORMAT,$gdb_host_double_format,[Host double floatformat])
2065AC_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.
2068target_subdir=
2069if test "${host}" != "${target}"; then
2070    target_subdir="${target_alias}/"
2071fi
2072AC_SUBST(target_subdir)
2073
2074# Import nat definitions.
2075nat_makefile_frag=/dev/null
2076if test "${gdb_native}" = "yes"; then
2077  . ${srcdir}/configure.nat
2078  nativefile=$NAT_FILE
2079fi
2080
2081AC_SUBST(NAT_FILE)
2082AC_SUBST(NATDEPFILES)
2083AC_SUBST(NAT_CDEPS)
2084AC_SUBST(LOADLIBES)
2085AC_SUBST(MH_CFLAGS)
2086AC_SUBST(XM_CLIBS)
2087AC_SUBST(NAT_GENERATED_FILES)
2088AC_SUBST(HAVE_NATIVE_GCORE_HOST)
2089AC_SUBST_FILE(nat_makefile_frag)
2090
2091if 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.])
2094fi
2095
2096# Setup possible use of libbacktrace.
2097AC_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
2103if 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.])
2107else
2108  LIBBACKTRACE_INC=
2109  LIBBACKTRACE_LIB=
2110fi
2111
2112AC_SUBST(LIBBACKTRACE_INC)
2113AC_SUBST(LIBBACKTRACE_LIB)
2114
2115# Check for babeltrace and babeltrace-ctf
2116AC_ARG_WITH(babeltrace,
2117  AS_HELP_STRING([--with-babeltrace], [include babeltrace support (auto/yes/no)]),
2118  [], [with_babeltrace=auto])
2119AC_MSG_CHECKING([whether to use babeltrace])
2120AC_MSG_RESULT([$with_babeltrace])
2121
2122if test "x$with_babeltrace" = "xno"; then
2123  AC_MSG_WARN([babletrace support disabled; GDB is unable to read CTF data.])
2124else
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
2156fi
2157
2158# Check for xxhash
2159AC_ARG_WITH(xxhash,
2160  AS_HELP_STRING([--with-xxhash], [use libxxhash for hashing (faster) (auto/yes/no)]),
2161  [], [with_xxhash=auto])
2162
2163GCC_ENABLE([libctf], [yes], [], [Handle .ctf type-info sections])
2164if 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"
2168else
2169  LIBCTF=
2170  CTF_DEPS=
2171fi
2172AC_SUBST(LIBCTF)
2173AC_SUBST(CTF_DEPS)
2174
2175# If nativefile (NAT_FILE) is not set in configure.nat, we link to an
2176# empty version.
2177
2178if 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
2191fi
2192
2193AC_MSG_CHECKING([whether to use xxhash])
2194AC_MSG_RESULT([$with_xxhash])
2195
2196NM_H=
2197rm -f nm.h
2198if 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
2207fi
2208AC_SUBST(GDB_NM_FILE)
2209AC_SUBST(NM_H)
2210
2211dnl Add dependency for xsltproc if building with maintainer-mode enabled.
2212AC_PATH_PROGS(XSLTPROC, xsltproc, missing)
2213if 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
2217fi
2218AC_SUBST(XSLTPROC)
2219
2220dnl Check for exe extension set on certain hosts (e.g. Win32)
2221AC_EXEEXT
2222
2223dnl  Detect the character set used by this host.
2224dnl  At the moment, we just assume it's UTF-8.
2225AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "UTF-8",
2226          [Define to be a string naming the default host character set.])
2227
2228GDB_AC_SELFTEST([
2229  CONFIG_OBS="$CONFIG_OBS \$(SELFTESTS_OBS)"
2230  CONFIG_SRCS="$CONFIG_SRCS \$(SELFTESTS_SRCS)"
2231])
2232
2233GDB_AC_TRANSFORM([gdb], [GDB_TRANSFORM_NAME])
2234GDB_AC_TRANSFORM([gcore], [GCORE_TRANSFORM_NAME])
2235AC_CONFIG_FILES([gcore], [chmod +x gcore])
2236AC_CONFIG_FILES([Makefile gdb-gdb.gdb gdb-gdb.py doc/Makefile data-directory/Makefile])
2237
2238AC_OUTPUT
2239