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