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