OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-6.8/] [gdb/] [configure.ac] - Blame information for rev 213

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

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

powered by: WebSVN 2.1.0

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