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