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