gas/
[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, 2004,
3 dnl 2005, 2006, 2007, 2008
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_GNU_SOURCE
30 AC_AIX
31 AC_ISC_POSIX
32 gl_EARLY
33 AM_PROG_CC_STDC
34
35 AC_CONFIG_AUX_DIR(..)
36 AC_CANONICAL_SYSTEM
37
38 dnl List of object files and targets accumulated by configure.
39
40 CONFIG_OBS=
41 CONFIG_DEPS=
42 CONFIG_SRCS=
43 ENABLE_CFLAGS=
44
45 CONFIG_ALL=
46 CONFIG_CLEAN=
47 CONFIG_INSTALL=
48 CONFIG_UNINSTALL=
49
50 dnl Set up for gettext.
51 ZW_GNU_GETTEXT_SISTER_DIR
52
53 localedir='${datadir}/locale'
54 AC_SUBST(localedir)
55
56 if test x"$USE_NLS" = xyes; then
57 CONFIG_ALL="$CONFIG_ALL all-po"
58 CONFIG_CLEAN="$CONFIG_CLEAN clean-po"
59 CONFIG_INSTALL="$CONFIG_INSTALL install-po"
60 CONFIG_UNINSTALL="$CONFIG_UNINSTALL uninstall-po"
61 fi
62
63 gl_INIT
64
65 PACKAGE=gdb
66 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package. ])
67 AC_SUBST(PACKAGE)
68
69 # GDB does not use automake, but gnulib does. This line lets us
70 # generate its Makefile.in.
71 AM_INIT_AUTOMAKE(gdb, UNUSED-VERSION, [no-define])
72
73 debugdir=${libdir}/debug
74
75 AC_ARG_WITH(separate-debug-dir,
76 [ --with-separate-debug-dir=path Look for global separate debug info in this path [LIBDIR/debug]],
77 [debugdir="${withval}"])
78
79 AC_DEFINE_DIR(DEBUGDIR, debugdir,
80 [Global directory for separate debug files. ])
81 #AC_DEFINE_UNQUOTED(DEBUGDIR, "$debugdir"),
82
83 if test "x$exec_prefix" = xNONE || test "x$exec_prefix" = 'x${prefix}'; then
84 if test "x$prefix" = xNONE; then
85 test_prefix=/usr/local
86 else
87 test_prefix=$prefix
88 fi
89 else
90 test_prefix=$exec_prefix
91 fi
92 case ${debugdir} in
93 "${test_prefix}"|"${test_prefix}/"*|\
94 '${exec_prefix}'|'${exec_prefix}/'*)
95 AC_DEFINE(DEBUGDIR_RELOCATABLE, 1, [Define if the debug directory should be relocated when GDB is moved.])
96 ;;
97 esac
98
99 AC_CONFIG_SUBDIRS(doc testsuite)
100
101 # Check whether to support alternative target configurations
102 AC_ARG_ENABLE(targets,
103 [ --enable-targets alternative target configurations],
104 [case "${enableval}" in
105 yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
106 ;;
107 no) enable_targets= ;;
108 *) enable_targets=$enableval ;;
109 esac])
110
111 # Check whether to enable 64-bit support on 32-bit hosts
112 AC_ARG_ENABLE(64-bit-bfd,
113 [ --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)],
114 [case "${enableval}" in
115 yes) want64=true ;;
116 no) want64=false ;;
117 *) AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option) ;;
118 esac],[want64=false])dnl
119
120 # Provide defaults for some variables set by the per-host and per-target
121 # configuration.
122 gdb_host_obs=posix-hdep.o
123
124 if test "${target}" = "${host}"; then
125 gdb_native=yes
126 else
127 gdb_native=no
128 fi
129
130 . $srcdir/configure.host
131
132 # Accumulate some settings from configure.tgt over all enabled targets
133
134 TARGET_OBS=
135 all_targets=
136
137 for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'`
138 do
139 if test "$targ_alias" = "all"; then
140 all_targets=true
141 else
142 # Canonicalize the secondary target names.
143 result=`$ac_config_sub $targ_alias 2>/dev/null`
144 if test -n "$result"; then
145 targ=$result
146 else
147 targ=$targ_alias
148 fi
149
150 . ${srcdir}/configure.tgt
151
152 # Target-specific object files
153 for i in ${gdb_target_obs}; do
154 case " $TARGET_OBS " in
155 *" ${i} "*) ;;
156 *)
157 TARGET_OBS="$TARGET_OBS ${i}"
158 ;;
159 esac
160 done
161
162 # Check whether this target needs 64-bit CORE_ADDR
163 if test x${want64} = xfalse; then
164 . ${srcdir}/../bfd/config.bfd
165 fi
166 fi
167 done
168
169 if test x${all_targets} = xtrue; then
170
171 # We want all 64-bit targets if we either:
172 # - run on a 64-bit host or
173 # - already require 64-bit support for some other target or
174 # - the --enable-64-bit-bfd option was supplied
175 # Otherwise we only support all 32-bit targets.
176 #
177 # NOTE: This test must be in sync with the corresponding
178 # tests in BFD!
179
180 if test x${want64} = xfalse; then
181 AC_CHECK_SIZEOF(long)
182 if test "x${ac_cv_sizeof_long}" = "x8"; then
183 want64=true
184 fi
185 fi
186 if test x${want64} = xtrue; then
187 TARGET_OBS='$(ALL_TARGET_OBS) $(ALL_64_TARGET_OBS)'
188 else
189 TARGET_OBS='$(ALL_TARGET_OBS)'
190 fi
191 fi
192
193 AC_SUBST(TARGET_OBS)
194
195 # For other settings, only the main target counts.
196 gdb_sim=
197 gdb_osabi=
198 build_gdbserver=
199 targ=$target; . ${srcdir}/configure.tgt
200
201 # Fetch the default architecture and default target vector from BFD.
202 targ=$target; . $srcdir/../bfd/config.bfd
203
204 # We only want the first architecture, so strip off the others if
205 # there is more than one.
206 targ_archs=`echo $targ_archs | sed 's/ .*//'`
207
208 if test "x$targ_archs" != x; then
209 AC_DEFINE_UNQUOTED(DEFAULT_BFD_ARCH, $targ_archs,
210 [Define to BFD's default architecture. ])
211 fi
212 if test "x$targ_defvec" != x; then
213 AC_DEFINE_UNQUOTED(DEFAULT_BFD_VEC, $targ_defvec,
214 [Define to BFD's default target vector. ])
215 fi
216
217 # The CLI cannot be disabled yet, but may be in the future.
218
219 # Enable CLI.
220 AC_ARG_ENABLE(gdbcli,
221 [ --disable-gdbcli disable command-line interface (CLI)],
222 [case $enableval in
223 yes)
224 ;;
225 no)
226 AC_MSG_ERROR([the command-line interface cannot be disabled yet]) ;;
227 *)
228 AC_MSG_ERROR([bad value $enableval for --enable-gdbcli]) ;;
229 esac],
230 [enable_gdbcli=yes])
231 if test x"$enable_gdbcli" = xyes; then
232 if test -d $srcdir/cli; then
233 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_CLI_OBS)"
234 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_CLI_DEPS)"
235 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_CLI_SRCS)"
236 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_CLI_CFLAGS)"
237 fi
238 fi
239
240 # Enable MI.
241 AC_ARG_ENABLE(gdbmi,
242 [ --disable-gdbmi disable machine-interface (MI)],
243 [case $enableval in
244 yes | no)
245 ;;
246 *)
247 AC_MSG_ERROR([bad value $enableval for --enable-gdbmi]) ;;
248 esac],
249 [enable_gdbmi=yes])
250 if test x"$enable_gdbmi" = xyes; then
251 if test -d $srcdir/mi; then
252 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_MI_OBS)"
253 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_MI_DEPS)"
254 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_MI_SRCS)"
255 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_MI_CFLAGS)"
256 fi
257 fi
258
259 # Enable TUI.
260 AC_ARG_ENABLE(tui,
261 [ --enable-tui enable full-screen terminal user interface (TUI)],
262 [case $enableval in
263 yes | no)
264 ;;
265 *)
266 AC_MSG_ERROR([bad value $enableval for --enable-tui]) ;;
267 esac],enable_tui=yes)
268
269 # Enable gdbtk.
270 AC_ARG_ENABLE(gdbtk,
271 [ --enable-gdbtk enable gdbtk graphical user interface (GUI)],
272 [case $enableval in
273 yes | no)
274 ;;
275 *)
276 AC_MSG_ERROR([bad value $enableval for --enable-gdbtk]) ;;
277 esac],
278 [if test -d $srcdir/gdbtk -a -d $srcdir/../itcl; then
279 enable_gdbtk=yes
280 else
281 enable_gdbtk=no
282 fi])
283 # We unconditionally disable gdbtk tests on selected platforms.
284 case $host_os in
285 go32* | windows*)
286 AC_MSG_WARN([gdbtk isn't supported on $host; disabling])
287 enable_gdbtk=no ;;
288 esac
289
290 # Libunwind support.
291 AC_ARG_WITH(libunwind,
292 [ --with-libunwind Use libunwind frame unwinding support],
293 [case "${withval}" in
294 yes) enable_libunwind=yes ;;
295 no) enable_libunwind=no ;;
296 *) AC_MSG_ERROR(bad value ${withval} for GDB with-libunwind option) ;;
297 esac],[
298 AC_CHECK_HEADERS(libunwind.h)
299 AC_CHECK_HEADERS(libunwind-ia64.h)
300 if test x"$ac_cv_header_libunwind_h" = xyes -a x"$ac_cv_header_libunwind_ia64_h" = xyes; then
301 enable_libunwind=yes;
302 fi
303 ])
304
305 if test x"$enable_libunwind" = xyes; then
306 AC_CHECK_HEADERS(libunwind.h)
307 AC_CHECK_HEADERS(libunwind-ia64.h)
308 AC_DEFINE(HAVE_LIBUNWIND, 1, [Define if libunwind library is being used.])
309 CONFIG_OBS="$CONFIG_OBS libunwind-frame.o"
310 CONFIG_DEPS="$CONFIG_DEPS libunwind-frame.o"
311 CONFIG_SRCS="$CONFIG_SRCS libunwind-frame.c"
312 fi
313
314 # Profiling support.
315 AC_ARG_ENABLE(profiling,
316 [ --enable-profiling enable profiling of GDB],
317 [case $enableval in
318 yes | no)
319 ;;
320 *)
321 AC_MSG_ERROR([bad value $enableval for --enable-profile]) ;;
322 esac],
323 [enable_profiling=no])
324
325 AC_CHECK_FUNCS(monstartup _mcleanup)
326 AC_CACHE_CHECK([for _etext], ac_cv_var__etext,
327 [AC_TRY_LINK(
328 [#include <stdlib.h>
329 extern char _etext;
330 ],
331 [free (&_etext);], ac_cv_var__etext=yes, ac_cv_var__etext=no)])
332 if test $ac_cv_var__etext = yes; then
333 AC_DEFINE(HAVE__ETEXT, 1,
334 [Define to 1 if your system has the _etext variable. ])
335 fi
336 AC_CACHE_CHECK([for etext], ac_cv_var_etext,
337 [AC_TRY_LINK(
338 [#include <stdlib.h>
339 extern char etext;
340 ],
341 [free (&etext);], ac_cv_var_etext=yes, ac_cv_var_etext=no)])
342 if test $ac_cv_var_etext = yes; then
343 AC_DEFINE(HAVE_ETEXT, 1,
344 [Define to 1 if your system has the etext variable. ])
345 fi
346 if test "$enable_profiling" = yes ; then
347 if test $ac_cv_func_monstartup = no || test $ac_cv_func__mcleanup = no; then
348 AC_MSG_ERROR(--enable-profiling requires monstartup and _mcleanup)
349 fi
350 PROFILE_CFLAGS=-pg
351 OLD_CFLAGS="$CFLAGS"
352 CFLAGS="$CFLAGS $PROFILE_CFLAGS"
353
354 AC_CACHE_CHECK([whether $CC supports -pg], ac_cv_cc_supports_pg,
355 [AC_TRY_COMPILE([], [int x;], ac_cv_cc_supports_pg=yes,
356 ac_cv_cc_supports_pg=no)])
357
358 if test $ac_cv_cc_supports_pg = no; then
359 AC_MSG_ERROR(--enable-profiling requires a compiler which supports -pg)
360 fi
361
362 CFLAGS="$OLD_CFLAGS"
363 fi
364
365 # --------------------- #
366 # Checks for programs. #
367 # --------------------- #
368
369 AC_PROG_AWK
370 AC_PROG_INSTALL
371 AC_PROG_LN_S
372 AC_PROG_RANLIB
373 AC_PROG_YACC
374
375 AC_CHECK_TOOL(AR, ar)
376 AC_CHECK_TOOL(DLLTOOL, dlltool)
377 AC_CHECK_TOOL(WINDRES, windres)
378
379 # Needed for GNU/Hurd.
380 AC_CHECK_TOOL(MIG, mig)
381
382 # ---------------------- #
383 # Checks for libraries. #
384 # ---------------------- #
385
386 # We might need to link with -lm; most simulators need it.
387 AC_CHECK_LIB(m, main)
388
389 # We need to link with -lw to get `wctype' on Solaris before Solaris
390 # 2.6. Solaris 2.6 and beyond have this function in libc, and have a
391 # libw that some versions of the GNU linker cannot hanle (GNU ld 2.9.1
392 # is known to have this problem). Therefore we avoid libw if we can.
393 AC_CHECK_FUNC(wctype, [],
394 [AC_CHECK_LIB(w, wctype)])
395
396 # Some systems (e.g. Solaris) have `gethostbyname' in libnsl.
397 AC_SEARCH_LIBS(gethostbyname, nsl)
398
399 # Some systems (e.g. Solaris) have `socketpair' in libsocket.
400 AC_SEARCH_LIBS(socketpair, socket)
401
402 # For the TUI, we need enhanced curses functionality.
403 #
404 # FIXME: kettenis/20040905: We prefer ncurses over the vendor-supplied
405 # curses library because the latter might not provide all the
406 # functionality we need. However, this leads to problems on systems
407 # where the linker searches /usr/local/lib, but the compiler doesn't
408 # search /usr/local/include, if ncurses is installed in /usr/local. A
409 # default installation of ncurses on alpha*-dec-osf* will lead to such
410 # a situation.
411 AC_SEARCH_LIBS(waddstr, [ncurses cursesX curses])
412
413 # On HP/UX we may need libxpdl for dlgetmodinfo (used by solib-pa64.c).
414 AC_SEARCH_LIBS(dlgetmodinfo, [dl xpdl])
415
416 # Since GDB uses Readline, we need termcap functionality. In many
417 # cases this will be provided by the curses library, but some systems
418 # have a seperate termcap library, or no curses library at all.
419
420 case $host_os in
421 cygwin*)
422 if test -d $srcdir/libtermcap; then
423 LIBS="../libtermcap/libtermcap.a $LIBS"
424 ac_cv_search_tgetent="../libtermcap/libtermcap.a"
425 fi ;;
426 go32* | *djgpp*)
427 ac_cv_search_tgetent="none required"
428 ;;
429 *mingw32*)
430 ac_cv_search_tgetent="none required"
431 CONFIG_OBS="$CONFIG_OBS win32-termcap.o"
432 ;;
433 esac
434
435 # These are the libraries checked by Readline.
436 AC_SEARCH_LIBS(tgetent, [termcap tinfo curses ncurses])
437
438 if test "$ac_cv_search_tgetent" = no; then
439 AC_MSG_ERROR([no termcap library found])
440 fi
441
442 AC_ARG_WITH([system-readline],
443 [AS_HELP_STRING([--with-system-readline],
444 [use installed readline library])])
445
446 if test "$with_system_readline" = yes; then
447 READLINE=-lreadline
448 READLINE_DEPS=
449 READLINE_CFLAGS=
450 else
451 READLINE='$(READLINE_DIR)/libreadline.a'
452 READLINE_DEPS='$(READLINE)'
453 READLINE_CFLAGS='-I$(READLINE_SRC)/..'
454 fi
455 AC_SUBST(READLINE)
456 AC_SUBST(READLINE_DEPS)
457 AC_SUBST(READLINE_CFLAGS)
458
459 AC_ARG_WITH(expat,
460 AS_HELP_STRING([--with-expat], [include expat support (auto/yes/no)]),
461 [], [with_expat=auto])
462 AC_MSG_CHECKING([whether to use expat])
463 AC_MSG_RESULT([$with_expat])
464
465 if test "${with_expat}" = no; then
466 AC_MSG_WARN([expat support disabled; some features may be unavailable.])
467 HAVE_LIBEXPAT=no
468 else
469 AC_LIB_HAVE_LINKFLAGS([expat], [], [#include "expat.h"],
470 [XML_Parser p = XML_ParserCreate (0);])
471 if test "$HAVE_LIBEXPAT" != yes; then
472 if test "$with_expat" = yes; then
473 AC_MSG_ERROR([expat is missing or unusable])
474 else
475 AC_MSG_WARN([expat is missing or unusable; some features may be unavailable.])
476 fi
477 else
478 save_LIBS=$LIBS
479 LIBS="$LIBS $LIBEXPAT"
480 AC_CHECK_FUNCS(XML_StopParser)
481 LIBS=$save_LIBS
482 fi
483 fi
484
485 # ------------------------- #
486 # Checks for header files. #
487 # ------------------------- #
488
489 AC_HEADER_DIRENT
490 AC_HEADER_STAT
491 AC_HEADER_STDC
492 AC_CHECK_HEADERS(nlist.h)
493 AC_CHECK_HEADERS(link.h, [], [],
494 [#if HAVE_SYS_TYPES_H
495 # include <sys/types.h>
496 #endif
497 #if HAVE_NLIST_H
498 # include <nlist.h>
499 #endif
500 ])
501 AC_CHECK_HEADERS(machine/reg.h)
502 AC_CHECK_HEADERS(poll.h sys/poll.h)
503 AC_CHECK_HEADERS(proc_service.h thread_db.h gnu/libc-version.h)
504 AC_CHECK_HEADERS(signal.h)
505 AC_CHECK_HEADERS(stddef.h)
506 AC_CHECK_HEADERS(stdlib.h)
507 AC_CHECK_HEADERS(stdint.h)
508 AC_CHECK_HEADERS(string.h memory.h strings.h)
509 AC_CHECK_HEADERS(sys/fault.h)
510 AC_CHECK_HEADERS(sys/file.h)
511 AC_CHECK_HEADERS(sys/filio.h)
512 AC_CHECK_HEADERS(sys/ioctl.h)
513 AC_CHECK_HEADERS(sys/param.h)
514 AC_CHECK_HEADERS(sys/resource.h)
515 AC_CHECK_HEADERS(sys/proc.h, [], [],
516 [#if HAVE_SYS_PARAM_H
517 # include <sys/param.h>
518 #endif
519 ])
520 AC_CHECK_HEADERS(sys/procfs.h)
521 AC_CHECK_HEADERS(sys/ptrace.h ptrace.h)
522 AC_CHECK_HEADERS(sys/reg.h sys/debugreg.h)
523 AC_CHECK_HEADERS(sys/select.h)
524 AC_CHECK_HEADERS(sys/syscall.h)
525 AC_CHECK_HEADERS(sys/types.h)
526 AC_CHECK_HEADERS(sys/user.h, [], [],
527 [#if HAVE_SYS_PARAM_H
528 # include <sys/param.h>
529 #endif
530 ])
531 AC_CHECK_HEADERS(sys/wait.h wait.h)
532 AC_CHECK_HEADERS(termios.h termio.h sgtty.h)
533 AC_CHECK_HEADERS(unistd.h)
534
535 # On Solaris 2.[789], we need to define _MSE_INT_H to avoid a clash
536 # between <widec.h> and <wchar.h> that would cause AC_CHECK_HEADERS to
537 # think that we don't have <curses.h> if we're using GCC.
538 case $host_os in
539 solaris2.[[789]])
540 if test "$GCC" = yes; then
541 AC_DEFINE(_MSE_INT_H, 1,
542 [Define to 1 to avoid a clash between <widec.h> and <wchar.h> on
543 Solaris 2.[789] when using GCC. ])
544 fi ;;
545 esac
546 AC_CHECK_HEADERS(curses.h cursesX.h ncurses.h ncurses/ncurses.h)
547 AC_CHECK_HEADERS(ncurses/term.h)
548 AC_CHECK_HEADERS(term.h, [], [],
549 [#if HAVE_CURSES_H
550 # include <curses.h>
551 #endif
552 ])
553
554 # Check for HP/UX 64-bit shared library support
555 AC_CHECK_HEADERS(elf_hp.h)
556
557 # FIXME: kettenis/20030102: In most cases we include these
558 # unconditionally, so what's the point in checking these?
559 AC_CHECK_HEADERS(ctype.h time.h)
560
561 # Create a header we can use portably to get the standard integer types.
562 GCC_HEADER_STDINT(gdb_stdint.h)
563
564 # ------------------------- #
565 # Checks for declarations. #
566 # ------------------------- #
567
568 AC_CHECK_DECLS([free, malloc, realloc])
569 AC_CHECK_DECLS([strerror, strstr])
570 AC_CHECK_DECLS([getopt, snprintf, vsnprintf])
571
572 # ----------------------- #
573 # Checks for structures. #
574 # ----------------------- #
575
576 AC_CHECK_MEMBERS([struct stat.st_blocks])
577 AC_CHECK_MEMBERS([struct stat.st_blksize])
578
579 # ------------------ #
580 # Checks for types. #
581 # ------------------ #
582
583 AC_TYPE_SIGNAL
584 AC_CHECK_TYPES(socklen_t, [], [],
585 [#include <sys/types.h>
586 #include <sys/socket.h>
587 ])
588 AC_CHECK_TYPES(uintptr_t, [], [], [#include <stdint.h>])
589
590 # ------------------------------------- #
591 # Checks for compiler characteristics. #
592 # ------------------------------------- #
593
594 AC_C_CONST
595 AC_C_INLINE
596 AC_C_BIGENDIAN
597
598 # ------------------------------ #
599 # Checks for library functions. #
600 # ------------------------------ #
601
602 AC_FUNC_ALLOCA
603 AC_FUNC_MMAP
604 AC_FUNC_VFORK
605 AC_CHECK_FUNCS(canonicalize_file_name realpath)
606 AC_CHECK_FUNCS(getrusage)
607 AC_CHECK_FUNCS(getuid getgid)
608 AC_CHECK_FUNCS(poll)
609 AC_CHECK_FUNCS(pread64)
610 AC_CHECK_FUNCS(sbrk)
611 AC_CHECK_FUNCS(setpgid setpgrp setsid)
612 AC_CHECK_FUNCS(sigaction sigprocmask sigsetmask)
613 AC_CHECK_FUNCS(socketpair)
614 AC_CHECK_FUNCS(syscall)
615 AC_CHECK_FUNCS(ttrace)
616 AC_CHECK_FUNCS(wborder)
617
618 # Check the return and argument types of ptrace. No canned test for
619 # this, so roll our own.
620 gdb_ptrace_headers='
621 #if HAVE_SYS_TYPES_H
622 # include <sys/types.h>
623 #endif
624 #if HAVE_SYS_PTRACE_H
625 # include <sys/ptrace.h>
626 #endif
627 #if HAVE_UNISTD_H
628 # include <unistd.h>
629 #endif
630 '
631 # There is no point in checking if we don't have a prototype.
632 AC_CHECK_DECLS(ptrace, [], [
633 : ${gdb_cv_func_ptrace_ret='int'}
634 : ${gdb_cv_func_ptrace_args='int,int,long,long'}
635 ], $gdb_ptrace_headers)
636 # Check return type.
637 AC_CACHE_CHECK([return type of ptrace], gdb_cv_func_ptrace_ret,
638 AC_TRY_COMPILE($gdb_ptrace_headers,
639 [extern int ptrace ();],
640 gdb_cv_func_ptrace_ret='int',
641 gdb_cv_func_ptrace_ret='long'))
642 AC_DEFINE_UNQUOTED(PTRACE_TYPE_RET, $gdb_cv_func_ptrace_ret,
643 [Define as the return type of ptrace.])
644 # Check argument types.
645 AC_CACHE_CHECK([types of arguments for ptrace], gdb_cv_func_ptrace_args, [
646 for gdb_arg1 in 'int' 'long'; do
647 for gdb_arg2 in 'pid_t' 'int' 'long'; do
648 for gdb_arg3 in 'int *' 'caddr_t' 'int' 'long' 'void *'; do
649 for gdb_arg4 in 'int' 'long'; do
650 AC_TRY_COMPILE($gdb_ptrace_headers, [
651 extern $gdb_cv_func_ptrace_ret
652 ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4);
653 ], [gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4";
654 break 4;])
655 for gdb_arg5 in 'int *' 'int' 'long'; do
656 AC_TRY_COMPILE($gdb_ptrace_headers, [
657 extern $gdb_cv_func_ptrace_ret
658 ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4, $gdb_arg5);
659 ], [
660 gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4,$gdb_arg5";
661 break 5;])
662 done
663 done
664 done
665 done
666 done
667 # Provide a safe default value.
668 : ${gdb_cv_func_ptrace_args='int,int,long,long'}
669 ])
670 ac_save_IFS=$IFS; IFS=','
671 set dummy `echo "$gdb_cv_func_ptrace_args" | sed 's/\*/\*/g'`
672 IFS=$ac_save_IFS
673 shift
674 AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG3, $[3],
675 [Define to the type of arg 3 for ptrace.])
676 if test -n "$[5]"; then
677 AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG5, $[5],
678 [Define to the type of arg 5 for ptrace.])
679 fi
680
681 dnl AC_FUNC_SETPGRP does not work when cross compiling
682 dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
683 if test "$cross_compiling" = no; then
684 AC_FUNC_SETPGRP
685 else
686 AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,
687 [AC_TRY_COMPILE([
688 #include <unistd.h>
689 ], [
690 if (setpgrp(1,1) == -1)
691 exit (0);
692 else
693 exit (1);
694 ], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])
695 if test $ac_cv_func_setpgrp_void = yes; then
696 AC_DEFINE(SETPGRP_VOID, 1)
697 fi
698 fi
699
700 # Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do
701 # since sigsetjmp might only be defined as a macro.
702 AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
703 [AC_TRY_COMPILE([
704 #include <setjmp.h>
705 ], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
706 gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
707 if test $gdb_cv_func_sigsetjmp = yes; then
708 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
709 fi
710
711 # Assume we'll default to using the included libiberty regex.
712 gdb_use_included_regex=yes
713
714 # However, if the system regex is GNU regex, then default to *not*
715 # using the included regex.
716 AC_CACHE_CHECK(
717 [for GNU regex],
718 [gdb_cv_have_gnu_regex],
719 [AC_TRY_COMPILE(
720 [#include <gnu-versions.h>],
721 [#define REGEX_INTERFACE_VERSION 1
722 #if _GNU_REGEX_INTERFACE_VERSION != REGEX_INTERFACE_VERSION
723 # error "Version mismatch"
724 #endif],
725 gdb_cv_have_gnu_regex=yes,
726 gdb_cv_have_gnu_regex=no)])
727 if test $gdb_cv_have_gnu_regex = yes; then
728 gdb_use_included_regex=no
729 fi
730
731 AC_ARG_WITH(included-regex,
732 [ --without-included-regex don't use included regex; this is the default
733 on systems with version 2 of the GNU C library
734 (use with caution on other system)],
735 gdb_with_regex=$withval,
736 gdb_with_regex=$gdb_use_included_regex)
737 if test "$gdb_with_regex" = yes; then
738 AC_DEFINE(USE_INCLUDED_REGEX, 1,
739 [Define to 1 if the regex included in libiberty should be used.])
740 fi
741
742 # Check if <sys/proc.h> defines `struct thread' with a td_pcb member.
743 AC_CHECK_MEMBERS([struct thread.td_pcb], [], [],
744 [#include <sys/param.h>
745 #include <sys/proc.h>
746 ])
747
748 # See if <sys/lwp.h> defines `struct lwp`.
749 AC_CACHE_CHECK([for struct lwp], gdb_cv_struct_lwp,
750 [AC_TRY_COMPILE([#include <sys/param.h>
751 #include <sys/lwp.h>], [struct lwp l;],
752 gdb_cv_struct_lwp=yes, gdb_cv_struct_lwp=no)])
753 if test $gdb_cv_struct_lwp = yes; then
754 AC_DEFINE(HAVE_STRUCT_LWP, 1,
755 [Define to 1 if your system has struct lwp.])
756 fi
757
758 # See if <machine/reg.h> degines `struct reg'.
759 AC_CACHE_CHECK([for struct reg in machine/reg.h], gdb_cv_struct_reg,
760 [AC_TRY_COMPILE([#include <sys/types.h>
761 #include <machine/reg.h>], [struct reg r;],
762 gdb_cv_struct_reg=yes, gdb_cv_struct_reg=no)])
763 if test $gdb_cv_struct_reg = yes; then
764 AC_DEFINE(HAVE_STRUCT_REG, 1,
765 [Define to 1 if your system has struct reg in <machine/reg.h>.])
766 fi
767
768 # See if <machine/reg.h> supports the %fs and %gs i386 segment registers.
769 # Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
770 AC_CHECK_MEMBERS([struct reg.r_fs, struct reg.r_gs], [], [],
771 [#include <machine/reg.h>])
772
773 # See if <sys/ptrace.h> provides the PTRACE_GETREGS request.
774 AC_MSG_CHECKING(for PTRACE_GETREGS)
775 AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
776 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
777 [PTRACE_GETREGS;],
778 [gdb_cv_have_ptrace_getregs=yes],
779 [gdb_cv_have_ptrace_getregs=no])])
780 AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
781 if test $gdb_cv_have_ptrace_getregs = yes; then
782 AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
783 [Define if sys/ptrace.h defines the PTRACE_GETREGS request.])
784 fi
785
786 # See if <sys/ptrace.h> provides the PTRACE_GETFPXREGS request.
787 AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
788 AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
789 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
790 [PTRACE_GETFPXREGS;],
791 [gdb_cv_have_ptrace_getfpxregs=yes],
792 [gdb_cv_have_ptrace_getfpxregs=no])])
793 AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
794 if test $gdb_cv_have_ptrace_getfpxregs = yes; then
795 AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
796 [Define if sys/ptrace.h defines the PTRACE_GETFPXREGS request.])
797 fi
798
799 # See if <sys/ptrace.h> provides the PT_GETDBREGS request.
800 AC_MSG_CHECKING(for PT_GETDBREGS)
801 AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
802 [AC_TRY_COMPILE([#include <sys/types.h>
803 #include <sys/ptrace.h>],
804 [PT_GETDBREGS;],
805 [gdb_cv_have_pt_getdbregs=yes],
806 [gdb_cv_have_pt_getdbregs=no])])
807 AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
808 if test $gdb_cv_have_pt_getdbregs = yes; then
809 AC_DEFINE(HAVE_PT_GETDBREGS, 1,
810 [Define if sys/ptrace.h defines the PT_GETDBREGS request.])
811 fi
812
813 # See if <sys/ptrace.h> provides the PT_GETXMMREGS request.
814 AC_MSG_CHECKING(for PT_GETXMMREGS)
815 AC_CACHE_VAL(gdb_cv_have_pt_getxmmregs,
816 [AC_TRY_COMPILE([#include <sys/types.h>
817 #include <sys/ptrace.h>],
818 [PT_GETXMMREGS;],
819 [gdb_cv_have_pt_getxmmregs=yes],
820 [gdb_cv_have_pt_getxmmregs=no])])
821 AC_MSG_RESULT($gdb_cv_have_pt_getxmmregs)
822 if test $gdb_cv_have_pt_getxmmregs = yes; then
823 AC_DEFINE(HAVE_PT_GETXMMREGS, 1,
824 [Define if sys/ptrace.h defines the PT_GETXMMREGS request.])
825 fi
826
827 # Detect which type of /proc is in use, such as for Unixware or Solaris.
828
829 if test "${target}" = "${host}"; then
830 case "${host}" in
831 *-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* )
832 AC_DEFINE(NEW_PROC_API, 1,
833 [Define if you want to use new multi-fd /proc interface
834 (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).])
835 ;;
836 *-*-solaris2.[[6789]] | *-*-solaris2.1[[0-9]]*)
837 AC_DEFINE(NEW_PROC_API, 1,
838 [Define if you want to use new multi-fd /proc interface
839 (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).])
840 ;;
841 mips-sgi-irix5*)
842 # Work around <sys/proc.h> needing _KMEMUSER problem on IRIX 5.
843 AC_DEFINE([_KMEMUSER], 1,
844 [Define to 1 so <sys/proc.h> gets a definition of anon_hdl. Works
845 around a <sys/proc.h> problem on IRIX 5.])
846 ;;
847 esac
848 fi
849
850 if test "$ac_cv_header_sys_procfs_h" = yes; then
851 BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
852 BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
853 BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
854 BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
855 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
856 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
857 BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
858 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
859 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
860 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
861 BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)
862 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)
863 BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)
864 BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)
865
866
867 dnl Check for broken prfpregset_t type
868
869 dnl For Linux/i386, glibc 2.1.3 was released with a bogus
870 dnl prfpregset_t type (it's a typedef for the pointer to a struct
871 dnl instead of the struct itself). We detect this here, and work
872 dnl around it in gdb_proc_service.h.
873
874 if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
875 AC_MSG_CHECKING(whether prfpregset_t type is broken)
876 AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
877 [AC_TRY_RUN([#include <sys/procfs.h>
878 int main ()
879 {
880 if (sizeof (prfpregset_t) == sizeof (void *))
881 return 1;
882 return 0;
883 }],
884 gdb_cv_prfpregset_t_broken=no,
885 gdb_cv_prfpregset_t_broken=yes,
886 gdb_cv_prfpregset_t_broken=yes)])
887 AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
888 if test $gdb_cv_prfpregset_t_broken = yes; then
889 AC_DEFINE(PRFPREGSET_T_BROKEN, 1,
890 [Define if the prfpregset_t type is broken.])
891 fi
892 fi
893
894 dnl Check for PIOCSET ioctl entry
895
896 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
897 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
898 [AC_TRY_COMPILE([#include <unistd.h>
899 #include <sys/types.h>
900 #include <sys/procfs.h>
901 ], [
902 int dummy;;
903 dummy = ioctl(0, PIOCSET, &dummy);
904 ],
905 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
906 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
907 if test $gdb_cv_have_procfs_piocset = yes; then
908 AC_DEFINE(HAVE_PROCFS_PIOCSET, 1,
909 [Define if ioctl argument PIOCSET is available.])
910 fi
911 fi
912
913 dnl For native ports (host == target), check to see what kind of
914 dnl legacy link.h support is needed. (See solib-legacy.c.)
915 if test ${host} = ${target} ; then
916 dnl Check for struct link_map with l_ members which are indicative
917 dnl of SVR4-like shared libraries
918
919 AC_MSG_CHECKING(for member l_addr in struct link_map)
920 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,
921 [AC_TRY_COMPILE([#include <link.h>],
922 [struct link_map lm; (void) lm.l_addr;],
923 gdb_cv_have_struct_link_map_with_l_members=yes,
924 gdb_cv_have_struct_link_map_with_l_members=no)])
925 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)
926 if test $gdb_cv_have_struct_link_map_with_l_members = yes; then
927 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS,1,
928 [Define if <link.h> exists and defines struct link_map which has
929 members with an ``l_'' prefix. (For Solaris, SVR4, and
930 SVR4-like systems.)])
931 fi
932
933 dnl Check for struct link_map with lm_ members which are indicative
934 dnl of SunOS-like shared libraries
935
936 AC_MSG_CHECKING(for member lm_addr in struct link_map)
937 AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,
938 [AC_TRY_COMPILE([#include <sys/types.h>
939 #include <link.h>],
940 [struct link_map lm; (void) lm.lm_addr;],
941 gdb_cv_have_struct_link_map_with_lm_members=yes,
942 gdb_cv_have_struct_link_map_with_lm_members=no)])
943 AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)
944 if test $gdb_cv_have_struct_link_map_with_lm_members = yes; then
945 AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS, 1,
946 [Define if <link.h> exists and defines struct link_map which has
947 members with an ``lm_'' prefix. (For SunOS.)])
948 fi
949
950 dnl Check for struct so_map with som_ members which are found on
951 dnl some *BSD systems.
952
953 AC_MSG_CHECKING(for member som_addr in struct so_map)
954 AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,
955 [AC_TRY_COMPILE([#include <sys/types.h>
956 #ifdef HAVE_NLIST_H
957 #include <nlist.h>
958 #endif
959 #include <link.h>],
960 [struct so_map lm; (void) lm.som_addr;],
961 gdb_cv_have_struct_so_map_with_som_members=yes,
962 gdb_cv_have_struct_so_map_with_som_members=no)])
963 AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)
964 if test $gdb_cv_have_struct_so_map_with_som_members = yes; then
965 AC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS, 1,
966 [Define if <link.h> exists and defines a struct so_map which has
967 members with an ``som_'' prefix. (Found on older *BSD systems.)])
968 fi
969
970 dnl Check for struct link_map32 type, which allows a 64-bit Solaris
971 dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
972
973 AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
974 AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
975 [AC_TRY_COMPILE([#define _SYSCALL32
976 #include <sys/link.h>], [struct link_map32 l;],
977 gdb_cv_have_struct_link_map32=yes,
978 gdb_cv_have_struct_link_map32=no)])
979 AC_MSG_RESULT($gdb_cv_have_struct_link_map32)
980 if test $gdb_cv_have_struct_link_map32 = yes; then
981 AC_DEFINE(HAVE_STRUCT_LINK_MAP32, 1,
982 [Define if <sys/link.h> has struct link_map32])
983 AC_DEFINE(_SYSCALL32, 1,
984 [Define if <sys/link.h> has link_map32 (solaris sparc-64 target)])
985 fi
986 fi
987
988 # Check if the compiler supports the `long long' type.
989
990 AC_CACHE_CHECK([for long long support in compiler], gdb_cv_c_long_long,
991 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
992 [[extern long long foo;]],
993 [[switch (foo & 2) { case 0: return 1; }]])],
994 gdb_cv_c_long_long=yes,
995 gdb_cv_c_long_long=no)])
996 if test $gdb_cv_c_long_long = yes; then
997 AC_DEFINE(CC_HAS_LONG_LONG, 1,
998 [Define to 1 if the compiler supports long long.])
999 fi
1000
1001 # Check if the compiler and runtime support printing long longs.
1002
1003 AC_CACHE_CHECK([for long long support in printf],
1004 gdb_cv_printf_has_long_long,
1005 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1006 [[char buf[32];
1007 long long l = 0;
1008 l = (l << 16) + 0x0123;
1009 l = (l << 16) + 0x4567;
1010 l = (l << 16) + 0x89ab;
1011 l = (l << 16) + 0xcdef;
1012 sprintf (buf, "0x%016llx", l);
1013 return (strcmp ("0x0123456789abcdef", buf));]])],
1014 gdb_cv_printf_has_long_long=yes,
1015 gdb_cv_printf_has_long_long=no,
1016 gdb_cv_printf_has_long_long=no)])
1017 if test $gdb_cv_printf_has_long_long = yes; then
1018 AC_DEFINE(PRINTF_HAS_LONG_LONG, 1,
1019 [Define to 1 if the "%ll" format works to print long longs.])
1020 fi
1021
1022 # Check if the compiler and runtime support printing decfloats.
1023
1024 AC_CACHE_CHECK([for decfloat support in printf],
1025 gdb_cv_printf_has_decfloat,
1026 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1027 [[char buf[64];
1028 _Decimal32 d32 = 1.2345df;
1029 _Decimal64 d64 = 1.2345dd;
1030 _Decimal128 d128 = 1.2345dl;
1031 sprintf (buf, "Decimal32: %H\nDecimal64: %D\nDecimal128: %DD", d32, d64, d128);
1032 return (strcmp ("Decimal32: 1.2345\nDecimal64: 1.2345\nDecimal128: 1.2345", buf));]])],
1033 gdb_cv_printf_has_decfloat=yes,
1034 gdb_cv_printf_has_decfloat=no,
1035 gdb_cv_printf_has_decfloat=no)])
1036 if test $gdb_cv_printf_has_decfloat = yes; then
1037 AC_DEFINE(PRINTF_HAS_DECFLOAT, 1,
1038 [Define to 1 if the "%H, %D and %DD" formats work to print decfloats.])
1039 fi
1040
1041 # Check if the compiler supports the `long double' type. We can't use
1042 # AC_C_LONG_DOUBLE because that one does additional checks on the
1043 # constants defined in <float.h> that fail on some systems,
1044 # e.g. FreeBSD/i386 4.7 and OpenBSD/i386 3.6.
1045
1046 AC_CACHE_CHECK([for long double support in compiler], gdb_cv_c_long_double,
1047 [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[long double foo;]])],
1048 gdb_cv_c_long_double=yes,
1049 gdb_cv_c_long_double=no)])
1050 if test $gdb_cv_c_long_double = yes; then
1051 AC_DEFINE(HAVE_LONG_DOUBLE, 1,
1052 [Define to 1 if the compiler supports long double.])
1053 fi
1054
1055 # Check if the compiler and runtime support printing long doubles.
1056
1057 AC_CACHE_CHECK([for long double support in printf],
1058 gdb_cv_printf_has_long_double,
1059 [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1060 [[char buf[16];
1061 long double f = 3.141592653;
1062 sprintf (buf, "%Lg", f);
1063 return (strncmp ("3.14159", buf, 7));]])],
1064 gdb_cv_printf_has_long_double=yes,
1065 gdb_cv_printf_has_long_double=no,
1066 gdb_cv_printf_has_long_double=no)])
1067 if test $gdb_cv_printf_has_long_double = yes; then
1068 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE, 1,
1069 [Define to 1 if the "%Lg" format works to print long doubles.])
1070 fi
1071
1072 # Check if the compiler and runtime support scanning long doubles.
1073
1074 AC_CACHE_CHECK([for long double support in scanf],
1075 gdb_cv_scanf_has_long_double,
1076 [AC_RUN_IFELSE([AC_LANG_PROGRAM(
1077 [[#include <stdio.h>]],
1078 [[char *buf = "3.141592653";
1079 long double f = 0;
1080 sscanf (buf, "%Lg", &f);
1081 return !(f > 3.14159 && f < 3.14160);]])],
1082 gdb_cv_scanf_has_long_double=yes,
1083 gdb_cv_scanf_has_long_double=no,
1084 gdb_cv_scanf_has_long_double=no)])
1085 if test $gdb_cv_scanf_has_long_double = yes; then
1086 AC_DEFINE(SCANF_HAS_LONG_DOUBLE, 1,
1087 [Define to 1 if the "%Lg" format works to scan long doubles.])
1088 fi
1089
1090 case ${host_os} in
1091 aix*)
1092 AC_CACHE_CHECK([for -bbigtoc option], [gdb_cv_bigtoc], [
1093 SAVE_LDFLAGS=$LDFLAGS
1094
1095 case $GCC in
1096 yes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;
1097 *) gdb_cv_bigtoc=-bbigtoc ;;
1098 esac
1099
1100 LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
1101 AC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])
1102 LDFLAGS="${SAVE_LDFLAGS}"
1103 ])
1104 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
1105 ;;
1106 esac
1107
1108
1109 dnl For certain native configurations, we need to check whether thread
1110 dnl support can be built in or not.
1111 dnl
1112 dnl Note that we only want this if we are both native (host == target),
1113 dnl and not doing a canadian cross build (build == host).
1114
1115 if test ${build} = ${host} -a ${host} = ${target} ; then
1116 case ${host_os} in
1117 hpux*)
1118 AC_MSG_CHECKING(for HPUX/OSF thread support)
1119 if test -f /usr/include/dce/cma_config.h ; then
1120 if test "$GCC" = "yes" ; then
1121 AC_MSG_RESULT(yes)
1122 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT, 1,
1123 [Define if you have HPUX threads])
1124 CONFIG_OBS="${CONFIG_OBS} hpux-thread.o"
1125 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
1126 else
1127 AC_MSG_RESULT(no (suppressed because you are not using GCC))
1128 fi
1129 else
1130 AC_MSG_RESULT(no)
1131 fi
1132 ;;
1133 solaris*)
1134 # See if thread_db library is around for Solaris thread debugging.
1135 # Note that we must explicitly test for version 1 of the library
1136 # because version 0 (present on Solaris 2.4 or earlier) doesn't have
1137 # the same API.
1138 AC_MSG_CHECKING(for Solaris thread debugging library)
1139 if test -f /usr/lib/libthread_db.so.1 ; then
1140 AC_MSG_RESULT(yes)
1141 AC_DEFINE(HAVE_THREAD_DB_LIB, 1,
1142 [Define if using Solaris thread debugging.])
1143 CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
1144 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
1145 AC_CHECK_LIB(dl, dlopen)
1146 if test "$GCC" = "yes" ; then
1147 # The GNU linker requires the -export-dynamic option to make
1148 # all symbols visible in the dynamic symbol table.
1149 hold_ldflags=$LDFLAGS
1150 AC_MSG_CHECKING(for the ld -export-dynamic flag)
1151 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
1152 AC_TRY_LINK(, [int i;], found=yes, found=no)
1153 LDFLAGS=$hold_ldflags
1154 AC_MSG_RESULT($found)
1155 if test $found = yes; then
1156 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
1157 fi
1158 fi
1159 # Sun randomly tweaked the prototypes in <proc_service.h>
1160 # at one point.
1161 AC_MSG_CHECKING(if <proc_service.h> is old)
1162 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
1163 AC_TRY_COMPILE([
1164 #include <proc_service.h>
1165 ps_err_e ps_pdwrite
1166 (struct ps_prochandle*, psaddr_t, const void*, size_t);
1167 ],, gdb_cv_proc_service_is_old=no,
1168 gdb_cv_proc_service_is_old=yes)
1169 ])
1170 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
1171 if test $gdb_cv_proc_service_is_old = yes; then
1172 AC_DEFINE(PROC_SERVICE_IS_OLD, 1,
1173 [Define if <proc_service.h> on solaris uses int instead of
1174 size_t, and assorted other type changes.])
1175 fi
1176 else
1177 AC_MSG_RESULT(no)
1178 fi
1179 ;;
1180 aix*)
1181 AC_MSG_CHECKING(for AiX thread debugging library)
1182 AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,
1183 [AC_TRY_COMPILE([#include <sys/pthdebug.h>],
1184 [#ifndef PTHDB_VERSION_3
1185 #error
1186 #endif],
1187 gdb_cv_have_aix_thread_debug=yes,
1188 gdb_cv_have_aix_thread_debug=no)])
1189 AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)
1190 if test $gdb_cv_have_aix_thread_debug = yes; then
1191 CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
1192 CONFIG_OBS="${CONFIG_OBS} aix-thread.o"
1193 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug"
1194 fi
1195 ;;
1196 esac
1197 AC_SUBST(CONFIG_LDFLAGS)
1198 fi
1199
1200 dnl See if we have a thread_db header file that has TD_NOTALLOC and
1201 dnl other error codes.
1202 if test "x$ac_cv_header_thread_db_h" = "xyes"; then
1203 AC_CACHE_CHECK([whether <thread_db.h> has TD_NOTALLOC],
1204 gdb_cv_thread_db_h_has_td_notalloc,
1205 AC_TRY_COMPILE(
1206 [#include <thread_db.h>],
1207 [int i = TD_NOTALLOC;],
1208 gdb_cv_thread_db_h_has_td_notalloc=yes,
1209 gdb_cv_thread_db_h_has_td_notalloc=no
1210 )
1211 )
1212 AC_CACHE_CHECK([whether <thread_db.h> has TD_VERSION],
1213 gdb_cv_thread_db_h_has_td_version,
1214 AC_TRY_COMPILE(
1215 [#include <thread_db.h>],
1216 [int i = TD_VERSION;],
1217 gdb_cv_thread_db_h_has_td_version=yes,
1218 gdb_cv_thread_db_h_has_td_version=no
1219 )
1220 )
1221 AC_CACHE_CHECK([whether <thread_db.h> has TD_NOTLS],
1222 gdb_cv_thread_db_h_has_td_notls,
1223 AC_TRY_COMPILE(
1224 [#include <thread_db.h>],
1225 [int i = TD_NOTLS;],
1226 gdb_cv_thread_db_h_has_td_notls=yes,
1227 gdb_cv_thread_db_h_has_td_notls=no
1228 )
1229 )
1230 fi
1231 if test "x$gdb_cv_thread_db_h_has_td_notalloc" = "xyes"; then
1232 AC_DEFINE(THREAD_DB_HAS_TD_NOTALLOC, 1,
1233 [Define if <thread_db.h> has the TD_NOTALLOC error code.])
1234 fi
1235 if test "x$gdb_cv_thread_db_h_has_td_version" = "xyes"; then
1236 AC_DEFINE(THREAD_DB_HAS_TD_VERSION, 1,
1237 [Define if <thread_db.h> has the TD_VERSION error code.])
1238 fi
1239 if test "x$gdb_cv_thread_db_h_has_td_notls" = "xyes"; then
1240 AC_DEFINE(THREAD_DB_HAS_TD_NOTLS, 1,
1241 [Define if <thread_db.h> has the TD_NOTLS error code.])
1242 fi
1243
1244 dnl See if we have a sys/syscall header file that has __NR_tkill.
1245 if test "x$ac_cv_header_sys_syscall_h" = "xyes"; then
1246 AC_CACHE_CHECK([whether <sys/syscall.h> has __NR_tkill],
1247 gdb_cv_sys_syscall_h_has_tkill,
1248 AC_TRY_COMPILE(
1249 [#include <sys/syscall.h>],
1250 [int i = __NR_tkill;],
1251 gdb_cv_sys_syscall_h_has_tkill=yes,
1252 gdb_cv_sys_syscall_h_has_tkill=no
1253 )
1254 )
1255 fi
1256 dnl See if we can issue tkill syscall.
1257 if test "x$gdb_cv_sys_syscall_h_has_tkill" = "xyes" && test "x$ac_cv_func_syscall" = "xyes"; then
1258 AC_DEFINE(HAVE_TKILL_SYSCALL, 1, [Define if you support the tkill syscall.])
1259 fi
1260
1261 dnl Handle optional features that can be enabled.
1262
1263 AC_ARG_WITH(sysroot,
1264 [ --with-sysroot[=DIR] Search for usr/lib et al within DIR.],
1265 [
1266 case ${with_sysroot} in
1267 yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;;
1268 *) TARGET_SYSTEM_ROOT=$with_sysroot ;;
1269 esac
1270
1271 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
1272
1273 if test "x$prefix" = xNONE; then
1274 test_prefix=/usr/local
1275 else
1276 test_prefix=$prefix
1277 fi
1278 if test "x$exec_prefix" = xNONE || test "x$exec_prefix" = 'x${prefix}'; then
1279 test_exec_prefix=$test_prefix
1280 else
1281 test_exec_prefix=$exec_prefix
1282 fi
1283 case ${TARGET_SYSTEM_ROOT} in
1284 "${test_prefix}"|"${test_prefix}/"*|\
1285 "${test_exec_prefix}"|"${test_exec_prefix}/"*|\
1286 '${prefix}'|'${prefix}/'*|\
1287 '${exec_prefix}'|'${exec_prefix}/'*)
1288 t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE"
1289 TARGET_SYSTEM_ROOT_DEFINE="$t"
1290 ;;
1291 esac
1292 ], [
1293 TARGET_SYSTEM_ROOT=
1294 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
1295 ])
1296 AC_SUBST(TARGET_SYSTEM_ROOT)
1297 AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
1298
1299 AC_ARG_ENABLE(werror,
1300 [ --enable-werror treat compile warnings as errors],
1301 [case "${enableval}" in
1302 yes | y) ERROR_ON_WARNING="yes" ;;
1303 no | n) ERROR_ON_WARNING="no" ;;
1304 *) AC_MSG_ERROR(bad value ${enableval} for --enable-werror) ;;
1305 esac])
1306
1307 # Enable -Werror by default when using gcc
1308 if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
1309 ERROR_ON_WARNING=yes
1310 fi
1311
1312 WERROR_CFLAGS=""
1313 if test "${ERROR_ON_WARNING}" = yes ; then
1314 WERROR_CFLAGS="-Werror"
1315 fi
1316
1317 # The entries after -Wno-pointer-sign are disabled warnings which may
1318 # be enabled in the future, which can not currently be used to build
1319 # GDB.
1320 # NOTE: If you change this list, remember to update
1321 # gdb/doc/gdbint.texinfo.
1322 build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \
1323 -Wformat-nonliteral -Wno-pointer-sign \
1324 -Wno-unused -Wno-switch -Wno-char-subscripts"
1325
1326 AC_ARG_ENABLE(build-warnings,
1327 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
1328 [case "${enableval}" in
1329 yes) ;;
1330 no) build_warnings="-w";;
1331 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1332 build_warnings="${build_warnings} ${t}";;
1333 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1334 build_warnings="${t} ${build_warnings}";;
1335 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1336 esac
1337 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1338 echo "Setting compiler warning flags = $build_warnings" 6>&1
1339 fi])dnl
1340 AC_ARG_ENABLE(gdb-build-warnings,
1341 [ --enable-gdb-build-warnings Enable GDB specific build-time compiler warnings if gcc is used],
1342 [case "${enableval}" in
1343 yes) ;;
1344 no) build_warnings="-w";;
1345 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1346 build_warnings="${build_warnings} ${t}";;
1347 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
1348 build_warnings="${t} ${build_warnings}";;
1349 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1350 esac
1351 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1352 echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
1353 fi])dnl
1354 WARN_CFLAGS=""
1355 if test "x${build_warnings}" != x -a "x$GCC" = xyes
1356 then
1357 AC_MSG_CHECKING(compiler warning flags)
1358 # Separate out the -Werror flag as some files just cannot be
1359 # compiled with it enabled.
1360 for w in ${build_warnings}; do
1361 case $w in
1362 -Werr*) WERROR_CFLAGS=-Werror ;;
1363 *) # Check that GCC accepts it
1364 saved_CFLAGS="$CFLAGS"
1365 CFLAGS="$CFLAGS $w"
1366 AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
1367 CFLAGS="$saved_CFLAGS"
1368 esac
1369 done
1370 AC_MSG_RESULT(${WARN_CFLAGS} ${WERROR_CFLAGS})
1371 fi
1372 AC_SUBST(WARN_CFLAGS)
1373 AC_SUBST(WERROR_CFLAGS)
1374
1375 # In the Cygwin environment, we need some additional flags.
1376 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
1377 [AC_EGREP_CPP(lose, [
1378 #if defined (__CYGWIN__) || defined (__CYGWIN32__)
1379 lose
1380 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
1381
1382
1383 dnl Figure out which of the many generic ser-*.c files the _host_ supports.
1384 SER_HARDWIRE="ser-base.o ser-unix.o ser-pipe.o ser-tcp.o"
1385 case ${host} in
1386 *go32* ) SER_HARDWIRE=ser-go32.o ;;
1387 *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
1388 *mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o ser-mingw.o" ;;
1389 esac
1390 AC_SUBST(SER_HARDWIRE)
1391
1392 # libreadline needs libuser32.a in a cygwin environment
1393 WIN32LIBS=
1394 if test x$gdb_cv_os_cygwin = xyes; then
1395 WIN32LIBS="-luser32"
1396 case "${target}" in
1397 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
1398 ;;
1399 esac
1400 fi
1401
1402 # The ser-tcp.c module requires sockets.
1403 case ${host} in
1404 *mingw32*)
1405 AC_DEFINE(USE_WIN32API, 1,
1406 [Define if we should use the Windows API, instead of the
1407 POSIX API. On Windows, we use the Windows API when
1408 building for MinGW, but the POSIX API when building
1409 for Cygwin.])
1410 WIN32LIBS="$WIN32LIBS -lws2_32"
1411 ;;
1412 esac
1413 AC_SUBST(WIN32LIBS)
1414
1415 # Add ELF support to GDB, but only if BFD includes ELF support.
1416 OLD_CFLAGS=$CFLAGS
1417 OLD_LDFLAGS=$LDFLAGS
1418 OLD_LIBS=$LIBS
1419 CFLAGS="$CFLAGS -I${srcdir}/../include -I../bfd -I${srcdir}/../bfd"
1420 LDFLAGS="$LDFLAGS -L../bfd -L../libiberty"
1421 intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
1422 LIBS="$LIBS -lbfd -liberty $intl"
1423 AC_CACHE_CHECK([for ELF support in BFD], gdb_cv_var_elf,
1424 [AC_TRY_LINK(
1425 [#include <stdlib.h>
1426 #include "bfd.h"
1427 #include "elf-bfd.h"
1428 ],
1429 [bfd *abfd = NULL; bfd_get_elf_phdr_upper_bound (abfd); ],
1430 gdb_cv_var_elf=yes, gdb_cv_var_elf=no)])
1431 if test $gdb_cv_var_elf = yes; then
1432 CONFIG_OBS="$CONFIG_OBS elfread.o"
1433 AC_DEFINE(HAVE_ELF, 1,
1434 [Define if ELF support should be included.])
1435 fi
1436 CFLAGS=$OLD_CFLAGS
1437 LDFLAGS=$OLD_LDFLAGS
1438 LIBS=$OLD_LIBS
1439
1440 # Add any host-specific objects to GDB.
1441 CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
1442
1443 LIBGUI="../libgui/src/libgui.a"
1444 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
1445 AC_SUBST(LIBGUI)
1446 AC_SUBST(GUI_CFLAGS_X)
1447
1448 WIN32LDAPP=
1449 AC_SUBST(WIN32LIBS)
1450 AC_SUBST(WIN32LDAPP)
1451
1452 case "${host}" in
1453 *-*-cygwin* | *-*-mingw* )
1454 configdir="win"
1455 ;;
1456 *)
1457 configdir="unix"
1458 ;;
1459 esac
1460
1461 GDBTKLIBS=
1462 if test "${enable_gdbtk}" = "yes"; then
1463
1464 # Gdbtk must have an absolute path to srcdir in order to run
1465 # properly when not installed.
1466 here=`pwd`
1467 cd ${srcdir}
1468 GDBTK_SRC_DIR=`pwd`
1469 cd $here
1470
1471 CY_AC_PATH_TCLCONFIG
1472 if test -z "${no_tcl}"; then
1473 CY_AC_LOAD_TCLCONFIG
1474 CY_AC_PATH_TKCONFIG
1475
1476 # now look for Tcl library stuff
1477
1478 tcldir="../tcl/${configdir}/"
1479
1480 TCL_DEPS="${tcldir}${TCL_LIB_FILE}"
1481
1482 # If $no_tk is nonempty, then we can't do Tk, and there is no
1483 # point to doing Tcl.
1484 if test -z "${no_tk}"; then
1485 CY_AC_LOAD_TKCONFIG
1486 CY_AC_PATH_TCLH
1487 CY_AC_PATH_TKH
1488 CY_AC_PATH_ITCLH
1489 CY_AC_PATH_ITKH
1490
1491
1492 # now look for Tk library stuff
1493
1494 tkdir="../tk/${configdir}/"
1495
1496 TK_DEPS="${tkdir}${TK_LIB_FILE}"
1497
1498 # now look for Itcl library stuff
1499
1500 CY_AC_PATH_ITCLCONFIG
1501 if test -z "${no_itcl}"; then
1502 CY_AC_LOAD_ITCLCONFIG
1503
1504 ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
1505 ITCL_DEPS="${ITCL_LIB_FULL_PATH}"
1506 fi
1507
1508
1509 # now look for Itk library stuff
1510 CY_AC_PATH_ITKCONFIG
1511 if test -z "${no_itcl}"; then
1512 CY_AC_LOAD_ITKCONFIG
1513
1514 ITKLIB="${ITK_BUILD_LIB_SPEC}"
1515 ITK_DEPS="${ITK_LIB_FULL_PATH}"
1516 fi
1517
1518 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
1519
1520 # Include some libraries that Tcl and Tk want.
1521 TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
1522 # Yes, the ordering seems wrong here. But it isn't.
1523 # TK_LIBS is the list of libraries that need to be linked
1524 # after Tcl/Tk. Note that this isn't put into LIBS. If it
1525 # were in LIBS then any link tests after this point would
1526 # try to include things like `$(LIBGUI)', which wouldn't work.
1527 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
1528
1529 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
1530 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
1531 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
1532 CONFIG_ALL="${CONFIG_ALL} all-gdbtk"
1533 CONFIG_CLEAN="${CONFIG_CLEAN} clean-gdbtk"
1534 CONFIG_INSTALL="${CONFIG_INSTALL} install-gdbtk"
1535 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-gdbtk"
1536
1537 if test x$gdb_cv_os_cygwin = xyes; then
1538 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1539 WIN32LDAPP="-Wl,--subsystem,console"
1540 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1541 fi
1542 fi
1543 fi
1544
1545 AC_CONFIG_SUBDIRS(gdbtk)
1546 fi
1547
1548 AC_SUBST(X_CFLAGS)
1549 AC_SUBST(X_LDFLAGS)
1550 AC_SUBST(X_LIBS)
1551 AC_SUBST(TCL_DEPS)
1552 AC_SUBST(TK_DEPS)
1553 AC_SUBST(ITCLLIB)
1554 AC_SUBST(ITCL_DEPS)
1555 AC_SUBST(ITKLIB)
1556 AC_SUBST(ITK_DEPS)
1557 AC_SUBST(GDBTKLIBS)
1558 AC_SUBST(GDBTK_CFLAGS)
1559 AC_SUBST(GDBTK_SRC_DIR)
1560
1561 AC_PATH_X
1562
1563 # Check whether we should enable the TUI, but only do so if we really
1564 # can.
1565 if test x"$enable_tui" = xyes; then
1566 if test -d $srcdir/tui; then
1567 if test "$ac_cv_search_waddstr" != no; then
1568 CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)"
1569 CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
1570 CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
1571 CONFIG_INITS="$CONFIG_INITS \$(SUBDIR_TUI_INITS)"
1572 ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_TUI_CFLAGS)"
1573 CONFIG_ALL="${CONFIG_ALL} all-tui"
1574 CONFIG_CLEAN="${CONFIG_CLEAN} clean-tui"
1575 CONFIG_INSTALL="${CONFIG_INSTALL} install-tui"
1576 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-tui"
1577 else
1578 AC_MSG_WARN([no enhanced curses library found; disabling TUI])
1579 fi
1580 fi
1581 fi
1582
1583 # Unlike the sim directory, whether a simulator is linked is controlled by
1584 # presence of a gdb_sim definition in the target configure.tgt entry.
1585 # This code just checks for a few cases where we'd like to ignore those
1586 # definitions, even when they're present in the '.mt' file. These cases
1587 # are when --disable-sim is specified, or if the simulator directory is
1588 # not part of the source tree.
1589 #
1590 AC_ARG_ENABLE(sim,
1591 [ --enable-sim Link gdb with simulator],
1592 [echo "enable_sim = $enable_sim";
1593 echo "enableval = ${enableval}";
1594 case "${enableval}" in
1595 yes) ignore_sim=false ;;
1596 no) ignore_sim=true ;;
1597 *) ignore_sim=false ;;
1598 esac],
1599 [ignore_sim=false])
1600
1601 if test ! -d "${srcdir}/../sim"; then
1602 ignore_sim=true
1603 fi
1604
1605 SIM=
1606 SIM_OBS=
1607 if test "${ignore_sim}" = "false"; then
1608 if test x"${gdb_sim}" != x ; then
1609 SIM="${gdb_sim}"
1610 SIM_OBS="remote-sim.o"
1611 AC_DEFINE(WITH_SIM, 1, [Define if the simulator is being linked in.])
1612 fi
1613 fi
1614 AC_SUBST(SIM)
1615 AC_SUBST(SIM_OBS)
1616
1617 AC_SUBST(ENABLE_CFLAGS)
1618 AC_SUBST(PROFILE_CFLAGS)
1619
1620 AC_SUBST(CONFIG_OBS)
1621 AC_SUBST(CONFIG_DEPS)
1622 AC_SUBST(CONFIG_SRCS)
1623 AC_SUBST(CONFIG_ALL)
1624 AC_SUBST(CONFIG_CLEAN)
1625 AC_SUBST(CONFIG_INSTALL)
1626 AC_SUBST(CONFIG_UNINSTALL)
1627
1628 # List of host floatformats.
1629 AC_DEFINE_UNQUOTED(GDB_HOST_FLOAT_FORMAT,$gdb_host_float_format,[Host float floatformat])
1630 AC_DEFINE_UNQUOTED(GDB_HOST_DOUBLE_FORMAT,$gdb_host_double_format,[Host double floatformat])
1631 AC_DEFINE_UNQUOTED(GDB_HOST_LONG_DOUBLE_FORMAT,$gdb_host_long_double_format,[Host long double floatformat])
1632
1633 # target_subdir is used by the testsuite to find the target libraries.
1634 target_subdir=
1635 if test "${host}" != "${target}"; then
1636 target_subdir="${target_alias}/"
1637 fi
1638 AC_SUBST(target_subdir)
1639
1640 frags=
1641 if test "${gdb_native}" = "yes"; then
1642 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
1643 if test ! -f ${host_makefile_frag}; then
1644 AC_MSG_ERROR("*** Gdb does not support native target ${host}")
1645 fi
1646 frags="$frags $host_makefile_frag"
1647 else
1648 host_makefile_frag=/dev/null
1649 fi
1650
1651 AC_SUBST_FILE(host_makefile_frag)
1652 AC_SUBST(frags)
1653
1654 changequote(,)dnl
1655 if test "${gdb_native}" = "yes"; then
1656 # We pick this up from the host configuration file (.mh) because we
1657 # do not have a native configuration Makefile fragment.
1658 nativefile=`sed -n '
1659 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1660 ' ${host_makefile_frag}`
1661 fi
1662 changequote([,])
1663
1664 if test x"${gdb_osabi}" != x ; then
1665 AC_DEFINE_UNQUOTED(GDB_OSABI_DEFAULT, $gdb_osabi,
1666 [Define to the default OS ABI for this configuration.])
1667 fi
1668
1669 # Enable multi-ice-gdb-server.
1670 AC_ARG_ENABLE(multi-ice,
1671 [ --enable-multi-ice build the multi-ice-gdb-server],
1672 [case $enableval in
1673 yes | no)
1674 ;;
1675 *) AC_MSG_ERROR([bad value $enableval for --enable-multi-ice]) ;;
1676 esac])
1677 if test "x$enable_multi_ice" = xyes; then
1678 AC_CONFIG_SUBDIRS(multi-ice)
1679 fi
1680
1681 # We only build gdbserver automatically in a native configuration.
1682 if test "$gdb_native" = "yes"; then
1683 AC_MSG_CHECKING(whether gdbserver is supported on this host)
1684 if test "x$build_gdbserver" = xyes; then
1685 AC_MSG_RESULT(yes)
1686 AC_CONFIG_SUBDIRS(gdbserver)
1687 else
1688 AC_MSG_RESULT(no)
1689 fi
1690 fi
1691
1692 # If nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
1693 # to an empty version.
1694
1695 files=
1696 links=
1697
1698 rm -f nm.h
1699 nm_h=""
1700 if test "${nativefile}" != ""; then
1701 nm_h=nm.h
1702 case "${nativefile}" in
1703 nm-*.h ) GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}" ;;
1704 * ) GDB_NM_FILE="${nativefile}"
1705 esac
1706 files="${files} ${GDB_NM_FILE}"
1707 links="${links} nm.h"
1708 AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}", [nativefile])
1709 fi
1710 AC_SUBST(nm_h)
1711
1712 AC_LINK_FILES($files, $links)
1713
1714 dnl Check for exe extension set on certain hosts (e.g. Win32)
1715 AC_EXEEXT
1716
1717 dnl Detect the character set used by this host.
1718
1719 dnl At the moment, we just assume it's ISO-8859-1 (which is a
1720 dnl superset of ASCII containing the characters needed for French,
1721 dnl German, Spanish, Italian, and possibly others), but if were
1722 dnl *were* to support any host character sets other than ISO-8859-1,
1723 dnl here's where we'd detect it.
1724 AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "ISO-8859-1",
1725 [Define to be a string naming the default host character set.])
1726
1727 AM_ICONV
1728
1729 AC_OUTPUT(Makefile .gdbinit:gdbinit.in gnulib/Makefile,
1730 [
1731 dnl Autoconf doesn't provide a mechanism for modifying definitions
1732 dnl provided by makefile fragments.
1733 dnl
1734
1735 changequote(,)dnl
1736 sed -e '/^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
1737 mv -f Makefile.tmp Makefile
1738 changequote([,])dnl
1739
1740
1741 case x$CONFIG_HEADERS in
1742 xconfig.h:config.in)
1743 echo > stamp-h ;;
1744 esac
1745 ],
1746 [
1747 gdb_host_cpu=$gdb_host_cpu
1748 nativefile=$nativefile
1749 ])
1750
1751 exit 0
This page took 0.064985 seconds and 4 git commands to generate.