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