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