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