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

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gdb-6.8/] [pre-binutils-2.20.1-sync/] [gdb/] [configure.ac] - Blame information for rev 157

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
# ------------------------- #
481
# Checks for header files.  #
482
# ------------------------- #
483
 
484
AC_HEADER_DIRENT
485
AC_HEADER_STAT
486
AC_HEADER_STDC
487
AC_CHECK_HEADERS(nlist.h)
488
AC_CHECK_HEADERS(link.h, [], [],
489
[#if HAVE_SYS_TYPES_H
490
# include 
491
#endif
492
#if HAVE_NLIST_H
493
# include 
494
#endif
495
])
496
AC_CHECK_HEADERS(machine/reg.h)
497
AC_CHECK_HEADERS(poll.h sys/poll.h)
498
AC_CHECK_HEADERS(proc_service.h thread_db.h gnu/libc-version.h)
499
AC_CHECK_HEADERS(signal.h)
500
AC_CHECK_HEADERS(stddef.h)
501
AC_CHECK_HEADERS(stdlib.h)
502
AC_CHECK_HEADERS(stdint.h)
503
AC_CHECK_HEADERS(string.h memory.h strings.h)
504
AC_CHECK_HEADERS(sys/fault.h)
505
AC_CHECK_HEADERS(sys/file.h)
506
AC_CHECK_HEADERS(sys/filio.h)
507
AC_CHECK_HEADERS(sys/ioctl.h)
508
AC_CHECK_HEADERS(sys/param.h)
509
AC_CHECK_HEADERS(sys/resource.h)
510
AC_CHECK_HEADERS(sys/proc.h, [], [],
511
[#if HAVE_SYS_PARAM_H
512
# include 
513
#endif
514
])
515
AC_CHECK_HEADERS(sys/procfs.h)
516
AC_CHECK_HEADERS(sys/ptrace.h ptrace.h)
517
AC_CHECK_HEADERS(sys/reg.h sys/debugreg.h)
518
AC_CHECK_HEADERS(sys/select.h)
519
AC_CHECK_HEADERS(sys/syscall.h)
520
AC_CHECK_HEADERS(sys/types.h)
521
AC_CHECK_HEADERS(sys/user.h, [], [],
522
[#if HAVE_SYS_PARAM_H
523
# include 
524
#endif
525
])
526
AC_CHECK_HEADERS(sys/wait.h wait.h)
527
AC_CHECK_HEADERS(termios.h termio.h sgtty.h)
528
AC_CHECK_HEADERS(unistd.h)
529
 
530
# On Solaris 2.[789], we need to define _MSE_INT_H to avoid a clash
531
# between  and  that would cause AC_CHECK_HEADERS to
532
# think that we don't have  if we're using GCC.
533
case $host_os in
534
  solaris2.[[789]])
535
    if test "$GCC" = yes; then
536
      AC_DEFINE(_MSE_INT_H, 1,
537
        [Define to 1 to avoid a clash between  and  on
538
   Solaris 2.[789] when using GCC. ])
539
    fi ;;
540
esac
541
AC_CHECK_HEADERS(curses.h cursesX.h ncurses.h ncurses/ncurses.h)
542
AC_CHECK_HEADERS(ncurses/term.h)
543
AC_CHECK_HEADERS(term.h, [], [],
544
[#if HAVE_CURSES_H
545
# include 
546
#endif
547
])
548
 
549
# Check for HP/UX 64-bit shared library support
550
AC_CHECK_HEADERS(elf_hp.h)
551
 
552
# FIXME: kettenis/20030102: In most cases we include these
553
# unconditionally, so what's the point in checking these?
554
AC_CHECK_HEADERS(ctype.h time.h)
555
 
556
# Create a header we can use portably to get the standard integer types.
557
GCC_HEADER_STDINT(gdb_stdint.h)
558
 
559
# ------------------------- #
560
# Checks for declarations.  #
561
# ------------------------- #
562
 
563
AC_CHECK_DECLS([free, malloc, realloc])
564
AC_CHECK_DECLS([strerror, strstr])
565
AC_CHECK_DECLS([getopt, snprintf, vsnprintf])
566
 
567
# ----------------------- #
568
# Checks for structures.  #
569
# ----------------------- #
570
 
571
AC_CHECK_MEMBERS([struct stat.st_blocks])
572
AC_CHECK_MEMBERS([struct stat.st_blksize])
573
 
574
# ------------------ #
575
# Checks for types.  #
576
# ------------------ #
577
 
578
AC_TYPE_SIGNAL
579
AC_CHECK_TYPES(socklen_t, [], [],
580
[#include 
581
#include 
582
])
583
AC_CHECK_TYPES(uintptr_t, [], [], [#include ])
584
 
585
# ------------------------------------- #
586
# Checks for compiler characteristics.  #
587
# ------------------------------------- #
588
 
589
AC_C_CONST
590
AC_C_INLINE
591
AC_C_BIGENDIAN
592
 
593
# ------------------------------ #
594
# Checks for library functions.  #
595
# ------------------------------ #
596
 
597
AC_FUNC_ALLOCA
598
AC_FUNC_MMAP
599
AC_FUNC_VFORK
600
AC_CHECK_FUNCS(canonicalize_file_name realpath)
601
AC_CHECK_FUNCS(getrusage)
602
AC_CHECK_FUNCS(getuid getgid)
603
AC_CHECK_FUNCS(poll)
604
AC_CHECK_FUNCS(pread64)
605
AC_CHECK_FUNCS(sbrk)
606
AC_CHECK_FUNCS(setpgid setpgrp)
607
AC_CHECK_FUNCS(sigaction sigprocmask sigsetmask)
608
AC_CHECK_FUNCS(socketpair)
609
AC_CHECK_FUNCS(syscall)
610
AC_CHECK_FUNCS(ttrace)
611
AC_CHECK_FUNCS(wborder)
612
 
613
# Check the return and argument types of ptrace.  No canned test for
614
# this, so roll our own.
615
gdb_ptrace_headers='
616
#if HAVE_SYS_TYPES_H
617
# include 
618
#endif
619
#if HAVE_SYS_PTRACE_H
620
# include 
621
#endif
622
#if HAVE_UNISTD_H
623
# include 
624
#endif
625
'
626
# There is no point in checking if we don't have a prototype.
627
AC_CHECK_DECLS(ptrace, [], [
628
  : ${gdb_cv_func_ptrace_ret='int'}
629
  : ${gdb_cv_func_ptrace_args='int,int,long,long'}
630
], $gdb_ptrace_headers)
631
# Check return type.
632
AC_CACHE_CHECK([return type of ptrace], gdb_cv_func_ptrace_ret,
633
  AC_TRY_COMPILE($gdb_ptrace_headers,
634
    [extern int ptrace ();],
635
    gdb_cv_func_ptrace_ret='int',
636
    gdb_cv_func_ptrace_ret='long'))
637
AC_DEFINE_UNQUOTED(PTRACE_TYPE_RET, $gdb_cv_func_ptrace_ret,
638
  [Define as the return type of ptrace.])
639
# Check argument types.
640
AC_CACHE_CHECK([types of arguments for ptrace], gdb_cv_func_ptrace_args, [
641
for gdb_arg1 in 'int' 'long'; do
642
 for gdb_arg2 in 'pid_t' 'int' 'long'; do
643
  for gdb_arg3 in 'int *' 'caddr_t' 'int' 'long' 'void *'; do
644
   for gdb_arg4 in 'int' 'long'; do
645
     AC_TRY_COMPILE($gdb_ptrace_headers, [
646
extern $gdb_cv_func_ptrace_ret
647
  ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4);
648
], [gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4";
649
    break 4;])
650
    for gdb_arg5 in 'int *' 'int' 'long'; do
651
     AC_TRY_COMPILE($gdb_ptrace_headers, [
652
extern $gdb_cv_func_ptrace_ret
653
  ptrace ($gdb_arg1, $gdb_arg2, $gdb_arg3, $gdb_arg4, $gdb_arg5);
654
], [
655
gdb_cv_func_ptrace_args="$gdb_arg1,$gdb_arg2,$gdb_arg3,$gdb_arg4,$gdb_arg5";
656
    break 5;])
657
    done
658
   done
659
  done
660
 done
661
done
662
# Provide a safe default value.
663
: ${gdb_cv_func_ptrace_args='int,int,long,long'}
664
])
665
ac_save_IFS=$IFS; IFS=','
666
set dummy `echo "$gdb_cv_func_ptrace_args" | sed 's/\*/\*/g'`
667
IFS=$ac_save_IFS
668
shift
669
AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG3, $[3],
670
  [Define to the type of arg 3 for ptrace.])
671
if test -n "$[5]"; then
672
  AC_DEFINE_UNQUOTED(PTRACE_TYPE_ARG5, $[5],
673
    [Define to the type of arg 5 for ptrace.])
674
fi
675
 
676
dnl AC_FUNC_SETPGRP does not work when cross compiling
677
dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
678
if test "$cross_compiling" = no; then
679
  AC_FUNC_SETPGRP
680
else
681
  AC_CACHE_CHECK([whether setpgrp takes no argument], ac_cv_func_setpgrp_void,
682
    [AC_TRY_COMPILE([
683
#include 
684
], [
685
  if (setpgrp(1,1) == -1)
686
    exit (0);
687
  else
688
    exit (1);
689
], ac_cv_func_setpgrp_void=no, ac_cv_func_setpgrp_void=yes)])
690
if test $ac_cv_func_setpgrp_void = yes; then
691
  AC_DEFINE(SETPGRP_VOID, 1)
692
fi
693
fi
694
 
695
# Check if sigsetjmp is available.  Using AC_CHECK_FUNCS won't do
696
# since sigsetjmp might only be defined as a macro.
697
AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
698
[AC_TRY_COMPILE([
699
#include 
700
], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
701
gdb_cv_func_sigsetjmp=yes, gdb_cv_func_sigsetjmp=no)])
702
if test $gdb_cv_func_sigsetjmp = yes; then
703
  AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
704
fi
705
 
706
# Assume we'll default to using the included libiberty regex.
707
gdb_use_included_regex=yes
708
 
709
# However, if the system regex is GNU regex, then default to *not*
710
# using the included regex.
711
AC_CACHE_CHECK(
712
  [for GNU regex],
713
  [gdb_cv_have_gnu_regex],
714
  [AC_TRY_COMPILE(
715
    [#include ],
716
    [#define REGEX_INTERFACE_VERSION 1
717
#if _GNU_REGEX_INTERFACE_VERSION != REGEX_INTERFACE_VERSION
718
# error "Version mismatch"
719
#endif],
720
    gdb_cv_have_gnu_regex=yes,
721
    gdb_cv_have_gnu_regex=no)])
722
if test $gdb_cv_have_gnu_regex = yes; then
723
  gdb_use_included_regex=no
724
fi
725
 
726
AC_ARG_WITH(included-regex,
727
  [  --without-included-regex don't use included regex; this is the default
728
                          on systems with version 2 of the GNU C library
729
                          (use with caution on other system)],
730
  gdb_with_regex=$withval,
731
  gdb_with_regex=$gdb_use_included_regex)
732
if test "$gdb_with_regex" = yes; then
733
  AC_DEFINE(USE_INCLUDED_REGEX, 1,
734
    [Define to 1 if the regex included in libiberty should be used.])
735
fi
736
 
737
# Check if  defines `struct thread' with a td_pcb member.
738
AC_CHECK_MEMBERS([struct thread.td_pcb], [], [],
739
[#include 
740
#include 
741
])
742
 
743
# See if  defines `struct lwp`.
744
AC_CACHE_CHECK([for struct lwp], gdb_cv_struct_lwp,
745
[AC_TRY_COMPILE([#include 
746
#include ], [struct lwp l;],
747
gdb_cv_struct_lwp=yes, gdb_cv_struct_lwp=no)])
748
if test $gdb_cv_struct_lwp = yes; then
749
  AC_DEFINE(HAVE_STRUCT_LWP, 1,
750
            [Define to 1 if your system has struct lwp.])
751
fi
752
 
753
# See if  degines `struct reg'.
754
AC_CACHE_CHECK([for struct reg in machine/reg.h], gdb_cv_struct_reg,
755
[AC_TRY_COMPILE([#include 
756
#include ], [struct reg r;],
757
gdb_cv_struct_reg=yes, gdb_cv_struct_reg=no)])
758
if test $gdb_cv_struct_reg = yes; then
759
  AC_DEFINE(HAVE_STRUCT_REG, 1,
760
            [Define to 1 if your system has struct reg in .])
761
fi
762
 
763
# See if  supports the %fs and %gs i386 segment registers.
764
# Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
765
AC_CHECK_MEMBERS([struct reg.r_fs, struct reg.r_gs], [], [],
766
                 [#include ])
767
 
768
# See if  provides the PTRACE_GETREGS request.
769
AC_MSG_CHECKING(for PTRACE_GETREGS)
770
AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
771
[AC_TRY_COMPILE([#include ],
772
                [PTRACE_GETREGS;],
773
                [gdb_cv_have_ptrace_getregs=yes],
774
                [gdb_cv_have_ptrace_getregs=no])])
775
AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
776
if test $gdb_cv_have_ptrace_getregs = yes; then
777
  AC_DEFINE(HAVE_PTRACE_GETREGS, 1,
778
  [Define if sys/ptrace.h defines the PTRACE_GETREGS request.])
779
fi
780
 
781
# See if  provides the PTRACE_GETFPXREGS request.
782
AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
783
AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
784
[AC_TRY_COMPILE([#include ],
785
                [PTRACE_GETFPXREGS;],
786
                [gdb_cv_have_ptrace_getfpxregs=yes],
787
                [gdb_cv_have_ptrace_getfpxregs=no])])
788
AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
789
if test $gdb_cv_have_ptrace_getfpxregs = yes; then
790
  AC_DEFINE(HAVE_PTRACE_GETFPXREGS, 1,
791
  [Define if sys/ptrace.h defines the PTRACE_GETFPXREGS request.])
792
fi
793
 
794
# See if  provides the PT_GETDBREGS request.
795
AC_MSG_CHECKING(for PT_GETDBREGS)
796
AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
797
[AC_TRY_COMPILE([#include 
798
#include ],
799
                [PT_GETDBREGS;],
800
                [gdb_cv_have_pt_getdbregs=yes],
801
                [gdb_cv_have_pt_getdbregs=no])])
802
AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
803
if test $gdb_cv_have_pt_getdbregs = yes; then
804
  AC_DEFINE(HAVE_PT_GETDBREGS, 1,
805
  [Define if sys/ptrace.h defines the PT_GETDBREGS request.])
806
fi
807
 
808
# See if  provides the PT_GETXMMREGS request.
809
AC_MSG_CHECKING(for PT_GETXMMREGS)
810
AC_CACHE_VAL(gdb_cv_have_pt_getxmmregs,
811
[AC_TRY_COMPILE([#include 
812
#include ],
813
                [PT_GETXMMREGS;],
814
                [gdb_cv_have_pt_getxmmregs=yes],
815
                [gdb_cv_have_pt_getxmmregs=no])])
816
AC_MSG_RESULT($gdb_cv_have_pt_getxmmregs)
817
if test $gdb_cv_have_pt_getxmmregs = yes; then
818
  AC_DEFINE(HAVE_PT_GETXMMREGS, 1,
819
  [Define if sys/ptrace.h defines the PT_GETXMMREGS request.])
820
fi
821
 
822
# Detect which type of /proc is in use, such as for Unixware or Solaris.
823
 
824
if test "${target}" = "${host}"; then
825
  case "${host}" in
826
  *-*-unixware* | *-*-sysv4.2* | *-*-sysv5* | *-*-interix* )
827
      AC_DEFINE(NEW_PROC_API, 1,
828
      [Define if you want to use new multi-fd /proc interface
829
       (replaces HAVE_MULTIPLE_PROC_FDS as well as other macros).])
830
      ;;
831
  *-*-solaris2.[[6789]] | *-*-solaris2.1[[0-9]]*)
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
  mips-sgi-irix5*)
837
      # Work around  needing _KMEMUSER problem on IRIX 5.
838
      AC_DEFINE([_KMEMUSER], 1,
839
      [Define to 1 so  gets a definition of anon_hdl.  Works
840
       around a  problem on IRIX 5.])
841
      ;;
842
  esac
843
fi
844
 
845
if test "$ac_cv_header_sys_procfs_h" = yes; then
846
  BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
847
  BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
848
  BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
849
  BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
850
  BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
851
  BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
852
  BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
853
  BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
854
  BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
855
  BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
856
  BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)
857
  BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)
858
  BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)
859
  BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)
860
 
861
 
862
  dnl Check for broken prfpregset_t type
863
 
864
  dnl For Linux/i386, glibc 2.1.3 was released with a bogus
865
  dnl prfpregset_t type (it's a typedef for the pointer to a struct
866
  dnl instead of the struct itself).  We detect this here, and work
867
  dnl around it in gdb_proc_service.h.
868
 
869
  if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
870
    AC_MSG_CHECKING(whether prfpregset_t type is broken)
871
    AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
872
      [AC_TRY_RUN([#include 
873
       int main ()
874
       {
875
         if (sizeof (prfpregset_t) == sizeof (void *))
876
           return 1;
877
         return 0;
878
       }],
879
       gdb_cv_prfpregset_t_broken=no,
880
       gdb_cv_prfpregset_t_broken=yes,
881
       gdb_cv_prfpregset_t_broken=yes)])
882
    AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
883
    if test $gdb_cv_prfpregset_t_broken = yes; then
884
      AC_DEFINE(PRFPREGSET_T_BROKEN, 1,
885
      [Define if the prfpregset_t type is broken.])
886
    fi
887
  fi
888
 
889
  dnl Check for PIOCSET ioctl entry
890
 
891
  AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
892
  AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
893
  [AC_TRY_COMPILE([#include 
894
#include 
895
#include 
896
], [
897
    int dummy;;
898
    dummy = ioctl(0, PIOCSET, &dummy);
899
  ],
900
  gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
901
  AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
902
  if test $gdb_cv_have_procfs_piocset = yes; then
903
    AC_DEFINE(HAVE_PROCFS_PIOCSET, 1,
904
    [Define if ioctl argument PIOCSET is available.])
905
  fi
906
fi
907
 
908
dnl For native ports (host == target), check to see what kind of
909
dnl legacy link.h support is needed.  (See solib-legacy.c.)
910
if test ${host} = ${target} ; then
911
  dnl Check for struct link_map with l_ members which are indicative
912
  dnl of SVR4-like shared libraries
913
 
914
  AC_MSG_CHECKING(for member l_addr in struct link_map)
915
  AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,
916
    [AC_TRY_COMPILE([#include ],
917
                    [struct link_map lm; (void) lm.l_addr;],
918
                    gdb_cv_have_struct_link_map_with_l_members=yes,
919
                    gdb_cv_have_struct_link_map_with_l_members=no)])
920
  AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)
921
  if test $gdb_cv_have_struct_link_map_with_l_members = yes; then
922
    AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS,1,
923
    [Define if  exists and defines struct link_map which has
924
     members with an ``l_'' prefix.  (For Solaris, SVR4, and
925
     SVR4-like systems.)])
926
  fi
927
 
928
  dnl Check for struct link_map with lm_ members which are indicative
929
  dnl of SunOS-like shared libraries
930
 
931
  AC_MSG_CHECKING(for member lm_addr in struct link_map)
932
  AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,
933
    [AC_TRY_COMPILE([#include 
934
#include ],
935
                    [struct link_map lm; (void) lm.lm_addr;],
936
                    gdb_cv_have_struct_link_map_with_lm_members=yes,
937
                    gdb_cv_have_struct_link_map_with_lm_members=no)])
938
  AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)
939
  if test $gdb_cv_have_struct_link_map_with_lm_members = yes; then
940
    AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS, 1,
941
    [Define if  exists and defines struct link_map which has
942
     members with an ``lm_'' prefix.  (For SunOS.)])
943
  fi
944
 
945
  dnl Check for struct so_map with som_ members which are found on
946
  dnl some *BSD systems.
947
 
948
  AC_MSG_CHECKING(for member som_addr in struct so_map)
949
  AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,
950
    [AC_TRY_COMPILE([#include 
951
#ifdef HAVE_NLIST_H
952
#include 
953
#endif
954
#include ],
955
                    [struct so_map lm; (void) lm.som_addr;],
956
                    gdb_cv_have_struct_so_map_with_som_members=yes,
957
                    gdb_cv_have_struct_so_map_with_som_members=no)])
958
  AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)
959
  if test $gdb_cv_have_struct_so_map_with_som_members = yes; then
960
    AC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS, 1,
961
    [Define if  exists and defines a struct so_map which has
962
     members with an ``som_'' prefix.  (Found on older *BSD systems.)])
963
  fi
964
 
965
  dnl Check for struct link_map32 type, which allows a 64-bit Solaris
966
  dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
967
 
968
  AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
969
  AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
970
    [AC_TRY_COMPILE([#define _SYSCALL32
971
#include ], [struct link_map32 l;],
972
     gdb_cv_have_struct_link_map32=yes,
973
     gdb_cv_have_struct_link_map32=no)])
974
  AC_MSG_RESULT($gdb_cv_have_struct_link_map32)
975
  if test $gdb_cv_have_struct_link_map32 = yes; then
976
    AC_DEFINE(HAVE_STRUCT_LINK_MAP32, 1,
977
    [Define if  has struct link_map32])
978
    AC_DEFINE(_SYSCALL32, 1,
979
    [Define if  has link_map32 (solaris sparc-64 target)])
980
  fi
981
fi
982
 
983
# Check if the compiler supports the `long long' type.
984
 
985
AC_CACHE_CHECK([for long long support in compiler], gdb_cv_c_long_long,
986
               [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
987
[[extern long long foo;]],
988
[[switch (foo & 2) { case 0: return 1; }]])],
989
                                  gdb_cv_c_long_long=yes,
990
                                  gdb_cv_c_long_long=no)])
991
if test $gdb_cv_c_long_long = yes; then
992
  AC_DEFINE(CC_HAS_LONG_LONG, 1,
993
            [Define to 1 if the compiler supports long long.])
994
fi
995
 
996
# Check if the compiler and runtime support printing long longs.
997
 
998
AC_CACHE_CHECK([for long long support in printf],
999
               gdb_cv_printf_has_long_long,
1000
               [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1001
[[char buf[32];
1002
  long long l = 0;
1003
  l = (l << 16) + 0x0123;
1004
  l = (l << 16) + 0x4567;
1005
  l = (l << 16) + 0x89ab;
1006
  l = (l << 16) + 0xcdef;
1007
  sprintf (buf, "0x%016llx", l);
1008
  return (strcmp ("0x0123456789abcdef", buf));]])],
1009
                              gdb_cv_printf_has_long_long=yes,
1010
                              gdb_cv_printf_has_long_long=no,
1011
                              gdb_cv_printf_has_long_long=no)])
1012
if test $gdb_cv_printf_has_long_long = yes; then
1013
  AC_DEFINE(PRINTF_HAS_LONG_LONG, 1,
1014
            [Define to 1 if the "%ll" format works to print long longs.])
1015
fi
1016
 
1017
# Check if the compiler and runtime support printing decfloats.
1018
 
1019
AC_CACHE_CHECK([for decfloat support in printf],
1020
               gdb_cv_printf_has_decfloat,
1021
               [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1022
[[char buf[64];
1023
  _Decimal32 d32 = 1.2345df;
1024
  _Decimal64 d64 = 1.2345dd;
1025
  _Decimal128 d128 = 1.2345dl;
1026
  sprintf (buf, "Decimal32: %H\nDecimal64: %D\nDecimal128: %DD", d32, d64, d128);
1027
  return (strcmp ("Decimal32: 1.2345\nDecimal64: 1.2345\nDecimal128: 1.2345", buf));]])],
1028
                              gdb_cv_printf_has_decfloat=yes,
1029
                              gdb_cv_printf_has_decfloat=no,
1030
                              gdb_cv_printf_has_decfloat=no)])
1031
if test $gdb_cv_printf_has_decfloat = yes; then
1032
  AC_DEFINE(PRINTF_HAS_DECFLOAT, 1,
1033
            [Define to 1 if the "%H, %D and %DD" formats work to print decfloats.])
1034
fi
1035
 
1036
# Check if the compiler supports the `long double' type.  We can't use
1037
# AC_C_LONG_DOUBLE because that one does additional checks on the
1038
# constants defined in  that fail on some systems,
1039
# e.g. FreeBSD/i386 4.7 and OpenBSD/i386 3.6.
1040
 
1041
AC_CACHE_CHECK([for long double support in compiler], gdb_cv_c_long_double,
1042
               [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[long double foo;]])],
1043
                                  gdb_cv_c_long_double=yes,
1044
                                  gdb_cv_c_long_double=no)])
1045
if test $gdb_cv_c_long_double = yes; then
1046
  AC_DEFINE(HAVE_LONG_DOUBLE, 1,
1047
           [Define to 1 if the compiler supports long double.])
1048
fi
1049
 
1050
# Check if the compiler and runtime support printing long doubles.
1051
 
1052
AC_CACHE_CHECK([for long double support in printf],
1053
               gdb_cv_printf_has_long_double,
1054
               [AC_RUN_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
1055
[[char buf[16];
1056
  long double f = 3.141592653;
1057
  sprintf (buf, "%Lg", f);
1058
  return (strncmp ("3.14159", buf, 7));]])],
1059
                              gdb_cv_printf_has_long_double=yes,
1060
                              gdb_cv_printf_has_long_double=no,
1061
                              gdb_cv_printf_has_long_double=no)])
1062
if test $gdb_cv_printf_has_long_double = yes; then
1063
  AC_DEFINE(PRINTF_HAS_LONG_DOUBLE, 1,
1064
            [Define to 1 if the "%Lg" format works to print long doubles.])
1065
fi
1066
 
1067
# Check if the compiler and runtime support scanning long doubles.
1068
 
1069
AC_CACHE_CHECK([for long double support in scanf],
1070
               gdb_cv_scanf_has_long_double,
1071
               [AC_RUN_IFELSE([AC_LANG_PROGRAM(
1072
[[#include ]],
1073
[[char *buf = "3.141592653";
1074
  long double f = 0;
1075
  sscanf (buf, "%Lg", &f);
1076
  return !(f > 3.14159 && f < 3.14160);]])],
1077
                              gdb_cv_scanf_has_long_double=yes,
1078
                              gdb_cv_scanf_has_long_double=no,
1079
                              gdb_cv_scanf_has_long_double=no)])
1080
if test $gdb_cv_scanf_has_long_double = yes; then
1081
  AC_DEFINE(SCANF_HAS_LONG_DOUBLE, 1,
1082
            [Define to 1 if the "%Lg" format works to scan long doubles.])
1083
fi
1084
 
1085
case ${host_os} in
1086
aix*)
1087
  AC_CACHE_CHECK([for -bbigtoc option], [gdb_cv_bigtoc], [
1088
    SAVE_LDFLAGS=$LDFLAGS
1089
 
1090
    case $GCC in
1091
    yes) gdb_cv_bigtoc=-Wl,-bbigtoc ;;
1092
    *) gdb_cv_bigtoc=-bbigtoc ;;
1093
    esac
1094
 
1095
    LDFLAGS=$LDFLAGS\ $gdb_cv_bigtoc
1096
    AC_TRY_LINK([], [int i;], [], [gdb_cv_bigtoc=])
1097
    LDFLAGS="${SAVE_LDFLAGS}"
1098
  ])
1099
  CONFIG_LDFLAGS="${CONFIG_LDFLAGS} ${gdb_cv_bigtoc}"
1100
  ;;
1101
esac
1102
 
1103
 
1104
dnl For certain native configurations, we need to check whether thread
1105
dnl support can be built in or not.
1106
dnl
1107
dnl Note that we only want this if we are both native (host == target),
1108
dnl and not doing a canadian cross build (build == host).
1109
 
1110
if test ${build} = ${host} -a ${host} = ${target} ; then
1111
   case ${host_os} in
1112
   hpux*)
1113
      AC_MSG_CHECKING(for HPUX/OSF thread support)
1114
      if test -f /usr/include/dce/cma_config.h ; then
1115
         if test "$GCC" = "yes" ; then
1116
            AC_MSG_RESULT(yes)
1117
            AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT, 1,
1118
            [Define if you have HPUX threads])
1119
            CONFIG_OBS="${CONFIG_OBS} hpux-thread.o"
1120
            CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
1121
         else
1122
            AC_MSG_RESULT(no (suppressed because you are not using GCC))
1123
         fi
1124
      else
1125
         AC_MSG_RESULT(no)
1126
      fi
1127
      ;;
1128
   solaris*)
1129
      # See if thread_db library is around for Solaris thread debugging.
1130
      # Note that we must explicitly test for version 1 of the library
1131
      # because version 0 (present on Solaris 2.4 or earlier) doesn't have
1132
      # the same API.
1133
      AC_MSG_CHECKING(for Solaris thread debugging library)
1134
      if test -f /usr/lib/libthread_db.so.1 ; then
1135
         AC_MSG_RESULT(yes)
1136
         AC_DEFINE(HAVE_THREAD_DB_LIB, 1,
1137
         [Define if using Solaris thread debugging.])
1138
         CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
1139
         CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
1140
         AC_CHECK_LIB(dl, dlopen)
1141
         if test "$GCC" = "yes" ; then
1142
            # The GNU linker requires the -export-dynamic option to make
1143
            # all symbols visible in the dynamic symbol table.
1144
            hold_ldflags=$LDFLAGS
1145
            AC_MSG_CHECKING(for the ld -export-dynamic flag)
1146
            LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
1147
            AC_TRY_LINK(, [int i;], found=yes, found=no)
1148
            LDFLAGS=$hold_ldflags
1149
            AC_MSG_RESULT($found)
1150
            if test $found = yes; then
1151
               CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
1152
            fi
1153
         fi
1154
         # Sun randomly tweaked the prototypes in 
1155
         # at one point.
1156
         AC_MSG_CHECKING(if  is old)
1157
         AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
1158
            AC_TRY_COMPILE([
1159
                #include 
1160
                ps_err_e ps_pdwrite
1161
                    (struct ps_prochandle*, psaddr_t, const void*, size_t);
1162
            ],, gdb_cv_proc_service_is_old=no,
1163
                gdb_cv_proc_service_is_old=yes)
1164
         ])
1165
         AC_MSG_RESULT($gdb_cv_proc_service_is_old)
1166
         if test $gdb_cv_proc_service_is_old = yes; then
1167
            AC_DEFINE(PROC_SERVICE_IS_OLD, 1,
1168
            [Define if  on solaris uses int instead of
1169
             size_t, and assorted other type changes.])
1170
         fi
1171
      else
1172
         AC_MSG_RESULT(no)
1173
      fi
1174
      ;;
1175
   aix*)
1176
      AC_MSG_CHECKING(for AiX thread debugging library)
1177
      AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,
1178
                   [AC_TRY_COMPILE([#include ],
1179
                                   [#ifndef PTHDB_VERSION_3
1180
                                    #error
1181
                                    #endif],
1182
                                   gdb_cv_have_aix_thread_debug=yes,
1183
                                   gdb_cv_have_aix_thread_debug=no)])
1184
      AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)
1185
      if test $gdb_cv_have_aix_thread_debug = yes; then
1186
         CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
1187
         CONFIG_OBS="${CONFIG_OBS} aix-thread.o"
1188
         CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug"
1189
      fi
1190
      ;;
1191
   esac
1192
   AC_SUBST(CONFIG_LDFLAGS)
1193
fi
1194
 
1195
dnl See if we have a thread_db header file that has TD_NOTALLOC and
1196
dnl other error codes.
1197
if test "x$ac_cv_header_thread_db_h" = "xyes"; then
1198
   AC_CACHE_CHECK([whether  has TD_NOTALLOC],
1199
                  gdb_cv_thread_db_h_has_td_notalloc,
1200
     AC_TRY_COMPILE(
1201
       [#include ],
1202
       [int i = TD_NOTALLOC;],
1203
       gdb_cv_thread_db_h_has_td_notalloc=yes,
1204
       gdb_cv_thread_db_h_has_td_notalloc=no
1205
     )
1206
   )
1207
   AC_CACHE_CHECK([whether  has TD_VERSION],
1208
                  gdb_cv_thread_db_h_has_td_version,
1209
     AC_TRY_COMPILE(
1210
       [#include ],
1211
       [int i = TD_VERSION;],
1212
       gdb_cv_thread_db_h_has_td_version=yes,
1213
       gdb_cv_thread_db_h_has_td_version=no
1214
     )
1215
   )
1216
   AC_CACHE_CHECK([whether  has TD_NOTLS],
1217
                  gdb_cv_thread_db_h_has_td_notls,
1218
     AC_TRY_COMPILE(
1219
       [#include ],
1220
       [int i = TD_NOTLS;],
1221
       gdb_cv_thread_db_h_has_td_notls=yes,
1222
       gdb_cv_thread_db_h_has_td_notls=no
1223
     )
1224
   )
1225
fi
1226
if test "x$gdb_cv_thread_db_h_has_td_notalloc" = "xyes"; then
1227
  AC_DEFINE(THREAD_DB_HAS_TD_NOTALLOC, 1,
1228
            [Define if  has the TD_NOTALLOC error code.])
1229
fi
1230
if test "x$gdb_cv_thread_db_h_has_td_version" = "xyes"; then
1231
  AC_DEFINE(THREAD_DB_HAS_TD_VERSION, 1,
1232
            [Define if  has the TD_VERSION error code.])
1233
fi
1234
if test "x$gdb_cv_thread_db_h_has_td_notls" = "xyes"; then
1235
  AC_DEFINE(THREAD_DB_HAS_TD_NOTLS, 1,
1236
            [Define if  has the TD_NOTLS error code.])
1237
fi
1238
 
1239
dnl See if we have a sys/syscall header file that has __NR_tkill.
1240
if test "x$ac_cv_header_sys_syscall_h" = "xyes"; then
1241
   AC_CACHE_CHECK([whether  has __NR_tkill],
1242
                  gdb_cv_sys_syscall_h_has_tkill,
1243
     AC_TRY_COMPILE(
1244
       [#include ],
1245
       [int i = __NR_tkill;],
1246
       gdb_cv_sys_syscall_h_has_tkill=yes,
1247
       gdb_cv_sys_syscall_h_has_tkill=no
1248
     )
1249
   )
1250
fi
1251
dnl See if we can issue tkill syscall.
1252
if test "x$gdb_cv_sys_syscall_h_has_tkill" = "xyes" && test "x$ac_cv_func_syscall" = "xyes"; then
1253
  AC_DEFINE(HAVE_TKILL_SYSCALL, 1, [Define if you support the tkill syscall.])
1254
fi
1255
 
1256
dnl Handle optional features that can be enabled.
1257
 
1258
AC_ARG_WITH(sysroot,
1259
[  --with-sysroot[=DIR] Search for usr/lib et al within DIR.],
1260
[
1261
 case ${with_sysroot} in
1262
 yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;;
1263
 *) TARGET_SYSTEM_ROOT=$with_sysroot ;;
1264
 esac
1265
 
1266
 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
1267
 
1268
 if test "x$prefix" = xNONE; then
1269
  test_prefix=/usr/local
1270
 else
1271
  test_prefix=$prefix
1272
 fi
1273
 if test "x$exec_prefix" = xNONE || test "x$exec_prefix" = 'x${prefix}'; then
1274
  test_exec_prefix=$test_prefix
1275
 else
1276
  test_exec_prefix=$exec_prefix
1277
 fi
1278
 case ${TARGET_SYSTEM_ROOT} in
1279
 "${test_prefix}"|"${test_prefix}/"*|\
1280
 "${test_exec_prefix}"|"${test_exec_prefix}/"*|\
1281
 '${prefix}'|'${prefix}/'*|\
1282
 '${exec_prefix}'|'${exec_prefix}/'*)
1283
   t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE"
1284
   TARGET_SYSTEM_ROOT_DEFINE="$t"
1285
   ;;
1286
 esac
1287
], [
1288
 TARGET_SYSTEM_ROOT=
1289
 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
1290
])
1291
AC_SUBST(TARGET_SYSTEM_ROOT)
1292
AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
1293
 
1294
AC_ARG_ENABLE(werror,
1295
  [  --enable-werror    treat compile warnings as errors],
1296
  [case "${enableval}" in
1297
     yes | y) ERROR_ON_WARNING="yes" ;;
1298
     no | n)  ERROR_ON_WARNING="no" ;;
1299
     *) AC_MSG_ERROR(bad value ${enableval} for --enable-werror) ;;
1300
   esac])
1301
 
1302
# Enable -Werror by default when using gcc
1303
if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
1304
    ERROR_ON_WARNING=yes
1305
fi
1306
 
1307
WERROR_CFLAGS=""
1308
if test "${ERROR_ON_WARNING}" = yes ; then
1309
    WERROR_CFLAGS="-Werror"
1310
fi
1311
 
1312
# The entries after -Wno-pointer-sign are disabled warnings which may
1313
# be enabled in the future, which can not currently be used to build
1314
# GDB.
1315
# NOTE: If you change this list, remember to update
1316
# gdb/doc/gdbint.texinfo.
1317
build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \
1318
-Wformat-nonliteral -Wno-pointer-sign \
1319
-Wno-unused -Wno-switch -Wno-char-subscripts"
1320
 
1321
AC_ARG_ENABLE(build-warnings,
1322
[  --enable-build-warnings Enable build-time compiler warnings if gcc is used],
1323
[case "${enableval}" in
1324
  yes)  ;;
1325
  no)   build_warnings="-w";;
1326
  ,*)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
1327
        build_warnings="${build_warnings} ${t}";;
1328
  *,)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
1329
        build_warnings="${t} ${build_warnings}";;
1330
  *)    build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1331
esac
1332
if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1333
  echo "Setting compiler warning flags = $build_warnings" 6>&1
1334
fi])dnl
1335
AC_ARG_ENABLE(gdb-build-warnings,
1336
[  --enable-gdb-build-warnings Enable GDB specific build-time compiler warnings if gcc is used],
1337
[case "${enableval}" in
1338
  yes)  ;;
1339
  no)   build_warnings="-w";;
1340
  ,*)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
1341
        build_warnings="${build_warnings} ${t}";;
1342
  *,)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
1343
        build_warnings="${t} ${build_warnings}";;
1344
  *)    build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1345
esac
1346
if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1347
  echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
1348
fi])dnl
1349
WARN_CFLAGS=""
1350
if test "x${build_warnings}" != x -a "x$GCC" = xyes
1351
then
1352
    AC_MSG_CHECKING(compiler warning flags)
1353
    # Separate out the -Werror flag as some files just cannot be
1354
    # compiled with it enabled.
1355
    for w in ${build_warnings}; do
1356
        case $w in
1357
        -Werr*) WERROR_CFLAGS=-Werror ;;
1358
        *) # Check that GCC accepts it
1359
            saved_CFLAGS="$CFLAGS"
1360
            CFLAGS="$CFLAGS $w"
1361
            AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
1362
            CFLAGS="$saved_CFLAGS"
1363
        esac
1364
    done
1365
    AC_MSG_RESULT(${WARN_CFLAGS} ${WERROR_CFLAGS})
1366
fi
1367
AC_SUBST(WARN_CFLAGS)
1368
AC_SUBST(WERROR_CFLAGS)
1369
 
1370
# In the Cygwin environment, we need some additional flags.
1371
AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
1372
[AC_EGREP_CPP(lose, [
1373
#if defined (__CYGWIN__) || defined (__CYGWIN32__)
1374
lose
1375
#endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
1376
 
1377
 
1378
dnl Figure out which of the many generic ser-*.c files the _host_ supports.
1379
SER_HARDWIRE="ser-base.o ser-unix.o ser-pipe.o ser-tcp.o"
1380
case ${host} in
1381
  *go32* ) SER_HARDWIRE=ser-go32.o ;;
1382
  *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
1383
  *mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o ser-mingw.o" ;;
1384
esac
1385
AC_SUBST(SER_HARDWIRE)
1386
 
1387
# libreadline needs libuser32.a in a cygwin environment
1388
WIN32LIBS=
1389
if test x$gdb_cv_os_cygwin = xyes; then
1390
    WIN32LIBS="-luser32"
1391
    case "${target}" in
1392
        *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
1393
        ;;
1394
    esac
1395
fi
1396
 
1397
# The ser-tcp.c module requires sockets.
1398
case ${host} in
1399
  *mingw32*)
1400
    AC_DEFINE(USE_WIN32API, 1,
1401
              [Define if we should use the Windows API, instead of the
1402
               POSIX API.  On Windows, we use the Windows API when
1403
               building for MinGW, but the POSIX API when building
1404
               for Cygwin.])
1405
    WIN32LIBS="$WIN32LIBS -lws2_32"
1406
    ;;
1407
esac
1408
AC_SUBST(WIN32LIBS)
1409
 
1410
# Add ELF support to GDB, but only if BFD includes ELF support.
1411
OLD_CFLAGS=$CFLAGS
1412
OLD_LDFLAGS=$LDFLAGS
1413
OLD_LIBS=$LIBS
1414
CFLAGS="$CFLAGS -I${srcdir}/../include -I../bfd -I${srcdir}/../bfd"
1415
LDFLAGS="$LDFLAGS -L../bfd -L../libiberty"
1416
intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
1417
LIBS="$LIBS -lbfd -liberty $intl"
1418
AC_CACHE_CHECK([for ELF support in BFD], gdb_cv_var_elf,
1419
[AC_TRY_LINK(
1420
[#include 
1421
#include "bfd.h"
1422
#include "elf-bfd.h"
1423
],
1424
[bfd *abfd = NULL; bfd_get_elf_phdr_upper_bound (abfd); ],
1425
gdb_cv_var_elf=yes, gdb_cv_var_elf=no)])
1426
if test $gdb_cv_var_elf = yes; then
1427
  CONFIG_OBS="$CONFIG_OBS elfread.o"
1428
  AC_DEFINE(HAVE_ELF, 1,
1429
            [Define if ELF support should be included.])
1430
fi
1431
CFLAGS=$OLD_CFLAGS
1432
LDFLAGS=$OLD_LDFLAGS
1433
LIBS=$OLD_LIBS
1434
 
1435
# Add any host-specific objects to GDB.
1436
CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
1437
 
1438
LIBGUI="../libgui/src/libgui.a"
1439
GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
1440
AC_SUBST(LIBGUI)
1441
AC_SUBST(GUI_CFLAGS_X)
1442
 
1443
WIN32LDAPP=
1444
AC_SUBST(WIN32LIBS)
1445
AC_SUBST(WIN32LDAPP)
1446
 
1447
case "${host}" in
1448
*-*-cygwin*)
1449
    configdir="win"
1450
    ;;
1451
*)
1452
    configdir="unix"
1453
    ;;
1454
esac
1455
 
1456
GDBTKLIBS=
1457
if test "${enable_gdbtk}" = "yes"; then
1458
 
1459
    # Gdbtk must have an absolute path to srcdir in order to run
1460
    # properly when not installed.
1461
    here=`pwd`
1462
    cd ${srcdir}
1463
    GDBTK_SRC_DIR=`pwd`
1464
    cd $here
1465
 
1466
    CY_AC_PATH_TCLCONFIG
1467
    if test -z "${no_tcl}"; then
1468
        CY_AC_LOAD_TCLCONFIG
1469
        CY_AC_PATH_TKCONFIG
1470
 
1471
        # now look for Tcl library stuff
1472
 
1473
        tcldir="../tcl/${configdir}/"
1474
 
1475
        TCL_DEPS="${tcldir}${TCL_LIB_FILE}"
1476
 
1477
        # If $no_tk is nonempty, then we can't do Tk, and there is no
1478
        # point to doing Tcl.
1479
        if test -z "${no_tk}"; then
1480
           CY_AC_LOAD_TKCONFIG
1481
           CY_AC_PATH_TCLH
1482
           CY_AC_PATH_TKH
1483
           CY_AC_PATH_ITCLH
1484
           CY_AC_PATH_ITKH
1485
 
1486
 
1487
           # now look for Tk library stuff
1488
 
1489
           tkdir="../tk/${configdir}/"
1490
 
1491
           TK_DEPS="${tkdir}${TK_LIB_FILE}"
1492
 
1493
           # now look for Itcl library stuff
1494
 
1495
           CY_AC_PATH_ITCLCONFIG
1496
           if test -z "${no_itcl}"; then
1497
             CY_AC_LOAD_ITCLCONFIG
1498
 
1499
             ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
1500
             ITCL_DEPS="${ITCL_LIB_FULL_PATH}"
1501
           fi
1502
 
1503
 
1504
           # now look for Itk library stuff
1505
           CY_AC_PATH_ITKCONFIG
1506
           if test -z "${no_itcl}"; then
1507
             CY_AC_LOAD_ITKCONFIG
1508
 
1509
             ITKLIB="${ITK_BUILD_LIB_SPEC}"
1510
             ITK_DEPS="${ITK_LIB_FULL_PATH}"
1511
           fi
1512
 
1513
           ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
1514
 
1515
           # Include some libraries that Tcl and Tk want.
1516
           TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
1517
           # Yes, the ordering seems wrong here.  But it isn't.
1518
           # TK_LIBS is the list of libraries that need to be linked
1519
           # after Tcl/Tk.  Note that this isn't put into LIBS.  If it
1520
           # were in LIBS then any link tests after this point would
1521
           # try to include things like `$(LIBGUI)', which wouldn't work.
1522
           GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
1523
 
1524
           CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
1525
           CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
1526
           CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
1527
           CONFIG_ALL="${CONFIG_ALL} all-gdbtk"
1528
           CONFIG_CLEAN="${CONFIG_CLEAN} clean-gdbtk"
1529
           CONFIG_INSTALL="${CONFIG_INSTALL} install-gdbtk"
1530
           CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-gdbtk"
1531
 
1532
           if test x$gdb_cv_os_cygwin = xyes; then
1533
              WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1534
              WIN32LDAPP="-Wl,--subsystem,console"
1535
              CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1536
           fi
1537
        fi
1538
    fi
1539
 
1540
    AC_CONFIG_SUBDIRS(gdbtk)
1541
fi
1542
 
1543
AC_SUBST(X_CFLAGS)
1544
AC_SUBST(X_LDFLAGS)
1545
AC_SUBST(X_LIBS)
1546
AC_SUBST(TCL_DEPS)
1547
AC_SUBST(TK_DEPS)
1548
AC_SUBST(ITCLLIB)
1549
AC_SUBST(ITCL_DEPS)
1550
AC_SUBST(ITKLIB)
1551
AC_SUBST(ITK_DEPS)
1552
AC_SUBST(GDBTKLIBS)
1553
AC_SUBST(GDBTK_CFLAGS)
1554
AC_SUBST(GDBTK_SRC_DIR)
1555
 
1556
AC_PATH_X
1557
 
1558
# Check whether we should enable the TUI, but only do so if we really
1559
# can.
1560
if test x"$enable_tui" = xyes; then
1561
  if test -d $srcdir/tui; then
1562
    if test "$ac_cv_search_waddstr" != no; then
1563
      CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)"
1564
      CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
1565
      CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
1566
      CONFIG_INITS="$CONFIG_INITS \$(SUBDIR_TUI_INITS)"
1567
      ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_TUI_CFLAGS)"
1568
      CONFIG_ALL="${CONFIG_ALL} all-tui"
1569
      CONFIG_CLEAN="${CONFIG_CLEAN} clean-tui"
1570
      CONFIG_INSTALL="${CONFIG_INSTALL} install-tui"
1571
      CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-tui"
1572
    else
1573
      AC_MSG_WARN([no enhanced curses library found; disabling TUI])
1574
    fi
1575
  fi
1576
fi
1577
 
1578
# Unlike the sim directory, whether a simulator is linked is controlled by
1579
# presence of a gdb_sim definition in the target configure.tgt entry.
1580
# This code just checks for a few cases where we'd like to ignore those
1581
# definitions, even when they're present in the '.mt' file.  These cases
1582
# are when --disable-sim is specified, or if the simulator directory is
1583
# not part of the source tree.
1584
#
1585
AC_ARG_ENABLE(sim,
1586
[  --enable-sim            Link gdb with simulator],
1587
[echo "enable_sim = $enable_sim";
1588
 echo "enableval = ${enableval}";
1589
 case "${enableval}" in
1590
  yes) ignore_sim=false ;;
1591
  no)  ignore_sim=true ;;
1592
  *)   ignore_sim=false ;;
1593
 esac],
1594
[ignore_sim=false])
1595
 
1596
if test ! -d "${srcdir}/../sim"; then
1597
  ignore_sim=true
1598
fi
1599
 
1600
SIM=
1601
SIM_OBS=
1602
if test "${ignore_sim}" = "false"; then
1603
  if test x"${gdb_sim}" != x ; then
1604
    SIM="${gdb_sim}"
1605
    SIM_OBS="remote-sim.o"
1606
    AC_DEFINE(WITH_SIM, 1, [Define if the simulator is being linked in.])
1607
  fi
1608
fi
1609
AC_SUBST(SIM)
1610
AC_SUBST(SIM_OBS)
1611
 
1612
AC_SUBST(ENABLE_CFLAGS)
1613
AC_SUBST(PROFILE_CFLAGS)
1614
 
1615
AC_SUBST(CONFIG_OBS)
1616
AC_SUBST(CONFIG_DEPS)
1617
AC_SUBST(CONFIG_SRCS)
1618
AC_SUBST(CONFIG_ALL)
1619
AC_SUBST(CONFIG_CLEAN)
1620
AC_SUBST(CONFIG_INSTALL)
1621
AC_SUBST(CONFIG_UNINSTALL)
1622
 
1623
# List of host floatformats.
1624
AC_DEFINE_UNQUOTED(GDB_HOST_FLOAT_FORMAT,$gdb_host_float_format,[Host float floatformat])
1625
AC_DEFINE_UNQUOTED(GDB_HOST_DOUBLE_FORMAT,$gdb_host_double_format,[Host double floatformat])
1626
AC_DEFINE_UNQUOTED(GDB_HOST_LONG_DOUBLE_FORMAT,$gdb_host_long_double_format,[Host long double floatformat])
1627
 
1628
# target_subdir is used by the testsuite to find the target libraries.
1629
target_subdir=
1630
if test "${host}" != "${target}"; then
1631
    target_subdir="${target_alias}/"
1632
fi
1633
AC_SUBST(target_subdir)
1634
 
1635
frags=
1636
if test "${gdb_native}" = "yes"; then
1637
  host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
1638
  if test ! -f ${host_makefile_frag}; then
1639
    AC_MSG_ERROR("*** Gdb does not support native target ${host}")
1640
  fi
1641
  frags="$frags $host_makefile_frag"
1642
else
1643
  host_makefile_frag=/dev/null
1644
fi
1645
 
1646
AC_SUBST_FILE(host_makefile_frag)
1647
AC_SUBST(frags)
1648
 
1649
changequote(,)dnl
1650
if test "${gdb_native}" = "yes"; then
1651
# We pick this up from the host configuration file (.mh) because we
1652
# do not have a native configuration Makefile fragment.
1653
nativefile=`sed -n '
1654
s/NAT_FILE[     ]*=[    ]*\([^  ]*\)/\1/p
1655
' ${host_makefile_frag}`
1656
fi
1657
changequote([,])
1658
 
1659
if test x"${gdb_osabi}" != x ; then
1660
    AC_DEFINE_UNQUOTED(GDB_OSABI_DEFAULT, $gdb_osabi,
1661
                       [Define to the default OS ABI for this configuration.])
1662
fi
1663
 
1664
# Enable multi-ice-gdb-server.
1665
AC_ARG_ENABLE(multi-ice,
1666
[  --enable-multi-ice      build the multi-ice-gdb-server],
1667
  [case $enableval in
1668
    yes | no)
1669
      ;;
1670
    *) AC_MSG_ERROR([bad value $enableval for --enable-multi-ice]) ;;
1671
  esac])
1672
if test "x$enable_multi_ice" = xyes; then
1673
   AC_CONFIG_SUBDIRS(multi-ice)
1674
fi
1675
 
1676
# We only build gdbserver automatically in a native configuration.
1677
if test "$gdb_native" = "yes"; then
1678
  AC_MSG_CHECKING(whether gdbserver is supported on this host)
1679
  if test "x$build_gdbserver" = xyes; then
1680
    AC_MSG_RESULT(yes)
1681
    AC_CONFIG_SUBDIRS(gdbserver)
1682
  else
1683
    AC_MSG_RESULT(no)
1684
  fi
1685
fi
1686
 
1687
# If nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
1688
# to an empty version.
1689
 
1690
files=
1691
links=
1692
 
1693
rm -f nm.h
1694
nm_h=""
1695
if test "${nativefile}" != ""; then
1696
    nm_h=nm.h
1697
    case "${nativefile}" in
1698
      nm-*.h ) GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}" ;;
1699
      * ) GDB_NM_FILE="${nativefile}"
1700
    esac
1701
    files="${files} ${GDB_NM_FILE}"
1702
    links="${links} nm.h"
1703
    AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}", [nativefile])
1704
fi
1705
AC_SUBST(nm_h)
1706
 
1707
AC_LINK_FILES($files, $links)
1708
 
1709
dnl Check for exe extension set on certain hosts (e.g. Win32)
1710
AC_EXEEXT
1711
 
1712
dnl  Detect the character set used by this host.
1713
 
1714
dnl  At the moment, we just assume it's ISO-8859-1 (which is a
1715
dnl  superset of ASCII containing the characters needed for French,
1716
dnl  German, Spanish, Italian, and possibly others), but if were
1717
dnl  *were* to support any host character sets other than ISO-8859-1,
1718
dnl  here's where we'd detect it.
1719
AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "ISO-8859-1",
1720
          [Define to be a string naming the default host character set.])
1721
 
1722
AM_ICONV
1723
 
1724
AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
1725
[
1726
dnl Autoconf doesn't provide a mechanism for modifying definitions
1727
dnl provided by makefile fragments.
1728
dnl
1729
 
1730
changequote(,)dnl
1731
sed -e '/^NAT_FILE[     ]*=/s,^NAT_FILE[        ]*=[    ]*,&config/'"${gdb_host_cpu}"'/,' Makefile.tmp
1732
mv -f Makefile.tmp Makefile
1733
changequote([,])dnl
1734
 
1735
 
1736
case x$CONFIG_HEADERS in
1737
xconfig.h:config.in)
1738
echo > stamp-h ;;
1739
esac
1740
],
1741
[
1742
gdb_host_cpu=$gdb_host_cpu
1743
nativefile=$nativefile
1744
])
1745
 
1746
exit 0

powered by: WebSVN 2.1.0

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