do not use python<version> subdir when including Python .h file
[deliverable/binutils-gdb.git] / gdb / configure.ac
1 dnl Autoconf configure script for GDB, the GNU debugger.
2 dnl Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
3 dnl 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
4 dnl Free Software Foundation, Inc.
5 dnl
6 dnl This file is part of GDB.
7 dnl
8 dnl This program is free software; you can redistribute it and/or modify
9 dnl it under the terms of the GNU General Public License as published by
10 dnl the Free Software Foundation; either version 3 of the License, or
11 dnl (at your option) any later version.
12 dnl
13 dnl This program is distributed in the hope that it will be useful,
14 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
15 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 dnl GNU General Public License for more details.
17 dnl
18 dnl You should have received a copy of the GNU General Public License
19 dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
20
21 dnl Process this file with autoconf to produce a configure script.
22
23 AC_PREREQ(2.59)dnl
24 AC_INIT(main.c)
25 AC_CONFIG_HEADER(config.h:config.in)
26 AM_MAINTAINER_MODE
27
28 AC_PROG_CC
29 AC_USE_SYSTEM_EXTENSIONS
30 gl_EARLY
31 ACX_LARGEFILE
32 AM_PROG_CC_STDC
33
34 AC_CONFIG_AUX_DIR(..)
35 AC_CANONICAL_SYSTEM
36
37 # Dependency checking.
38 ZW_CREATE_DEPDIR
39 ZW_PROG_COMPILER_DEPENDENCIES([CC])
40
41 # Check for the 'make' the user wants to use.
42 AC_CHECK_PROGS(MAKE, make)
43 MAKE_IS_GNU=
44 case "`$MAKE --version 2>&1 | sed 1q`" in
45 *GNU*)
46 MAKE_IS_GNU=yes
47 ;;
48 esac
49 AM_CONDITIONAL(GMAKE, test "$MAKE_IS_GNU" = yes)
50 AC_PROG_MAKE_SET
51
52 dnl List of object files and targets accumulated by configure.
53
54 CONFIG_OBS=
55 CONFIG_DEPS=
56 CONFIG_SRCS=
57 ENABLE_CFLAGS=
58
59 CONFIG_ALL=
60 CONFIG_CLEAN=
61 CONFIG_INSTALL=
62 CONFIG_UNINSTALL=
63
64 dnl Set up for gettext.
65 ZW_GNU_GETTEXT_SISTER_DIR
66
67 localedir='${datadir}/locale'
68 AC_SUBST(localedir)
69
70 if test x"$USE_NLS" = xyes; then
71 CONFIG_ALL="$CONFIG_ALL all-po"
72 CONFIG_CLEAN="$CONFIG_CLEAN clean-po"
73 CONFIG_INSTALL="$CONFIG_INSTALL install-po"
74 CONFIG_UNINSTALL="$CONFIG_UNINSTALL uninstall-po"
75 fi
76
77 gl_INIT
78
79 # For Makefile dependencies.
80 GNULIB_STDINT_H=
81 if test x"$STDINT_H" != x; then
82 GNULIB_STDINT_H=gnulib/$STDINT_H
83 fi
84 AC_SUBST(GNULIB_STDINT_H)
85
86 PACKAGE=gdb
87 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package. ])
88 AC_SUBST(PACKAGE)
89
90 # GDB does not use automake, but gnulib does. This line lets us
91 # generate its Makefile.in.
92 AM_INIT_AUTOMAKE(gdb, UNUSED-VERSION, [no-define])
93
94 GDB_AC_WITH_DIR(DEBUGDIR, separate-debug-dir,
95 [look for global separate debug info in this path @<:@LIBDIR/debug@:>@],
96 [${libdir}/debug])
97
98 # GDB's datadir relocation
99
100 GDB_AC_WITH_DIR(GDB_DATADIR, gdb-datadir,
101 [look for global separate data files in this path @<:@DATADIR/gdb@:>@],
102 [${datadir}/gdb])
103
104 AC_ARG_WITH(relocated-sources,
105 AS_HELP_STRING([--with-relocated-sources=PATH], [automatically relocate this path for source files]),
106 [reloc_srcdir="${withval}"
107 AC_DEFINE_DIR(RELOC_SRCDIR, reloc_srcdir,
108 [Relocated directory for source files. ])
109 ])
110
111 AC_CONFIG_SUBDIRS(testsuite)
112
113 # Check whether to support alternative target configurations
114 AC_ARG_ENABLE(targets,
115 AS_HELP_STRING([--enable-targets=TARGETS], [alternative target configurations]),
116 [case "${enableval}" in
117 yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
118 ;;
119 no) enable_targets= ;;
120 *) enable_targets=$enableval ;;
121 esac])
122
123 # Check whether to enable 64-bit support on 32-bit hosts
124 AC_ARG_ENABLE(64-bit-bfd,
125 AS_HELP_STRING([--enable-64-bit-bfd], [64-bit support (on hosts with narrower word sizes)]),
126 [case "${enableval}" in
127 yes) want64=true ;;
128 no) want64=false ;;
129 *) AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option) ;;
130 esac],[want64=false])dnl
131
132 # Provide defaults for some variables set by the per-host and per-target
133 # configuration.
134 gdb_host_obs=posix-hdep.o
135
136 if test "${target}" = "${host}"; then
137 gdb_native=yes
138 else
139 gdb_native=no
140 fi
141
142 . $srcdir/configure.host
143
144 # Accumulate some settings from configure.tgt over all enabled targets
145
146 TARGET_OBS=
147 all_targets=
148
149 for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'`
150 do
151 if test "$targ_alias" = "all"; then
152 all_targets=true
153 else
154 # Canonicalize the secondary target names.
155 result=`$ac_config_sub $targ_alias 2>/dev/null`
156 if test -n "$result"; then
157 targ=$result
158 else
159 targ=$targ_alias
160 fi
161
162 . ${srcdir}/configure.tgt
163
164 AS_IF([test -z "${gdb_target_obs}"],
165 [AC_MSG_ERROR([configuration ${targ} is unsupported.])])
166
167 # Target-specific object files
168 for i in ${gdb_target_obs}; do
169 case " $TARGET_OBS " in
170 *" ${i} "*) ;;
171 *)
172 TARGET_OBS="$TARGET_OBS ${i}"
173 ;;
174 esac
175 done
176
177 # Check whether this target needs 64-bit CORE_ADDR
178 if test x${want64} = xfalse; then
179 . ${srcdir}/../bfd/config.bfd
180 fi
181 fi
182 done
183
184 if test x${all_targets} = xtrue; then
185
186 # We want all 64-bit targets if we either:
187 # - run on a 64-bit host or
188 # - already require 64-bit support for some other target or
189 # - the --enable-64-bit-bfd option was supplied
190 # Otherwise we only support all 32-bit targets.
191 #
192 # NOTE: This test must be in sync with the corresponding
193 # tests in BFD!
194
195 if test x${want64} = xfalse; then
196 AC_CHECK_SIZEOF(long)
197 if test "x${ac_cv_sizeof_long}" = "x8"; then
198 want64=true
199 fi
200 fi
201 if test x${want64} = xtrue; then
202 TARGET_OBS='$(ALL_TARGET_OBS) $(ALL_64_TARGET_OBS)'
203 else
204 TARGET_OBS='$(ALL_TARGET_OBS)'
205 fi
206 fi
207
208 AC_SUBST(TARGET_OBS)
209
210 # For other settings, only the main target counts.
211 gdb_sim=
212 gdb_osabi=
213 build_gdbserver=
214 targ=$target; . ${srcdir}/configure.tgt
215
216 # Fetch the default architecture and default target vector from BFD.
217 targ=$target; . $srcdir/../bfd/config.bfd
218
219 # We only want the first architecture, so strip off the others if
220 # there is more than one.
221 targ_archs=`echo $targ_archs | sed 's/ .*//'`
222
223 if test "x$targ_archs" != x; then
224 AC_DEFINE_UNQUOTED(DEFAULT_BFD_ARCH, $targ_archs,
225 [Define to BFD's default architecture. ])
226 fi
227 if test "x$targ_defvec" != x; then
228 AC_DEFINE_UNQUOTED(DEFAULT_BFD_VEC, $targ_defvec,
229 [Define to BFD's default target vector. ])
230 fi
231
232 # The CLI cannot be disabled yet, but may be in the future.
233
234 # Enable CLI.
235 AC_ARG_ENABLE(gdbcli,
236 AS_HELP_STRING([--disable-gdbcli], [disable command-line interface (CLI)]),
237 [case $enableval in
238 yes)
239 ;;
240 no)
241 AC_MSG_ERROR([the command-line interface cannot be disabled yet]) ;;
242 *)
243 AC_MSG_ERROR([bad value $enableval for --enable-gdbcli]) ;;
244 esac],
245 [enable_gdbcli=yes])
246 if test x"$enable_gdbcli" = xyes; then
247 if test -d $srcdir/cli; then
248 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_CLI_OBS)"
249 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_CLI_DEPS)"
250 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_CLI_SRCS)"
251 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_CLI_CFLAGS)"
252 fi
253 fi
254
255 # Enable MI.
256 AC_ARG_ENABLE(gdbmi,
257 AS_HELP_STRING([--disable-gdbmi], [disable machine-interface (MI)]),
258 [case $enableval in
259 yes | no)
260 ;;
261 *)
262 AC_MSG_ERROR([bad value $enableval for --enable-gdbmi]) ;;
263 esac],
264 [enable_gdbmi=yes])
265 if test x"$enable_gdbmi" = xyes; then
266 if test -d $srcdir/mi; then
267 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_MI_OBS)"
268 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_MI_DEPS)"
269 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_MI_SRCS)"
270 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_MI_CFLAGS)"
271 fi
272 fi
273
274 # Enable TUI.
275 AC_ARG_ENABLE(tui,
276 AS_HELP_STRING([--enable-tui], [enable full-screen terminal user interface (TUI)]),
277 [case $enableval in
278 yes | no | auto)
279 ;;
280 *)
281 AC_MSG_ERROR([bad value $enableval for --enable-tui]) ;;
282 esac],enable_tui=auto)
283
284 # Enable gdbtk.
285 AC_ARG_ENABLE(gdbtk,
286 AS_HELP_STRING([--enable-gdbtk], [enable gdbtk graphical user interface (GUI)]),
287 [case $enableval in
288 yes | no)
289 ;;
290 *)
291 AC_MSG_ERROR([bad value $enableval for --enable-gdbtk]) ;;
292 esac],
293 [if test -d $srcdir/gdbtk; then
294 enable_gdbtk=yes
295 else
296 enable_gdbtk=no
297 fi])
298 # We unconditionally disable gdbtk tests on selected platforms.
299 case $host_os in
300 go32* | windows*)
301 AC_MSG_WARN([gdbtk isn't supported on $host; disabling])
302 enable_gdbtk=no ;;
303 esac
304
305 # Libunwind support.
306 AC_ARG_WITH(libunwind,
307 AS_HELP_STRING([--with-libunwind], [use libunwind frame unwinding support]),
308 [case "${withval}" in
309 yes) enable_libunwind=yes ;;
310 no) enable_libunwind=no ;;
311 *) AC_MSG_ERROR(bad value ${withval} for GDB with-libunwind option) ;;
312 esac],[
313 AC_CHECK_HEADERS(libunwind.h libunwind-ia64.h)
314 if test x"$ac_cv_header_libunwind_h" = xyes -a x"$ac_cv_header_libunwind_ia64_h" = xyes; then
315 enable_libunwind=yes;
316 fi
317 ])
318
319 if test x"$enable_libunwind" = xyes; then
320 AC_CHECK_HEADERS(libunwind.h libunwind-ia64.h)
321 AC_DEFINE(HAVE_LIBUNWIND, 1, [Define if libunwind library is being used.])
322 CONFIG_OBS="$CONFIG_OBS libunwind-frame.o"
323 CONFIG_DEPS="$CONFIG_DEPS libunwind-frame.o"
324 CONFIG_SRCS="$CONFIG_SRCS libunwind-frame.c"
325 fi
326
327 opt_curses=no
328 AC_ARG_WITH(curses, AS_HELP_STRING([--with-curses], [use the curses library instead of the termcap library]), opt_curses=$withval)
329
330 prefer_curses=no
331 if test "$opt_curses" = "yes"; then
332 prefer_curses=yes
333 fi
334
335 # Profiling support.
336 AC_ARG_ENABLE(profiling,
337 AS_HELP_STRING([--enable-profiling], [enable profiling of GDB]),
338 [case $enableval in
339 yes | no)
340 ;;
341 *)
342 AC_MSG_ERROR([bad value $enableval for --enable-profile]) ;;
343 esac],
344 [enable_profiling=no])
345
346 AC_CHECK_FUNCS(monstartup _mcleanup)
347 AC_CACHE_CHECK([for _etext], ac_cv_var__etext,
348 [AC_TRY_LINK(
349 [#include <stdlib.h>
350 extern char _etext;
351 ],
352 [free (&_etext);], ac_cv_var__etext=yes, ac_cv_var__etext=no)])
353 if test $ac_cv_var__etext = yes; then
354 AC_DEFINE(HAVE__ETEXT, 1,
355 [Define to 1 if your system has the _etext variable. ])
356 fi
357 AC_CACHE_CHECK([for etext], ac_cv_var_etext,
358 [AC_TRY_LINK(
359 [#include <stdlib.h>
360 extern char etext;
361 ],
362 [free (&etext);], ac_cv_var_etext=yes, ac_cv_var_etext=no)])
363 if test $ac_cv_var_etext = yes; then
364 AC_DEFINE(HAVE_ETEXT, 1,
365 [Define to 1 if your system has the etext variable. ])
366 fi
367 if test "$enable_profiling" = yes ; then
368 if test $ac_cv_func_monstartup = no || test $ac_cv_func__mcleanup = no; then
369 AC_MSG_ERROR(--enable-profiling requires monstartup and _mcleanup)
370 fi
371 PROFILE_CFLAGS=-pg
372 OLD_CFLAGS="$CFLAGS"
373 CFLAGS="$CFLAGS $PROFILE_CFLAGS"
374
375 AC_CACHE_CHECK([whether $CC supports -pg], ac_cv_cc_supports_pg,
376 [AC_TRY_COMPILE([], [int x;], ac_cv_cc_supports_pg=yes,
377 ac_cv_cc_supports_pg=no)])
378
379 if test $ac_cv_cc_supports_pg = no; then
380 AC_MSG_ERROR(--enable-profiling requires a compiler which supports -pg)
381 fi
382
383 CFLAGS="$OLD_CFLAGS"
384 fi
385
386 ACX_PKGVERSION([GDB])
387 ACX_BUGURL([http://www.gnu.org/software/gdb/bugs/])
388 AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description])
389 AC_DEFINE_UNQUOTED([REPORT_BUGS_TO], ["$REPORT_BUGS_TO"], [Bug reporting address])
390
391 # --------------------- #
392 # Checks for programs. #
393 # --------------------- #
394
395 AC_PROG_AWK
396 AC_PROG_INSTALL
397 AC_PROG_LN_S
398 AC_PROG_RANLIB
399 AC_PROG_YACC
400
401 AC_CHECK_TOOL(AR, ar)
402 AC_CHECK_TOOL(DLLTOOL, dlltool)
403 AC_CHECK_TOOL(WINDRES, windres)
404
405 # Needed for GNU/Hurd.
406 AC_CHECK_TOOL(MIG, mig)
407
408 # ---------------------- #
409 # Checks for libraries. #
410 # ---------------------- #
411
412 # We might need to link with -lm; most simulators need it.
413 AC_CHECK_LIB(m, main)
414
415 # We need to link with -lw to get `wctype' on Solaris before Solaris
416 # 2.6. Solaris 2.6 and beyond have this function in libc, and have a
417 # libw that some versions of the GNU linker cannot hanle (GNU ld 2.9.1
418 # is known to have this problem). Therefore we avoid libw if we can.
419 AC_CHECK_FUNC(wctype, [],
420 [AC_CHECK_LIB(w, wctype)])
421
422 # Some systems (e.g. Solaris) have `gethostbyname' in libnsl.
423 AC_SEARCH_LIBS(gethostbyname, nsl)
424
425 # Some systems (e.g. Solaris) have `socketpair' in libsocket.
426 AC_SEARCH_LIBS(socketpair, socket)
427
428 # Link in zlib if we can. This allows us to read compressed debug sections.
429 AM_ZLIB
430
431 # On HP/UX we may need libxpdl for dlgetmodinfo (used by solib-pa64.c).
432 AC_SEARCH_LIBS(dlgetmodinfo, [dl xpdl])
433
434 AM_ICONV
435
436 # On alpha-osf, it appears that libtermcap and libcurses are not compatible.
437 # There is a very specific comment in /usr/include/curses.h explaining that
438 # termcap routines built into libcurses must not be used.
439 #
440 # The symptoms we observed so far is GDB unexpectedly changing
441 # the terminal settings when tgetent is called - this is particularly
442 # visible as the output is missing carriage returns, and so rapidly
443 # becomes very hard to read.
444 #
445 # The readline configure script has already decided that libtermcap
446 # was enough for its purposes, and so decided to build readline using
447 # libtermcap. Since the TUI mode requires curses, building GDB with
448 # TUI enabled results in both libraries to be used at the same time,
449 # which is not allowed. This basically means that GDB with TUI is
450 # broken on alpha-osf.
451
452 case $host_os in
453 osf* )
454 if test x"$enable_tui" = xyes; then
455 AC_MSG_ERROR([Building GDB with TUI mode is not supported on this host])
456 fi
457 if test x"$enable_tui" = xauto; then
458 enable_tui=no
459 fi
460 ;;
461 esac
462
463 # For the TUI, we need enhanced curses functionality.
464 if test x"$enable_tui" != xno; then
465 prefer_curses=yes
466 fi
467
468 curses_found=no
469 if test x"$prefer_curses" = xyes; then
470 # FIXME: kettenis/20040905: We prefer ncurses over the vendor-supplied
471 # curses library because the latter might not provide all the
472 # functionality we need. However, this leads to problems on systems
473 # where the linker searches /usr/local/lib, but the compiler doesn't
474 # search /usr/local/include, if ncurses is installed in /usr/local. A
475 # default installation of ncurses on alpha*-dec-osf* will lead to such
476 # a situation.
477 AC_SEARCH_LIBS(waddstr, [ncurses cursesX curses])
478
479 if test "$ac_cv_search_waddstr" != no; then
480 curses_found=yes
481 fi
482 fi
483
484 # Check whether we should enable the TUI, but only do so if we really
485 # can.
486 if test x"$enable_tui" != xno; then
487 if test -d $srcdir/tui; then
488 if test "$curses_found" != no; then
489 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)"
490 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
491 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
492 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_TUI_CFLAGS)"
493 CONFIG_ALL="${CONFIG_ALL} all-tui"
494 CONFIG_CLEAN="${CONFIG_CLEAN} clean-tui"
495 CONFIG_INSTALL="${CONFIG_INSTALL} install-tui"
496 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-tui"
497 else
498 if test x"$enable_tui" = xyes; then
499 AC_MSG_ERROR([no enhanced curses library found; disable TUI])
500 else
501 AC_MSG_WARN([no enhanced curses library found; disabling TUI])
502 fi
503 fi
504 fi
505 fi
506
507 # Since GDB uses Readline, we need termcap functionality. In many
508 # cases this will be provided by the curses library, but some systems
509 # have a seperate termcap library, or no curses library at all.
510
511 case $host_os in
512 cygwin*)
513 if test -d $srcdir/libtermcap; then
514 LIBS="../libtermcap/libtermcap.a $LIBS"
515 ac_cv_search_tgetent="../libtermcap/libtermcap.a"
516 fi ;;
517 go32* | *djgpp*)
518 ac_cv_search_tgetent="none required"
519 ;;
520 *mingw32*)
521 ac_cv_search_tgetent="none required"
522 CONFIG_OBS="$CONFIG_OBS windows-termcap.o"
523 ;;
524 esac
525
526 # These are the libraries checked by Readline.
527 AC_SEARCH_LIBS(tgetent, [termcap tinfo curses ncurses])
528
529 if test "$ac_cv_search_tgetent" = no; then
530 AC_MSG_ERROR([no termcap library found])
531 fi
532
533 AC_ARG_WITH([system-readline],
534 [AS_HELP_STRING([--with-system-readline],
535 [use installed readline library])])
536
537 if test "$with_system_readline" = yes; then
538 READLINE=-lreadline
539 READLINE_DEPS=
540 READLINE_CFLAGS=
541 READLINE_TEXI_INCFLAG=
542
543 # readline-6.0 started to use the name `_rl_echoing_p'.
544 # `$(READLINE_DIR)/' of bundled readline would not resolve in configure.
545
546 AC_MSG_CHECKING([for readline_echoing_p])
547 save_LIBS=$LIBS
548 LIBS="$LIBS $READLINE"
549 AC_LINK_IFELSE(AC_LANG_PROGRAM(,[[extern int readline_echoing_p;
550 return readline_echoing_p;]]),
551 [READLINE_ECHOING_P=yes],
552 [READLINE_ECHOING_P=no
553 AC_DEFINE([readline_echoing_p], [_rl_echoing_p],
554 [readline-6.0 started to use different name.])])
555 LIBS="$save_LIBS"
556 AC_MSG_RESULT([$READLINE_ECHOING_P])
557 else
558 READLINE='$(READLINE_DIR)/libreadline.a'
559 READLINE_DEPS='$(READLINE)'
560 READLINE_CFLAGS='-I$(READLINE_SRC)/..'
561 READLINE_TEXI_INCFLAG='-I $(READLINE_DIR)'
562 fi
563 AC_SUBST(READLINE)
564 AC_SUBST(READLINE_DEPS)
565 AC_SUBST(READLINE_CFLAGS)
566 AC_SUBST(READLINE_TEXI_INCFLAG)
567
568 AC_ARG_WITH(expat,
569 AS_HELP_STRING([--with-expat], [include expat support (auto/yes/no)]),
570 [], [with_expat=auto])
571 AC_MSG_CHECKING([whether to use expat])
572 AC_MSG_RESULT([$with_expat])
573
574 if test "${with_expat}" = no; then
575 AC_MSG_WARN([expat support disabled; some features may be unavailable.])
576 HAVE_LIBEXPAT=no
577 else
578 AC_LIB_HAVE_LINKFLAGS([expat], [], [#include "expat.h"],
579 [XML_Parser p = XML_ParserCreate (0);])
580 if test "$HAVE_LIBEXPAT" != yes; then
581 if test "$with_expat" = yes; then
582 AC_MSG_ERROR([expat is missing or unusable])
583 else
584 AC_MSG_WARN([expat is missing or unusable; some features may be unavailable.])
585 fi
586 else
587 save_LIBS=$LIBS
588 LIBS="$LIBS $LIBEXPAT"
589 AC_CHECK_FUNCS(XML_StopParser)
590 LIBS=$save_LIBS
591 fi
592 fi
593
594 dnl Utility to simplify finding libpython.
595 dnl $1 = pythonX.Y
596 dnl $2 = the shell variable to assign the result to
597 dnl If libpython is found we store $version here.
598 dnl $3 = additional flags to add to CPPFLAGS
599 dnl $4 = additional flags to add to LIBS
600
601 AC_DEFUN([AC_TRY_LIBPYTHON],
602 [
603 version=$1
604 define([have_libpython_var],$2)
605 new_CPPFLAGS=$3
606 new_LIBS=$4
607 AC_MSG_CHECKING([for ${version}])
608 save_CPPFLAGS=$CPPFLAGS
609 save_LIBS=$LIBS
610 CPPFLAGS="$CPPFLAGS $new_CPPFLAGS"
611 LIBS="$LIBS $new_LIBS"
612 found_usable_python=no
613 AC_LINK_IFELSE(AC_LANG_PROGRAM([[#include "Python.h"]],
614 [[Py_Initialize ();]]),
615 [have_libpython_var=${version}
616 found_usable_python=yes
617 PYTHON_CPPFLAGS=$new_CPPFLAGS
618 PYTHON_LIBS=$new_LIBS])
619 CPPFLAGS=$save_CPPFLAGS
620 LIBS=$save_LIBS
621 AC_MSG_RESULT([${found_usable_python}])
622 ])
623
624 dnl There are several different values for --with-python:
625 dnl
626 dnl no - Don't include python support.
627 dnl yes - Include python support, error if it's missing.
628 dnl If we find python in $PATH, use it to fetch configure options,
629 dnl otherwise assume the compiler can find it with no help from us.
630 dnl Python 2.7, 2.6, 2.5, and then 2.4 are tried in turn.
631 dnl auto - Same as "yes", but if python is missing from the system,
632 dnl fall back to "no".
633 dnl /path/to/python/exec-prefix -
634 dnl Use the python located in this directory.
635 dnl If /path/to/python/exec-prefix/bin/python exists, use it to find
636 dnl the compilation parameters. Otherwise use
637 dnl -I/path/to/python/exec-prefix/include,
638 dnl -L/path/to/python/exec-prefix/lib.
639 dnl Python 2.7, 2.6, 2.5, and then 2.4 are tried in turn.
640 dnl NOTE: This case is historical. It is what was done for 7.0/7.1
641 dnl but is deprecated.
642 dnl /path/to/python/executable -
643 dnl Run python-config.py with this version of python to fetch the
644 dnl compilation parameters.
645 dnl NOTE: This needn't be the real python executable.
646 dnl In a cross-compilation scenario (build != host), this could be
647 dnl a shell script that provides what python-config.py provides for
648 dnl --ldflags, --includes, --exec-prefix.
649 dnl python-executable -
650 dnl Find python-executable in $PATH, and then handle the same as
651 dnl /path/to/python/executable.
652 dnl
653 dnl If a python program is specified, it is used to run python-config.py and
654 dnl is passed --ldflags, --includes, --exec-prefix.
655
656 AC_ARG_WITH(python,
657 AS_HELP_STRING([--with-python@<:@=PYTHON@:>@], [include python support (auto/yes/no/<python-program>)]),
658 [], [with_python=auto])
659 AC_MSG_CHECKING([whether to use python])
660 AC_MSG_RESULT([$with_python])
661
662 if test "${with_python}" = no; then
663 AC_MSG_WARN([python support disabled; some features may be unavailable.])
664 have_libpython=no
665 else
666 case "${with_python}" in
667 /*)
668 if test -d ${with_python}; then
669 # Assume the python binary is ${with_python}/bin/python.
670 python_prog="${with_python}/bin/python"
671 python_prefix=
672 if test ! -x "${python_prog}"; then
673 # Fall back to gdb 7.0/7.1 behaviour.
674 python_prog=missing
675 python_prefix=${with_python}
676 fi
677 elif test -x "${with_python}"; then
678 # While we can't run python compiled for $host (unless host == build),
679 # the user could write a script that provides the needed information,
680 # so we support that.
681 python_prog=${with_python}
682 python_prefix=
683 else
684 AC_ERROR(invalid value for --with-python)
685 fi
686 ;;
687 */*)
688 # Disallow --with-python=foo/bar.
689 AC_ERROR(invalid value for --with-python)
690 ;;
691 *)
692 # The user has either specified auto, yes, or the name of the python
693 # program assumed to be in $PATH.
694 python_prefix=
695 case "${with_python}" in
696 yes | auto)
697 if test ${build} = ${host}; then
698 AC_PATH_PROG(python_prog_path, python, missing)
699 if test "${python_prog_path}" = missing; then
700 python_prog=missing
701 else
702 python_prog=${python_prog_path}
703 fi
704 else
705 # Not much we can do except assume the cross-compiler will find the
706 # right files.
707 python_prog=missing
708 fi
709 ;;
710 *)
711 # While we can't run python compiled for $host (unless host == build),
712 # the user could write a script that provides the needed information,
713 # so we support that.
714 python_prog="${with_python}"
715 AC_PATH_PROG(python_prog_path, ${python_prog}, missing)
716 if test "${python_prog_path}" = missing; then
717 AC_ERROR(unable to find python program ${python_prog})
718 fi
719 ;;
720 esac
721 esac
722
723 if test "${python_prog}" != missing; then
724 # We have a python program to use, but it may be too old.
725 # Don't flag an error for --with-python=auto (the default).
726 have_python_config=yes
727 python_includes=`${python_prog} ${srcdir}/python/python-config.py --includes`
728 if test $? != 0; then
729 have_python_config=failed
730 if test "${with_python}" != auto; then
731 AC_ERROR(failure running python-config --includes)
732 fi
733 fi
734 python_libs=`${python_prog} ${srcdir}/python/python-config.py --ldflags`
735 if test $? != 0; then
736 have_python_config=failed
737 if test "${with_python}" != auto; then
738 AC_ERROR(failure running python-config --ldflags)
739 fi
740 fi
741 python_prefix=`${python_prog} ${srcdir}/python/python-config.py --exec-prefix`
742 if test $? != 0; then
743 have_python_config=failed
744 if test "${with_python}" != auto; then
745 AC_ERROR(failure running python-config --exec-prefix)
746 fi
747 fi
748 else
749 # We do not have a python executable we can use to determine where
750 # to find the Python headers and libs. We cannot guess the include
751 # path from the python_prefix either, because that include path
752 # depends on the Python version. So, there is nothing much we can
753 # do except assume that the compiler will be able to find those files.
754 python_includes=
755 python_libs=
756 have_python_config=no
757 fi
758
759 # If we have python-config, only try the configuration it provides.
760 # Otherwise fallback on the old way of trying different versions of
761 # python in turn.
762
763 have_libpython=no
764 if test "${have_python_config}" = yes; then
765 python_version=`echo " ${python_libs} " \
766 | sed -e 's,^.* -l\(python[[0-9]]*[[.]][[0-9]]*\) .*$,\1,'`
767 case "${python_version}" in
768 python*)
769 AC_TRY_LIBPYTHON(${python_version}, have_libpython,
770 ${python_includes}, ${python_libs})
771 ;;
772 *)
773 AC_MSG_ERROR([unable to determine python version from ${python_libs}])
774 ;;
775 esac
776 elif test "${have_python_config}" != failed; then
777 if test "${have_libpython}" = no; then
778 AC_TRY_LIBPYTHON(python2.7, have_libpython,
779 ${python_includes}, "${python_libs} -lpython2.7")
780 fi
781 if test "${have_libpython}" = no; then
782 AC_TRY_LIBPYTHON(python2.6, have_libpython,
783 ${python_includes}, "${python_libs} -lpython2.6")
784 fi
785 if test ${have_libpython} = no; then
786 AC_TRY_LIBPYTHON(python2.5, have_libpython,
787 ${python_includes}, "${python_libs} -lpython2.5")
788 fi
789 if test ${have_libpython} = no; then
790 AC_TRY_LIBPYTHON(python2.4, have_libpython,
791 ${python_includes}, "${python_libs} -lpython2.4")
792 fi
793 fi
794 if test "${have_libpython}" = python2.7; then
795 AC_DEFINE(HAVE_LIBPYTHON2_7, 1, [Define if Python 2.7 is being used.])
796 elif test "${have_libpython}" = python2.6; then
797 AC_DEFINE(HAVE_LIBPYTHON2_6, 1, [Define if Python 2.6 is being used.])
798 elif test "${have_libpython}" = python2.5; then
799 AC_DEFINE(HAVE_LIBPYTHON2_5, 1, [Define if Python 2.5 is being used.])
800 elif test "${have_libpython}" = python2.4; then
801 AC_DEFINE(HAVE_LIBPYTHON2_4, 1, [Define if Python 2.4 is being used.])
802 fi
803
804 if test "${have_libpython}" = no; then
805 case "${with_python}" in
806 yes)
807 AC_MSG_ERROR([python is missing or unusable])
808 ;;
809 auto)
810 AC_MSG_WARN([python is missing or unusable; some features may be unavailable.])
811 ;;
812 *)
813 AC_MSG_ERROR([no usable python found at ${with_python}])
814 ;;
815 esac
816 else
817 if test -n "${python_prefix}"; then
818 AC_DEFINE_UNQUOTED(WITH_PYTHON_PATH, "${python_prefix}",
819 [Define if --with-python provides a path, either directly or via python-config.py --exec-prefix.])
820 GDB_AC_DEFINE_RELOCATABLE(PYTHON_PATH, python, ${python_prefix})
821 fi
822 fi
823 fi
824
825 if test "${have_libpython}" != no; then
826 AC_DEFINE(HAVE_PYTHON, 1, [Define if Python interpreter is being linked in.])
827 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_PYTHON_OBS)"
828 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_PYTHON_DEPS)"
829 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_PYTHON_SRCS)"
830 CONFIG_INSTALL="$CONFIG_INSTALL install-python"
831 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_PYTHON_CFLAGS)"
832
833 # Flags needed to compile Python code (taken from python-config --cflags).
834 # We cannot call python-config directly because it will output whatever was
835 # used when compiling the Python interpreter itself, including flags which
836 # would make the python-related objects be compiled differently from the
837 # rest of GDB (e.g., -O2 and -fPIC).
838 if test "${GCC}" = yes; then
839 tentative_python_cflags="-fno-strict-aliasing -DNDEBUG -fwrapv"
840 fi
841
842 if test "x${tentative_python_cflags}" != x; then
843 AC_MSG_CHECKING(compiler flags for python code)
844 for flag in ${tentative_python_cflags}; do
845 # Check that the compiler accepts it
846 saved_CFLAGS="$CFLAGS"
847 CFLAGS="$CFLAGS $flag"
848 AC_TRY_COMPILE([],[],PYTHON_CFLAGS="${PYTHON_CFLAGS} $flag",)
849 CFLAGS="$saved_CFLAGS"
850 done
851 AC_MSG_RESULT(${PYTHON_CFLAGS})
852 fi
853
854 # On IRIX, type siginfo is not defined. Instead, sys/siginfo.h provides:
855 # #if _SGIAPI
856 # #define siginfo __siginfo
857 # #endif
858 # The problem is that including Python causes some XOPEN macros to be
859 # unilaterally defined, and that in turn causes _SGIAPI to evaluate
860 # to false. So, we work around this issue by defining siginfo ourself
861 # though the command-line.
862 case "$gdb_host" in
863 irix*) if test "${GCC}" = yes; then
864 CPPFLAGS="$CPPFLAGS -Dsiginfo=__siginfo"
865 fi
866 ;;
867 esac
868 else
869 # Even if Python support is not compiled in, we need to have these files
870 # included.
871 CONFIG_OBS="$CONFIG_OBS python.o py-value.o py-prettyprint.o py-auto-load.o"
872 CONFIG_SRCS="$CONFIG_SRCS python/python.c python/py-value.c \
873 python/py-prettyprint.c python/py-auto-load.c"
874 fi
875 AC_SUBST(PYTHON_CFLAGS)
876 AC_SUBST(PYTHON_CPPFLAGS)
877 AC_SUBST(PYTHON_LIBS)
878
879 # ------------------------- #
880 # Checks for header files. #
881 # ------------------------- #
882
883 AC_HEADER_DIRENT
884 AC_HEADER_STAT
885 AC_HEADER_STDC
886 # elf_hp.h is for HP/UX 64-bit shared library support.
887 # FIXME: kettenis/20030102: In most cases we include these (ctype.h, time.h)
888 # unconditionally, so what's the point in checking these?
889 AC_CHECK_HEADERS([nlist.h machine/reg.h poll.h sys/poll.h proc_service.h \
890 thread_db.h gnu/libc-version.h signal.h stddef.h \
891 stdlib.h string.h memory.h strings.h sys/fault.h \
892 sys/file.h sys/filio.h sys/ioctl.h sys/param.h \
893 sys/resource.h sys/procfs.h sys/ptrace.h ptrace.h \
894 sys/reg.h sys/debugreg.h sys/select.h sys/syscall.h \
895 sys/types.h sys/wait.h wait.h termios.h termio.h \
896 sgtty.h unistd.h elf_hp.h ctype.h time.h locale.h])
897 AC_CHECK_HEADERS(link.h, [], [],
898 [#if HAVE_SYS_TYPES_H
899 # include <sys/types.h>
900 #endif
901 #if HAVE_NLIST_H
902 # include <nlist.h>
903 #endif
904 ])
905 AC_CHECK_HEADERS(sys/proc.h, [], [],
906 [#if HAVE_SYS_PARAM_H
907 # include <sys/param.h>
908 #endif
909 ])
910 AC_CHECK_HEADERS(sys/user.h, [], [],
911 [#if HAVE_SYS_PARAM_H
912 # include <sys/param.h>
913 #endif
914 ])
915
916 # On Solaris 2.[789], we need to define _MSE_INT_H to avoid a clash
917 # between <widec.h> and <wchar.h> that would cause AC_CHECK_HEADERS to
918 # think that we don't have <curses.h> if we're using GCC.
919 case $host_os in
920 solaris2.[[789]])
921 if test "$GCC" = yes; then
922 AC_DEFINE(_MSE_INT_H, 1,
923 [Define to 1 to avoid a clash between <widec.h> and <wchar.h> on
924 Solaris 2.[789] when using GCC. ])
925 fi ;;
926 esac
927 AC_CHECK_HEADERS(curses.h cursesX.h ncurses.h ncurses/ncurses.h ncurses/term.h)
928 AC_CHECK_HEADERS(term.h, [], [],
929 [#if HAVE_CURSES_H
930 # include <curses.h>
931 #endif
932 ])
933
934 # ------------------------- #
935 # Checks for declarations. #
936 # ------------------------- #
937
938 AC_CHECK_DECLS([free, malloc, realloc, strerror, strstr, getopt,
939 snprintf, vsnprintf])
940 AM_LC_MESSAGES
941
942 # ----------------------- #
943 # Checks for structures. #
944 # ----------------------- #
945
946 AC_CHECK_MEMBERS([struct stat.st_blocks, struct stat.st_blksize])
947
948 # ------------------ #
949 # Checks for types. #
950 # ------------------ #
951
952 AC_TYPE_SIGNAL
953 AC_CHECK_TYPES(socklen_t, [], [],
954 [#include <sys/types.h>
955 #include <sys/socket.h>
956 ])
957
958 # ------------------------------------- #
959 # Checks for compiler characteristics. #
960 # ------------------------------------- #
961
962 AC_C_CONST
963 AC_C_INLINE
964 AC_C_BIGENDIAN
965
966 # ------------------------------ #
967 # Checks for library functions. #
968 # ------------------------------ #
969
970 AC_FUNC_ALLOCA
971 AC_FUNC_MMAP
972 AC_FUNC_VFORK
973 AC_CHECK_FUNCS([canonicalize_file_name realpath getrusage getuid \
974 getgid pipe poll pread64 resize_term sbrk setpgid setpgrp setsid \
975 sigaction sigprocmask sigsetmask socketpair syscall \
976 ttrace wborder wresize setlocale iconvlist libiconvlist btowc \
977 setrlimit getrlimit posix_madvise waitpid])
978 AM_LANGINFO_CODESET
979
980 # Check the return and argument types of ptrace. No canned test for
981 # this, so roll our own.
982 gdb_ptrace_headers='
983 #if HAVE_SYS_TYPES_H
984 # include <sys/types.h>
985 #endif
986 #if HAVE_SYS_PTRACE_H
987 # include <sys/ptrace.h>
988 #endif
989 #if HAVE_UNISTD_H
990 # include <unistd.h>
991 #endif
992 '
993 # There is no point in checking if we don't have a prototype.
994 AC_CHECK_DECLS(ptrace, [], [
995 : ${gdb_cv_func_ptrace_ret='int'}
996 : ${gdb_cv_func_ptrace_args='int,int,long,long'}
997 ], $gdb_ptrace_headers)
998 # Check return type. Varargs (used on GNU/Linux) conflict with the
999 # empty argument list, so check for that explicitly.
1000 AC_CACHE_CHECK([return type of ptrace], gdb_cv_func_ptrace_ret,
1001 AC_TRY_COMPILE($gdb_ptrace_headers,
1002 [extern long ptrace (enum __ptrace_request, ...);],
1003 gdb_cv_func_ptrace_ret='long',
1004 AC_TRY_COMPILE($gdb_ptrace_headers,
1005 [extern int ptrace ();],
1006 gdb_cv_func_ptrace_ret='int',
1007 gdb_cv_func_ptrace_ret='long')))
1008 AC_DEFINE_UNQUOTED(PTRACE_TYPE_RET, $gdb_cv_func_ptrace_ret,
1009 [Define as the return type of ptrace.])
1010 # Check argument types.
1011 AC_CACHE_CHECK([types of arguments for ptrace], gdb_cv_func_ptrace_args, [
1012 AC_TRY_COMPILE($gdb_ptrace_headers,
1013 [extern long ptrace (enum __ptrace_request, ...);],
1014 [gdb_cv_func_ptrace_args='int,int,long,long'],[
1015 for gdb_arg1 in 'int' 'long'; do
1016 for gdb_arg2 in 'pid_t' 'int' 'long'; do
1017 for gdb_arg3 in 'int *' 'caddr_t' 'int' 'long' 'void *'; do
1018 for gdb_arg4 in 'int' 'long'; do
1019 AC_TRY_COMPILE($gdb_ptrace_headers, [
1020 extern $gdb_cv_func_ptrace_ret
1021 ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4);
1022 ], [gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4";
1023 break 4;])
1024 for gdb_arg5 in 'int *' 'int' 'long'; do
1025 AC_TRY_COMPILE($gdb_ptrace_headers, [
1026 extern $gdb_cv_func_ptrace_ret
1027 ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4, $gdb_arg5);
1028 ], [
1029 gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4,$gdb_arg5";
1030 break 5;])
1031 done
1032 done
1033 done
1034 done
1035 done
1036 # Provide a safe default value.
1037 : ${gdb_cv_func_ptrace_args='int,int,long,long'}
1038 ])])
1039 ac_save_IFS=$IFS; IFS=','
1040 set dummy `echo "$gdb_cv_func_ptrace_args" | sed 's/\*/\*/g'`
1041 IFS=$ac_save_IFS
1042 shift
1043 AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG3, $[3],
1044 [Define to the type of arg 3 for ptrace.])
1045 if test -n "$[5]"; then
1046 AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG5, $[5],
1047 [Define to the type of arg 5 for ptrace.])
1048 fi
1049
1050 dnl AC_FUNC_SETPGRP does not work when cross compiling
1051 dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
1052 if test "$cross_compiling" = no; then
1053 AC_FUNC_SETPGRP
1054 else
1055 AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,
1056 [AC_TRY_COMPILE([
1057 #include <unistd.h>
1058 ], [
1059 if (setpgrp(1,1) == -1)
1060 exit (0);
1061 else
1062 exit (1);
1063 ], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])
1064 if test $ac_cv_func_setpgrp_void = yes; then
1065 AC_DEFINE(SETPGRP_VOID, 1)
1066 fi
1067 fi
1068
1069 # Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do
1070 # since sigsetjmp might only be defined as a macro.
1071 AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
1072 [AC_TRY_COMPILE([
1073 #include <setjmp.h>
1074 ], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
1075 gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
1076 if test $gdb_cv_func_sigsetjmp = yes; then
1077 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
1078 fi
1079
1080 # Assume we'll default to using the included libiberty regex.
1081 gdb_use_included_regex=yes
1082
1083 # However, if the system regex is GNU regex, then default to *not*
1084 # using the included regex.
1085 AC_CACHE_CHECK(
1086 [for GNU regex],
1087 [gdb_cv_have_gnu_regex],
1088 [AC_TRY_COMPILE(
1089 [#include <gnu-versions.h>],
1090 [#define REGEX_INTERFACE_VERSION 1
1091 #if _GNU_REGEX_INTERFACE_VERSION != REGEX_INTERFACE_VERSION
1092 # error "Version mismatch"
1093 #endif],
1094 gdb_cv_have_gnu_regex=yes,
1095 gdb_cv_have_gnu_regex=no)])
1096 if test $gdb_cv_have_gnu_regex = yes; then
1097 gdb_use_included_regex=no
1098 fi
1099
1100 AC_ARG_WITH(included-regex,
1101 AS_HELP_STRING([--without-included-regex], [don't use included regex; this is the default on systems with version 2 of the GNU C library (use with caution on other system)]),
1102 gdb_with_regex=$withval,
1103 gdb_with_regex=$gdb_use_included_regex)
1104 if test "$gdb_with_regex" = yes; then
1105 AC_DEFINE(USE_INCLUDED_REGEX, 1,
1106 [Define to 1 if the regex included in libiberty should be used.])
1107 fi
1108
1109 # Check if <sys/proc.h> defines `struct thread' with a td_pcb member.
1110 AC_CHECK_MEMBERS([struct thread.td_pcb], [], [],
1111 [#include <sys/param.h>
1112 #include <sys/proc.h>
1113 ])
1114
1115 # See if <sys/lwp.h> defines `struct lwp`.
1116 AC_CACHE_CHECK([for struct lwp], gdb_cv_struct_lwp,
1117 [AC_TRY_COMPILE([#include <sys/param.h>
1118 #include <sys/lwp.h>], [struct lwp l;],
1119 gdb_cv_struct_lwp=yes, gdb_cv_struct_lwp=no)])
1120 if test $gdb_cv_struct_lwp = yes; then
1121 AC_DEFINE(HAVE_STRUCT_LWP, 1,
1122 [Define to 1 if your system has struct lwp.])
1123 fi
1124
1125 # See if <machine/reg.h> degines `struct reg'.
1126 AC_CACHE_CHECK([for struct reg in machine/reg.h], gdb_cv_struct_reg,
1127 [AC_TRY_COMPILE([#include <sys/types.h>
1128 #include <machine/reg.h>], [struct reg r;],
1129 gdb_cv_struct_reg=yes, gdb_cv_struct_reg=no)])
1130 if test $gdb_cv_struct_reg = yes; then
1131 AC_DEFINE(HAVE_STRUCT_REG, 1,
1132 [Define to 1 if your system has struct reg in <machine/reg.h>.])
1133 fi
1134
1135 # See if <machine/reg.h> supports the %fs and %gs i386 segment registers.
1136 # Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
1137 AC_CHECK_MEMBERS([struct reg.r_fs, struct reg.r_gs], [], [],
1138 [#include <machine/reg.h>])
1139
1140 # See if <sys/ptrace.h> provides the PTRACE_GETREGS request.
1141 AC_MSG_CHECKING(for PTRACE_GETREGS)
1142 AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
1143 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
1144 [PTRACE_GETREGS;],
1145 [gdb_cv_have_ptrace_getregs=yes],
1146 [gdb_cv_have_ptrace_getregs=no])])
1147 AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
1148 if test $gdb_cv_have_ptrace_getregs = yes; then
1149 AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
1150 [Define if sys/ptrace.h defines the PTRACE_GETREGS request.])
1151 fi
1152
1153 # See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.
1154 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
1155 AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
1156 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
1157 [PTRACE_GETFPXREGS;],
1158 [gdb_cv_have_ptrace_getfpxregs=yes],
1159 [gdb_cv_have_ptrace_getfpxregs=no])])
1160 AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
1161 if test $gdb_cv_have_ptrace_getfpxregs = yes; then
1162 AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
1163 [Define if sys/ptrace.h defines the PTRACE_GETFPXREGS request.])
1164 fi
1165
1166 # See if <sys/ptrace.h> provides the PT_GETDBREGS request.
1167 AC_MSG_CHECKING(for PT_GETDBREGS)
1168 AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
1169 [AC_TRY_COMPILE([#include <sys/types.h>
1170 #include <sys/ptrace.h>],
1171 [PT_GETDBREGS;],
1172 [gdb_cv_have_pt_getdbregs=yes],
1173 [gdb_cv_have_pt_getdbregs=no])])
1174 AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
1175 if test $gdb_cv_have_pt_getdbregs = yes; then
1176 AC_DEFINE(HAVE_PT_GETDBREGS, 1,
1177 [Define if sys/ptrace.h defines the PT_GETDBREGS request.])
1178 fi
1179
1180 # See if <sys/ptrace.h> provides the PT_GETXMMREGS request.
1181 AC_MSG_CHECKING(for PT_GETXMMREGS)
1182 AC_CACHE_VAL(gdb_cv_have_pt_getxmmregs,
1183 [AC_TRY_COMPILE([#include <sys/types.h>
1184 #include <sys/ptrace.h>],
1185 [PT_GETXMMREGS;],
1186 [gdb_cv_have_pt_getxmmregs=yes],
1187 [gdb_cv_have_pt_getxmmregs=no])])
1188 AC_MSG_RESULT($gdb_cv_have_pt_getxmmregs)
1189 if test $gdb_cv_have_pt_getxmmregs = yes; then
1190 AC_DEFINE(HAVE_PT_GETXMMREGS, 1,
1191 [Define if sys/ptrace.h defines the PT_GETXMMREGS request.])
1192 fi
1193
1194 # Detect which type of /proc is in use, such as for Unixware or Solaris.
1195
1196 if test "${target}" = "${host}"; then
1197 case "${host}" in
1198 *-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* )
1199 AC_DEFINE(NEW_PROC_API, 1,
1200 [Define if you want to use new multi-fd /proc interface
1201 (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).])
1202 ;;
1203 *-*-solaris2.[[6789]] | *-*-solaris2.1[[0-9]]*)
1204 AC_DEFINE(NEW_PROC_API, 1,
1205 [Define if you want to use new multi-fd /proc interface
1206 (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).])
1207 ;;
1208 mips-sgi-irix5*)
1209 # Work around <sys/proc.h> needing _KMEMUSER problem on IRIX 5.
1210 AC_DEFINE([_KMEMUSER], 1,
1211 [Define to 1 so <sys/proc.h> gets a definition of anon_hdl. Works
1212 around a <sys/proc.h> problem on IRIX 5.])
1213 ;;
1214 esac
1215 fi
1216
1217 if test "$ac_cv_header_sys_procfs_h" = yes; then
1218 BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
1219 BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
1220 BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
1221 BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
1222 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
1223 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
1224 BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
1225 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
1226 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
1227 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
1228 BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)
1229 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)
1230 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)
1231 BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)
1232
1233
1234 dnl Check for broken prfpregset_t type
1235
1236 dnl For Linux/i386, glibc 2.1.3 was released with a bogus
1237 dnl prfpregset_t type (it's a typedef for the pointer to a struct
1238 dnl instead of the struct itself). We detect this here, and work
1239 dnl around it in gdb_proc_service.h.
1240
1241 if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
1242 AC_MSG_CHECKING(whether prfpregset_t type is broken)
1243 AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
1244 [AC_TRY_RUN([#include <sys/procfs.h>
1245 int main ()
1246 {
1247 if (sizeof (prfpregset_t) == sizeof (void *))
1248 return 1;
1249 return 0;
1250 }],
1251 gdb_cv_prfpregset_t_broken=no,
1252 gdb_cv_prfpregset_t_broken=yes,
1253 gdb_cv_prfpregset_t_broken=yes)])
1254 AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
1255 if test $gdb_cv_prfpregset_t_broken = yes; then
1256 AC_DEFINE(PRFPREGSET_T_BROKEN, 1,
1257 [Define if the prfpregset_t type is broken.])
1258 fi
1259 fi
1260
1261 dnl Check for PIOCSET ioctl entry
1262
1263 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
1264 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
1265 [AC_TRY_COMPILE([#include <unistd.h>
1266 #include <sys/types.h>
1267 #include <sys/procfs.h>
1268 ], [
1269 int dummy;;
1270 dummy = ioctl(0, PIOCSET, &dummy);
1271 ],
1272 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
1273 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
1274 if test $gdb_cv_have_procfs_piocset = yes; then
1275 AC_DEFINE(HAVE_PROCFS_PIOCSET, 1,
1276 [Define if ioctl argument PIOCSET is available.])
1277 fi
1278 fi
1279
1280 dnl For native ports (host == target), check to see what kind of
1281 dnl legacy link.h support is needed. (See solib-legacy.c.)
1282 if test ${host} = ${target} ; then
1283 dnl Check for struct link_map with l_ members which are indicative
1284 dnl of SVR4-like shared libraries
1285
1286 AC_MSG_CHECKING(for member l_addr in struct link_map)
1287 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,
1288 [AC_TRY_COMPILE([#include <link.h>],
1289 [struct link_map lm; (void) lm.l_addr;],
1290 gdb_cv_have_struct_link_map_with_l_members=yes,
1291 gdb_cv_have_struct_link_map_with_l_members=no)])
1292 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)
1293 if test $gdb_cv_have_struct_link_map_with_l_members = yes; then
1294 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS,1,
1295 [Define if <link.h> exists and defines struct link_map which has
1296 members with an ``l_'' prefix. (For Solaris, SVR4, and
1297 SVR4-like systems.)])
1298 fi
1299
1300 dnl Check for struct link_map with lm_ members which are indicative
1301 dnl of SunOS-like shared libraries
1302
1303 AC_MSG_CHECKING(for member lm_addr in struct link_map)
1304 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,
1305 [AC_TRY_COMPILE([#include <sys/types.h>
1306 #include <link.h>],
1307 [struct link_map lm; (void) lm.lm_addr;],
1308 gdb_cv_have_struct_link_map_with_lm_members=yes,
1309 gdb_cv_have_struct_link_map_with_lm_members=no)])
1310 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)
1311 if test $gdb_cv_have_struct_link_map_with_lm_members = yes; then
1312 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS, 1,
1313 [Define if <link.h> exists and defines struct link_map which has
1314 members with an ``lm_'' prefix. (For SunOS.)])
1315 fi
1316
1317 dnl Check for struct so_map with som_ members which are found on
1318 dnl some *BSD systems.
1319
1320 AC_MSG_CHECKING(for member som_addr in struct so_map)
1321 AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,
1322 [AC_TRY_COMPILE([#include <sys/types.h>
1323 #ifdef HAVE_NLIST_H
1324 #include <nlist.h>
1325 #endif
1326 #include <link.h>],
1327 [struct so_map lm; (void) lm.som_addr;],
1328 gdb_cv_have_struct_so_map_with_som_members=yes,
1329 gdb_cv_have_struct_so_map_with_som_members=no)])
1330 AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)
1331 if test $gdb_cv_have_struct_so_map_with_som_members = yes; then
1332 AC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS, 1,
1333 [Define if <link.h> exists and defines a struct so_map which has
1334 members with an ``som_'' prefix. (Found on older *BSD systems.)])
1335 fi
1336
1337 dnl Check for struct link_map32 type, which allows a 64-bit Solaris
1338 dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
1339
1340 AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
1341 AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
1342 [AC_TRY_COMPILE([#define _SYSCALL32
1343 #include <sys/link.h>], [struct link_map32 l;],
1344 gdb_cv_have_struct_link_map32=yes,
1345 gdb_cv_have_struct_link_map32=no)])
1346 AC_MSG_RESULT($gdb_cv_have_struct_link_map32)
1347 if test $gdb_cv_have_struct_link_map32 = yes; then
1348 AC_DEFINE(HAVE_STRUCT_LINK_MAP32, 1,
1349 [Define if <sys/link.h> has struct link_map32])
1350 AC_DEFINE(_SYSCALL32, 1,
1351 [Define if <sys/link.h> has link_map32 (solaris sparc-64 target)])
1352 fi
1353 fi
1354
1355 # Check if the compiler supports the `long long' type.
1356
1357 AC_CACHE_CHECK([for long long support in compiler], gdb_cv_c_long_long,
1358 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1359 [[extern long long foo;]],
1360 [[switch (foo & 2) { case 0: return 1; }]])],
1361 gdb_cv_c_long_long=yes,
1362 gdb_cv_c_long_long=no)])
1363 if test $gdb_cv_c_long_long = yes; then
1364 AC_DEFINE(CC_HAS_LONG_LONG, 1,
1365 [Define to 1 if the compiler supports long long.])
1366 fi
1367
1368 # Check if the compiler and runtime support printing long longs.
1369
1370 AC_CACHE_CHECK([for long long support in printf],
1371 gdb_cv_printf_has_long_long,
1372 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1373 [[char buf[32];
1374 long long l = 0;
1375 l = (l << 16) + 0x0123;
1376 l = (l << 16) + 0x4567;
1377 l = (l << 16) + 0x89ab;
1378 l = (l << 16) + 0xcdef;
1379 sprintf (buf, "0x%016llx", l);
1380 return (strcmp ("0x0123456789abcdef", buf));]])],
1381 gdb_cv_printf_has_long_long=yes,
1382 gdb_cv_printf_has_long_long=no,
1383 gdb_cv_printf_has_long_long=no)])
1384 if test $gdb_cv_printf_has_long_long = yes; then
1385 AC_DEFINE(PRINTF_HAS_LONG_LONG, 1,
1386 [Define to 1 if the "%ll" format works to print long longs.])
1387 fi
1388
1389 # Check if the compiler and runtime support printing decfloats.
1390
1391 AC_CACHE_CHECK([for decfloat support in printf],
1392 gdb_cv_printf_has_decfloat,
1393 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1394 [[char buf[64];
1395 _Decimal32 d32 = 1.2345df;
1396 _Decimal64 d64 = 1.2345dd;
1397 _Decimal128 d128 = 1.2345dl;
1398 sprintf (buf, "Decimal32: %H\nDecimal64: %D\nDecimal128: %DD", d32, d64, d128);
1399 return (strcmp ("Decimal32: 1.2345\nDecimal64: 1.2345\nDecimal128: 1.2345", buf));]])],
1400 gdb_cv_printf_has_decfloat=yes,
1401 gdb_cv_printf_has_decfloat=no,
1402 gdb_cv_printf_has_decfloat=no)])
1403 if test $gdb_cv_printf_has_decfloat = yes; then
1404 AC_DEFINE(PRINTF_HAS_DECFLOAT, 1,
1405 [Define to 1 if the "%H, %D and %DD" formats work to print decfloats.])
1406 fi
1407
1408 # Check if the compiler supports the `long double' type. We can't use
1409 # AC_C_LONG_DOUBLE because that one does additional checks on the
1410 # constants defined in <float.h> that fail on some systems,
1411 # e.g. FreeBSD/i386 4.7 and OpenBSD/i386 3.6.
1412
1413 AC_CACHE_CHECK([for long double support in compiler], gdb_cv_c_long_double,
1414 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[long double foo;]])],
1415 gdb_cv_c_long_double=yes,
1416 gdb_cv_c_long_double=no)])
1417 if test $gdb_cv_c_long_double = yes; then
1418 AC_DEFINE(HAVE_LONG_DOUBLE, 1,
1419 [Define to 1 if the compiler supports long double.])
1420 fi
1421
1422 # Check if the compiler and runtime support printing long doubles.
1423
1424 AC_CACHE_CHECK([for long double support in printf],
1425 gdb_cv_printf_has_long_double,
1426 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1427 [[char buf[16];
1428 long double f = 3.141592653;
1429 sprintf (buf, "%Lg", f);
1430 return (strncmp ("3.14159", buf, 7));]])],
1431 gdb_cv_printf_has_long_double=yes,
1432 gdb_cv_printf_has_long_double=no,
1433 gdb_cv_printf_has_long_double=no)])
1434 if test $gdb_cv_printf_has_long_double = yes; then
1435 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE, 1,
1436 [Define to 1 if the "%Lg" format works to print long doubles.])
1437 fi
1438
1439 # Check if the compiler and runtime support scanning long doubles.
1440
1441 AC_CACHE_CHECK([for long double support in scanf],
1442 gdb_cv_scanf_has_long_double,
1443 [AC_RUN_IFELSE([AC_LANG_PROGRAM(
1444 [[#include <stdio.h>]],
1445 [[char *buf = "3.141592653";
1446 long double f = 0;
1447 sscanf (buf, "%Lg", &f);
1448 return !(f > 3.14159 && f < 3.14160);]])],
1449 gdb_cv_scanf_has_long_double=yes,
1450 gdb_cv_scanf_has_long_double=no,
1451 gdb_cv_scanf_has_long_double=no)])
1452 if test $gdb_cv_scanf_has_long_double = yes; then
1453 AC_DEFINE(SCANF_HAS_LONG_DOUBLE, 1,
1454 [Define to 1 if the "%Lg" format works to scan long doubles.])
1455 fi
1456
1457 case ${host_os} in
1458 aix*)
1459 AC_CACHE_CHECK([for -bbigtoc option], [gdb_cv_bigtoc], [
1460 SAVE_LDFLAGS=$LDFLAGS
1461
1462 case $GCC in
1463 yes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;
1464 *) gdb_cv_bigtoc=-bbigtoc ;;
1465 esac
1466
1467 LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
1468 AC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])
1469 LDFLAGS="${SAVE_LDFLAGS}"
1470 ])
1471 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
1472 ;;
1473 esac
1474
1475 AC_MSG_CHECKING(for the dynamic export flag)
1476 dynamic_list=false
1477 if test "${gdb_native}" = yes; then
1478 # The dynamically loaded libthread_db needs access to symbols in the gdb
1479 # executable. Older GNU ld supports --export-dynamic but --dynamic-list
1480 # may not be supported there.
1481 old_LDFLAGS="$LDFLAGS"
1482 # Older GNU ld supports --export-dynamic but --dynamic-list it does not.
1483 RDYNAMIC="-Wl,--dynamic-list=${srcdir}/proc-service.list"
1484 LDFLAGS="$LDFLAGS $RDYNAMIC"
1485 if test "${have_libpython}" = no; then
1486 AC_TRY_LINK([], [], [dynamic_list=true])
1487 else
1488 # Workaround http://bugs.python.org/issue4434 where static
1489 # libpythonX.Y.a would get its symbols required for
1490 # pythonX.Y/lib-dynload/*.so modules hidden by -Wl,--dynamic-list.
1491 # Problem does not happen for the recommended libpythonX.Y.so linkage.
1492 old_CFLAGS="$CFLAGS"
1493 CFLAGS="$CFLAGS $PYTHON_CFLAGS"
1494 AC_RUN_IFELSE(
1495 AC_LANG_PROGRAM(
1496 [#include "]${have_libpython}[/Python.h"],
1497 [int err;
1498 Py_Initialize ();
1499 err = PyRun_SimpleString ("import itertools\n");
1500 Py_Finalize ();
1501 return err == 0 ? 0 : 1;]),
1502 [dynamic_list=true], [], [true])
1503 CFLAGS="$old_CFLAGS"
1504 fi
1505 LDFLAGS="$old_LDFLAGS"
1506 fi
1507 if $dynamic_list; then
1508 found="-Wl,--dynamic-list"
1509 RDYNAMIC='-Wl,--dynamic-list=$(srcdir)/proc-service.list'
1510 else
1511 found="-rdynamic"
1512 RDYNAMIC="-rdynamic"
1513 fi
1514 AC_SUBST(RDYNAMIC)
1515 AC_MSG_RESULT($found)
1516
1517 dnl For certain native configurations, we need to check whether thread
1518 dnl support can be built in or not.
1519 dnl
1520 dnl Note that we only want this if we are both native (host == target),
1521 dnl and not doing a canadian cross build (build == host).
1522
1523 if test ${build} = ${host} -a ${host} = ${target} ; then
1524 case ${host_os} in
1525 solaris*)
1526 # See if thread_db library is around for Solaris thread debugging.
1527 # Note that we must explicitly test for version 1 of the library
1528 # because version 0 (present on Solaris 2.4 or earlier) doesn't have
1529 # the same API.
1530 AC_MSG_CHECKING(for Solaris thread debugging library)
1531 if test -f /usr/lib/libthread_db.so.1 ; then
1532 AC_MSG_RESULT(yes)
1533 AC_DEFINE(HAVE_THREAD_DB_LIB, 1,
1534 [Define if using Solaris thread debugging.])
1535 CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
1536 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
1537 AC_CHECK_LIB(dl, dlopen)
1538 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} $RDYNAMIC"
1539 # Sun randomly tweaked the prototypes in <proc_service.h>
1540 # at one point.
1541 AC_MSG_CHECKING(if <proc_service.h> is old)
1542 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
1543 AC_TRY_COMPILE([
1544 #include <proc_service.h>
1545 ps_err_e ps_pdwrite
1546 (struct ps_prochandle*, psaddr_t, const void*, size_t);
1547 ],, gdb_cv_proc_service_is_old=no,
1548 gdb_cv_proc_service_is_old=yes)
1549 ])
1550 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
1551 if test $gdb_cv_proc_service_is_old = yes; then
1552 AC_DEFINE(PROC_SERVICE_IS_OLD, 1,
1553 [Define if <proc_service.h> on solaris uses int instead of
1554 size_t, and assorted other type changes.])
1555 fi
1556 else
1557 AC_MSG_RESULT(no)
1558 fi
1559 ;;
1560 aix*)
1561 AC_MSG_CHECKING(for AiX thread debugging library)
1562 AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,
1563 [AC_TRY_COMPILE([#include <sys/pthdebug.h>],
1564 [#ifndef PTHDB_VERSION_3
1565 #error
1566 #endif],
1567 gdb_cv_have_aix_thread_debug=yes,
1568 gdb_cv_have_aix_thread_debug=no)])
1569 AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)
1570 if test $gdb_cv_have_aix_thread_debug = yes; then
1571 CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
1572 CONFIG_OBS="${CONFIG_OBS} aix-thread.o"
1573 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug"
1574 fi
1575 ;;
1576 esac
1577 AC_SUBST(CONFIG_LDFLAGS)
1578 fi
1579
1580 dnl See if we have a thread_db header file that has TD_NOTALLOC and
1581 dnl other error codes.
1582 if test "x$ac_cv_header_thread_db_h" = "xyes"; then
1583 AC_CACHE_CHECK([whether <thread_db.h> has TD_NOTALLOC],
1584 gdb_cv_thread_db_h_has_td_notalloc,
1585 AC_TRY_COMPILE(
1586 [#include <thread_db.h>],
1587 [int i = TD_NOTALLOC;],
1588 gdb_cv_thread_db_h_has_td_notalloc=yes,
1589 gdb_cv_thread_db_h_has_td_notalloc=no
1590 )
1591 )
1592 AC_CACHE_CHECK([whether <thread_db.h> has TD_VERSION],
1593 gdb_cv_thread_db_h_has_td_version,
1594 AC_TRY_COMPILE(
1595 [#include <thread_db.h>],
1596 [int i = TD_VERSION;],
1597 gdb_cv_thread_db_h_has_td_version=yes,
1598 gdb_cv_thread_db_h_has_td_version=no
1599 )
1600 )
1601 AC_CACHE_CHECK([whether <thread_db.h> has TD_NOTLS],
1602 gdb_cv_thread_db_h_has_td_notls,
1603 AC_TRY_COMPILE(
1604 [#include <thread_db.h>],
1605 [int i = TD_NOTLS;],
1606 gdb_cv_thread_db_h_has_td_notls=yes,
1607 gdb_cv_thread_db_h_has_td_notls=no
1608 )
1609 )
1610 fi
1611 if test "x$gdb_cv_thread_db_h_has_td_notalloc" = "xyes"; then
1612 AC_DEFINE(THREAD_DB_HAS_TD_NOTALLOC, 1,
1613 [Define if <thread_db.h> has the TD_NOTALLOC error code.])
1614 fi
1615 if test "x$gdb_cv_thread_db_h_has_td_version" = "xyes"; then
1616 AC_DEFINE(THREAD_DB_HAS_TD_VERSION, 1,
1617 [Define if <thread_db.h> has the TD_VERSION error code.])
1618 fi
1619 if test "x$gdb_cv_thread_db_h_has_td_notls" = "xyes"; then
1620 AC_DEFINE(THREAD_DB_HAS_TD_NOTLS, 1,
1621 [Define if <thread_db.h> has the TD_NOTLS error code.])
1622 fi
1623
1624 dnl See if we have a sys/syscall header file that has __NR_tkill.
1625 if test "x$ac_cv_header_sys_syscall_h" = "xyes"; then
1626 AC_CACHE_CHECK([whether <sys/syscall.h> has __NR_tkill],
1627 gdb_cv_sys_syscall_h_has_tkill,
1628 AC_TRY_COMPILE(
1629 [#include <sys/syscall.h>],
1630 [int i = __NR_tkill;],
1631 gdb_cv_sys_syscall_h_has_tkill=yes,
1632 gdb_cv_sys_syscall_h_has_tkill=no
1633 )
1634 )
1635 fi
1636 dnl See if we can issue tkill syscall.
1637 if test "x$gdb_cv_sys_syscall_h_has_tkill" = "xyes" && test "x$ac_cv_func_syscall" = "xyes"; then
1638 AC_DEFINE(HAVE_TKILL_SYSCALL, 1, [Define if you support the tkill syscall.])
1639 fi
1640
1641 dnl Check if we can disable the virtual address space randomization.
1642 dnl The functionality of setarch -R.
1643 AC_CHECK_DECLS([ADDR_NO_RANDOMIZE],,, [#include <sys/personality.h>])
1644 define([PERSONALITY_TEST], [AC_LANG_PROGRAM([#include <sys/personality.h>], [
1645 # if !HAVE_DECL_ADDR_NO_RANDOMIZE
1646 # define ADDR_NO_RANDOMIZE 0x0040000
1647 # endif
1648 /* Test the flag could be set and stays set. */
1649 personality (personality (0xffffffff) | ADDR_NO_RANDOMIZE);
1650 if (!(personality (personality (0xffffffff)) & ADDR_NO_RANDOMIZE))
1651 return 1])])
1652 AC_RUN_IFELSE([PERSONALITY_TEST],
1653 [have_personality=true],
1654 [have_personality=false],
1655 [AC_LINK_IFELSE([PERSONALITY_TEST],
1656 [have_personality=true],
1657 [have_personality=false])])
1658 if $have_personality
1659 then
1660 AC_DEFINE([HAVE_PERSONALITY], 1,
1661 [Define if you support the personality syscall.])
1662 fi
1663
1664 dnl Handle optional features that can be enabled.
1665
1666 target_sysroot_reloc=0
1667 AC_ARG_WITH(sysroot,
1668 AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], [search for usr/lib et al within DIR]),
1669 [
1670 case ${with_sysroot} in
1671 yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;;
1672 *) TARGET_SYSTEM_ROOT=$with_sysroot ;;
1673 esac
1674
1675 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
1676
1677 if test "x$prefix" = xNONE; then
1678 test_prefix=/usr/local
1679 else
1680 test_prefix=$prefix
1681 fi
1682 if test "x$exec_prefix" = xNONE || test "x$exec_prefix" = 'x${prefix}'; then
1683 test_exec_prefix=$test_prefix
1684 else
1685 test_exec_prefix=$exec_prefix
1686 fi
1687 case ${TARGET_SYSTEM_ROOT} in
1688 "${test_prefix}"|"${test_prefix}/"*|\
1689 "${test_exec_prefix}"|"${test_exec_prefix}/"*|\
1690 '${prefix}'|'${prefix}/'*|\
1691 '${exec_prefix}'|'${exec_prefix}/'*)
1692 target_sysroot_reloc=1
1693 ;;
1694 esac
1695 ], [
1696 TARGET_SYSTEM_ROOT=
1697 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
1698 ])
1699 TARGET_SYSTEM_ROOT_DEFINE="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE=$target_sysroot_reloc"
1700 AC_SUBST(TARGET_SYSTEM_ROOT)
1701 AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
1702
1703 GDB_AC_WITH_DIR(SYSTEM_GDBINIT, system-gdbinit,
1704 [automatically load a system-wide gdbinit file],
1705 [])
1706
1707 AC_ARG_ENABLE(werror,
1708 AS_HELP_STRING([--enable-werror], [treat compile warnings as errors]),
1709 [case "${enableval}" in
1710 yes | y) ERROR_ON_WARNING="yes" ;;
1711 no | n) ERROR_ON_WARNING="no" ;;
1712 *) AC_MSG_ERROR(bad value ${enableval} for --enable-werror) ;;
1713 esac])
1714
1715 # Enable -Werror by default when using gcc
1716 if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
1717 ERROR_ON_WARNING=yes
1718 fi
1719
1720 WERROR_CFLAGS=""
1721 if test "${ERROR_ON_WARNING}" = yes ; then
1722 WERROR_CFLAGS="-Werror"
1723 fi
1724
1725 # The entries after -Wno-pointer-sign are disabled warnings which may
1726 # be enabled in the future, which can not currently be used to build
1727 # GDB.
1728 # NOTE: If you change this list, remember to update
1729 # gdb/doc/gdbint.texinfo.
1730 build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \
1731 -Wformat-nonliteral -Wno-pointer-sign \
1732 -Wno-unused -Wunused-value -Wunused-function \
1733 -Wno-switch -Wno-char-subscripts"
1734
1735 # Enable -Wno-format by default when using gcc on mingw since many
1736 # GCC versions complain about %I64.
1737 case "${host}" in
1738 *-*-mingw32*) build_warnings="$build_warnings -Wno-format" ;;
1739 esac
1740
1741 AC_ARG_ENABLE(build-warnings,
1742 AS_HELP_STRING([--enable-build-warnings], [enable build-time compiler warnings if gcc is used]),
1743 [case "${enableval}" in
1744 yes) ;;
1745 no) build_warnings="-w";;
1746 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1747 build_warnings="${build_warnings} ${t}";;
1748 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1749 build_warnings="${t} ${build_warnings}";;
1750 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1751 esac
1752 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1753 echo "Setting compiler warning flags = $build_warnings" 6>&1
1754 fi])dnl
1755 AC_ARG_ENABLE(gdb-build-warnings,
1756 AS_HELP_STRING([--enable-gdb-build-warnings], [enable GDB specific build-time compiler warnings if gcc is used]),
1757 [case "${enableval}" in
1758 yes) ;;
1759 no) build_warnings="-w";;
1760 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1761 build_warnings="${build_warnings} ${t}";;
1762 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1763 build_warnings="${t} ${build_warnings}";;
1764 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1765 esac
1766 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1767 echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
1768 fi])dnl
1769 WARN_CFLAGS=""
1770 if test "x${build_warnings}" != x -a "x$GCC" = xyes
1771 then
1772 AC_MSG_CHECKING(compiler warning flags)
1773 # Separate out the -Werror flag as some files just cannot be
1774 # compiled with it enabled.
1775 for w in ${build_warnings}; do
1776 case $w in
1777 -Werr*) WERROR_CFLAGS=-Werror ;;
1778 *) # Check that GCC accepts it
1779 saved_CFLAGS="$CFLAGS"
1780 CFLAGS="$CFLAGS $w"
1781 AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
1782 CFLAGS="$saved_CFLAGS"
1783 esac
1784 done
1785 AC_MSG_RESULT(${WARN_CFLAGS} ${WERROR_CFLAGS})
1786 fi
1787 AC_SUBST(WARN_CFLAGS)
1788 AC_SUBST(WERROR_CFLAGS)
1789
1790 # In the Cygwin environment, we need some additional flags.
1791 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
1792 [AC_EGREP_CPP(lose, [
1793 #if defined (__CYGWIN__) || defined (__CYGWIN32__)
1794 lose
1795 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
1796
1797
1798 dnl Figure out which of the many generic ser-*.c files the _host_ supports.
1799 SER_HARDWIRE="ser-base.o ser-unix.o ser-pipe.o ser-tcp.o"
1800 case ${host} in
1801 *go32* ) SER_HARDWIRE=ser-go32.o ;;
1802 *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
1803 *mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o ser-mingw.o" ;;
1804 esac
1805 AC_SUBST(SER_HARDWIRE)
1806
1807 # libreadline needs libuser32.a in a cygwin environment
1808 WIN32LIBS=
1809 if test x$gdb_cv_os_cygwin = xyes; then
1810 WIN32LIBS="-luser32"
1811 case "${target}" in
1812 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
1813 ;;
1814 esac
1815 fi
1816
1817 # The ser-tcp.c module requires sockets.
1818 case ${host} in
1819 *mingw32*)
1820 AC_DEFINE(USE_WIN32API, 1,
1821 [Define if we should use the Windows API, instead of the
1822 POSIX API. On Windows, we use the Windows API when
1823 building for MinGW, but the POSIX API when building
1824 for Cygwin.])
1825 WIN32LIBS="$WIN32LIBS -lws2_32"
1826 ;;
1827 esac
1828 AC_SUBST(WIN32LIBS)
1829
1830 # Add ELF support to GDB, but only if BFD includes ELF support.
1831 OLD_CFLAGS=$CFLAGS
1832 OLD_LDFLAGS=$LDFLAGS
1833 OLD_LIBS=$LIBS
1834 CFLAGS="$CFLAGS -I${srcdir}/../include -I../bfd -I${srcdir}/../bfd"
1835 LDFLAGS="$LDFLAGS -L../bfd -L../libiberty"
1836 intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
1837 # -ldl is provided by bfd/Makfile.am (LIBDL) <PLUGINS>.
1838 if test "$plugins" = "yes"; then
1839 LIBS="-ldl $LIBS"
1840 fi
1841 LIBS="-lbfd -liberty $intl $LIBS"
1842 AC_CACHE_CHECK([for ELF support in BFD], gdb_cv_var_elf,
1843 [AC_TRY_LINK(
1844 [#include <stdlib.h>
1845 #include "bfd.h"
1846 #include "elf-bfd.h"
1847 ],
1848 [bfd *abfd = NULL; bfd_get_elf_phdr_upper_bound (abfd); ],
1849 gdb_cv_var_elf=yes, gdb_cv_var_elf=no)])
1850 if test $gdb_cv_var_elf = yes; then
1851 CONFIG_OBS="$CONFIG_OBS elfread.o"
1852 AC_DEFINE(HAVE_ELF, 1,
1853 [Define if ELF support should be included.])
1854 # -ldl is provided by bfd/Makfile.am (LIBDL) <PLUGINS>.
1855 if test "$plugins" = "yes"; then
1856 OLD_LIBS="-ldl $OLD_LIBS"
1857 fi
1858 fi
1859 CFLAGS=$OLD_CFLAGS
1860 LDFLAGS=$OLD_LDFLAGS
1861 LIBS=$OLD_LIBS
1862
1863 # Add any host-specific objects to GDB.
1864 CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
1865
1866 LIBGUI="../libgui/src/libgui.a"
1867 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
1868 AC_SUBST(LIBGUI)
1869 AC_SUBST(GUI_CFLAGS_X)
1870
1871 WIN32LDAPP=
1872 AC_SUBST(WIN32LIBS)
1873 AC_SUBST(WIN32LDAPP)
1874
1875 case "${host}" in
1876 *-*-cygwin* | *-*-mingw* )
1877 configdir="win"
1878 ;;
1879 *)
1880 configdir="unix"
1881 ;;
1882 esac
1883
1884 GDBTKLIBS=
1885 if test "${enable_gdbtk}" = "yes"; then
1886
1887 # Gdbtk must have an absolute path to srcdir in order to run
1888 # properly when not installed.
1889 here=`pwd`
1890 cd ${srcdir}
1891 GDBTK_SRC_DIR=`pwd`
1892 cd $here
1893
1894 SC_PATH_TCLCONFIG
1895
1896 # If $no_tk is nonempty, then we can't do Tk, and there is no
1897 # point to doing Tcl.
1898 SC_PATH_TKCONFIG
1899
1900 if test -z "${no_tcl}" -a -z "${no_tk}"; then
1901 SC_LOAD_TCLCONFIG
1902
1903 # Check for in-tree tcl
1904 here=`pwd`
1905 cd ${srcdir}/..
1906 topdir=`pwd`
1907 cd ${here}
1908
1909 intree="no"
1910 if test "${TCL_SRC_DIR}" = "${topdir}/tcl"; then
1911 intree="yes"
1912 fi
1913
1914 # Find Tcl private headers
1915 if test x"${intree}" = xno; then
1916 CY_AC_TCL_PRIVATE_HEADERS
1917 TCL_INCLUDE="${TCL_INCLUDE_SPEC} ${TCL_PRIVATE_INCLUDE}"
1918 TCL_LIBRARY="${TCL_LIB_SPEC}"
1919 TCL_DEPS=""
1920 else
1921 # If building tcl in the same src tree, private headers
1922 # are not needed, but we need to be sure to use the right
1923 # headers library
1924 TCL_INCLUDE="-I${TCL_SRC_DIR}/generic"
1925 TCL_LIBRARY="${TCL_BUILD_LIB_SPEC}"
1926 TCL_DEPS="../tcl/${configdir}${TCL_LIB_FILE}"
1927 fi
1928 AC_SUBST(TCL_INCLUDE)
1929 AC_SUBST(TCL_LIBRARY)
1930 AC_SUBST(TCL_DEPS)
1931
1932 SC_LOAD_TKCONFIG
1933
1934 # Check for in-tree Tk
1935 intree="no"
1936 if test "${TK_SRC_DIR}" = "${topdir}/tk"; then
1937 intree="yes"
1938 fi
1939
1940 # Find Tk private headers
1941 if test x"${intree}" = xno; then
1942 CY_AC_TK_PRIVATE_HEADERS
1943 TK_INCLUDE="${TK_INCLUDE_SPEC} ${TK_PRIVATE_INCLUDE}"
1944 TK_LIBRARY=${TK_LIB_SPEC}
1945 TK_DEPS=""
1946 else
1947 TK_INCLUDE="-I${TK_SRC_DIR}/generic"
1948 TK_LIBRARY="${TK_BUILD_LIB_SPEC}"
1949 TK_DEPS="../tk/${configdir}/${TK_LIB_FILE}"
1950 fi
1951 AC_SUBST(TK_INCLUDE)
1952 AC_SUBST(TK_LIBRARY)
1953 AC_SUBST(TK_DEPS)
1954 AC_SUBST(TK_XINCLUDES)
1955
1956 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
1957
1958 # Include some libraries that Tcl and Tk want.
1959 TCL_LIBS='$(LIBGUI) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
1960 # Yes, the ordering seems wrong here. But it isn't.
1961 # TK_LIBS is the list of libraries that need to be linked
1962 # after Tcl/Tk. Note that this isn't put into LIBS. If it
1963 # were in LIBS then any link tests after this point would
1964 # try to include things like `$(LIBGUI)', which wouldn't work.
1965 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
1966
1967 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
1968 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
1969 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
1970 CONFIG_ALL="${CONFIG_ALL} all-gdbtk"
1971 CONFIG_CLEAN="${CONFIG_CLEAN} clean-gdbtk"
1972 CONFIG_INSTALL="${CONFIG_INSTALL} install-gdbtk"
1973 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-gdbtk"
1974
1975 if test x$gdb_cv_os_cygwin = xyes; then
1976 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1977 WIN32LDAPP="-Wl,--subsystem,console"
1978 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1979 fi
1980
1981 AC_CONFIG_SUBDIRS(gdbtk)
1982 fi
1983 fi
1984
1985 AC_SUBST(X_CFLAGS)
1986 AC_SUBST(X_LDFLAGS)
1987 AC_SUBST(X_LIBS)
1988 AC_SUBST(GDBTKLIBS)
1989 AC_SUBST(GDBTK_CFLAGS)
1990 AC_SUBST(GDBTK_SRC_DIR)
1991
1992 AC_PATH_X
1993
1994 # Unlike the sim directory, whether a simulator is linked is controlled by
1995 # presence of a gdb_sim definition in the target configure.tgt entry.
1996 # This code just checks for a few cases where we'd like to ignore those
1997 # definitions, even when they're present in the '.mt' file. These cases
1998 # are when --disable-sim is specified, or if the simulator directory is
1999 # not part of the source tree.
2000 #
2001 AC_ARG_ENABLE(sim,
2002 AS_HELP_STRING([--enable-sim], [link gdb with simulator]),
2003 [echo "enable_sim = $enable_sim";
2004 echo "enableval = ${enableval}";
2005 case "${enableval}" in
2006 yes) ignore_sim=false ;;
2007 no) ignore_sim=true ;;
2008 *) ignore_sim=false ;;
2009 esac],
2010 [ignore_sim=false])
2011
2012 if test ! -d "${srcdir}/../sim"; then
2013 ignore_sim=true
2014 fi
2015
2016 SIM=
2017 SIM_OBS=
2018 if test "${ignore_sim}" = "false"; then
2019 if test x"${gdb_sim}" != x ; then
2020 SIM="${gdb_sim}"
2021 SIM_OBS="remote-sim.o"
2022 AC_DEFINE(WITH_SIM, 1, [Define if the simulator is being linked in.])
2023 fi
2024 fi
2025 AC_SUBST(SIM)
2026 AC_SUBST(SIM_OBS)
2027
2028 AC_SUBST(ENABLE_CFLAGS)
2029 AC_SUBST(PROFILE_CFLAGS)
2030
2031 AC_SUBST(CONFIG_OBS)
2032 AC_SUBST(CONFIG_DEPS)
2033 AC_SUBST(CONFIG_SRCS)
2034 AC_SUBST(CONFIG_ALL)
2035 AC_SUBST(CONFIG_CLEAN)
2036 AC_SUBST(CONFIG_INSTALL)
2037 AC_SUBST(CONFIG_UNINSTALL)
2038
2039 # List of host floatformats.
2040 AC_DEFINE_UNQUOTED(GDB_HOST_FLOAT_FORMAT,$gdb_host_float_format,[Host float floatformat])
2041 AC_DEFINE_UNQUOTED(GDB_HOST_DOUBLE_FORMAT,$gdb_host_double_format,[Host double floatformat])
2042 AC_DEFINE_UNQUOTED(GDB_HOST_LONG_DOUBLE_FORMAT,$gdb_host_long_double_format,[Host long double floatformat])
2043
2044 # target_subdir is used by the testsuite to find the target libraries.
2045 target_subdir=
2046 if test "${host}" != "${target}"; then
2047 target_subdir="${target_alias}/"
2048 fi
2049 AC_SUBST(target_subdir)
2050
2051 frags=
2052 if test "${gdb_native}" = "yes"; then
2053 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
2054 if test ! -f ${host_makefile_frag}; then
2055 AC_MSG_ERROR("*** Gdb does not support native target ${host}")
2056 fi
2057 frags="$frags $host_makefile_frag"
2058 else
2059 host_makefile_frag=/dev/null
2060 fi
2061
2062 AC_SUBST_FILE(host_makefile_frag)
2063 AC_SUBST(frags)
2064
2065 changequote(,)dnl
2066 if test "${gdb_native}" = "yes"; then
2067 # We pick this up from the host configuration file (.mh) because we
2068 # do not have a native configuration Makefile fragment.
2069 nativefile=`sed -n '
2070 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
2071 ' ${host_makefile_frag}`
2072 fi
2073 changequote([,])
2074
2075 if test x"${gdb_osabi}" != x ; then
2076 AC_DEFINE_UNQUOTED(GDB_OSABI_DEFAULT, $gdb_osabi,
2077 [Define to the default OS ABI for this configuration.])
2078 fi
2079
2080 # Enable multi-ice-gdb-server.
2081 AC_ARG_ENABLE(multi-ice,
2082 AS_HELP_STRING([--enable-multi-ice], [build the multi-ice-gdb-server]),
2083 [case $enableval in
2084 yes | no)
2085 ;;
2086 *) AC_MSG_ERROR([bad value $enableval for --enable-multi-ice]) ;;
2087 esac])
2088 if test "x$enable_multi_ice" = xyes; then
2089 AC_CONFIG_SUBDIRS(multi-ice)
2090 fi
2091
2092 AC_ARG_ENABLE(gdbserver,
2093 AS_HELP_STRING([--enable-gdbserver],
2094 [automatically build gdbserver (yes/no/auto, default is auto)]),
2095 [case "${enableval}" in
2096 yes| no|auto) ;;
2097 *) AC_MSG_ERROR(bad value ${enableval} for --enable-gdbserver option) ;;
2098 esac],[enable_gdbserver=auto])
2099
2100 # We only build gdbserver automatically in a native configuration, and
2101 # only if the user did not explicitly disable its build.
2102 if test "$gdb_native" = "yes" -a "$enable_gdbserver" != "no"; then
2103 AC_MSG_CHECKING(whether gdbserver is supported on this host)
2104 if test "x$build_gdbserver" = xyes; then
2105 AC_MSG_RESULT(yes)
2106 AC_CONFIG_SUBDIRS(gdbserver)
2107 gdbserver_build_enabled=yes
2108 else
2109 AC_MSG_RESULT(no)
2110 fi
2111 fi
2112
2113 # If the user explicitly request the gdbserver to be built, verify that
2114 # we were in fact able to enable it.
2115 if test "$enable_gdbserver" = "yes" -a "$gdbserver_build_enabled" != "yes"; then
2116 AC_MSG_ERROR(Automatic gdbserver build is not supported for this configuration)
2117 fi
2118
2119 # If nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
2120 # to an empty version.
2121
2122 files=
2123 links=
2124
2125 rm -f nm.h
2126 if test "${nativefile}" != ""; then
2127 case "${nativefile}" in
2128 nm-*.h ) GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}" ;;
2129 * ) GDB_NM_FILE="${nativefile}"
2130 esac
2131 files="${files} ${GDB_NM_FILE}"
2132 links="${links} nm.h"
2133 AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}", [nativefile])
2134 fi
2135 AC_SUBST(GDB_NM_FILE)
2136
2137 AC_LINK_FILES($files, $links)
2138
2139 dnl Check for exe extension set on certain hosts (e.g. Win32)
2140 AC_EXEEXT
2141
2142 dnl Detect the character set used by this host.
2143 dnl At the moment, we just assume it's UTF-8.
2144 AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "UTF-8",
2145 [Define to be a string naming the default host character set.])
2146
2147 AC_OUTPUT(Makefile .gdbinit:gdbinit.in doc/Makefile gnulib/Makefile data-directory/Makefile,
2148 [
2149 case x$CONFIG_HEADERS in
2150 xconfig.h:config.in)
2151 echo > stamp-h ;;
2152 esac
2153 ])
2154
2155 exit 0
This page took 0.089109 seconds and 4 git commands to generate.