OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gdb-7.2/] [gdb/] [configure.ac] - Blame information for rev 861

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 330 jeremybenn
dnl Autoconf configure script for GDB, the GNU debugger.
2
dnl Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
3
dnl 2005, 2006, 2007, 2008, 2009, 2010
4
dnl Free Software Foundation, Inc.
5
dnl
6
dnl This file is part of GDB.
7
dnl
8
dnl This program is free software; you can redistribute it and/or modify
9
dnl it under the terms of the GNU General Public License as published by
10
dnl the Free Software Foundation; either version 3 of the License, or
11
dnl (at your option) any later version.
12
dnl
13
dnl This program is distributed in the hope that it will be useful,
14
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
15
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
dnl GNU General Public License for more details.
17
dnl
18
dnl You should have received a copy of the GNU General Public License
19
dnl along with this program.  If not, see .
20
 
21
dnl Process this file with autoconf to produce a configure script.
22
 
23
AC_PREREQ(2.59)dnl
24
AC_INIT(main.c)
25
AC_CONFIG_HEADER(config.h:config.in)
26
AM_MAINTAINER_MODE
27
 
28
AC_PROG_CC
29
AC_USE_SYSTEM_EXTENSIONS
30
gl_EARLY
31
ACX_LARGEFILE
32
AM_PROG_CC_STDC
33
 
34
AC_CONFIG_AUX_DIR(..)
35
AC_CANONICAL_SYSTEM
36
 
37
# Dependency checking.
38
ZW_CREATE_DEPDIR
39
ZW_PROG_COMPILER_DEPENDENCIES([CC])
40
 
41
# Check for the 'make' the user wants to use.
42
AC_CHECK_PROGS(MAKE, make)
43
MAKE_IS_GNU=
44
case "`$MAKE --version 2>&1 | sed 1q`" in
45
  *GNU*)
46
    MAKE_IS_GNU=yes
47
    ;;
48
esac
49
AM_CONDITIONAL(GMAKE, test "$MAKE_IS_GNU" = yes)
50
AC_PROG_MAKE_SET
51
 
52
dnl List of object files and targets accumulated by configure.
53
 
54
CONFIG_OBS=
55
CONFIG_DEPS=
56
CONFIG_SRCS=
57
ENABLE_CFLAGS=
58
 
59
CONFIG_ALL=
60
CONFIG_CLEAN=
61
CONFIG_INSTALL=
62
CONFIG_UNINSTALL=
63
 
64
dnl Set up for gettext.
65
ZW_GNU_GETTEXT_SISTER_DIR
66
 
67
localedir='${datadir}/locale'
68
AC_SUBST(localedir)
69
 
70
if test x"$USE_NLS" = xyes; then
71
   CONFIG_ALL="$CONFIG_ALL all-po"
72
   CONFIG_CLEAN="$CONFIG_CLEAN clean-po"
73
   CONFIG_INSTALL="$CONFIG_INSTALL install-po"
74
   CONFIG_UNINSTALL="$CONFIG_UNINSTALL uninstall-po"
75
fi
76
 
77
gl_INIT
78
 
79
# For Makefile dependencies.
80
GNULIB_STDINT_H=
81
if test x"$STDINT_H" != x; then
82
  GNULIB_STDINT_H=gnulib/$STDINT_H
83
fi
84
AC_SUBST(GNULIB_STDINT_H)
85
 
86
PACKAGE=gdb
87
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package. ])
88
AC_SUBST(PACKAGE)
89
 
90
# GDB does not use automake, but gnulib does.  This line lets us
91
# generate its Makefile.in.
92
AM_INIT_AUTOMAKE(gdb, UNUSED-VERSION, [no-define])
93
 
94
GDB_AC_WITH_DIR(DEBUGDIR, separate-debug-dir,
95
    [look for global separate debug info in this path @<:@LIBDIR/debug@:>@],
96
    [${libdir}/debug])
97
 
98
# GDB's datadir relocation
99
 
100
GDB_AC_WITH_DIR(GDB_DATADIR, gdb-datadir,
101
    [look for global separate data files in this path @<:@DATADIR/gdb@:>@],
102
    [${datadir}/gdb])
103
 
104
AC_ARG_WITH(relocated-sources,
105
AS_HELP_STRING([--with-relocated-sources=PATH], [automatically relocate this path for source files]),
106
[reloc_srcdir="${withval}"
107
 AC_DEFINE_DIR(RELOC_SRCDIR, reloc_srcdir,
108
              [Relocated directory for source files. ])
109
])
110
 
111
AC_CONFIG_SUBDIRS(doc testsuite)
112
 
113
# Check whether to support alternative target configurations
114
AC_ARG_ENABLE(targets,
115
AS_HELP_STRING([--enable-targets=TARGETS], [alternative target configurations]),
116
[case "${enableval}" in
117
  yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
118
            ;;
119
  no)       enable_targets= ;;
120
  *)        enable_targets=$enableval ;;
121
esac])
122
 
123
# Check whether to enable 64-bit support on 32-bit hosts
124
AC_ARG_ENABLE(64-bit-bfd,
125
AS_HELP_STRING([--enable-64-bit-bfd], [64-bit support (on hosts with narrower word sizes)]),
126
[case "${enableval}" in
127
  yes)  want64=true  ;;
128
  no)   want64=false ;;
129
  *)    AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option) ;;
130
esac],[want64=false])dnl
131
 
132
# Provide defaults for some variables set by the per-host and per-target
133
# configuration.
134
gdb_host_obs=posix-hdep.o
135
 
136
if test "${target}" = "${host}"; then
137
  gdb_native=yes
138
else
139
  gdb_native=no
140
fi
141
 
142
. $srcdir/configure.host
143
 
144
# Accumulate some settings from configure.tgt over all enabled targets
145
 
146
TARGET_OBS=
147
all_targets=
148
 
149
for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'`
150
do
151
  if test "$targ_alias" = "all"; then
152
    all_targets=true
153
  else
154
    # Canonicalize the secondary target names.
155
    result=`$ac_config_sub $targ_alias 2>/dev/null`
156
    if test -n "$result"; then
157
        targ=$result
158
    else
159
        targ=$targ_alias
160
    fi
161
 
162
    . ${srcdir}/configure.tgt
163
 
164
    AS_IF([test -z "${gdb_target_obs}"],
165
      [AC_MSG_ERROR([configuration ${targ} is unsupported.])])
166
 
167
    # Target-specific object files
168
    for i in ${gdb_target_obs}; do
169
        case " $TARGET_OBS " in
170
        *" ${i} "*) ;;
171
        *)
172
          TARGET_OBS="$TARGET_OBS ${i}"
173
          ;;
174
        esac
175
    done
176
 
177
    # Check whether this target needs 64-bit CORE_ADDR
178
    if test x${want64} = xfalse; then
179
      . ${srcdir}/../bfd/config.bfd
180
    fi
181
  fi
182
done
183
 
184
if test x${all_targets} = xtrue; then
185
 
186
  # We want all 64-bit targets if we either:
187
  #  - run on a 64-bit host  or
188
  #  - already require 64-bit support for some other target  or
189
  #  - the --enable-64-bit-bfd option was supplied
190
  # Otherwise we only support all 32-bit targets.
191
  #
192
  # NOTE: This test must be in sync with the corresponding
193
  #       tests in BFD!
194
 
195
  if test x${want64} = xfalse; then
196
    AC_CHECK_SIZEOF(long)
197
    if test "x${ac_cv_sizeof_long}" = "x8"; then
198
      want64=true
199
    fi
200
  fi
201
  if test x${want64} = xtrue; then
202
    TARGET_OBS='$(ALL_TARGET_OBS) $(ALL_64_TARGET_OBS)'
203
  else
204
    TARGET_OBS='$(ALL_TARGET_OBS)'
205
  fi
206
fi
207
 
208
AC_SUBST(TARGET_OBS)
209
 
210
# For other settings, only the main target counts.
211
gdb_sim=
212
gdb_osabi=
213
build_gdbserver=
214
targ=$target; . ${srcdir}/configure.tgt
215
 
216
# Fetch the default architecture and default target vector from BFD.
217
targ=$target; . $srcdir/../bfd/config.bfd
218
 
219
# We only want the first architecture, so strip off the others if
220
# there is more than one.
221
targ_archs=`echo $targ_archs | sed 's/ .*//'`
222
 
223
if test "x$targ_archs" != x; then
224
  AC_DEFINE_UNQUOTED(DEFAULT_BFD_ARCH, $targ_archs,
225
    [Define to BFD's default architecture. ])
226
fi
227
if test "x$targ_defvec" != x; then
228
  AC_DEFINE_UNQUOTED(DEFAULT_BFD_VEC, $targ_defvec,
229
    [Define to BFD's default target vector. ])
230
fi
231
 
232
# The CLI cannot be disabled yet, but may be in the future.
233
 
234
# Enable CLI.
235
AC_ARG_ENABLE(gdbcli,
236
AS_HELP_STRING([--disable-gdbcli], [disable command-line interface (CLI)]),
237
  [case $enableval in
238
    yes)
239
      ;;
240
    no)
241
      AC_MSG_ERROR([the command-line interface cannot be disabled yet]) ;;
242
    *)
243
      AC_MSG_ERROR([bad value $enableval for --enable-gdbcli]) ;;
244
  esac],
245
  [enable_gdbcli=yes])
246
if test x"$enable_gdbcli" = xyes; then
247
  if test -d $srcdir/cli; then
248
    CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_CLI_OBS)"
249
    CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_CLI_DEPS)"
250
    CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_CLI_SRCS)"
251
    ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_CLI_CFLAGS)"
252
  fi
253
fi
254
 
255
# Enable MI.
256
AC_ARG_ENABLE(gdbmi,
257
AS_HELP_STRING([--disable-gdbmi], [disable machine-interface (MI)]),
258
  [case $enableval in
259
    yes | no)
260
      ;;
261
    *)
262
      AC_MSG_ERROR([bad value $enableval for --enable-gdbmi]) ;;
263
  esac],
264
  [enable_gdbmi=yes])
265
if test x"$enable_gdbmi" = xyes; then
266
  if test -d $srcdir/mi; then
267
    CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_MI_OBS)"
268
    CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_MI_DEPS)"
269
    CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_MI_SRCS)"
270
    ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_MI_CFLAGS)"
271
  fi
272
fi
273
 
274
# Enable TUI.
275
AC_ARG_ENABLE(tui,
276
AS_HELP_STRING([--enable-tui], [enable full-screen terminal user interface (TUI)]),
277
  [case $enableval in
278
    yes | no | auto)
279
      ;;
280
    *)
281
      AC_MSG_ERROR([bad value $enableval for --enable-tui]) ;;
282
  esac],enable_tui=auto)
283
 
284
# Enable gdbtk.
285
AC_ARG_ENABLE(gdbtk,
286
AS_HELP_STRING([--enable-gdbtk], [enable gdbtk graphical user interface (GUI)]),
287
  [case $enableval in
288
    yes | no)
289
      ;;
290
    *)
291
      AC_MSG_ERROR([bad value $enableval for --enable-gdbtk]) ;;
292
  esac],
293
  [if test -d $srcdir/gdbtk; then
294
    enable_gdbtk=yes
295
  else
296
    enable_gdbtk=no
297
  fi])
298
# We unconditionally disable gdbtk tests on selected platforms.
299
case $host_os in
300
  go32* | windows*)
301
    AC_MSG_WARN([gdbtk isn't supported on $host; disabling])
302
    enable_gdbtk=no ;;
303
esac
304
 
305
# Libunwind support.
306
AC_ARG_WITH(libunwind,
307
AS_HELP_STRING([--with-libunwind], [use libunwind frame unwinding support]),
308
[case "${withval}" in
309
  yes)  enable_libunwind=yes ;;
310
  no)   enable_libunwind=no ;;
311
  *)    AC_MSG_ERROR(bad value ${withval} for GDB with-libunwind option) ;;
312
esac],[
313
  AC_CHECK_HEADERS(libunwind.h libunwind-ia64.h)
314
  if test x"$ac_cv_header_libunwind_h" = xyes -a x"$ac_cv_header_libunwind_ia64_h" = xyes; then
315
    enable_libunwind=yes;
316
  fi
317
])
318
 
319
if test x"$enable_libunwind" = xyes; then
320
  AC_CHECK_HEADERS(libunwind.h libunwind-ia64.h)
321
  AC_DEFINE(HAVE_LIBUNWIND, 1, [Define if libunwind library is being used.])
322
  CONFIG_OBS="$CONFIG_OBS libunwind-frame.o"
323
  CONFIG_DEPS="$CONFIG_DEPS libunwind-frame.o"
324
  CONFIG_SRCS="$CONFIG_SRCS libunwind-frame.c"
325
fi
326
 
327
opt_curses=no
328
AC_ARG_WITH(curses, AS_HELP_STRING([--with-curses], [use the curses library instead of the termcap library]), opt_curses=$withval)
329
 
330
prefer_curses=no
331
if test "$opt_curses" = "yes"; then
332
  prefer_curses=yes
333
fi
334
 
335
# Profiling support.
336
AC_ARG_ENABLE(profiling,
337
AS_HELP_STRING([--enable-profiling], [enable profiling of GDB]),
338
  [case $enableval in
339
    yes | no)
340
      ;;
341
    *)
342
      AC_MSG_ERROR([bad value $enableval for --enable-profile]) ;;
343
  esac],
344
 [enable_profiling=no])
345
 
346
AC_CHECK_FUNCS(monstartup _mcleanup)
347
AC_CACHE_CHECK([for _etext], ac_cv_var__etext,
348
[AC_TRY_LINK(
349
[#include 
350
extern char _etext;
351
],
352
[free (&_etext);], ac_cv_var__etext=yes, ac_cv_var__etext=no)])
353
if test $ac_cv_var__etext = yes; then
354
  AC_DEFINE(HAVE__ETEXT, 1,
355
            [Define to 1 if your system has the _etext variable. ])
356
fi
357
AC_CACHE_CHECK([for etext], ac_cv_var_etext,
358
[AC_TRY_LINK(
359
[#include 
360
extern char etext;
361
],
362
[free (&etext);], ac_cv_var_etext=yes, ac_cv_var_etext=no)])
363
if test $ac_cv_var_etext = yes; then
364
  AC_DEFINE(HAVE_ETEXT, 1,
365
            [Define to 1 if your system has the etext variable. ])
366
fi
367
if test "$enable_profiling" = yes ; then
368
  if test $ac_cv_func_monstartup = no || test $ac_cv_func__mcleanup = no; then
369
    AC_MSG_ERROR(--enable-profiling requires monstartup and _mcleanup)
370
  fi
371
  PROFILE_CFLAGS=-pg
372
  OLD_CFLAGS="$CFLAGS"
373
  CFLAGS="$CFLAGS $PROFILE_CFLAGS"
374
 
375
  AC_CACHE_CHECK([whether $CC supports -pg], ac_cv_cc_supports_pg,
376
    [AC_TRY_COMPILE([], [int x;], ac_cv_cc_supports_pg=yes,
377
     ac_cv_cc_supports_pg=no)])
378
 
379
  if test $ac_cv_cc_supports_pg = no; then
380
    AC_MSG_ERROR(--enable-profiling requires a compiler which supports -pg)
381
  fi
382
 
383
  CFLAGS="$OLD_CFLAGS"
384
fi
385
 
386
ACX_PKGVERSION([GDB])
387
ACX_BUGURL([http://www.gnu.org/software/gdb/bugs/])
388
AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description])
389
AC_DEFINE_UNQUOTED([REPORT_BUGS_TO], ["$REPORT_BUGS_TO"], [Bug reporting address])
390
 
391
# --------------------- #
392
# Checks for programs.  #
393
# --------------------- #
394
 
395
AC_PROG_AWK
396
AC_PROG_INSTALL
397
AC_PROG_LN_S
398
AC_PROG_RANLIB
399
AC_PROG_YACC
400
 
401
AC_CHECK_TOOL(AR, ar)
402
AC_CHECK_TOOL(DLLTOOL, dlltool)
403
AC_CHECK_TOOL(WINDRES, windres)
404
 
405
# Needed for GNU/Hurd.
406
AC_CHECK_TOOL(MIG, mig)
407
 
408
# ---------------------- #
409
# Checks for libraries.  #
410
# ---------------------- #
411
 
412
# We might need to link with -lm; most simulators need it.
413
AC_CHECK_LIB(m, main)
414
 
415
# We need to link with -lw to get `wctype' on Solaris before Solaris
416
# 2.6.  Solaris 2.6 and beyond have this function in libc, and have a
417
# libw that some versions of the GNU linker cannot hanle (GNU ld 2.9.1
418
# is known to have this problem).  Therefore we avoid libw if we can.
419
AC_CHECK_FUNC(wctype, [],
420
  [AC_CHECK_LIB(w, wctype)])
421
 
422
# Some systems (e.g. Solaris) have `gethostbyname' in libnsl.
423
AC_SEARCH_LIBS(gethostbyname, nsl)
424
 
425
# Some systems (e.g. Solaris) have `socketpair' in libsocket.
426
AC_SEARCH_LIBS(socketpair, socket)
427
 
428
# Link in zlib if we can.  This allows us to read compressed debug sections.
429
AM_ZLIB
430
 
431
# On HP/UX we may need libxpdl for dlgetmodinfo (used by solib-pa64.c).
432
AC_SEARCH_LIBS(dlgetmodinfo, [dl xpdl])
433
 
434
AM_ICONV
435
 
436
# On alpha-osf, it appears that libtermcap and libcurses are not compatible.
437
# There is a very specific comment in /usr/include/curses.h explaining that
438
# termcap routines built into libcurses must not be used.
439
#
440
# The symptoms we observed so far is GDB unexpectedly changing
441
# the terminal settings when tgetent is called - this is particularly
442
# visible as the output is missing carriage returns, and so rapidly
443
# becomes very hard to read.
444
#
445
# The readline configure script has already decided that libtermcap
446
# was enough for its purposes, and so decided to build readline using
447
# libtermcap.  Since the TUI mode requires curses, building GDB with
448
# TUI enabled results in both libraries to be used at the same time,
449
# which is not allowed.  This basically means that GDB with TUI is
450
# broken on alpha-osf.
451
 
452
case $host_os in
453
  osf* )
454
    if test x"$enable_tui" = xyes; then
455
      AC_MSG_ERROR([Building GDB with TUI mode is not supported on this host])
456
    fi
457
    if test x"$enable_tui" = xauto; then
458
      enable_tui=no
459
    fi
460
    ;;
461
esac
462
 
463
# For the TUI, we need enhanced curses functionality.
464
if test x"$enable_tui" != xno; then
465
  prefer_curses=yes
466
fi
467
 
468
curses_found=no
469
if test x"$prefer_curses" = xyes; then
470
  # FIXME: kettenis/20040905: We prefer ncurses over the vendor-supplied
471
  # curses library because the latter might not provide all the
472
  # functionality we need.  However, this leads to problems on systems
473
  # where the linker searches /usr/local/lib, but the compiler doesn't
474
  # search /usr/local/include, if ncurses is installed in /usr/local.  A
475
  # default installation of ncurses on alpha*-dec-osf* will lead to such
476
  # a situation.
477
  AC_SEARCH_LIBS(waddstr, [ncurses cursesX curses])
478
 
479
  if test "$ac_cv_search_waddstr" != no; then
480
    curses_found=yes
481
  fi
482
fi
483
 
484
# Check whether we should enable the TUI, but only do so if we really
485
# can.
486
if test x"$enable_tui" != xno; then
487
  if test -d $srcdir/tui; then
488
    if test "$curses_found" != no; then
489
      CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)"
490
      CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
491
      CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
492
      ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_TUI_CFLAGS)"
493
      CONFIG_ALL="${CONFIG_ALL} all-tui"
494
      CONFIG_CLEAN="${CONFIG_CLEAN} clean-tui"
495
      CONFIG_INSTALL="${CONFIG_INSTALL} install-tui"
496
      CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-tui"
497
    else
498
      if test x"$enable_tui" = xyes; then
499
        AC_MSG_ERROR([no enhanced curses library found; disable TUI])
500
      else
501
        AC_MSG_WARN([no enhanced curses library found; disabling TUI])
502
      fi
503
    fi
504
  fi
505
fi
506
 
507
# Since GDB uses Readline, we need termcap functionality.  In many
508
# cases this will be provided by the curses library, but some systems
509
# have a seperate termcap library, or no curses library at all.
510
 
511
case $host_os in
512
  cygwin*)
513
    if test -d $srcdir/libtermcap; then
514
      LIBS="../libtermcap/libtermcap.a $LIBS"
515
      ac_cv_search_tgetent="../libtermcap/libtermcap.a"
516
    fi ;;
517
  go32* | *djgpp*)
518
    ac_cv_search_tgetent="none required"
519
    ;;
520
  *mingw32*)
521
    ac_cv_search_tgetent="none required"
522
    CONFIG_OBS="$CONFIG_OBS windows-termcap.o"
523
    ;;
524
esac
525
 
526
# These are the libraries checked by Readline.
527
AC_SEARCH_LIBS(tgetent, [termcap tinfo curses ncurses])
528
 
529
if test "$ac_cv_search_tgetent" = no; then
530
  AC_MSG_ERROR([no termcap library found])
531
fi
532
 
533
AC_ARG_WITH([system-readline],
534
  [AS_HELP_STRING([--with-system-readline],
535
                  [use installed readline library])])
536
 
537
if test "$with_system_readline" = yes; then
538
  READLINE=-lreadline
539
  READLINE_DEPS=
540
  READLINE_CFLAGS=
541
 
542
  # readline-6.0 started to use the name `_rl_echoing_p'.
543
  # `$(READLINE_DIR)/' of bundled readline would not resolve in configure.
544
 
545
  AC_MSG_CHECKING([for readline_echoing_p])
546
  save_LIBS=$LIBS
547
  LIBS="$LIBS $READLINE"
548
  AC_LINK_IFELSE(AC_LANG_PROGRAM(,[[extern int readline_echoing_p;
549
                                    return readline_echoing_p;]]),
550
                 [READLINE_ECHOING_P=yes],
551
                 [READLINE_ECHOING_P=no
552
                  AC_DEFINE([readline_echoing_p], [_rl_echoing_p],
553
                            [readline-6.0 started to use different name.])])
554
  LIBS="$save_LIBS"
555
  AC_MSG_RESULT([$READLINE_ECHOING_P])
556
else
557
  READLINE='$(READLINE_DIR)/libreadline.a'
558
  READLINE_DEPS='$(READLINE)'
559
  READLINE_CFLAGS='-I$(READLINE_SRC)/..'
560
fi
561
AC_SUBST(READLINE)
562
AC_SUBST(READLINE_DEPS)
563
AC_SUBST(READLINE_CFLAGS)
564
 
565
AC_ARG_WITH(expat,
566
  AS_HELP_STRING([--with-expat], [include expat support (auto/yes/no)]),
567
  [], [with_expat=auto])
568
AC_MSG_CHECKING([whether to use expat])
569
AC_MSG_RESULT([$with_expat])
570
 
571
if test "${with_expat}" = no; then
572
  AC_MSG_WARN([expat support disabled; some features may be unavailable.])
573
  HAVE_LIBEXPAT=no
574
else
575
  AC_LIB_HAVE_LINKFLAGS([expat], [], [#include "expat.h"],
576
                        [XML_Parser p = XML_ParserCreate (0);])
577
  if test "$HAVE_LIBEXPAT" != yes; then
578
    if test "$with_expat" = yes; then
579
      AC_MSG_ERROR([expat is missing or unusable])
580
    else
581
      AC_MSG_WARN([expat is missing or unusable; some features may be unavailable.])
582
    fi
583
  else
584
    save_LIBS=$LIBS
585
    LIBS="$LIBS $LIBEXPAT"
586
    AC_CHECK_FUNCS(XML_StopParser)
587
    LIBS=$save_LIBS
588
  fi
589
fi
590
 
591
dnl Utility to simplify finding libpython.
592
dnl $1 = pythonX.Y
593
dnl $2 = the shell variable to assign the result to
594
dnl      If libpython is found we store $version here.
595
dnl $3 = additional flags to add to CPPFLAGS
596
dnl $4 = additional flags to add to LIBS
597
 
598
AC_DEFUN([AC_TRY_LIBPYTHON],
599
[
600
  version=$1
601
  define([have_libpython_var],$2)
602
  new_CPPFLAGS=$3
603
  new_LIBS=$4
604
  AC_MSG_CHECKING([for ${version}])
605
  save_CPPFLAGS=$CPPFLAGS
606
  save_LIBS=$LIBS
607
  CPPFLAGS="$CPPFLAGS $new_CPPFLAGS"
608
  LIBS="$LIBS $new_LIBS"
609
  found_usable_python=no
610
  AC_LINK_IFELSE(AC_LANG_PROGRAM([[#include "${version}/Python.h"]],
611
                                 [[Py_Initialize ();]]),
612
                 [have_libpython_var=${version}
613
                  found_usable_python=yes],
614
                 [CPPFLAGS=$save_CPPFLAGS
615
                  LIBS=$save_LIBS])
616
  AC_MSG_RESULT([${found_usable_python}])
617
])
618
 
619
dnl There are several different values for --with-python:
620
dnl
621
dnl no -   Don't include python support.
622
dnl yes -  Include python support, error if it's missing.
623
dnl        If we find python in $PATH, use it to fetch configure options,
624
dnl        otherwise assume the compiler can find it with no help from us.
625
dnl        Python 2.7, 2.6, 2.5, and then 2.4 are tried in turn.
626
dnl auto - Same as "yes", but if python is missing from the system,
627
dnl        fall back to "no".
628
dnl /path/to/python/exec-prefix -
629
dnl        Use the python located in this directory.
630
dnl        If /path/to/python/exec-prefix/bin/python exists, use it to find
631
dnl        the compilation parameters.  Otherwise use
632
dnl        -I/path/to/python/exec-prefix/include,
633
dnl        -L/path/to/python/exec-prefix/lib.
634
dnl        Python 2.7, 2.6, 2.5, and then 2.4 are tried in turn.
635
dnl        NOTE: This case is historical.  It is what was done for 7.0/7.1
636
dnl        but is deprecated.
637
dnl /path/to/python/executable -
638
dnl        Run python-config.py with this version of python to fetch the
639
dnl        compilation parameters.
640
dnl        NOTE: This needn't be the real python executable.
641
dnl        In a cross-compilation scenario (build != host), this could be
642
dnl        a shell script that provides what python-config.py provides for
643
dnl        --ldflags, --includes, --exec-prefix.
644
dnl python-executable -
645
dnl        Find python-executable in $PATH, and then handle the same as
646
dnl        /path/to/python/executable.
647
dnl
648
dnl If a python program is specified, it is used to run python-config.py and
649
dnl is passed --ldflags, --includes, --exec-prefix.
650
 
651
AC_ARG_WITH(python,
652
  AS_HELP_STRING([--with-python@<:@=PYTHON@:>@], [include python support (auto/yes/no/)]),
653
  [], [with_python=auto])
654
AC_MSG_CHECKING([whether to use python])
655
AC_MSG_RESULT([$with_python])
656
 
657
if test "${with_python}" = no; then
658
  AC_MSG_WARN([python support disabled; some features may be unavailable.])
659
  have_libpython=no
660
else
661
  case "${with_python}" in
662
  /*)
663
    if test -d ${with_python}; then
664
      # Assume the python binary is ${with_python}/bin/python.
665
      python_prog="${with_python}/bin/python"
666
      python_prefix=
667
      if test ! -x "${python_prog}"; then
668
        # Fall back to gdb 7.0/7.1 behaviour.
669
        python_prog=missing
670
        python_prefix=${with_python}
671
      fi
672
    elif test -x "${with_python}"; then
673
      # While we can't run python compiled for $host (unless host == build),
674
      # the user could write a script that provides the needed information,
675
      # so we support that.
676
      python_prog=${with_python}
677
      python_prefix=
678
    else
679
      AC_ERROR(invalid value for --with-python)
680
    fi
681
    ;;
682
  */*)
683
    # Disallow --with-python=foo/bar.
684
    AC_ERROR(invalid value for --with-python)
685
    ;;
686
  *)
687
    # The user has either specified auto, yes, or the name of the python
688
    # program assumed to be in $PATH.
689
    python_prefix=
690
    case "${with_python}" in
691
    yes | auto)
692
      if test ${build} = ${host}; then
693
        AC_PATH_PROG(python_prog_path, python, missing)
694
        if test "${python_prog_path}" = missing; then
695
          python_prog=missing
696
        else
697
          python_prog=${python_prog_path}
698
        fi
699
      else
700
        # Not much we can do except assume the cross-compiler will find the
701
        # right files.
702
        python_prog=missing
703
      fi
704
      ;;
705
    *)
706
      # While we can't run python compiled for $host (unless host == build),
707
      # the user could write a script that provides the needed information,
708
      # so we support that.
709
      python_prog="${with_python}"
710
      AC_PATH_PROG(python_prog_path, ${python_prog}, missing)
711
      if test "${python_prog_path}" = missing; then
712
        AC_ERROR(unable to find python program ${python_prog})
713
      fi
714
      ;;
715
    esac
716
  esac
717
 
718
  if test "${python_prog}" != missing; then
719
    # We have a python program to use, but it may be too old.
720
    # Don't flag an error for --with-python=auto (the default).
721
    have_python_config=yes
722
    python_includes=`${python_prog} ${srcdir}/python/python-config.py --includes`
723
    if test $? != 0; then
724
      have_python_config=failed
725
      if test "${with_python}" != auto; then
726
        AC_ERROR(failure running python-config --includes)
727
      fi
728
    fi
729
    python_libs=`${python_prog} ${srcdir}/python/python-config.py --ldflags`
730
    if test $? != 0; then
731
      have_python_config=failed
732
      if test "${with_python}" != auto; then
733
        AC_ERROR(failure running python-config --ldflags)
734
      fi
735
    fi
736
    python_prefix=`${python_prog} ${srcdir}/python/python-config.py --exec-prefix`
737
    if test $? != 0; then
738
      have_python_config=failed
739
      if test "${with_python}" != auto; then
740
        AC_ERROR(failure running python-config --exec-prefix)
741
      fi
742
    fi
743
  else
744
    # Fall back to gdb 7.0/7.1 behaviour.
745
    if test -z ${python_prefix}; then
746
      python_includes=
747
      python_libs=
748
    else
749
      python_includes="-I${python_prefix}/include"
750
      python_libs="-L${python_prefix}/lib"
751
    fi
752
    have_python_config=no
753
  fi
754
 
755
  # Having "/pythonX.Y" in the include path is awkward.
756
  # All those python headers get bubbled up to the top inviting lots
757
  # of random collisions.  GDB originally didn't use python-config to
758
  # find the compilation parameters and includes "pythonX.Y/" in the
759
  # path of the, umm, include file.  So strip away this part of the
760
  # output of python-config --includes.
761
  python_includes=`echo "${python_includes} " \
762
                        | sed -e 's,/python[[0-9]]*[[.]][[0-9]]* , ,g'`
763
 
764
  # If we have python-config, only try the configuration it provides.
765
  # Otherwise fallback on the old way of trying different versions of
766
  # python in turn.
767
 
768
  have_libpython=no
769
  if test "${have_python_config}" = yes; then
770
    python_version=`echo " ${python_libs} " \
771
                         | sed -e 's,^.* -l\(python[[0-9]]*[[.]][[0-9]]*\) .*$,\1,'`
772
    case "${python_version}" in
773
    python*)
774
      AC_TRY_LIBPYTHON(${python_version}, have_libpython,
775
                       ${python_includes}, ${python_libs})
776
      ;;
777
    *)
778
      AC_MSG_ERROR([unable to determine python version from ${python_libs}])
779
      ;;
780
    esac
781
  elif test "${have_python_config}" != failed; then
782
    if test "${have_libpython}" = no; then
783
      AC_TRY_LIBPYTHON(python2.7, have_libpython,
784
                       ${python_includes}, "${python_libs} -lpython2.7")
785
    fi
786
    if test "${have_libpython}" = no; then
787
      AC_TRY_LIBPYTHON(python2.6, have_libpython,
788
                       ${python_includes}, "${python_libs} -lpython2.6")
789
    fi
790
    if test ${have_libpython} = no; then
791
      AC_TRY_LIBPYTHON(python2.5, have_libpython,
792
                       ${python_includes}, "${python_libs} -lpython2.5")
793
    fi
794
    if test ${have_libpython} = no; then
795
      AC_TRY_LIBPYTHON(python2.4, have_libpython,
796
                       ${python_includes}, "${python_libs} -lpython2.4")
797
    fi
798
  fi
799
  if test "${have_libpython}" = python2.7; then
800
    AC_DEFINE(HAVE_LIBPYTHON2_7, 1, [Define if Python 2.7 is being used.])
801
  elif test "${have_libpython}" = python2.6; then
802
    AC_DEFINE(HAVE_LIBPYTHON2_6, 1, [Define if Python 2.6 is being used.])
803
  elif test "${have_libpython}" = python2.5; then
804
    AC_DEFINE(HAVE_LIBPYTHON2_5, 1, [Define if Python 2.5 is being used.])
805
  elif test "${have_libpython}" = python2.4; then
806
    AC_DEFINE(HAVE_LIBPYTHON2_4, 1, [Define if Python 2.4 is being used.])
807
  fi
808
 
809
  if test "${have_libpython}" = no; then
810
    case "${with_python}" in
811
    yes)
812
      AC_MSG_ERROR([python is missing or unusable])
813
      ;;
814
    auto)
815
      AC_MSG_WARN([python is missing or unusable; some features may be unavailable.])
816
      ;;
817
    *)
818
      AC_MSG_ERROR([no usable python found at ${with_python}])
819
      ;;
820
    esac
821
  else
822
    if test -n "${python_prefix}"; then
823
      AC_DEFINE_UNQUOTED(WITH_PYTHON_PATH, "${python_prefix}",
824
                         [Define if --with-python provides a path, either directly or via python-config.py --exec-prefix.])
825
      GDB_AC_DEFINE_RELOCATABLE(PYTHON_PATH, python, ${python_prefix})
826
    fi
827
  fi
828
fi
829
 
830
if test "${have_libpython}" != no; then
831
  AC_DEFINE(HAVE_PYTHON, 1, [Define if Python interpreter is being linked in.])
832
  CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_PYTHON_OBS)"
833
  CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_PYTHON_DEPS)"
834
  CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_PYTHON_SRCS)"
835
  CONFIG_INSTALL="$CONFIG_INSTALL install-python"
836
  ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_PYTHON_CFLAGS)"
837
 
838
  # Flags needed to compile Python code (taken from python-config --cflags).
839
  # We cannot call python-config directly because it will output whatever was
840
  # used when compiling the Python interpreter itself, including flags which
841
  # would make the python-related objects be compiled differently from the
842
  # rest of GDB (e.g., -O2 and -fPIC).
843
  if test "${GCC}" = yes; then
844
    tentative_python_cflags="-fno-strict-aliasing -DNDEBUG -fwrapv"
845
  fi
846
 
847
  if test "x${tentative_python_cflags}" != x; then
848
    AC_MSG_CHECKING(compiler flags for python code)
849
    for flag in ${tentative_python_cflags}; do
850
      # Check that the compiler accepts it
851
      saved_CFLAGS="$CFLAGS"
852
      CFLAGS="$CFLAGS $flag"
853
      AC_TRY_COMPILE([],[],PYTHON_CFLAGS="${PYTHON_CFLAGS} $flag",)
854
      CFLAGS="$saved_CFLAGS"
855
    done
856
    AC_MSG_RESULT(${PYTHON_CFLAGS})
857
  fi
858
else
859
  # Even if Python support is not compiled in, we need to have these files
860
  # included.
861
  CONFIG_OBS="$CONFIG_OBS python.o py-value.o py-prettyprint.o py-auto-load.o"
862
  CONFIG_SRCS="$CONFIG_SRCS python/python.c python/py-value.c \
863
        python/py-prettyprint.c python/py-auto-load.c"
864
fi
865
AC_SUBST(PYTHON_CFLAGS)
866
 
867
# ------------------------- #
868
# Checks for header files.  #
869
# ------------------------- #
870
 
871
AC_HEADER_DIRENT
872
AC_HEADER_STAT
873
AC_HEADER_STDC
874
# elf_hp.h is for HP/UX 64-bit shared library support.
875
# FIXME: kettenis/20030102: In most cases we include these (ctype.h, time.h)
876
# unconditionally, so what's the point in checking these?
877
AC_CHECK_HEADERS([nlist.h machine/reg.h poll.h sys/poll.h proc_service.h \
878
                  thread_db.h gnu/libc-version.h signal.h stddef.h \
879
                  stdlib.h string.h memory.h strings.h sys/fault.h \
880
                  sys/file.h sys/filio.h sys/ioctl.h sys/param.h \
881
                  sys/resource.h sys/procfs.h sys/ptrace.h ptrace.h \
882
                  sys/reg.h sys/debugreg.h sys/select.h sys/syscall.h \
883
                  sys/types.h sys/wait.h wait.h termios.h termio.h \
884
                  sgtty.h unistd.h elf_hp.h ctype.h time.h locale.h])
885
AC_CHECK_HEADERS(link.h, [], [],
886
[#if HAVE_SYS_TYPES_H
887
# include 
888
#endif
889
#if HAVE_NLIST_H
890
# include 
891
#endif
892
])
893
AC_CHECK_HEADERS(sys/proc.h, [], [],
894
[#if HAVE_SYS_PARAM_H
895
# include 
896
#endif
897
])
898
AC_CHECK_HEADERS(sys/user.h, [], [],
899
[#if HAVE_SYS_PARAM_H
900
# include 
901
#endif
902
])
903
 
904
# On Solaris 2.[789], we need to define _MSE_INT_H to avoid a clash
905
# between  and  that would cause AC_CHECK_HEADERS to
906
# think that we don't have  if we're using GCC.
907
case $host_os in
908
  solaris2.[[789]])
909
    if test "$GCC" = yes; then
910
      AC_DEFINE(_MSE_INT_H, 1,
911
        [Define to 1 to avoid a clash between  and  on
912
   Solaris 2.[789] when using GCC. ])
913
    fi ;;
914
esac
915
AC_CHECK_HEADERS(curses.h cursesX.h ncurses.h ncurses/ncurses.h ncurses/term.h)
916
AC_CHECK_HEADERS(term.h, [], [],
917
[#if HAVE_CURSES_H
918
# include 
919
#endif
920
])
921
 
922
# ------------------------- #
923
# Checks for declarations.  #
924
# ------------------------- #
925
 
926
AC_CHECK_DECLS([free, malloc, realloc, strerror, strstr, getopt,
927
                snprintf, vsnprintf])
928
AM_LC_MESSAGES
929
 
930
# ----------------------- #
931
# Checks for structures.  #
932
# ----------------------- #
933
 
934
AC_CHECK_MEMBERS([struct stat.st_blocks, struct stat.st_blksize])
935
 
936
# ------------------ #
937
# Checks for types.  #
938
# ------------------ #
939
 
940
AC_TYPE_SIGNAL
941
AC_CHECK_TYPES(socklen_t, [], [],
942
[#include 
943
#include 
944
])
945
 
946
# ------------------------------------- #
947
# Checks for compiler characteristics.  #
948
# ------------------------------------- #
949
 
950
AC_C_CONST
951
AC_C_INLINE
952
AC_C_BIGENDIAN
953
 
954
# ------------------------------ #
955
# Checks for library functions.  #
956
# ------------------------------ #
957
 
958
AC_FUNC_ALLOCA
959
AC_FUNC_MMAP
960
AC_FUNC_VFORK
961
AC_CHECK_FUNCS([canonicalize_file_name realpath getrusage getuid \
962
                getgid pipe poll pread64 sbrk setpgid setpgrp setsid \
963
                sigaction sigprocmask sigsetmask socketpair syscall \
964
                ttrace wborder setlocale iconvlist libiconvlist btowc \
965
                setrlimit getrlimit posix_madvise])
966
AM_LANGINFO_CODESET
967
 
968
# Check the return and argument types of ptrace.  No canned test for
969
# this, so roll our own.
970
gdb_ptrace_headers='
971
#if HAVE_SYS_TYPES_H
972
# include 
973
#endif
974
#if HAVE_SYS_PTRACE_H
975
# include 
976
#endif
977
#if HAVE_UNISTD_H
978
# include 
979
#endif
980
'
981
# There is no point in checking if we don't have a prototype.
982
AC_CHECK_DECLS(ptrace, [], [
983
  : ${gdb_cv_func_ptrace_ret='int'}
984
  : ${gdb_cv_func_ptrace_args='int,int,long,long'}
985
], $gdb_ptrace_headers)
986
# Check return type.  Varargs (used on GNU/Linux) conflict with the
987
# empty argument list, so check for that explicitly.
988
AC_CACHE_CHECK([return type of ptrace], gdb_cv_func_ptrace_ret,
989
  AC_TRY_COMPILE($gdb_ptrace_headers,
990
    [extern long ptrace (enum __ptrace_request, ...);],
991
    gdb_cv_func_ptrace_ret='long',
992
    AC_TRY_COMPILE($gdb_ptrace_headers,
993
      [extern int ptrace ();],
994
      gdb_cv_func_ptrace_ret='int',
995
      gdb_cv_func_ptrace_ret='long')))
996
AC_DEFINE_UNQUOTED(PTRACE_TYPE_RET, $gdb_cv_func_ptrace_ret,
997
  [Define as the return type of ptrace.])
998
# Check argument types.
999
AC_CACHE_CHECK([types of arguments for ptrace], gdb_cv_func_ptrace_args, [
1000
  AC_TRY_COMPILE($gdb_ptrace_headers,
1001
    [extern long ptrace (enum __ptrace_request, ...);],
1002
    [gdb_cv_func_ptrace_args='int,int,long,long'],[
1003
for gdb_arg1 in 'int' 'long'; do
1004
 for gdb_arg2 in 'pid_t' 'int' 'long'; do
1005
  for gdb_arg3 in 'int *' 'caddr_t' 'int' 'long' 'void *'; do
1006
   for gdb_arg4 in 'int' 'long'; do
1007
     AC_TRY_COMPILE($gdb_ptrace_headers, [
1008
extern $gdb_cv_func_ptrace_ret
1009
  ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4);
1010
], [gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4";
1011
    break 4;])
1012
    for gdb_arg5 in 'int *' 'int' 'long'; do
1013
     AC_TRY_COMPILE($gdb_ptrace_headers, [
1014
extern $gdb_cv_func_ptrace_ret
1015
  ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4, $gdb_arg5);
1016
], [
1017
gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4,$gdb_arg5";
1018
    break 5;])
1019
    done
1020
   done
1021
  done
1022
 done
1023
done
1024
# Provide a safe default value.
1025
: ${gdb_cv_func_ptrace_args='int,int,long,long'}
1026
])])
1027
ac_save_IFS=$IFS; IFS=','
1028
set dummy `echo "$gdb_cv_func_ptrace_args" | sed 's/\*/\*/g'`
1029
IFS=$ac_save_IFS
1030
shift
1031
AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG3, $[3],
1032
  [Define to the type of arg 3 for ptrace.])
1033
if test -n "$[5]"; then
1034
  AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG5, $[5],
1035
    [Define to the type of arg 5 for ptrace.])
1036
fi
1037
 
1038
dnl AC_FUNC_SETPGRP does not work when cross compiling
1039
dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
1040
if test "$cross_compiling" = no; then
1041
  AC_FUNC_SETPGRP
1042
else
1043
  AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,
1044
    [AC_TRY_COMPILE([
1045
#include 
1046
], [
1047
  if (setpgrp(1,1) == -1)
1048
    exit (0);
1049
  else
1050
    exit (1);
1051
], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])
1052
if test $ac_cv_func_setpgrp_void = yes; then
1053
  AC_DEFINE(SETPGRP_VOID, 1)
1054
fi
1055
fi
1056
 
1057
# Check if sigsetjmp is available.  Using AC_CHECK_FUNCS won't do
1058
# since sigsetjmp might only be defined as a macro.
1059
AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
1060
[AC_TRY_COMPILE([
1061
#include 
1062
], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
1063
gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
1064
if test $gdb_cv_func_sigsetjmp = yes; then
1065
  AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
1066
fi
1067
 
1068
# Assume we'll default to using the included libiberty regex.
1069
gdb_use_included_regex=yes
1070
 
1071
# However, if the system regex is GNU regex, then default to *not*
1072
# using the included regex.
1073
AC_CACHE_CHECK(
1074
  [for GNU regex],
1075
  [gdb_cv_have_gnu_regex],
1076
  [AC_TRY_COMPILE(
1077
    [#include ],
1078
    [#define REGEX_INTERFACE_VERSION 1
1079
#if _GNU_REGEX_INTERFACE_VERSION != REGEX_INTERFACE_VERSION
1080
# error "Version mismatch"
1081
#endif],
1082
    gdb_cv_have_gnu_regex=yes,
1083
    gdb_cv_have_gnu_regex=no)])
1084
if test $gdb_cv_have_gnu_regex = yes; then
1085
  gdb_use_included_regex=no
1086
fi
1087
 
1088
AC_ARG_WITH(included-regex,
1089
  AS_HELP_STRING([--without-included-regex], [don't use included regex; this is the default on systems with version 2 of the GNU C library (use with caution on other system)]),
1090
  gdb_with_regex=$withval,
1091
  gdb_with_regex=$gdb_use_included_regex)
1092
if test "$gdb_with_regex" = yes; then
1093
  AC_DEFINE(USE_INCLUDED_REGEX, 1,
1094
    [Define to 1 if the regex included in libiberty should be used.])
1095
fi
1096
 
1097
# Check if  defines `struct thread' with a td_pcb member.
1098
AC_CHECK_MEMBERS([struct thread.td_pcb], [], [],
1099
[#include 
1100
#include 
1101
])
1102
 
1103
# See if  defines `struct lwp`.
1104
AC_CACHE_CHECK([for struct lwp], gdb_cv_struct_lwp,
1105
[AC_TRY_COMPILE([#include 
1106
#include ], [struct lwp l;],
1107
gdb_cv_struct_lwp=yes, gdb_cv_struct_lwp=no)])
1108
if test $gdb_cv_struct_lwp = yes; then
1109
  AC_DEFINE(HAVE_STRUCT_LWP, 1,
1110
            [Define to 1 if your system has struct lwp.])
1111
fi
1112
 
1113
# See if  degines `struct reg'.
1114
AC_CACHE_CHECK([for struct reg in machine/reg.h], gdb_cv_struct_reg,
1115
[AC_TRY_COMPILE([#include 
1116
#include ], [struct reg r;],
1117
gdb_cv_struct_reg=yes, gdb_cv_struct_reg=no)])
1118
if test $gdb_cv_struct_reg = yes; then
1119
  AC_DEFINE(HAVE_STRUCT_REG, 1,
1120
            [Define to 1 if your system has struct reg in .])
1121
fi
1122
 
1123
# See if  supports the %fs and %gs i386 segment registers.
1124
# Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
1125
AC_CHECK_MEMBERS([struct reg.r_fs, struct reg.r_gs], [], [],
1126
                 [#include ])
1127
 
1128
# See if  provides the PTRACE_GETREGS request.
1129
AC_MSG_CHECKING(for PTRACE_GETREGS)
1130
AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
1131
[AC_TRY_COMPILE([#include ],
1132
                [PTRACE_GETREGS;],
1133
                [gdb_cv_have_ptrace_getregs=yes],
1134
                [gdb_cv_have_ptrace_getregs=no])])
1135
AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
1136
if test $gdb_cv_have_ptrace_getregs = yes; then
1137
  AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
1138
  [Define if sys/ptrace.h defines the PTRACE_GETREGS request.])
1139
fi
1140
 
1141
# See if  provides the PTRACE_GETFPXREGS request.
1142
AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
1143
AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
1144
[AC_TRY_COMPILE([#include ],
1145
                [PTRACE_GETFPXREGS;],
1146
                [gdb_cv_have_ptrace_getfpxregs=yes],
1147
                [gdb_cv_have_ptrace_getfpxregs=no])])
1148
AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
1149
if test $gdb_cv_have_ptrace_getfpxregs = yes; then
1150
  AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
1151
  [Define if sys/ptrace.h defines the PTRACE_GETFPXREGS request.])
1152
fi
1153
 
1154
# See if  provides the PT_GETDBREGS request.
1155
AC_MSG_CHECKING(for PT_GETDBREGS)
1156
AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
1157
[AC_TRY_COMPILE([#include 
1158
#include ],
1159
                [PT_GETDBREGS;],
1160
                [gdb_cv_have_pt_getdbregs=yes],
1161
                [gdb_cv_have_pt_getdbregs=no])])
1162
AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
1163
if test $gdb_cv_have_pt_getdbregs = yes; then
1164
  AC_DEFINE(HAVE_PT_GETDBREGS, 1,
1165
  [Define if sys/ptrace.h defines the PT_GETDBREGS request.])
1166
fi
1167
 
1168
# See if  provides the PT_GETXMMREGS request.
1169
AC_MSG_CHECKING(for PT_GETXMMREGS)
1170
AC_CACHE_VAL(gdb_cv_have_pt_getxmmregs,
1171
[AC_TRY_COMPILE([#include 
1172
#include ],
1173
                [PT_GETXMMREGS;],
1174
                [gdb_cv_have_pt_getxmmregs=yes],
1175
                [gdb_cv_have_pt_getxmmregs=no])])
1176
AC_MSG_RESULT($gdb_cv_have_pt_getxmmregs)
1177
if test $gdb_cv_have_pt_getxmmregs = yes; then
1178
  AC_DEFINE(HAVE_PT_GETXMMREGS, 1,
1179
  [Define if sys/ptrace.h defines the PT_GETXMMREGS request.])
1180
fi
1181
 
1182
# Detect which type of /proc is in use, such as for Unixware or Solaris.
1183
 
1184
if test "${target}" = "${host}"; then
1185
  case "${host}" in
1186
  *-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* )
1187
      AC_DEFINE(NEW_PROC_API, 1,
1188
      [Define if you want to use new multi-fd /proc interface
1189
       (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).])
1190
      ;;
1191
  *-*-solaris2.[[6789]] | *-*-solaris2.1[[0-9]]*)
1192
      AC_DEFINE(NEW_PROC_API, 1,
1193
      [Define if you want to use new multi-fd /proc interface
1194
       (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).])
1195
      ;;
1196
  mips-sgi-irix5*)
1197
      # Work around  needing _KMEMUSER problem on IRIX 5.
1198
      AC_DEFINE([_KMEMUSER], 1,
1199
      [Define to 1 so  gets a definition of anon_hdl.  Works
1200
       around a  problem on IRIX 5.])
1201
      ;;
1202
  esac
1203
fi
1204
 
1205
if test "$ac_cv_header_sys_procfs_h" = yes; then
1206
  BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
1207
  BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
1208
  BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
1209
  BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
1210
  BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
1211
  BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
1212
  BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
1213
  BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
1214
  BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
1215
  BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
1216
  BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)
1217
  BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)
1218
  BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)
1219
  BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)
1220
 
1221
 
1222
  dnl Check for broken prfpregset_t type
1223
 
1224
  dnl For Linux/i386, glibc 2.1.3 was released with a bogus
1225
  dnl prfpregset_t type (it's a typedef for the pointer to a struct
1226
  dnl instead of the struct itself).  We detect this here, and work
1227
  dnl around it in gdb_proc_service.h.
1228
 
1229
  if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
1230
    AC_MSG_CHECKING(whether prfpregset_t type is broken)
1231
    AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
1232
      [AC_TRY_RUN([#include 
1233
       int main ()
1234
       {
1235
         if (sizeof (prfpregset_t) == sizeof (void *))
1236
           return 1;
1237
         return 0;
1238
       }],
1239
       gdb_cv_prfpregset_t_broken=no,
1240
       gdb_cv_prfpregset_t_broken=yes,
1241
       gdb_cv_prfpregset_t_broken=yes)])
1242
    AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
1243
    if test $gdb_cv_prfpregset_t_broken = yes; then
1244
      AC_DEFINE(PRFPREGSET_T_BROKEN, 1,
1245
      [Define if the prfpregset_t type is broken.])
1246
    fi
1247
  fi
1248
 
1249
  dnl Check for PIOCSET ioctl entry
1250
 
1251
  AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
1252
  AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
1253
  [AC_TRY_COMPILE([#include 
1254
#include 
1255
#include 
1256
], [
1257
    int dummy;;
1258
    dummy = ioctl(0, PIOCSET, &dummy);
1259
  ],
1260
  gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
1261
  AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
1262
  if test $gdb_cv_have_procfs_piocset = yes; then
1263
    AC_DEFINE(HAVE_PROCFS_PIOCSET, 1,
1264
    [Define if ioctl argument PIOCSET is available.])
1265
  fi
1266
fi
1267
 
1268
dnl For native ports (host == target), check to see what kind of
1269
dnl legacy link.h support is needed.  (See solib-legacy.c.)
1270
if test ${host} = ${target} ; then
1271
  dnl Check for struct link_map with l_ members which are indicative
1272
  dnl of SVR4-like shared libraries
1273
 
1274
  AC_MSG_CHECKING(for member l_addr in struct link_map)
1275
  AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,
1276
    [AC_TRY_COMPILE([#include ],
1277
                    [struct link_map lm; (void) lm.l_addr;],
1278
                    gdb_cv_have_struct_link_map_with_l_members=yes,
1279
                    gdb_cv_have_struct_link_map_with_l_members=no)])
1280
  AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)
1281
  if test $gdb_cv_have_struct_link_map_with_l_members = yes; then
1282
    AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS,1,
1283
    [Define if  exists and defines struct link_map which has
1284
     members with an ``l_'' prefix.  (For Solaris, SVR4, and
1285
     SVR4-like systems.)])
1286
  fi
1287
 
1288
  dnl Check for struct link_map with lm_ members which are indicative
1289
  dnl of SunOS-like shared libraries
1290
 
1291
  AC_MSG_CHECKING(for member lm_addr in struct link_map)
1292
  AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,
1293
    [AC_TRY_COMPILE([#include 
1294
#include ],
1295
                    [struct link_map lm; (void) lm.lm_addr;],
1296
                    gdb_cv_have_struct_link_map_with_lm_members=yes,
1297
                    gdb_cv_have_struct_link_map_with_lm_members=no)])
1298
  AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)
1299
  if test $gdb_cv_have_struct_link_map_with_lm_members = yes; then
1300
    AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS, 1,
1301
    [Define if  exists and defines struct link_map which has
1302
     members with an ``lm_'' prefix.  (For SunOS.)])
1303
  fi
1304
 
1305
  dnl Check for struct so_map with som_ members which are found on
1306
  dnl some *BSD systems.
1307
 
1308
  AC_MSG_CHECKING(for member som_addr in struct so_map)
1309
  AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,
1310
    [AC_TRY_COMPILE([#include 
1311
#ifdef HAVE_NLIST_H
1312
#include 
1313
#endif
1314
#include ],
1315
                    [struct so_map lm; (void) lm.som_addr;],
1316
                    gdb_cv_have_struct_so_map_with_som_members=yes,
1317
                    gdb_cv_have_struct_so_map_with_som_members=no)])
1318
  AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)
1319
  if test $gdb_cv_have_struct_so_map_with_som_members = yes; then
1320
    AC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS, 1,
1321
    [Define if  exists and defines a struct so_map which has
1322
     members with an ``som_'' prefix.  (Found on older *BSD systems.)])
1323
  fi
1324
 
1325
  dnl Check for struct link_map32 type, which allows a 64-bit Solaris
1326
  dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
1327
 
1328
  AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
1329
  AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
1330
    [AC_TRY_COMPILE([#define _SYSCALL32
1331
#include ], [struct link_map32 l;],
1332
     gdb_cv_have_struct_link_map32=yes,
1333
     gdb_cv_have_struct_link_map32=no)])
1334
  AC_MSG_RESULT($gdb_cv_have_struct_link_map32)
1335
  if test $gdb_cv_have_struct_link_map32 = yes; then
1336
    AC_DEFINE(HAVE_STRUCT_LINK_MAP32, 1,
1337
    [Define if  has struct link_map32])
1338
    AC_DEFINE(_SYSCALL32, 1,
1339
    [Define if  has link_map32 (solaris sparc-64 target)])
1340
  fi
1341
fi
1342
 
1343
# Check if the compiler supports the `long long' type.
1344
 
1345
AC_CACHE_CHECK([for long long support in compiler], gdb_cv_c_long_long,
1346
               [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1347
[[extern long long foo;]],
1348
[[switch (foo & 2) { case 0: return 1; }]])],
1349
                                  gdb_cv_c_long_long=yes,
1350
                                  gdb_cv_c_long_long=no)])
1351
if test $gdb_cv_c_long_long = yes; then
1352
  AC_DEFINE(CC_HAS_LONG_LONG, 1,
1353
            [Define to 1 if the compiler supports long long.])
1354
fi
1355
 
1356
# Check if the compiler and runtime support printing long longs.
1357
 
1358
AC_CACHE_CHECK([for long long support in printf],
1359
               gdb_cv_printf_has_long_long,
1360
               [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1361
[[char buf[32];
1362
  long long l = 0;
1363
  l = (l << 16) + 0x0123;
1364
  l = (l << 16) + 0x4567;
1365
  l = (l << 16) + 0x89ab;
1366
  l = (l << 16) + 0xcdef;
1367
  sprintf (buf, "0x%016llx", l);
1368
  return (strcmp ("0x0123456789abcdef", buf));]])],
1369
                              gdb_cv_printf_has_long_long=yes,
1370
                              gdb_cv_printf_has_long_long=no,
1371
                              gdb_cv_printf_has_long_long=no)])
1372
if test $gdb_cv_printf_has_long_long = yes; then
1373
  AC_DEFINE(PRINTF_HAS_LONG_LONG, 1,
1374
            [Define to 1 if the "%ll" format works to print long longs.])
1375
fi
1376
 
1377
# Check if the compiler and runtime support printing decfloats.
1378
 
1379
AC_CACHE_CHECK([for decfloat support in printf],
1380
               gdb_cv_printf_has_decfloat,
1381
               [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1382
[[char buf[64];
1383
  _Decimal32 d32 = 1.2345df;
1384
  _Decimal64 d64 = 1.2345dd;
1385
  _Decimal128 d128 = 1.2345dl;
1386
  sprintf (buf, "Decimal32: %H\nDecimal64: %D\nDecimal128: %DD", d32, d64, d128);
1387
  return (strcmp ("Decimal32: 1.2345\nDecimal64: 1.2345\nDecimal128: 1.2345", buf));]])],
1388
                              gdb_cv_printf_has_decfloat=yes,
1389
                              gdb_cv_printf_has_decfloat=no,
1390
                              gdb_cv_printf_has_decfloat=no)])
1391
if test $gdb_cv_printf_has_decfloat = yes; then
1392
  AC_DEFINE(PRINTF_HAS_DECFLOAT, 1,
1393
            [Define to 1 if the "%H, %D and %DD" formats work to print decfloats.])
1394
fi
1395
 
1396
# Check if the compiler supports the `long double' type.  We can't use
1397
# AC_C_LONG_DOUBLE because that one does additional checks on the
1398
# constants defined in  that fail on some systems,
1399
# e.g. FreeBSD/i386 4.7 and OpenBSD/i386 3.6.
1400
 
1401
AC_CACHE_CHECK([for long double support in compiler], gdb_cv_c_long_double,
1402
               [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[long double foo;]])],
1403
                                  gdb_cv_c_long_double=yes,
1404
                                  gdb_cv_c_long_double=no)])
1405
if test $gdb_cv_c_long_double = yes; then
1406
  AC_DEFINE(HAVE_LONG_DOUBLE, 1,
1407
           [Define to 1 if the compiler supports long double.])
1408
fi
1409
 
1410
# Check if the compiler and runtime support printing long doubles.
1411
 
1412
AC_CACHE_CHECK([for long double support in printf],
1413
               gdb_cv_printf_has_long_double,
1414
               [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1415
[[char buf[16];
1416
  long double f = 3.141592653;
1417
  sprintf (buf, "%Lg", f);
1418
  return (strncmp ("3.14159", buf, 7));]])],
1419
                              gdb_cv_printf_has_long_double=yes,
1420
                              gdb_cv_printf_has_long_double=no,
1421
                              gdb_cv_printf_has_long_double=no)])
1422
if test $gdb_cv_printf_has_long_double = yes; then
1423
  AC_DEFINE(PRINTF_HAS_LONG_DOUBLE, 1,
1424
            [Define to 1 if the "%Lg" format works to print long doubles.])
1425
fi
1426
 
1427
# Check if the compiler and runtime support scanning long doubles.
1428
 
1429
AC_CACHE_CHECK([for long double support in scanf],
1430
               gdb_cv_scanf_has_long_double,
1431
               [AC_RUN_IFELSE([AC_LANG_PROGRAM(
1432
[[#include ]],
1433
[[char *buf = "3.141592653";
1434
  long double f = 0;
1435
  sscanf (buf, "%Lg", &f);
1436
  return !(f > 3.14159 && f < 3.14160);]])],
1437
                              gdb_cv_scanf_has_long_double=yes,
1438
                              gdb_cv_scanf_has_long_double=no,
1439
                              gdb_cv_scanf_has_long_double=no)])
1440
if test $gdb_cv_scanf_has_long_double = yes; then
1441
  AC_DEFINE(SCANF_HAS_LONG_DOUBLE, 1,
1442
            [Define to 1 if the "%Lg" format works to scan long doubles.])
1443
fi
1444
 
1445
case ${host_os} in
1446
aix*)
1447
  AC_CACHE_CHECK([for -bbigtoc option], [gdb_cv_bigtoc], [
1448
    SAVE_LDFLAGS=$LDFLAGS
1449
 
1450
    case $GCC in
1451
    yes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;
1452
    *) gdb_cv_bigtoc=-bbigtoc ;;
1453
    esac
1454
 
1455
    LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
1456
    AC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])
1457
    LDFLAGS="${SAVE_LDFLAGS}"
1458
  ])
1459
  CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
1460
  ;;
1461
esac
1462
 
1463
AC_MSG_CHECKING(for the dynamic export flag)
1464
dynamic_list=false
1465
if test "${gdb_native}" = yes; then
1466
   # The dynamically loaded libthread_db needs access to symbols in the gdb
1467
   # executable.  Older GNU ld supports --export-dynamic but --dynamic-list
1468
   # may not be supported there.
1469
   old_LDFLAGS="$LDFLAGS"
1470
   # Older GNU ld supports --export-dynamic but --dynamic-list it does not.
1471
   RDYNAMIC="-Wl,--dynamic-list=${srcdir}/proc-service.list"
1472
   LDFLAGS="$LDFLAGS $RDYNAMIC"
1473
   if test "${have_libpython}" = no; then
1474
     AC_TRY_LINK([], [], [dynamic_list=true])
1475
   else
1476
     # Workaround http://bugs.python.org/issue4434 where static
1477
     # libpythonX.Y.a would get its symbols required for
1478
     # pythonX.Y/lib-dynload/*.so modules hidden by -Wl,--dynamic-list.
1479
     # Problem does not happen for the recommended libpythonX.Y.so linkage.
1480
     old_CFLAGS="$CFLAGS"
1481
     CFLAGS="$CFLAGS $PYTHON_CFLAGS"
1482
     AC_RUN_IFELSE(
1483
       AC_LANG_PROGRAM(
1484
         [#include "]${have_libpython}[/Python.h"],
1485
         [int err;
1486
          Py_Initialize ();
1487
          err = PyRun_SimpleString ("import itertools\n");
1488
          Py_Finalize ();
1489
          return err == 0 ? 0 : 1;]),
1490
       [dynamic_list=true], [], [true])
1491
     CFLAGS="$old_CFLAGS"
1492
   fi
1493
   LDFLAGS="$old_LDFLAGS"
1494
fi
1495
if $dynamic_list; then
1496
  found="-Wl,--dynamic-list"
1497
  RDYNAMIC='-Wl,--dynamic-list=$(srcdir)/proc-service.list'
1498
else
1499
  found="-rdynamic"
1500
  RDYNAMIC="-rdynamic"
1501
fi
1502
AC_SUBST(RDYNAMIC)
1503
AC_MSG_RESULT($found)
1504
 
1505
dnl For certain native configurations, we need to check whether thread
1506
dnl support can be built in or not.
1507
dnl
1508
dnl Note that we only want this if we are both native (host == target),
1509
dnl and not doing a canadian cross build (build == host).
1510
 
1511
if test ${build} = ${host} -a ${host} = ${target} ; then
1512
   case ${host_os} in
1513
   hpux*)
1514
      AC_MSG_CHECKING(for HPUX/OSF thread support)
1515
      if test -f /usr/include/dce/cma_config.h ; then
1516
         if test "$GCC" = "yes" ; then
1517
            AC_MSG_RESULT(yes)
1518
            AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT, 1,
1519
            [Define if you have HPUX threads])
1520
            CONFIG_OBS="${CONFIG_OBS} hpux-thread.o"
1521
            CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
1522
         else
1523
            AC_MSG_RESULT(no (suppressed because you are not using GCC))
1524
         fi
1525
      else
1526
         AC_MSG_RESULT(no)
1527
      fi
1528
      ;;
1529
   solaris*)
1530
      # See if thread_db library is around for Solaris thread debugging.
1531
      # Note that we must explicitly test for version 1 of the library
1532
      # because version 0 (present on Solaris 2.4 or earlier) doesn't have
1533
      # the same API.
1534
      AC_MSG_CHECKING(for Solaris thread debugging library)
1535
      if test -f /usr/lib/libthread_db.so.1 ; then
1536
         AC_MSG_RESULT(yes)
1537
         AC_DEFINE(HAVE_THREAD_DB_LIB, 1,
1538
         [Define if using Solaris thread debugging.])
1539
         CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
1540
         CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
1541
         AC_CHECK_LIB(dl, dlopen)
1542
         CONFIG_LDFLAGS="${CONFIG_LDFLAGS} $RDYNAMIC"
1543
         # Sun randomly tweaked the prototypes in 
1544
         # at one point.
1545
         AC_MSG_CHECKING(if  is old)
1546
         AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
1547
            AC_TRY_COMPILE([
1548
                #include 
1549
                ps_err_e ps_pdwrite
1550
                    (struct ps_prochandle*, psaddr_t, const void*, size_t);
1551
            ],, gdb_cv_proc_service_is_old=no,
1552
                gdb_cv_proc_service_is_old=yes)
1553
         ])
1554
         AC_MSG_RESULT($gdb_cv_proc_service_is_old)
1555
         if test $gdb_cv_proc_service_is_old = yes; then
1556
            AC_DEFINE(PROC_SERVICE_IS_OLD, 1,
1557
            [Define if  on solaris uses int instead of
1558
             size_t, and assorted other type changes.])
1559
         fi
1560
      else
1561
         AC_MSG_RESULT(no)
1562
      fi
1563
      ;;
1564
   aix*)
1565
      AC_MSG_CHECKING(for AiX thread debugging library)
1566
      AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,
1567
                   [AC_TRY_COMPILE([#include ],
1568
                                   [#ifndef PTHDB_VERSION_3
1569
                                    #error
1570
                                    #endif],
1571
                                   gdb_cv_have_aix_thread_debug=yes,
1572
                                   gdb_cv_have_aix_thread_debug=no)])
1573
      AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)
1574
      if test $gdb_cv_have_aix_thread_debug = yes; then
1575
         CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
1576
         CONFIG_OBS="${CONFIG_OBS} aix-thread.o"
1577
         CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug"
1578
      fi
1579
      ;;
1580
   esac
1581
   AC_SUBST(CONFIG_LDFLAGS)
1582
fi
1583
 
1584
dnl See if we have a thread_db header file that has TD_NOTALLOC and
1585
dnl other error codes.
1586
if test "x$ac_cv_header_thread_db_h" = "xyes"; then
1587
   AC_CACHE_CHECK([whether  has TD_NOTALLOC],
1588
                  gdb_cv_thread_db_h_has_td_notalloc,
1589
     AC_TRY_COMPILE(
1590
       [#include ],
1591
       [int i = TD_NOTALLOC;],
1592
       gdb_cv_thread_db_h_has_td_notalloc=yes,
1593
       gdb_cv_thread_db_h_has_td_notalloc=no
1594
     )
1595
   )
1596
   AC_CACHE_CHECK([whether  has TD_VERSION],
1597
                  gdb_cv_thread_db_h_has_td_version,
1598
     AC_TRY_COMPILE(
1599
       [#include ],
1600
       [int i = TD_VERSION;],
1601
       gdb_cv_thread_db_h_has_td_version=yes,
1602
       gdb_cv_thread_db_h_has_td_version=no
1603
     )
1604
   )
1605
   AC_CACHE_CHECK([whether  has TD_NOTLS],
1606
                  gdb_cv_thread_db_h_has_td_notls,
1607
     AC_TRY_COMPILE(
1608
       [#include ],
1609
       [int i = TD_NOTLS;],
1610
       gdb_cv_thread_db_h_has_td_notls=yes,
1611
       gdb_cv_thread_db_h_has_td_notls=no
1612
     )
1613
   )
1614
fi
1615
if test "x$gdb_cv_thread_db_h_has_td_notalloc" = "xyes"; then
1616
  AC_DEFINE(THREAD_DB_HAS_TD_NOTALLOC, 1,
1617
            [Define if  has the TD_NOTALLOC error code.])
1618
fi
1619
if test "x$gdb_cv_thread_db_h_has_td_version" = "xyes"; then
1620
  AC_DEFINE(THREAD_DB_HAS_TD_VERSION, 1,
1621
            [Define if  has the TD_VERSION error code.])
1622
fi
1623
if test "x$gdb_cv_thread_db_h_has_td_notls" = "xyes"; then
1624
  AC_DEFINE(THREAD_DB_HAS_TD_NOTLS, 1,
1625
            [Define if  has the TD_NOTLS error code.])
1626
fi
1627
 
1628
dnl See if we have a sys/syscall header file that has __NR_tkill.
1629
if test "x$ac_cv_header_sys_syscall_h" = "xyes"; then
1630
   AC_CACHE_CHECK([whether  has __NR_tkill],
1631
                  gdb_cv_sys_syscall_h_has_tkill,
1632
     AC_TRY_COMPILE(
1633
       [#include ],
1634
       [int i = __NR_tkill;],
1635
       gdb_cv_sys_syscall_h_has_tkill=yes,
1636
       gdb_cv_sys_syscall_h_has_tkill=no
1637
     )
1638
   )
1639
fi
1640
dnl See if we can issue tkill syscall.
1641
if test "x$gdb_cv_sys_syscall_h_has_tkill" = "xyes" && test "x$ac_cv_func_syscall" = "xyes"; then
1642
  AC_DEFINE(HAVE_TKILL_SYSCALL, 1, [Define if you support the tkill syscall.])
1643
fi
1644
 
1645
dnl Check if we can disable the virtual address space randomization.
1646
dnl The functionality of setarch -R.
1647
AC_CHECK_DECLS([ADDR_NO_RANDOMIZE],,, [#include ])
1648
define([PERSONALITY_TEST], [AC_LANG_PROGRAM([#include ], [
1649
#      if !HAVE_DECL_ADDR_NO_RANDOMIZE
1650
#       define ADDR_NO_RANDOMIZE 0x0040000
1651
#      endif
1652
       /* Test the flag could be set and stays set.  */
1653
       personality (personality (0xffffffff) | ADDR_NO_RANDOMIZE);
1654
       if (!(personality (personality (0xffffffff)) & ADDR_NO_RANDOMIZE))
1655
           return 1])])
1656
AC_RUN_IFELSE([PERSONALITY_TEST],
1657
              [have_personality=true],
1658
              [have_personality=false],
1659
              [AC_LINK_IFELSE([PERSONALITY_TEST],
1660
                              [have_personality=true],
1661
                              [have_personality=false])])
1662
if $have_personality
1663
then
1664
    AC_DEFINE([HAVE_PERSONALITY], 1,
1665
              [Define if you support the personality syscall.])
1666
fi
1667
 
1668
dnl Handle optional features that can be enabled.
1669
 
1670
target_sysroot_reloc=0
1671
AC_ARG_WITH(sysroot,
1672
AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], [search for usr/lib et al within DIR]),
1673
[
1674
 case ${with_sysroot} in
1675
 yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;;
1676
 *) TARGET_SYSTEM_ROOT=$with_sysroot ;;
1677
 esac
1678
 
1679
 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
1680
 
1681
 if test "x$prefix" = xNONE; then
1682
  test_prefix=/usr/local
1683
 else
1684
  test_prefix=$prefix
1685
 fi
1686
 if test "x$exec_prefix" = xNONE || test "x$exec_prefix" = 'x${prefix}'; then
1687
  test_exec_prefix=$test_prefix
1688
 else
1689
  test_exec_prefix=$exec_prefix
1690
 fi
1691
 case ${TARGET_SYSTEM_ROOT} in
1692
 "${test_prefix}"|"${test_prefix}/"*|\
1693
 "${test_exec_prefix}"|"${test_exec_prefix}/"*|\
1694
 '${prefix}'|'${prefix}/'*|\
1695
 '${exec_prefix}'|'${exec_prefix}/'*)
1696
   target_sysroot_reloc=1
1697
   ;;
1698
 esac
1699
], [
1700
 TARGET_SYSTEM_ROOT=
1701
 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
1702
])
1703
TARGET_SYSTEM_ROOT_DEFINE="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE=$target_sysroot_reloc"
1704
AC_SUBST(TARGET_SYSTEM_ROOT)
1705
AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
1706
 
1707
GDB_AC_WITH_DIR(SYSTEM_GDBINIT, system-gdbinit,
1708
    [automatically load a system-wide gdbinit file],
1709
    [])
1710
 
1711
AC_ARG_ENABLE(werror,
1712
  AS_HELP_STRING([--enable-werror], [treat compile warnings as errors]),
1713
  [case "${enableval}" in
1714
     yes | y) ERROR_ON_WARNING="yes" ;;
1715
     no | n)  ERROR_ON_WARNING="no" ;;
1716
     *) AC_MSG_ERROR(bad value ${enableval} for --enable-werror) ;;
1717
   esac])
1718
 
1719
WERROR_CFLAGS=""
1720
if test "${ERROR_ON_WARNING}" = yes ; then
1721
    WERROR_CFLAGS="-Werror"
1722
fi
1723
 
1724
# The entries after -Wno-pointer-sign are disabled warnings which may
1725
# be enabled in the future, which can not currently be used to build
1726
# GDB.
1727
# NOTE: If you change this list, remember to update
1728
# gdb/doc/gdbint.texinfo.
1729
build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \
1730
-Wformat-nonliteral -Wno-pointer-sign \
1731
-Wno-unused -Wunused-value -Wunused-function \
1732
-Wno-switch -Wno-char-subscripts"
1733
 
1734
# Enable -Wno-format by default when using gcc on mingw since many
1735
# GCC versions complain about %I64.
1736
case "${host}" in
1737
  *-*-mingw32*) build_warnings="$build_warnings -Wno-format" ;;
1738
esac
1739
 
1740
AC_ARG_ENABLE(build-warnings,
1741
AS_HELP_STRING([--enable-build-warnings], [enable build-time compiler warnings if gcc is used]),
1742
[case "${enableval}" in
1743
  yes)  ;;
1744
  no)   build_warnings="-w";;
1745
  ,*)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
1746
        build_warnings="${build_warnings} ${t}";;
1747
  *,)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
1748
        build_warnings="${t} ${build_warnings}";;
1749
  *)    build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1750
esac
1751
if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1752
  echo "Setting compiler warning flags = $build_warnings" 6>&1
1753
fi])dnl
1754
AC_ARG_ENABLE(gdb-build-warnings,
1755
AS_HELP_STRING([--enable-gdb-build-warnings], [enable GDB specific build-time compiler warnings if gcc is used]),
1756
[case "${enableval}" in
1757
  yes)  ;;
1758
  no)   build_warnings="-w";;
1759
  ,*)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
1760
        build_warnings="${build_warnings} ${t}";;
1761
  *,)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
1762
        build_warnings="${t} ${build_warnings}";;
1763
  *)    build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1764
esac
1765
if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1766
  echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
1767
fi])dnl
1768
WARN_CFLAGS=""
1769
if test "x${build_warnings}" != x -a "x$GCC" = xyes
1770
then
1771
    AC_MSG_CHECKING(compiler warning flags)
1772
    # Separate out the -Werror flag as some files just cannot be
1773
    # compiled with it enabled.
1774
    for w in ${build_warnings}; do
1775
        case $w in
1776
        -Werr*) WERROR_CFLAGS=-Werror ;;
1777
        *) # Check that GCC accepts it
1778
            saved_CFLAGS="$CFLAGS"
1779
            CFLAGS="$CFLAGS $w"
1780
            AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
1781
            CFLAGS="$saved_CFLAGS"
1782
        esac
1783
    done
1784
    AC_MSG_RESULT(${WARN_CFLAGS} ${WERROR_CFLAGS})
1785
fi
1786
AC_SUBST(WARN_CFLAGS)
1787
AC_SUBST(WERROR_CFLAGS)
1788
 
1789
# In the Cygwin environment, we need some additional flags.
1790
AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
1791
[AC_EGREP_CPP(lose, [
1792
#if defined (__CYGWIN__) || defined (__CYGWIN32__)
1793
lose
1794
#endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
1795
 
1796
 
1797
dnl Figure out which of the many generic ser-*.c files the _host_ supports.
1798
SER_HARDWIRE="ser-base.o ser-unix.o ser-pipe.o ser-tcp.o"
1799
case ${host} in
1800
  *go32* ) SER_HARDWIRE=ser-go32.o ;;
1801
  *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
1802
  *mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o ser-mingw.o" ;;
1803
esac
1804
AC_SUBST(SER_HARDWIRE)
1805
 
1806
# libreadline needs libuser32.a in a cygwin environment
1807
WIN32LIBS=
1808
if test x$gdb_cv_os_cygwin = xyes; then
1809
    WIN32LIBS="-luser32"
1810
    case "${target}" in
1811
        *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
1812
        ;;
1813
    esac
1814
fi
1815
 
1816
# The ser-tcp.c module requires sockets.
1817
case ${host} in
1818
  *mingw32*)
1819
    AC_DEFINE(USE_WIN32API, 1,
1820
              [Define if we should use the Windows API, instead of the
1821
               POSIX API.  On Windows, we use the Windows API when
1822
               building for MinGW, but the POSIX API when building
1823
               for Cygwin.])
1824
    WIN32LIBS="$WIN32LIBS -lws2_32"
1825
    ;;
1826
esac
1827
AC_SUBST(WIN32LIBS)
1828
 
1829
# Add ELF support to GDB, but only if BFD includes ELF support.
1830
OLD_CFLAGS=$CFLAGS
1831
OLD_LDFLAGS=$LDFLAGS
1832
OLD_LIBS=$LIBS
1833
CFLAGS="$CFLAGS -I${srcdir}/../include -I../bfd -I${srcdir}/../bfd"
1834
LDFLAGS="$LDFLAGS -L../bfd -L../libiberty"
1835
intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
1836
LIBS="-lbfd -liberty $intl $LIBS"
1837
AC_CACHE_CHECK([for ELF support in BFD], gdb_cv_var_elf,
1838
[AC_TRY_LINK(
1839
[#include 
1840
#include "bfd.h"
1841
#include "elf-bfd.h"
1842
],
1843
[bfd *abfd = NULL; bfd_get_elf_phdr_upper_bound (abfd); ],
1844
gdb_cv_var_elf=yes, gdb_cv_var_elf=no)])
1845
if test $gdb_cv_var_elf = yes; then
1846
  CONFIG_OBS="$CONFIG_OBS elfread.o"
1847
  AC_DEFINE(HAVE_ELF, 1,
1848
            [Define if ELF support should be included.])
1849
fi
1850
CFLAGS=$OLD_CFLAGS
1851
LDFLAGS=$OLD_LDFLAGS
1852
LIBS=$OLD_LIBS
1853
 
1854
# Add any host-specific objects to GDB.
1855
CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
1856
 
1857
LIBGUI="../libgui/src/libgui.a"
1858
GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
1859
AC_SUBST(LIBGUI)
1860
AC_SUBST(GUI_CFLAGS_X)
1861
 
1862
WIN32LDAPP=
1863
AC_SUBST(WIN32LIBS)
1864
AC_SUBST(WIN32LDAPP)
1865
 
1866
case "${host}" in
1867
*-*-cygwin* | *-*-mingw* )
1868
    configdir="win"
1869
    ;;
1870
*)
1871
    configdir="unix"
1872
    ;;
1873
esac
1874
 
1875
GDBTKLIBS=
1876
if test "${enable_gdbtk}" = "yes"; then
1877
 
1878
    # Gdbtk must have an absolute path to srcdir in order to run
1879
    # properly when not installed.
1880
    here=`pwd`
1881
    cd ${srcdir}
1882
    GDBTK_SRC_DIR=`pwd`
1883
    cd $here
1884
 
1885
    SC_PATH_TCLCONFIG
1886
 
1887
    # If $no_tk is nonempty, then we can't do Tk, and there is no
1888
    # point to doing Tcl.
1889
    SC_PATH_TKCONFIG
1890
 
1891
    if test -z "${no_tcl}" -a -z "${no_tk}"; then
1892
        SC_LOAD_TCLCONFIG
1893
 
1894
        # Check for in-tree tcl
1895
        here=`pwd`
1896
        cd ${srcdir}/..
1897
        topdir=`pwd`
1898
        cd ${here}
1899
 
1900
        intree="no"
1901
        if test "${TCL_SRC_DIR}" = "${topdir}/tcl"; then
1902
          intree="yes"
1903
        fi
1904
 
1905
        # Find Tcl private headers
1906
        if test x"${intree}" = xno; then
1907
          CY_AC_TCL_PRIVATE_HEADERS
1908
          TCL_INCLUDE="${TCL_INCLUDE_SPEC} ${TCL_PRIVATE_INCLUDE}"
1909
          TCL_LIBRARY="${TCL_LIB_SPEC}"
1910
          TCL_DEPS=""
1911
        else
1912
          # If building tcl in the same src tree, private headers
1913
          # are not needed, but we need to be sure to use the right
1914
          # headers library
1915
          TCL_INCLUDE="-I${TCL_SRC_DIR}/generic"
1916
          TCL_LIBRARY="${TCL_BUILD_LIB_SPEC}"
1917
          TCL_DEPS="../tcl/${configdir}${TCL_LIB_FILE}"
1918
        fi
1919
        AC_SUBST(TCL_INCLUDE)
1920
        AC_SUBST(TCL_LIBRARY)
1921
        AC_SUBST(TCL_DEPS)
1922
 
1923
        SC_LOAD_TKCONFIG
1924
 
1925
        # Check for in-tree Tk
1926
        intree="no"
1927
        if test "${TK_SRC_DIR}" = "${topdir}/tk"; then
1928
          intree="yes"
1929
        fi
1930
 
1931
        # Find Tk private headers
1932
        if test x"${intree}" = xno; then
1933
          CY_AC_TK_PRIVATE_HEADERS
1934
          TK_INCLUDE="${TK_INCLUDE_SPEC} ${TK_PRIVATE_INCLUDE}"
1935
          TK_LIBRARY=${TK_LIB_SPEC}
1936
          TK_DEPS=""
1937
        else
1938
          TK_INCLUDE="-I${TK_SRC_DIR}/generic"
1939
          TK_LIBRARY="${TK_BUILD_LIB_SPEC}"
1940
          TK_DEPS="../tk/${configdir}/${TK_LIB_FILE}"
1941
        fi
1942
        AC_SUBST(TK_INCLUDE)
1943
        AC_SUBST(TK_LIBRARY)
1944
        AC_SUBST(TK_DEPS)
1945
        AC_SUBST(TK_XINCLUDES)
1946
 
1947
        ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
1948
 
1949
        # Include some libraries that Tcl and Tk want.
1950
        TCL_LIBS='$(LIBGUI) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
1951
        # Yes, the ordering seems wrong here.  But it isn't.
1952
        # TK_LIBS is the list of libraries that need to be linked
1953
        # after Tcl/Tk.  Note that this isn't put into LIBS.  If it
1954
        # were in LIBS then any link tests after this point would
1955
        # try to include things like `$(LIBGUI)', which wouldn't work.
1956
        GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
1957
 
1958
        CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
1959
        CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
1960
        CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
1961
        CONFIG_ALL="${CONFIG_ALL} all-gdbtk"
1962
        CONFIG_CLEAN="${CONFIG_CLEAN} clean-gdbtk"
1963
        CONFIG_INSTALL="${CONFIG_INSTALL} install-gdbtk"
1964
        CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-gdbtk"
1965
 
1966
        if test x$gdb_cv_os_cygwin = xyes; then
1967
          WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1968
          WIN32LDAPP="-Wl,--subsystem,console"
1969
          CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1970
        fi
1971
 
1972
        AC_CONFIG_SUBDIRS(gdbtk)
1973
    fi
1974
fi
1975
 
1976
AC_SUBST(X_CFLAGS)
1977
AC_SUBST(X_LDFLAGS)
1978
AC_SUBST(X_LIBS)
1979
AC_SUBST(GDBTKLIBS)
1980
AC_SUBST(GDBTK_CFLAGS)
1981
AC_SUBST(GDBTK_SRC_DIR)
1982
 
1983
AC_PATH_X
1984
 
1985
# Unlike the sim directory, whether a simulator is linked is controlled by
1986
# presence of a gdb_sim definition in the target configure.tgt entry.
1987
# This code just checks for a few cases where we'd like to ignore those
1988
# definitions, even when they're present in the '.mt' file.  These cases
1989
# are when --disable-sim is specified, or if the simulator directory is
1990
# not part of the source tree.
1991
#
1992
AC_ARG_ENABLE(sim,
1993
AS_HELP_STRING([--enable-sim], [link gdb with simulator]),
1994
[echo "enable_sim = $enable_sim";
1995
 echo "enableval = ${enableval}";
1996
 case "${enableval}" in
1997
  yes) ignore_sim=false ;;
1998
  no)  ignore_sim=true ;;
1999
  *)   ignore_sim=false ;;
2000
 esac],
2001
[ignore_sim=false])
2002
 
2003
if test ! -d "${srcdir}/../sim"; then
2004
  ignore_sim=true
2005
fi
2006
 
2007
SIM=
2008
SIM_OBS=
2009
if test "${ignore_sim}" = "false"; then
2010
  if test x"${gdb_sim}" != x ; then
2011
    SIM="${gdb_sim}"
2012
    SIM_OBS="remote-sim.o"
2013
    AC_DEFINE(WITH_SIM, 1, [Define if the simulator is being linked in.])
2014
  fi
2015
fi
2016
AC_SUBST(SIM)
2017
AC_SUBST(SIM_OBS)
2018
 
2019
# Option to explicitly specify the location of the Or1ksim installation
2020
AC_ARG_WITH([or1ksim],
2021
            [AS_HELP_STRING([--with-or1ksim=ARG],
2022
            [specify the Or1ksim installation directory explicitly (otherwise use default search paths)])],
2023
            [],
2024
           [])
2025
if test x"$with_or1ksim" != x
2026
then
2027 653 yannv
    CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-rpath -Wl,$with_or1ksim/lib -L$with_or1ksim/lib"
2028 330 jeremybenn
    AC_SUBST(CONFIG_LDFLAGS)
2029 653 yannv
    LIBS="${LIBS} -lsim"
2030 330 jeremybenn
fi
2031
 
2032
AC_SUBST(ENABLE_CFLAGS)
2033
AC_SUBST(PROFILE_CFLAGS)
2034
 
2035
AC_SUBST(CONFIG_OBS)
2036
AC_SUBST(CONFIG_DEPS)
2037
AC_SUBST(CONFIG_SRCS)
2038
AC_SUBST(CONFIG_ALL)
2039
AC_SUBST(CONFIG_CLEAN)
2040
AC_SUBST(CONFIG_INSTALL)
2041
AC_SUBST(CONFIG_UNINSTALL)
2042
 
2043
# List of host floatformats.
2044
AC_DEFINE_UNQUOTED(GDB_HOST_FLOAT_FORMAT,$gdb_host_float_format,[Host float floatformat])
2045
AC_DEFINE_UNQUOTED(GDB_HOST_DOUBLE_FORMAT,$gdb_host_double_format,[Host double floatformat])
2046
AC_DEFINE_UNQUOTED(GDB_HOST_LONG_DOUBLE_FORMAT,$gdb_host_long_double_format,[Host long double floatformat])
2047
 
2048
# target_subdir is used by the testsuite to find the target libraries.
2049
target_subdir=
2050
if test "${host}" != "${target}"; then
2051
    target_subdir="${target_alias}/"
2052
fi
2053
AC_SUBST(target_subdir)
2054
 
2055
frags=
2056
if test "${gdb_native}" = "yes"; then
2057
  host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
2058
  if test ! -f ${host_makefile_frag}; then
2059
    AC_MSG_ERROR("*** Gdb does not support native target ${host}")
2060
  fi
2061
  frags="$frags $host_makefile_frag"
2062
else
2063
  host_makefile_frag=/dev/null
2064
fi
2065
 
2066
AC_SUBST_FILE(host_makefile_frag)
2067
AC_SUBST(frags)
2068
 
2069
changequote(,)dnl
2070
if test "${gdb_native}" = "yes"; then
2071
# We pick this up from the host configuration file (.mh) because we
2072
# do not have a native configuration Makefile fragment.
2073
nativefile=`sed -n '
2074
s/NAT_FILE[     ]*=[    ]*\([^  ]*\)/\1/p
2075
' ${host_makefile_frag}`
2076
fi
2077
changequote([,])
2078
 
2079
if test x"${gdb_osabi}" != x ; then
2080
    AC_DEFINE_UNQUOTED(GDB_OSABI_DEFAULT, $gdb_osabi,
2081
                       [Define to the default OS ABI for this configuration.])
2082
fi
2083
 
2084
# Enable multi-ice-gdb-server.
2085
AC_ARG_ENABLE(multi-ice,
2086
AS_HELP_STRING([--enable-multi-ice], [build the multi-ice-gdb-server]),
2087
  [case $enableval in
2088
    yes | no)
2089
      ;;
2090
    *) AC_MSG_ERROR([bad value $enableval for --enable-multi-ice]) ;;
2091
  esac])
2092
if test "x$enable_multi_ice" = xyes; then
2093
   AC_CONFIG_SUBDIRS(multi-ice)
2094
fi
2095
 
2096
# We only build gdbserver automatically in a native configuration.
2097
if test "$gdb_native" = "yes"; then
2098
  AC_MSG_CHECKING(whether gdbserver is supported on this host)
2099
  if test "x$build_gdbserver" = xyes; then
2100
    AC_MSG_RESULT(yes)
2101
    AC_CONFIG_SUBDIRS(gdbserver)
2102
  else
2103
    AC_MSG_RESULT(no)
2104
  fi
2105
fi
2106
 
2107
# If nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
2108
# to an empty version.
2109
 
2110
files=
2111
links=
2112
 
2113
rm -f nm.h
2114
if test "${nativefile}" != ""; then
2115
    case "${nativefile}" in
2116
      nm-*.h ) GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}" ;;
2117
      * ) GDB_NM_FILE="${nativefile}"
2118
    esac
2119
    files="${files} ${GDB_NM_FILE}"
2120
    links="${links} nm.h"
2121
    AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}", [nativefile])
2122
fi
2123
AC_SUBST(GDB_NM_FILE)
2124
 
2125
AC_LINK_FILES($files, $links)
2126
 
2127
dnl Check for exe extension set on certain hosts (e.g. Win32)
2128
AC_EXEEXT
2129
 
2130
dnl  Detect the character set used by this host.
2131
dnl  At the moment, we just assume it's UTF-8.
2132
AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "UTF-8",
2133
          [Define to be a string naming the default host character set.])
2134
 
2135
AC_OUTPUT(Makefile .gdbinit:gdbinit.in gnulib/Makefile,
2136
[
2137
case x$CONFIG_HEADERS in
2138
xconfig.h:config.in)
2139
echo > stamp-h ;;
2140
esac
2141
])
2142
 
2143
exit 0

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.