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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [gdb/] [configure.ac] - Blame information for rev 853

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

Line No. Rev Author Line
1 227 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
AC_DEFUN([AC_TRY_LIBPYTHON],
593
[
594
  version=$1
595
  define([have_libpython_var],$2)
596
  define([VERSION],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
597
                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
598
  [HAVE_LIB]VERSION=no
599
  AC_MSG_CHECKING([for ${version}])
600
  save_LIBS=$LIBS
601
  LIBS="$LIBS -l${version}"
602
  AC_LINK_IFELSE(AC_LANG_PROGRAM([[#include "${version}/Python.h"]],
603
                                 [[Py_Initialize ();]]),
604
                 [[HAVE_LIB]VERSION=yes
605
                  have_libpython_var=yes],
606
                 [LIBS=$save_LIBS])
607
  AC_MSG_RESULT([$[HAVE_LIB]VERSION])
608
])
609
 
610
AC_ARG_WITH(python,
611
  AS_HELP_STRING([--with-python], [include python support (auto/yes/no/)]),
612
  [], [with_python=auto])
613
AC_MSG_CHECKING([whether to use python])
614
AC_MSG_RESULT([$with_python])
615
 
616
if test "${with_python}" = no; then
617
  AC_MSG_WARN([python support disabled; some features may be unavailable.])
618
  have_libpython=no
619
else
620
  case "${with_python}" in
621
  yes | auto)
622
    # Leave as empty, use defaults.
623
    python_includes=
624
    python_libs=
625
    ;;
626
  /*)
627
    python_includes="-I${with_python}/include"
628
    python_libs="-L${with_python}/lib"
629
    ;;
630
  *)
631
    AC_ERROR(invalid value for --with-python)
632
    ;;
633
  esac
634
 
635
  save_CPPFLAGS=$CPPFLAGS
636
  CPPFLAGS="$CPPFLAGS ${python_includes}"
637
  save_LIBS=$LIBS
638
  LIBS="$LIBS ${python_libs}"
639
  have_libpython=no
640
  if test "${have_libpython}" = no; then
641
    AC_TRY_LIBPYTHON(python2.6, have_libpython)
642
    if test "${HAVE_LIBPYTHON2_6}" = yes; then
643
      AC_DEFINE(HAVE_LIBPYTHON2_6, 1, [Define if Python 2.6 is being used.])
644
    fi
645
  fi
646
  if test ${have_libpython} = no; then
647
    AC_TRY_LIBPYTHON(python2.5, have_libpython)
648
    if test "${HAVE_LIBPYTHON2_5}" = yes; then
649
      AC_DEFINE(HAVE_LIBPYTHON2_5, 1, [Define if Python 2.5 is being used.])
650
    fi
651
  fi
652
  if test ${have_libpython} = no; then
653
    AC_TRY_LIBPYTHON(python2.4, have_libpython)
654
    if test "${HAVE_LIBPYTHON2_4}" = yes; then
655
      AC_DEFINE(HAVE_LIBPYTHON2_4, 1, [Define if Python 2.4 is being used.])
656
    fi
657
  fi
658
  if test ${have_libpython} = no; then
659
    case "${with_python}" in
660
    yes)
661
      AC_MSG_ERROR([python is missing or unusable])
662
      ;;
663
    auto)
664
      AC_MSG_WARN([python is missing or unusable; some features may be unavailable.])
665
      ;;
666
    *)
667
      AC_MSG_ERROR([no usable python found at ${with_python}])
668
      ;;
669
    esac
670
    CPPFLAGS=$save_CPPFLAGS
671
    LIBS=$save_LIBS
672
  fi
673
fi
674
 
675
if test "${have_libpython}" = yes; then
676
  AC_DEFINE(HAVE_PYTHON, 1, [Define if Python interpreter is being linked in.])
677
  CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_PYTHON_OBS)"
678
  CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_PYTHON_DEPS)"
679
  CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_PYTHON_SRCS)"
680
  ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_PYTHON_CFLAGS)"
681
 
682
  # Flags needed to compile Python code (taken from python-config --cflags).
683
  # We cannot call python-config directly because it will output whatever was
684
  # used when compiling the Python interpreter itself, including flags which
685
  # would make the python-related objects be compiled differently from the
686
  # rest of GDB (e.g., -O2 and -fPIC).
687
  if test "${GCC}" = yes; then
688
    tentative_python_cflags="-fno-strict-aliasing -DNDEBUG -fwrapv"
689
  fi
690
 
691
  if test "x${tentative_python_cflags}" != x; then
692
    AC_MSG_CHECKING(compiler flags for python code)
693
    for flag in ${tentative_python_cflags}; do
694
      # Check that the compiler accepts it
695
      saved_CFLAGS="$CFLAGS"
696
      CFLAGS="$CFLAGS $flag"
697
      AC_TRY_COMPILE([],[],PYTHON_CFLAGS="${PYTHON_CFLAGS} $flag",)
698
      CFLAGS="$saved_CFLAGS"
699
    done
700
    AC_MSG_RESULT(${PYTHON_CFLAGS})
701
  fi
702
else
703
  # Even if Python support is not compiled in, we need to have these files
704
  # included in order to recognize the GDB command "python".
705
  CONFIG_OBS="$CONFIG_OBS python.o py-value.o py-prettyprint.o"
706
  CONFIG_SRCS="$CONFIG_SRCS python/python.c python/py-value.c python/py-prettyprint.c"
707
fi
708
AC_SUBST(PYTHON_CFLAGS)
709
 
710
# ------------------------- #
711
# Checks for header files.  #
712
# ------------------------- #
713
 
714
AC_HEADER_DIRENT
715
AC_HEADER_STAT
716
AC_HEADER_STDC
717
# elf_hp.h is for HP/UX 64-bit shared library support.
718
# FIXME: kettenis/20030102: In most cases we include these (ctype.h, time.h)
719
# unconditionally, so what's the point in checking these?
720
AC_CHECK_HEADERS([nlist.h machine/reg.h poll.h sys/poll.h proc_service.h \
721
                  thread_db.h gnu/libc-version.h signal.h stddef.h \
722
                  stdlib.h string.h memory.h strings.h sys/fault.h \
723
                  sys/file.h sys/filio.h sys/ioctl.h sys/param.h \
724
                  sys/resource.h sys/procfs.h sys/ptrace.h ptrace.h \
725
                  sys/reg.h sys/debugreg.h sys/select.h sys/syscall.h \
726
                  sys/types.h sys/wait.h wait.h termios.h termio.h \
727
                  sgtty.h unistd.h elf_hp.h ctype.h time.h locale.h])
728
AC_CHECK_HEADERS(link.h, [], [],
729
[#if HAVE_SYS_TYPES_H
730
# include 
731
#endif
732
#if HAVE_NLIST_H
733
# include 
734
#endif
735
])
736
AC_CHECK_HEADERS(sys/proc.h, [], [],
737
[#if HAVE_SYS_PARAM_H
738
# include 
739
#endif
740
])
741
AC_CHECK_HEADERS(sys/user.h, [], [],
742
[#if HAVE_SYS_PARAM_H
743
# include 
744
#endif
745
])
746
 
747
# On Solaris 2.[789], we need to define _MSE_INT_H to avoid a clash
748
# between  and  that would cause AC_CHECK_HEADERS to
749
# think that we don't have  if we're using GCC.
750
case $host_os in
751
  solaris2.[[789]])
752
    if test "$GCC" = yes; then
753
      AC_DEFINE(_MSE_INT_H, 1,
754
        [Define to 1 to avoid a clash between  and  on
755
   Solaris 2.[789] when using GCC. ])
756
    fi ;;
757
esac
758
AC_CHECK_HEADERS(curses.h cursesX.h ncurses.h ncurses/ncurses.h ncurses/term.h)
759
AC_CHECK_HEADERS(term.h, [], [],
760
[#if HAVE_CURSES_H
761
# include 
762
#endif
763
])
764
 
765
# ------------------------- #
766
# Checks for declarations.  #
767
# ------------------------- #
768
 
769
AC_CHECK_DECLS([free, malloc, realloc, strerror, strstr, getopt,
770
                snprintf, vsnprintf])
771
AM_LC_MESSAGES
772
 
773
# ----------------------- #
774
# Checks for structures.  #
775
# ----------------------- #
776
 
777
AC_CHECK_MEMBERS([struct stat.st_blocks, struct stat.st_blksize])
778
 
779
# ------------------ #
780
# Checks for types.  #
781
# ------------------ #
782
 
783
AC_TYPE_SIGNAL
784
AC_CHECK_TYPES(socklen_t, [], [],
785
[#include 
786
#include 
787
])
788
 
789
# ------------------------------------- #
790
# Checks for compiler characteristics.  #
791
# ------------------------------------- #
792
 
793
AC_C_CONST
794
AC_C_INLINE
795
AC_C_BIGENDIAN
796
 
797
# ------------------------------ #
798
# Checks for library functions.  #
799
# ------------------------------ #
800
 
801
AC_FUNC_ALLOCA
802
AC_FUNC_MMAP
803
AC_FUNC_VFORK
804
AC_CHECK_FUNCS([canonicalize_file_name realpath getrusage getuid \
805
                getgid pipe poll pread64 sbrk setpgid setpgrp setsid \
806
                sigaction sigprocmask sigsetmask socketpair syscall \
807
                ttrace wborder setlocale iconvlist libiconvlist btowc \
808
                setrlimit getrlimit])
809
AM_LANGINFO_CODESET
810
 
811
# Check the return and argument types of ptrace.  No canned test for
812
# this, so roll our own.
813
gdb_ptrace_headers='
814
#if HAVE_SYS_TYPES_H
815
# include 
816
#endif
817
#if HAVE_SYS_PTRACE_H
818
# include 
819
#endif
820
#if HAVE_UNISTD_H
821
# include 
822
#endif
823
'
824
# There is no point in checking if we don't have a prototype.
825
AC_CHECK_DECLS(ptrace, [], [
826
  : ${gdb_cv_func_ptrace_ret='int'}
827
  : ${gdb_cv_func_ptrace_args='int,int,long,long'}
828
], $gdb_ptrace_headers)
829
# Check return type.  Varargs (used on GNU/Linux) conflict with the
830
# empty argument list, so check for that explicitly.
831
AC_CACHE_CHECK([return type of ptrace], gdb_cv_func_ptrace_ret,
832
  AC_TRY_COMPILE($gdb_ptrace_headers,
833
    [extern long ptrace (enum __ptrace_request, ...);],
834
    gdb_cv_func_ptrace_ret='long',
835
    AC_TRY_COMPILE($gdb_ptrace_headers,
836
      [extern int ptrace ();],
837
      gdb_cv_func_ptrace_ret='int',
838
      gdb_cv_func_ptrace_ret='long')))
839
AC_DEFINE_UNQUOTED(PTRACE_TYPE_RET, $gdb_cv_func_ptrace_ret,
840
  [Define as the return type of ptrace.])
841
# Check argument types.
842
AC_CACHE_CHECK([types of arguments for ptrace], gdb_cv_func_ptrace_args, [
843
  AC_TRY_COMPILE($gdb_ptrace_headers,
844
    [extern long ptrace (enum __ptrace_request, ...);],
845
    [gdb_cv_func_ptrace_args='int,int,long,long'],[
846
for gdb_arg1 in 'int' 'long'; do
847
 for gdb_arg2 in 'pid_t' 'int' 'long'; do
848
  for gdb_arg3 in 'int *' 'caddr_t' 'int' 'long' 'void *'; do
849
   for gdb_arg4 in 'int' 'long'; do
850
     AC_TRY_COMPILE($gdb_ptrace_headers, [
851
extern $gdb_cv_func_ptrace_ret
852
  ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4);
853
], [gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4";
854
    break 4;])
855
    for gdb_arg5 in 'int *' 'int' 'long'; do
856
     AC_TRY_COMPILE($gdb_ptrace_headers, [
857
extern $gdb_cv_func_ptrace_ret
858
  ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4, $gdb_arg5);
859
], [
860
gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4,$gdb_arg5";
861
    break 5;])
862
    done
863
   done
864
  done
865
 done
866
done
867
# Provide a safe default value.
868
: ${gdb_cv_func_ptrace_args='int,int,long,long'}
869
])])
870
ac_save_IFS=$IFS; IFS=','
871
set dummy `echo "$gdb_cv_func_ptrace_args" | sed 's/\*/\*/g'`
872
IFS=$ac_save_IFS
873
shift
874
AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG3, $[3],
875
  [Define to the type of arg 3 for ptrace.])
876
if test -n "$[5]"; then
877
  AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG5, $[5],
878
    [Define to the type of arg 5 for ptrace.])
879
fi
880
 
881
dnl AC_FUNC_SETPGRP does not work when cross compiling
882
dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
883
if test "$cross_compiling" = no; then
884
  AC_FUNC_SETPGRP
885
else
886
  AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,
887
    [AC_TRY_COMPILE([
888
#include 
889
], [
890
  if (setpgrp(1,1) == -1)
891
    exit (0);
892
  else
893
    exit (1);
894
], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])
895
if test $ac_cv_func_setpgrp_void = yes; then
896
  AC_DEFINE(SETPGRP_VOID, 1)
897
fi
898
fi
899
 
900
# Check if sigsetjmp is available.  Using AC_CHECK_FUNCS won't do
901
# since sigsetjmp might only be defined as a macro.
902
AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
903
[AC_TRY_COMPILE([
904
#include 
905
], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
906
gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
907
if test $gdb_cv_func_sigsetjmp = yes; then
908
  AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
909
fi
910
 
911
# Assume we'll default to using the included libiberty regex.
912
gdb_use_included_regex=yes
913
 
914
# However, if the system regex is GNU regex, then default to *not*
915
# using the included regex.
916
AC_CACHE_CHECK(
917
  [for GNU regex],
918
  [gdb_cv_have_gnu_regex],
919
  [AC_TRY_COMPILE(
920
    [#include ],
921
    [#define REGEX_INTERFACE_VERSION 1
922
#if _GNU_REGEX_INTERFACE_VERSION != REGEX_INTERFACE_VERSION
923
# error "Version mismatch"
924
#endif],
925
    gdb_cv_have_gnu_regex=yes,
926
    gdb_cv_have_gnu_regex=no)])
927
if test $gdb_cv_have_gnu_regex = yes; then
928
  gdb_use_included_regex=no
929
fi
930
 
931
AC_ARG_WITH(included-regex,
932
  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)]),
933
  gdb_with_regex=$withval,
934
  gdb_with_regex=$gdb_use_included_regex)
935
if test "$gdb_with_regex" = yes; then
936
  AC_DEFINE(USE_INCLUDED_REGEX, 1,
937
    [Define to 1 if the regex included in libiberty should be used.])
938
fi
939
 
940
# Check if  defines `struct thread' with a td_pcb member.
941
AC_CHECK_MEMBERS([struct thread.td_pcb], [], [],
942
[#include 
943
#include 
944
])
945
 
946
# See if  defines `struct lwp`.
947
AC_CACHE_CHECK([for struct lwp], gdb_cv_struct_lwp,
948
[AC_TRY_COMPILE([#include 
949
#include ], [struct lwp l;],
950
gdb_cv_struct_lwp=yes, gdb_cv_struct_lwp=no)])
951
if test $gdb_cv_struct_lwp = yes; then
952
  AC_DEFINE(HAVE_STRUCT_LWP, 1,
953
            [Define to 1 if your system has struct lwp.])
954
fi
955
 
956
# See if  degines `struct reg'.
957
AC_CACHE_CHECK([for struct reg in machine/reg.h], gdb_cv_struct_reg,
958
[AC_TRY_COMPILE([#include 
959
#include ], [struct reg r;],
960
gdb_cv_struct_reg=yes, gdb_cv_struct_reg=no)])
961
if test $gdb_cv_struct_reg = yes; then
962
  AC_DEFINE(HAVE_STRUCT_REG, 1,
963
            [Define to 1 if your system has struct reg in .])
964
fi
965
 
966
# See if  supports the %fs and %gs i386 segment registers.
967
# Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
968
AC_CHECK_MEMBERS([struct reg.r_fs, struct reg.r_gs], [], [],
969
                 [#include ])
970
 
971
# See if  provides the PTRACE_GETREGS request.
972
AC_MSG_CHECKING(for PTRACE_GETREGS)
973
AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
974
[AC_TRY_COMPILE([#include ],
975
                [PTRACE_GETREGS;],
976
                [gdb_cv_have_ptrace_getregs=yes],
977
                [gdb_cv_have_ptrace_getregs=no])])
978
AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
979
if test $gdb_cv_have_ptrace_getregs = yes; then
980
  AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
981
  [Define if sys/ptrace.h defines the PTRACE_GETREGS request.])
982
fi
983
 
984
# See if  provides the PTRACE_GETFPXREGS request.
985
AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
986
AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
987
[AC_TRY_COMPILE([#include ],
988
                [PTRACE_GETFPXREGS;],
989
                [gdb_cv_have_ptrace_getfpxregs=yes],
990
                [gdb_cv_have_ptrace_getfpxregs=no])])
991
AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
992
if test $gdb_cv_have_ptrace_getfpxregs = yes; then
993
  AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
994
  [Define if sys/ptrace.h defines the PTRACE_GETFPXREGS request.])
995
fi
996
 
997
# See if  provides the PT_GETDBREGS request.
998
AC_MSG_CHECKING(for PT_GETDBREGS)
999
AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
1000
[AC_TRY_COMPILE([#include 
1001
#include ],
1002
                [PT_GETDBREGS;],
1003
                [gdb_cv_have_pt_getdbregs=yes],
1004
                [gdb_cv_have_pt_getdbregs=no])])
1005
AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
1006
if test $gdb_cv_have_pt_getdbregs = yes; then
1007
  AC_DEFINE(HAVE_PT_GETDBREGS, 1,
1008
  [Define if sys/ptrace.h defines the PT_GETDBREGS request.])
1009
fi
1010
 
1011
# See if  provides the PT_GETXMMREGS request.
1012
AC_MSG_CHECKING(for PT_GETXMMREGS)
1013
AC_CACHE_VAL(gdb_cv_have_pt_getxmmregs,
1014
[AC_TRY_COMPILE([#include 
1015
#include ],
1016
                [PT_GETXMMREGS;],
1017
                [gdb_cv_have_pt_getxmmregs=yes],
1018
                [gdb_cv_have_pt_getxmmregs=no])])
1019
AC_MSG_RESULT($gdb_cv_have_pt_getxmmregs)
1020
if test $gdb_cv_have_pt_getxmmregs = yes; then
1021
  AC_DEFINE(HAVE_PT_GETXMMREGS, 1,
1022
  [Define if sys/ptrace.h defines the PT_GETXMMREGS request.])
1023
fi
1024
 
1025
# Detect which type of /proc is in use, such as for Unixware or Solaris.
1026
 
1027
if test "${target}" = "${host}"; then
1028
  case "${host}" in
1029
  *-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* )
1030
      AC_DEFINE(NEW_PROC_API, 1,
1031
      [Define if you want to use new multi-fd /proc interface
1032
       (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).])
1033
      ;;
1034
  *-*-solaris2.[[6789]] | *-*-solaris2.1[[0-9]]*)
1035
      AC_DEFINE(NEW_PROC_API, 1,
1036
      [Define if you want to use new multi-fd /proc interface
1037
       (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).])
1038
      ;;
1039
  mips-sgi-irix5*)
1040
      # Work around  needing _KMEMUSER problem on IRIX 5.
1041
      AC_DEFINE([_KMEMUSER], 1,
1042
      [Define to 1 so  gets a definition of anon_hdl.  Works
1043
       around a  problem on IRIX 5.])
1044
      ;;
1045
  esac
1046
fi
1047
 
1048
if test "$ac_cv_header_sys_procfs_h" = yes; then
1049
  BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
1050
  BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
1051
  BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
1052
  BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
1053
  BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
1054
  BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
1055
  BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
1056
  BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
1057
  BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
1058
  BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
1059
  BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)
1060
  BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)
1061
  BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)
1062
  BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)
1063
 
1064
 
1065
  dnl Check for broken prfpregset_t type
1066
 
1067
  dnl For Linux/i386, glibc 2.1.3 was released with a bogus
1068
  dnl prfpregset_t type (it's a typedef for the pointer to a struct
1069
  dnl instead of the struct itself).  We detect this here, and work
1070
  dnl around it in gdb_proc_service.h.
1071
 
1072
  if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
1073
    AC_MSG_CHECKING(whether prfpregset_t type is broken)
1074
    AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
1075
      [AC_TRY_RUN([#include 
1076
       int main ()
1077
       {
1078
         if (sizeof (prfpregset_t) == sizeof (void *))
1079
           return 1;
1080
         return 0;
1081
       }],
1082
       gdb_cv_prfpregset_t_broken=no,
1083
       gdb_cv_prfpregset_t_broken=yes,
1084
       gdb_cv_prfpregset_t_broken=yes)])
1085
    AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
1086
    if test $gdb_cv_prfpregset_t_broken = yes; then
1087
      AC_DEFINE(PRFPREGSET_T_BROKEN, 1,
1088
      [Define if the prfpregset_t type is broken.])
1089
    fi
1090
  fi
1091
 
1092
  dnl Check for PIOCSET ioctl entry
1093
 
1094
  AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
1095
  AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
1096
  [AC_TRY_COMPILE([#include 
1097
#include 
1098
#include 
1099
], [
1100
    int dummy;;
1101
    dummy = ioctl(0, PIOCSET, &dummy);
1102
  ],
1103
  gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
1104
  AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
1105
  if test $gdb_cv_have_procfs_piocset = yes; then
1106
    AC_DEFINE(HAVE_PROCFS_PIOCSET, 1,
1107
    [Define if ioctl argument PIOCSET is available.])
1108
  fi
1109
fi
1110
 
1111
dnl For native ports (host == target), check to see what kind of
1112
dnl legacy link.h support is needed.  (See solib-legacy.c.)
1113
if test ${host} = ${target} ; then
1114
  dnl Check for struct link_map with l_ members which are indicative
1115
  dnl of SVR4-like shared libraries
1116
 
1117
  AC_MSG_CHECKING(for member l_addr in struct link_map)
1118
  AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,
1119
    [AC_TRY_COMPILE([#include ],
1120
                    [struct link_map lm; (void) lm.l_addr;],
1121
                    gdb_cv_have_struct_link_map_with_l_members=yes,
1122
                    gdb_cv_have_struct_link_map_with_l_members=no)])
1123
  AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)
1124
  if test $gdb_cv_have_struct_link_map_with_l_members = yes; then
1125
    AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS,1,
1126
    [Define if  exists and defines struct link_map which has
1127
     members with an ``l_'' prefix.  (For Solaris, SVR4, and
1128
     SVR4-like systems.)])
1129
  fi
1130
 
1131
  dnl Check for struct link_map with lm_ members which are indicative
1132
  dnl of SunOS-like shared libraries
1133
 
1134
  AC_MSG_CHECKING(for member lm_addr in struct link_map)
1135
  AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,
1136
    [AC_TRY_COMPILE([#include 
1137
#include ],
1138
                    [struct link_map lm; (void) lm.lm_addr;],
1139
                    gdb_cv_have_struct_link_map_with_lm_members=yes,
1140
                    gdb_cv_have_struct_link_map_with_lm_members=no)])
1141
  AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)
1142
  if test $gdb_cv_have_struct_link_map_with_lm_members = yes; then
1143
    AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS, 1,
1144
    [Define if  exists and defines struct link_map which has
1145
     members with an ``lm_'' prefix.  (For SunOS.)])
1146
  fi
1147
 
1148
  dnl Check for struct so_map with som_ members which are found on
1149
  dnl some *BSD systems.
1150
 
1151
  AC_MSG_CHECKING(for member som_addr in struct so_map)
1152
  AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,
1153
    [AC_TRY_COMPILE([#include 
1154
#ifdef HAVE_NLIST_H
1155
#include 
1156
#endif
1157
#include ],
1158
                    [struct so_map lm; (void) lm.som_addr;],
1159
                    gdb_cv_have_struct_so_map_with_som_members=yes,
1160
                    gdb_cv_have_struct_so_map_with_som_members=no)])
1161
  AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)
1162
  if test $gdb_cv_have_struct_so_map_with_som_members = yes; then
1163
    AC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS, 1,
1164
    [Define if  exists and defines a struct so_map which has
1165
     members with an ``som_'' prefix.  (Found on older *BSD systems.)])
1166
  fi
1167
 
1168
  dnl Check for struct link_map32 type, which allows a 64-bit Solaris
1169
  dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
1170
 
1171
  AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
1172
  AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
1173
    [AC_TRY_COMPILE([#define _SYSCALL32
1174
#include ], [struct link_map32 l;],
1175
     gdb_cv_have_struct_link_map32=yes,
1176
     gdb_cv_have_struct_link_map32=no)])
1177
  AC_MSG_RESULT($gdb_cv_have_struct_link_map32)
1178
  if test $gdb_cv_have_struct_link_map32 = yes; then
1179
    AC_DEFINE(HAVE_STRUCT_LINK_MAP32, 1,
1180
    [Define if  has struct link_map32])
1181
    AC_DEFINE(_SYSCALL32, 1,
1182
    [Define if  has link_map32 (solaris sparc-64 target)])
1183
  fi
1184
fi
1185
 
1186
# Check if the compiler supports the `long long' type.
1187
 
1188
AC_CACHE_CHECK([for long long support in compiler], gdb_cv_c_long_long,
1189
               [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
1190
[[extern long long foo;]],
1191
[[switch (foo & 2) { case 0: return 1; }]])],
1192
                                  gdb_cv_c_long_long=yes,
1193
                                  gdb_cv_c_long_long=no)])
1194
if test $gdb_cv_c_long_long = yes; then
1195
  AC_DEFINE(CC_HAS_LONG_LONG, 1,
1196
            [Define to 1 if the compiler supports long long.])
1197
fi
1198
 
1199
# Check if the compiler and runtime support printing long longs.
1200
 
1201
AC_CACHE_CHECK([for long long support in printf],
1202
               gdb_cv_printf_has_long_long,
1203
               [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1204
[[char buf[32];
1205
  long long l = 0;
1206
  l = (l << 16) + 0x0123;
1207
  l = (l << 16) + 0x4567;
1208
  l = (l << 16) + 0x89ab;
1209
  l = (l << 16) + 0xcdef;
1210
  sprintf (buf, "0x%016llx", l);
1211
  return (strcmp ("0x0123456789abcdef", buf));]])],
1212
                              gdb_cv_printf_has_long_long=yes,
1213
                              gdb_cv_printf_has_long_long=no,
1214
                              gdb_cv_printf_has_long_long=no)])
1215
if test $gdb_cv_printf_has_long_long = yes; then
1216
  AC_DEFINE(PRINTF_HAS_LONG_LONG, 1,
1217
            [Define to 1 if the "%ll" format works to print long longs.])
1218
fi
1219
 
1220
# Check if the compiler and runtime support printing decfloats.
1221
 
1222
AC_CACHE_CHECK([for decfloat support in printf],
1223
               gdb_cv_printf_has_decfloat,
1224
               [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1225
[[char buf[64];
1226
  _Decimal32 d32 = 1.2345df;
1227
  _Decimal64 d64 = 1.2345dd;
1228
  _Decimal128 d128 = 1.2345dl;
1229
  sprintf (buf, "Decimal32: %H\nDecimal64: %D\nDecimal128: %DD", d32, d64, d128);
1230
  return (strcmp ("Decimal32: 1.2345\nDecimal64: 1.2345\nDecimal128: 1.2345", buf));]])],
1231
                              gdb_cv_printf_has_decfloat=yes,
1232
                              gdb_cv_printf_has_decfloat=no,
1233
                              gdb_cv_printf_has_decfloat=no)])
1234
if test $gdb_cv_printf_has_decfloat = yes; then
1235
  AC_DEFINE(PRINTF_HAS_DECFLOAT, 1,
1236
            [Define to 1 if the "%H, %D and %DD" formats work to print decfloats.])
1237
fi
1238
 
1239
# Check if the compiler supports the `long double' type.  We can't use
1240
# AC_C_LONG_DOUBLE because that one does additional checks on the
1241
# constants defined in  that fail on some systems,
1242
# e.g. FreeBSD/i386 4.7 and OpenBSD/i386 3.6.
1243
 
1244
AC_CACHE_CHECK([for long double support in compiler], gdb_cv_c_long_double,
1245
               [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[long double foo;]])],
1246
                                  gdb_cv_c_long_double=yes,
1247
                                  gdb_cv_c_long_double=no)])
1248
if test $gdb_cv_c_long_double = yes; then
1249
  AC_DEFINE(HAVE_LONG_DOUBLE, 1,
1250
           [Define to 1 if the compiler supports long double.])
1251
fi
1252
 
1253
# Check if the compiler and runtime support printing long doubles.
1254
 
1255
AC_CACHE_CHECK([for long double support in printf],
1256
               gdb_cv_printf_has_long_double,
1257
               [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1258
[[char buf[16];
1259
  long double f = 3.141592653;
1260
  sprintf (buf, "%Lg", f);
1261
  return (strncmp ("3.14159", buf, 7));]])],
1262
                              gdb_cv_printf_has_long_double=yes,
1263
                              gdb_cv_printf_has_long_double=no,
1264
                              gdb_cv_printf_has_long_double=no)])
1265
if test $gdb_cv_printf_has_long_double = yes; then
1266
  AC_DEFINE(PRINTF_HAS_LONG_DOUBLE, 1,
1267
            [Define to 1 if the "%Lg" format works to print long doubles.])
1268
fi
1269
 
1270
# Check if the compiler and runtime support scanning long doubles.
1271
 
1272
AC_CACHE_CHECK([for long double support in scanf],
1273
               gdb_cv_scanf_has_long_double,
1274
               [AC_RUN_IFELSE([AC_LANG_PROGRAM(
1275
[[#include ]],
1276
[[char *buf = "3.141592653";
1277
  long double f = 0;
1278
  sscanf (buf, "%Lg", &f);
1279
  return !(f > 3.14159 && f < 3.14160);]])],
1280
                              gdb_cv_scanf_has_long_double=yes,
1281
                              gdb_cv_scanf_has_long_double=no,
1282
                              gdb_cv_scanf_has_long_double=no)])
1283
if test $gdb_cv_scanf_has_long_double = yes; then
1284
  AC_DEFINE(SCANF_HAS_LONG_DOUBLE, 1,
1285
            [Define to 1 if the "%Lg" format works to scan long doubles.])
1286
fi
1287
 
1288
case ${host_os} in
1289
aix*)
1290
  AC_CACHE_CHECK([for -bbigtoc option], [gdb_cv_bigtoc], [
1291
    SAVE_LDFLAGS=$LDFLAGS
1292
 
1293
    case $GCC in
1294
    yes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;
1295
    *) gdb_cv_bigtoc=-bbigtoc ;;
1296
    esac
1297
 
1298
    LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
1299
    AC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])
1300
    LDFLAGS="${SAVE_LDFLAGS}"
1301
  ])
1302
  CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
1303
  ;;
1304
esac
1305
 
1306
 
1307
dnl For certain native configurations, we need to check whether thread
1308
dnl support can be built in or not.
1309
dnl
1310
dnl Note that we only want this if we are both native (host == target),
1311
dnl and not doing a canadian cross build (build == host).
1312
 
1313
if test ${build} = ${host} -a ${host} = ${target} ; then
1314
   case ${host_os} in
1315
   hpux*)
1316
      AC_MSG_CHECKING(for HPUX/OSF thread support)
1317
      if test -f /usr/include/dce/cma_config.h ; then
1318
         if test "$GCC" = "yes" ; then
1319
            AC_MSG_RESULT(yes)
1320
            AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT, 1,
1321
            [Define if you have HPUX threads])
1322
            CONFIG_OBS="${CONFIG_OBS} hpux-thread.o"
1323
            CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
1324
         else
1325
            AC_MSG_RESULT(no (suppressed because you are not using GCC))
1326
         fi
1327
      else
1328
         AC_MSG_RESULT(no)
1329
      fi
1330
      ;;
1331
   solaris*)
1332
      # See if thread_db library is around for Solaris thread debugging.
1333
      # Note that we must explicitly test for version 1 of the library
1334
      # because version 0 (present on Solaris 2.4 or earlier) doesn't have
1335
      # the same API.
1336
      AC_MSG_CHECKING(for Solaris thread debugging library)
1337
      if test -f /usr/lib/libthread_db.so.1 ; then
1338
         AC_MSG_RESULT(yes)
1339
         AC_DEFINE(HAVE_THREAD_DB_LIB, 1,
1340
         [Define if using Solaris thread debugging.])
1341
         CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
1342
         CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
1343
         AC_CHECK_LIB(dl, dlopen)
1344
         if test "$GCC" = "yes" ; then
1345
            # The GNU linker requires the -export-dynamic option to make
1346
            # all symbols visible in the dynamic symbol table.
1347
            hold_ldflags=$LDFLAGS
1348
            AC_MSG_CHECKING(for the ld -export-dynamic flag)
1349
            LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
1350
            AC_TRY_LINK(, [int i;], found=yes, found=no)
1351
            LDFLAGS=$hold_ldflags
1352
            AC_MSG_RESULT($found)
1353
            if test $found = yes; then
1354
               CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
1355
            fi
1356
         fi
1357
         # Sun randomly tweaked the prototypes in 
1358
         # at one point.
1359
         AC_MSG_CHECKING(if  is old)
1360
         AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
1361
            AC_TRY_COMPILE([
1362
                #include 
1363
                ps_err_e ps_pdwrite
1364
                    (struct ps_prochandle*, psaddr_t, const void*, size_t);
1365
            ],, gdb_cv_proc_service_is_old=no,
1366
                gdb_cv_proc_service_is_old=yes)
1367
         ])
1368
         AC_MSG_RESULT($gdb_cv_proc_service_is_old)
1369
         if test $gdb_cv_proc_service_is_old = yes; then
1370
            AC_DEFINE(PROC_SERVICE_IS_OLD, 1,
1371
            [Define if  on solaris uses int instead of
1372
             size_t, and assorted other type changes.])
1373
         fi
1374
      else
1375
         AC_MSG_RESULT(no)
1376
      fi
1377
      ;;
1378
   aix*)
1379
      AC_MSG_CHECKING(for AiX thread debugging library)
1380
      AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,
1381
                   [AC_TRY_COMPILE([#include ],
1382
                                   [#ifndef PTHDB_VERSION_3
1383
                                    #error
1384
                                    #endif],
1385
                                   gdb_cv_have_aix_thread_debug=yes,
1386
                                   gdb_cv_have_aix_thread_debug=no)])
1387
      AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)
1388
      if test $gdb_cv_have_aix_thread_debug = yes; then
1389
         CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
1390
         CONFIG_OBS="${CONFIG_OBS} aix-thread.o"
1391
         CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug"
1392
      fi
1393
      ;;
1394
   esac
1395
   AC_SUBST(CONFIG_LDFLAGS)
1396
fi
1397
 
1398
dnl See if we have a thread_db header file that has TD_NOTALLOC and
1399
dnl other error codes.
1400
if test "x$ac_cv_header_thread_db_h" = "xyes"; then
1401
   AC_CACHE_CHECK([whether  has TD_NOTALLOC],
1402
                  gdb_cv_thread_db_h_has_td_notalloc,
1403
     AC_TRY_COMPILE(
1404
       [#include ],
1405
       [int i = TD_NOTALLOC;],
1406
       gdb_cv_thread_db_h_has_td_notalloc=yes,
1407
       gdb_cv_thread_db_h_has_td_notalloc=no
1408
     )
1409
   )
1410
   AC_CACHE_CHECK([whether  has TD_VERSION],
1411
                  gdb_cv_thread_db_h_has_td_version,
1412
     AC_TRY_COMPILE(
1413
       [#include ],
1414
       [int i = TD_VERSION;],
1415
       gdb_cv_thread_db_h_has_td_version=yes,
1416
       gdb_cv_thread_db_h_has_td_version=no
1417
     )
1418
   )
1419
   AC_CACHE_CHECK([whether  has TD_NOTLS],
1420
                  gdb_cv_thread_db_h_has_td_notls,
1421
     AC_TRY_COMPILE(
1422
       [#include ],
1423
       [int i = TD_NOTLS;],
1424
       gdb_cv_thread_db_h_has_td_notls=yes,
1425
       gdb_cv_thread_db_h_has_td_notls=no
1426
     )
1427
   )
1428
fi
1429
if test "x$gdb_cv_thread_db_h_has_td_notalloc" = "xyes"; then
1430
  AC_DEFINE(THREAD_DB_HAS_TD_NOTALLOC, 1,
1431
            [Define if  has the TD_NOTALLOC error code.])
1432
fi
1433
if test "x$gdb_cv_thread_db_h_has_td_version" = "xyes"; then
1434
  AC_DEFINE(THREAD_DB_HAS_TD_VERSION, 1,
1435
            [Define if  has the TD_VERSION error code.])
1436
fi
1437
if test "x$gdb_cv_thread_db_h_has_td_notls" = "xyes"; then
1438
  AC_DEFINE(THREAD_DB_HAS_TD_NOTLS, 1,
1439
            [Define if  has the TD_NOTLS error code.])
1440
fi
1441
 
1442
dnl See if we have a sys/syscall header file that has __NR_tkill.
1443
if test "x$ac_cv_header_sys_syscall_h" = "xyes"; then
1444
   AC_CACHE_CHECK([whether  has __NR_tkill],
1445
                  gdb_cv_sys_syscall_h_has_tkill,
1446
     AC_TRY_COMPILE(
1447
       [#include ],
1448
       [int i = __NR_tkill;],
1449
       gdb_cv_sys_syscall_h_has_tkill=yes,
1450
       gdb_cv_sys_syscall_h_has_tkill=no
1451
     )
1452
   )
1453
fi
1454
dnl See if we can issue tkill syscall.
1455
if test "x$gdb_cv_sys_syscall_h_has_tkill" = "xyes" && test "x$ac_cv_func_syscall" = "xyes"; then
1456
  AC_DEFINE(HAVE_TKILL_SYSCALL, 1, [Define if you support the tkill syscall.])
1457
fi
1458
 
1459
dnl Check if we can disable the virtual address space randomization.
1460
dnl The functionality of setarch -R.
1461
AC_CHECK_DECLS([ADDR_NO_RANDOMIZE],,, [#include ])
1462
define([PERSONALITY_TEST], [AC_LANG_PROGRAM([#include ], [
1463
#      if !HAVE_DECL_ADDR_NO_RANDOMIZE
1464
#       define ADDR_NO_RANDOMIZE 0x0040000
1465
#      endif
1466
       /* Test the flag could be set and stays set.  */
1467
       personality (personality (0xffffffff) | ADDR_NO_RANDOMIZE);
1468
       if (!(personality (personality (0xffffffff)) & ADDR_NO_RANDOMIZE))
1469
           return 1])])
1470
AC_RUN_IFELSE([PERSONALITY_TEST],
1471
              [have_personality=true],
1472
              [have_personality=false],
1473
              [AC_LINK_IFELSE([PERSONALITY_TEST],
1474
                              [have_personality=true],
1475
                              [have_personality=false])])
1476
if $have_personality
1477
then
1478
    AC_DEFINE([HAVE_PERSONALITY], 1,
1479
              [Define if you support the personality syscall.])
1480
fi
1481
 
1482
dnl Handle optional features that can be enabled.
1483
 
1484
target_sysroot_reloc=0
1485
AC_ARG_WITH(sysroot,
1486
AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], [search for usr/lib et al within DIR]),
1487
[
1488
 case ${with_sysroot} in
1489
 yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;;
1490
 *) TARGET_SYSTEM_ROOT=$with_sysroot ;;
1491
 esac
1492
 
1493
 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
1494
 
1495
 if test "x$prefix" = xNONE; then
1496
  test_prefix=/usr/local
1497
 else
1498
  test_prefix=$prefix
1499
 fi
1500
 if test "x$exec_prefix" = xNONE || test "x$exec_prefix" = 'x${prefix}'; then
1501
  test_exec_prefix=$test_prefix
1502
 else
1503
  test_exec_prefix=$exec_prefix
1504
 fi
1505
 case ${TARGET_SYSTEM_ROOT} in
1506
 "${test_prefix}"|"${test_prefix}/"*|\
1507
 "${test_exec_prefix}"|"${test_exec_prefix}/"*|\
1508
 '${prefix}'|'${prefix}/'*|\
1509
 '${exec_prefix}'|'${exec_prefix}/'*)
1510
   target_sysroot_reloc=1
1511
   ;;
1512
 esac
1513
], [
1514
 TARGET_SYSTEM_ROOT=
1515
 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
1516
])
1517
TARGET_SYSTEM_ROOT_DEFINE="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE=$target_sysroot_reloc"
1518
AC_SUBST(TARGET_SYSTEM_ROOT)
1519
AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
1520
 
1521
GDB_AC_WITH_DIR(SYSTEM_GDBINIT, system-gdbinit,
1522
    [automatically load a system-wide gdbinit file],
1523
    [])
1524
 
1525
AC_ARG_ENABLE(werror,
1526
  AS_HELP_STRING([--enable-werror], [treat compile warnings as errors]),
1527
  [case "${enableval}" in
1528
     yes | y) ERROR_ON_WARNING="yes" ;;
1529
     no | n)  ERROR_ON_WARNING="no" ;;
1530
     *) AC_MSG_ERROR(bad value ${enableval} for --enable-werror) ;;
1531
   esac])
1532
 
1533
WERROR_CFLAGS=""
1534
if test "${ERROR_ON_WARNING}" = yes ; then
1535
    WERROR_CFLAGS="-Werror"
1536
fi
1537
 
1538
# The entries after -Wno-pointer-sign are disabled warnings which may
1539
# be enabled in the future, which can not currently be used to build
1540
# GDB.
1541
# NOTE: If you change this list, remember to update
1542
# gdb/doc/gdbint.texinfo.
1543
build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \
1544
-Wformat-nonliteral -Wno-pointer-sign \
1545
-Wno-unused -Wunused-value -Wunused-function \
1546
-Wno-switch -Wno-char-subscripts"
1547
 
1548
# Enable -Wno-format by default when using gcc on mingw since many
1549
# GCC versions complain about %I64.
1550
case "${host}" in
1551
  *-*-mingw32*) build_warnings="$build_warnings -Wno-format" ;;
1552
esac
1553
 
1554
AC_ARG_ENABLE(build-warnings,
1555
AS_HELP_STRING([--enable-build-warnings], [enable build-time compiler warnings if gcc is used]),
1556
[case "${enableval}" in
1557
  yes)  ;;
1558
  no)   build_warnings="-w";;
1559
  ,*)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
1560
        build_warnings="${build_warnings} ${t}";;
1561
  *,)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
1562
        build_warnings="${t} ${build_warnings}";;
1563
  *)    build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1564
esac
1565
if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1566
  echo "Setting compiler warning flags = $build_warnings" 6>&1
1567
fi])dnl
1568
AC_ARG_ENABLE(gdb-build-warnings,
1569
AS_HELP_STRING([--enable-gdb-build-warnings], [enable GDB specific build-time compiler warnings if gcc is used]),
1570
[case "${enableval}" in
1571
  yes)  ;;
1572
  no)   build_warnings="-w";;
1573
  ,*)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
1574
        build_warnings="${build_warnings} ${t}";;
1575
  *,)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
1576
        build_warnings="${t} ${build_warnings}";;
1577
  *)    build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1578
esac
1579
if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1580
  echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
1581
fi])dnl
1582
WARN_CFLAGS=""
1583
if test "x${build_warnings}" != x -a "x$GCC" = xyes
1584
then
1585
    AC_MSG_CHECKING(compiler warning flags)
1586
    # Separate out the -Werror flag as some files just cannot be
1587
    # compiled with it enabled.
1588
    for w in ${build_warnings}; do
1589
        case $w in
1590
        -Werr*) WERROR_CFLAGS=-Werror ;;
1591
        *) # Check that GCC accepts it
1592
            saved_CFLAGS="$CFLAGS"
1593
            CFLAGS="$CFLAGS $w"
1594
            AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
1595
            CFLAGS="$saved_CFLAGS"
1596
        esac
1597
    done
1598
    AC_MSG_RESULT(${WARN_CFLAGS} ${WERROR_CFLAGS})
1599
fi
1600
AC_SUBST(WARN_CFLAGS)
1601
AC_SUBST(WERROR_CFLAGS)
1602
 
1603
# In the Cygwin environment, we need some additional flags.
1604
AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
1605
[AC_EGREP_CPP(lose, [
1606
#if defined (__CYGWIN__) || defined (__CYGWIN32__)
1607
lose
1608
#endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
1609
 
1610
 
1611
dnl Figure out which of the many generic ser-*.c files the _host_ supports.
1612
SER_HARDWIRE="ser-base.o ser-unix.o ser-pipe.o ser-tcp.o"
1613
case ${host} in
1614
  *go32* ) SER_HARDWIRE=ser-go32.o ;;
1615
  *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
1616
  *mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o ser-mingw.o" ;;
1617
esac
1618
AC_SUBST(SER_HARDWIRE)
1619
 
1620
# libreadline needs libuser32.a in a cygwin environment
1621
WIN32LIBS=
1622
if test x$gdb_cv_os_cygwin = xyes; then
1623
    WIN32LIBS="-luser32"
1624
    case "${target}" in
1625
        *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
1626
        ;;
1627
    esac
1628
fi
1629
 
1630
# The ser-tcp.c module requires sockets.
1631
case ${host} in
1632
  *mingw32*)
1633
    AC_DEFINE(USE_WIN32API, 1,
1634
              [Define if we should use the Windows API, instead of the
1635
               POSIX API.  On Windows, we use the Windows API when
1636
               building for MinGW, but the POSIX API when building
1637
               for Cygwin.])
1638
    WIN32LIBS="$WIN32LIBS -lws2_32"
1639
    ;;
1640
esac
1641
AC_SUBST(WIN32LIBS)
1642
 
1643
# Add ELF support to GDB, but only if BFD includes ELF support.
1644
OLD_CFLAGS=$CFLAGS
1645
OLD_LDFLAGS=$LDFLAGS
1646
OLD_LIBS=$LIBS
1647
CFLAGS="$CFLAGS -I${srcdir}/../include -I../bfd -I${srcdir}/../bfd"
1648
LDFLAGS="$LDFLAGS -L../bfd -L../libiberty"
1649
intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
1650
LIBS="-lbfd -liberty $intl $LIBS"
1651
AC_CACHE_CHECK([for ELF support in BFD], gdb_cv_var_elf,
1652
[AC_TRY_LINK(
1653
[#include 
1654
#include "bfd.h"
1655
#include "elf-bfd.h"
1656
],
1657
[bfd *abfd = NULL; bfd_get_elf_phdr_upper_bound (abfd); ],
1658
gdb_cv_var_elf=yes, gdb_cv_var_elf=no)])
1659
if test $gdb_cv_var_elf = yes; then
1660
  CONFIG_OBS="$CONFIG_OBS elfread.o"
1661
  AC_DEFINE(HAVE_ELF, 1,
1662
            [Define if ELF support should be included.])
1663
fi
1664
CFLAGS=$OLD_CFLAGS
1665
LDFLAGS=$OLD_LDFLAGS
1666
LIBS=$OLD_LIBS
1667
 
1668
# Add any host-specific objects to GDB.
1669
CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
1670
 
1671
LIBGUI="../libgui/src/libgui.a"
1672
GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
1673
AC_SUBST(LIBGUI)
1674
AC_SUBST(GUI_CFLAGS_X)
1675
 
1676
WIN32LDAPP=
1677
AC_SUBST(WIN32LIBS)
1678
AC_SUBST(WIN32LDAPP)
1679
 
1680
case "${host}" in
1681
*-*-cygwin* | *-*-mingw* )
1682
    configdir="win"
1683
    ;;
1684
*)
1685
    configdir="unix"
1686
    ;;
1687
esac
1688
 
1689
GDBTKLIBS=
1690
if test "${enable_gdbtk}" = "yes"; then
1691
 
1692
    # Gdbtk must have an absolute path to srcdir in order to run
1693
    # properly when not installed.
1694
    here=`pwd`
1695
    cd ${srcdir}
1696
    GDBTK_SRC_DIR=`pwd`
1697
    cd $here
1698
 
1699
    SC_PATH_TCLCONFIG
1700
 
1701
    # If $no_tk is nonempty, then we can't do Tk, and there is no
1702
    # point to doing Tcl.
1703
    SC_PATH_TKCONFIG
1704
 
1705
    if test -z "${no_tcl}" -a -z "${no_tk}"; then
1706
        SC_LOAD_TCLCONFIG
1707
 
1708
        # Check for in-tree tcl
1709
        here=`pwd`
1710
        cd ${srcdir}/..
1711
        topdir=`pwd`
1712
        cd ${here}
1713
 
1714
        intree="no"
1715
        if test "${TCL_SRC_DIR}" = "${topdir}/tcl"; then
1716
          intree="yes"
1717
        fi
1718
 
1719
        # Find Tcl private headers
1720
        if test x"${intree}" = xno; then
1721
          CY_AC_TCL_PRIVATE_HEADERS
1722
          TCL_INCLUDE="${TCL_INCLUDE_SPEC} ${TCL_PRIVATE_INCLUDE}"
1723
          TCL_LIBRARY="${TCL_LIB_SPEC}"
1724
          TCL_DEPS=""
1725
        else
1726
          # If building tcl in the same src tree, private headers
1727
          # are not needed, but we need to be sure to use the right
1728
          # headers library
1729
          TCL_INCLUDE="-I${TCL_SRC_DIR}/generic"
1730
          TCL_LIBRARY="${TCL_BUILD_LIB_SPEC}"
1731
          TCL_DEPS="../tcl/${configdir}${TCL_LIB_FILE}"
1732
        fi
1733
        AC_SUBST(TCL_INCLUDE)
1734
        AC_SUBST(TCL_LIBRARY)
1735
        AC_SUBST(TCL_DEPS)
1736
 
1737
        SC_LOAD_TKCONFIG
1738
 
1739
        # Check for in-tree Tk
1740
        intree="no"
1741
        if test "${TK_SRC_DIR}" = "${topdir}/tk"; then
1742
          intree="yes"
1743
        fi
1744
 
1745
        # Find Tk private headers
1746
        if test x"${intree}" = xno; then
1747
          CY_AC_TK_PRIVATE_HEADERS
1748
          TK_INCLUDE="${TK_INCLUDE_SPEC} ${TK_PRIVATE_INCLUDE}"
1749
          TK_LIBRARY=${TK_LIB_SPEC}
1750
          TK_DEPS=""
1751
        else
1752
          TK_INCLUDE="-I${TK_SRC_DIR}/generic"
1753
          TK_LIBRARY="${TK_BUILD_LIB_SPEC}"
1754
          TK_DEPS="../tk/${configdir}/${TK_LIB_FILE}"
1755
        fi
1756
        AC_SUBST(TK_INCLUDE)
1757
        AC_SUBST(TK_LIBRARY)
1758
        AC_SUBST(TK_DEPS)
1759
        AC_SUBST(TK_XINCLUDES)
1760
 
1761
        ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
1762
 
1763
        # Include some libraries that Tcl and Tk want.
1764
        TCL_LIBS='$(LIBGUI) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
1765
        # Yes, the ordering seems wrong here.  But it isn't.
1766
        # TK_LIBS is the list of libraries that need to be linked
1767
        # after Tcl/Tk.  Note that this isn't put into LIBS.  If it
1768
        # were in LIBS then any link tests after this point would
1769
        # try to include things like `$(LIBGUI)', which wouldn't work.
1770
        GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
1771
 
1772
        CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
1773
        CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
1774
        CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
1775
        CONFIG_ALL="${CONFIG_ALL} all-gdbtk"
1776
        CONFIG_CLEAN="${CONFIG_CLEAN} clean-gdbtk"
1777
        CONFIG_INSTALL="${CONFIG_INSTALL} install-gdbtk"
1778
        CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-gdbtk"
1779
 
1780
        if test x$gdb_cv_os_cygwin = xyes; then
1781
          WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1782
          WIN32LDAPP="-Wl,--subsystem,console"
1783
          CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1784
        fi
1785
 
1786
        AC_CONFIG_SUBDIRS(gdbtk)
1787
    fi
1788
fi
1789
 
1790
AC_SUBST(X_CFLAGS)
1791
AC_SUBST(X_LDFLAGS)
1792
AC_SUBST(X_LIBS)
1793
AC_SUBST(GDBTKLIBS)
1794
AC_SUBST(GDBTK_CFLAGS)
1795
AC_SUBST(GDBTK_SRC_DIR)
1796
 
1797
AC_PATH_X
1798
 
1799
# Unlike the sim directory, whether a simulator is linked is controlled by
1800
# presence of a gdb_sim definition in the target configure.tgt entry.
1801
# This code just checks for a few cases where we'd like to ignore those
1802
# definitions, even when they're present in the '.mt' file.  These cases
1803
# are when --disable-sim is specified, or if the simulator directory is
1804
# not part of the source tree.
1805
#
1806
AC_ARG_ENABLE(sim,
1807
AS_HELP_STRING([--enable-sim], [link gdb with simulator]),
1808
[echo "enable_sim = $enable_sim";
1809
 echo "enableval = ${enableval}";
1810
 case "${enableval}" in
1811
  yes) ignore_sim=false ;;
1812
  no)  ignore_sim=true ;;
1813
  *)   ignore_sim=false ;;
1814
 esac],
1815
[ignore_sim=false])
1816
 
1817
if test ! -d "${srcdir}/../sim"; then
1818
  ignore_sim=true
1819
fi
1820
 
1821
SIM=
1822
SIM_OBS=
1823
if test "${ignore_sim}" = "false"; then
1824
  if test x"${gdb_sim}" != x ; then
1825
    SIM="${gdb_sim}"
1826
    SIM_OBS="remote-sim.o"
1827
    AC_DEFINE(WITH_SIM, 1, [Define if the simulator is being linked in.])
1828
  fi
1829
fi
1830
AC_SUBST(SIM)
1831
AC_SUBST(SIM_OBS)
1832
 
1833
# Option to explicitly specify the location of the Or1ksim installation
1834
AC_ARG_WITH([or1ksim],
1835
            [AS_HELP_STRING([--with-or1ksim=ARG],
1836
            [specify the Or1ksim installation directory explicitly (otherwise use default search paths)])],
1837
            [],
1838
           [])
1839
if test x"$with_or1ksim" != x
1840
then
1841
    CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-rpath -Wl,$with_or1ksim/lib -L$with_or1ksim/lib -lsim"
1842
    AC_SUBST(CONFIG_LDFLAGS)
1843
fi
1844
 
1845
AC_SUBST(ENABLE_CFLAGS)
1846
AC_SUBST(PROFILE_CFLAGS)
1847
 
1848
AC_SUBST(CONFIG_OBS)
1849
AC_SUBST(CONFIG_DEPS)
1850
AC_SUBST(CONFIG_SRCS)
1851
AC_SUBST(CONFIG_ALL)
1852
AC_SUBST(CONFIG_CLEAN)
1853
AC_SUBST(CONFIG_INSTALL)
1854
AC_SUBST(CONFIG_UNINSTALL)
1855
 
1856
# List of host floatformats.
1857
AC_DEFINE_UNQUOTED(GDB_HOST_FLOAT_FORMAT,$gdb_host_float_format,[Host float floatformat])
1858
AC_DEFINE_UNQUOTED(GDB_HOST_DOUBLE_FORMAT,$gdb_host_double_format,[Host double floatformat])
1859
AC_DEFINE_UNQUOTED(GDB_HOST_LONG_DOUBLE_FORMAT,$gdb_host_long_double_format,[Host long double floatformat])
1860
 
1861
# target_subdir is used by the testsuite to find the target libraries.
1862
target_subdir=
1863
if test "${host}" != "${target}"; then
1864
    target_subdir="${target_alias}/"
1865
fi
1866
AC_SUBST(target_subdir)
1867
 
1868
frags=
1869
if test "${gdb_native}" = "yes"; then
1870
  host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
1871
  if test ! -f ${host_makefile_frag}; then
1872
    AC_MSG_ERROR("*** Gdb does not support native target ${host}")
1873
  fi
1874
  frags="$frags $host_makefile_frag"
1875
else
1876
  host_makefile_frag=/dev/null
1877
fi
1878
 
1879
AC_SUBST_FILE(host_makefile_frag)
1880
AC_SUBST(frags)
1881
 
1882
changequote(,)dnl
1883
if test "${gdb_native}" = "yes"; then
1884
# We pick this up from the host configuration file (.mh) because we
1885
# do not have a native configuration Makefile fragment.
1886
nativefile=`sed -n '
1887
s/NAT_FILE[     ]*=[    ]*\([^  ]*\)/\1/p
1888
' ${host_makefile_frag}`
1889
fi
1890
changequote([,])
1891
 
1892
if test x"${gdb_osabi}" != x ; then
1893
    AC_DEFINE_UNQUOTED(GDB_OSABI_DEFAULT, $gdb_osabi,
1894
                       [Define to the default OS ABI for this configuration.])
1895
fi
1896
 
1897
# Enable multi-ice-gdb-server.
1898
AC_ARG_ENABLE(multi-ice,
1899
AS_HELP_STRING([--enable-multi-ice], [build the multi-ice-gdb-server]),
1900
  [case $enableval in
1901
    yes | no)
1902
      ;;
1903
    *) AC_MSG_ERROR([bad value $enableval for --enable-multi-ice]) ;;
1904
  esac])
1905
if test "x$enable_multi_ice" = xyes; then
1906
   AC_CONFIG_SUBDIRS(multi-ice)
1907
fi
1908
 
1909
# We only build gdbserver automatically in a native configuration.
1910
if test "$gdb_native" = "yes"; then
1911
  AC_MSG_CHECKING(whether gdbserver is supported on this host)
1912
  if test "x$build_gdbserver" = xyes; then
1913
    AC_MSG_RESULT(yes)
1914
    AC_CONFIG_SUBDIRS(gdbserver)
1915
  else
1916
    AC_MSG_RESULT(no)
1917
  fi
1918
fi
1919
 
1920
# If nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
1921
# to an empty version.
1922
 
1923
files=
1924
links=
1925
 
1926
rm -f nm.h
1927
if test "${nativefile}" != ""; then
1928
    case "${nativefile}" in
1929
      nm-*.h ) GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}" ;;
1930
      * ) GDB_NM_FILE="${nativefile}"
1931
    esac
1932
    files="${files} ${GDB_NM_FILE}"
1933
    links="${links} nm.h"
1934
    AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}", [nativefile])
1935
fi
1936
AC_SUBST(GDB_NM_FILE)
1937
 
1938
AC_LINK_FILES($files, $links)
1939
 
1940
dnl Check for exe extension set on certain hosts (e.g. Win32)
1941
AC_EXEEXT
1942
 
1943
dnl  Detect the character set used by this host.
1944
dnl  At the moment, we just assume it's UTF-8.
1945
AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "UTF-8",
1946
          [Define to be a string naming the default host character set.])
1947
 
1948
AC_OUTPUT(Makefile .gdbinit:gdbinit.in gnulib/Makefile,
1949
[
1950
case x$CONFIG_HEADERS in
1951
xconfig.h:config.in)
1952
echo > stamp-h ;;
1953
esac
1954
])
1955
 
1956
exit 0

powered by: WebSVN 2.1.0

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