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

Subversion Repositories openrisc

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

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 225 jeremybenn
# Added from binutils 2.20.1/bfd
455
#Link in zlib if we can.  This allows us to read compressed debug sections.
456
# This is used only by compress.c.
457
AC_SEARCH_LIBS(zlibVersion, z, [AC_CHECK_HEADERS(zlib.h)])
458
 
459 24 jeremybenn
AC_ARG_WITH(expat,
460
  AS_HELP_STRING([--with-expat], [include expat support (auto/yes/no)]),
461
  [], [with_expat=auto])
462
AC_MSG_CHECKING([whether to use expat])
463
AC_MSG_RESULT([$with_expat])
464
 
465
if test "${with_expat}" = no; then
466
  AC_MSG_WARN([expat support disabled; some features may be unavailable.])
467
  HAVE_LIBEXPAT=no
468
else
469
  AC_LIB_HAVE_LINKFLAGS([expat], [], [#include "expat.h"],
470
                        [XML_Parser p = XML_ParserCreate (0);])
471
  if test "$HAVE_LIBEXPAT" != yes; then
472
    if test "$with_expat" = yes; then
473
      AC_MSG_ERROR([expat is missing or unusable])
474
    else
475
      AC_MSG_WARN([expat is missing or unusable; some features may be unavailable.])
476
    fi
477
  else
478
    save_LIBS=$LIBS
479
    LIBS="$LIBS $LIBEXPAT"
480
    AC_CHECK_FUNCS(XML_StopParser)
481
    LIBS=$save_LIBS
482
  fi
483
fi
484
 
485
# ------------------------- #
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
dnl For certain native configurations, we need to check whether thread
1109
dnl support can be built in or not.
1110
dnl
1111
dnl Note that we only want this if we are both native (host == target),
1112
dnl and not doing a canadian cross build (build == host).
1113
 
1114
if test ${build} = ${host} -a ${host} = ${target} ; then
1115
   case ${host_os} in
1116
   hpux*)
1117
      AC_MSG_CHECKING(for HPUX/OSF thread support)
1118
      if test -f /usr/include/dce/cma_config.h ; then
1119
         if test "$GCC" = "yes" ; then
1120
            AC_MSG_RESULT(yes)
1121
            AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT, 1,
1122
            [Define if you have HPUX threads])
1123
            CONFIG_OBS="${CONFIG_OBS} hpux-thread.o"
1124
            CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
1125
         else
1126
            AC_MSG_RESULT(no (suppressed because you are not using GCC))
1127
         fi
1128
      else
1129
         AC_MSG_RESULT(no)
1130
      fi
1131
      ;;
1132
   solaris*)
1133
      # See if thread_db library is around for Solaris thread debugging.
1134
      # Note that we must explicitly test for version 1 of the library
1135
      # because version 0 (present on Solaris 2.4 or earlier) doesn't have
1136
      # the same API.
1137
      AC_MSG_CHECKING(for Solaris thread debugging library)
1138
      if test -f /usr/lib/libthread_db.so.1 ; then
1139
         AC_MSG_RESULT(yes)
1140
         AC_DEFINE(HAVE_THREAD_DB_LIB, 1,
1141
         [Define if using Solaris thread debugging.])
1142
         CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
1143
         CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
1144
         AC_CHECK_LIB(dl, dlopen)
1145
         if test "$GCC" = "yes" ; then
1146
            # The GNU linker requires the -export-dynamic option to make
1147
            # all symbols visible in the dynamic symbol table.
1148
            hold_ldflags=$LDFLAGS
1149
            AC_MSG_CHECKING(for the ld -export-dynamic flag)
1150
            LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
1151
            AC_TRY_LINK(, [int i;], found=yes, found=no)
1152
            LDFLAGS=$hold_ldflags
1153
            AC_MSG_RESULT($found)
1154
            if test $found = yes; then
1155
               CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
1156
            fi
1157
         fi
1158
         # Sun randomly tweaked the prototypes in 
1159
         # at one point.
1160
         AC_MSG_CHECKING(if  is old)
1161
         AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
1162
            AC_TRY_COMPILE([
1163
                #include 
1164
                ps_err_e ps_pdwrite
1165
                    (struct ps_prochandle*, psaddr_t, const void*, size_t);
1166
            ],, gdb_cv_proc_service_is_old=no,
1167
                gdb_cv_proc_service_is_old=yes)
1168
         ])
1169
         AC_MSG_RESULT($gdb_cv_proc_service_is_old)
1170
         if test $gdb_cv_proc_service_is_old = yes; then
1171
            AC_DEFINE(PROC_SERVICE_IS_OLD, 1,
1172
            [Define if  on solaris uses int instead of
1173
             size_t, and assorted other type changes.])
1174
         fi
1175
      else
1176
         AC_MSG_RESULT(no)
1177
      fi
1178
      ;;
1179
   aix*)
1180
      AC_MSG_CHECKING(for AiX thread debugging library)
1181
      AC_CACHE_VAL(gdb_cv_have_aix_thread_debug,
1182
                   [AC_TRY_COMPILE([#include ],
1183
                                   [#ifndef PTHDB_VERSION_3
1184
                                    #error
1185
                                    #endif],
1186
                                   gdb_cv_have_aix_thread_debug=yes,
1187
                                   gdb_cv_have_aix_thread_debug=no)])
1188
      AC_MSG_RESULT($gdb_cv_have_aix_thread_debug)
1189
      if test $gdb_cv_have_aix_thread_debug = yes; then
1190
         CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
1191
         CONFIG_OBS="${CONFIG_OBS} aix-thread.o"
1192
         CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -lpthdebug"
1193
      fi
1194
      ;;
1195
   esac
1196
   AC_SUBST(CONFIG_LDFLAGS)
1197
fi
1198
 
1199
dnl See if we have a thread_db header file that has TD_NOTALLOC and
1200
dnl other error codes.
1201
if test "x$ac_cv_header_thread_db_h" = "xyes"; then
1202
   AC_CACHE_CHECK([whether  has TD_NOTALLOC],
1203
                  gdb_cv_thread_db_h_has_td_notalloc,
1204
     AC_TRY_COMPILE(
1205
       [#include ],
1206
       [int i = TD_NOTALLOC;],
1207
       gdb_cv_thread_db_h_has_td_notalloc=yes,
1208
       gdb_cv_thread_db_h_has_td_notalloc=no
1209
     )
1210
   )
1211
   AC_CACHE_CHECK([whether  has TD_VERSION],
1212
                  gdb_cv_thread_db_h_has_td_version,
1213
     AC_TRY_COMPILE(
1214
       [#include ],
1215
       [int i = TD_VERSION;],
1216
       gdb_cv_thread_db_h_has_td_version=yes,
1217
       gdb_cv_thread_db_h_has_td_version=no
1218
     )
1219
   )
1220
   AC_CACHE_CHECK([whether  has TD_NOTLS],
1221
                  gdb_cv_thread_db_h_has_td_notls,
1222
     AC_TRY_COMPILE(
1223
       [#include ],
1224
       [int i = TD_NOTLS;],
1225
       gdb_cv_thread_db_h_has_td_notls=yes,
1226
       gdb_cv_thread_db_h_has_td_notls=no
1227
     )
1228
   )
1229
fi
1230
if test "x$gdb_cv_thread_db_h_has_td_notalloc" = "xyes"; then
1231
  AC_DEFINE(THREAD_DB_HAS_TD_NOTALLOC, 1,
1232
            [Define if  has the TD_NOTALLOC error code.])
1233
fi
1234
if test "x$gdb_cv_thread_db_h_has_td_version" = "xyes"; then
1235
  AC_DEFINE(THREAD_DB_HAS_TD_VERSION, 1,
1236
            [Define if  has the TD_VERSION error code.])
1237
fi
1238
if test "x$gdb_cv_thread_db_h_has_td_notls" = "xyes"; then
1239
  AC_DEFINE(THREAD_DB_HAS_TD_NOTLS, 1,
1240
            [Define if  has the TD_NOTLS error code.])
1241
fi
1242
 
1243
dnl See if we have a sys/syscall header file that has __NR_tkill.
1244
if test "x$ac_cv_header_sys_syscall_h" = "xyes"; then
1245
   AC_CACHE_CHECK([whether  has __NR_tkill],
1246
                  gdb_cv_sys_syscall_h_has_tkill,
1247
     AC_TRY_COMPILE(
1248
       [#include ],
1249
       [int i = __NR_tkill;],
1250
       gdb_cv_sys_syscall_h_has_tkill=yes,
1251
       gdb_cv_sys_syscall_h_has_tkill=no
1252
     )
1253
   )
1254
fi
1255
dnl See if we can issue tkill syscall.
1256
if test "x$gdb_cv_sys_syscall_h_has_tkill" = "xyes" && test "x$ac_cv_func_syscall" = "xyes"; then
1257
  AC_DEFINE(HAVE_TKILL_SYSCALL, 1, [Define if you support the tkill syscall.])
1258
fi
1259
 
1260
dnl Handle optional features that can be enabled.
1261
 
1262
AC_ARG_WITH(sysroot,
1263
[  --with-sysroot[=DIR] Search for usr/lib et al within DIR.],
1264
[
1265
 case ${with_sysroot} in
1266
 yes) TARGET_SYSTEM_ROOT='${exec_prefix}/${target_alias}/sys-root' ;;
1267
 *) TARGET_SYSTEM_ROOT=$with_sysroot ;;
1268
 esac
1269
 
1270
 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"$(TARGET_SYSTEM_ROOT)\"'
1271
 
1272
 if test "x$prefix" = xNONE; then
1273
  test_prefix=/usr/local
1274
 else
1275
  test_prefix=$prefix
1276
 fi
1277
 if test "x$exec_prefix" = xNONE || test "x$exec_prefix" = 'x${prefix}'; then
1278
  test_exec_prefix=$test_prefix
1279
 else
1280
  test_exec_prefix=$exec_prefix
1281
 fi
1282
 case ${TARGET_SYSTEM_ROOT} in
1283
 "${test_prefix}"|"${test_prefix}/"*|\
1284
 "${test_exec_prefix}"|"${test_exec_prefix}/"*|\
1285
 '${prefix}'|'${prefix}/'*|\
1286
 '${exec_prefix}'|'${exec_prefix}/'*)
1287
   t="$TARGET_SYSTEM_ROOT_DEFINE -DTARGET_SYSTEM_ROOT_RELOCATABLE"
1288
   TARGET_SYSTEM_ROOT_DEFINE="$t"
1289
   ;;
1290
 esac
1291
], [
1292
 TARGET_SYSTEM_ROOT=
1293
 TARGET_SYSTEM_ROOT_DEFINE='-DTARGET_SYSTEM_ROOT=\"\"'
1294
])
1295
AC_SUBST(TARGET_SYSTEM_ROOT)
1296
AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
1297
 
1298
AC_ARG_ENABLE(werror,
1299
  [  --enable-werror    treat compile warnings as errors],
1300
  [case "${enableval}" in
1301
     yes | y) ERROR_ON_WARNING="yes" ;;
1302
     no | n)  ERROR_ON_WARNING="no" ;;
1303
     *) AC_MSG_ERROR(bad value ${enableval} for --enable-werror) ;;
1304
   esac])
1305
 
1306
# Enable -Werror by default when using gcc
1307
if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then
1308
    ERROR_ON_WARNING=yes
1309
fi
1310
 
1311
WERROR_CFLAGS=""
1312
if test "${ERROR_ON_WARNING}" = yes ; then
1313
    WERROR_CFLAGS="-Werror"
1314
fi
1315
 
1316
# The entries after -Wno-pointer-sign are disabled warnings which may
1317
# be enabled in the future, which can not currently be used to build
1318
# GDB.
1319
# NOTE: If you change this list, remember to update
1320
# gdb/doc/gdbint.texinfo.
1321
build_warnings="-Wall -Wdeclaration-after-statement -Wpointer-arith \
1322
-Wformat-nonliteral -Wno-pointer-sign \
1323
-Wno-unused -Wno-switch -Wno-char-subscripts"
1324
 
1325
AC_ARG_ENABLE(build-warnings,
1326
[  --enable-build-warnings Enable build-time compiler warnings if gcc is used],
1327
[case "${enableval}" in
1328
  yes)  ;;
1329
  no)   build_warnings="-w";;
1330
  ,*)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
1331
        build_warnings="${build_warnings} ${t}";;
1332
  *,)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
1333
        build_warnings="${t} ${build_warnings}";;
1334
  *)    build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1335
esac
1336
if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1337
  echo "Setting compiler warning flags = $build_warnings" 6>&1
1338
fi])dnl
1339
AC_ARG_ENABLE(gdb-build-warnings,
1340
[  --enable-gdb-build-warnings Enable GDB specific build-time compiler warnings if gcc is used],
1341
[case "${enableval}" in
1342
  yes)  ;;
1343
  no)   build_warnings="-w";;
1344
  ,*)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
1345
        build_warnings="${build_warnings} ${t}";;
1346
  *,)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
1347
        build_warnings="${t} ${build_warnings}";;
1348
  *)    build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
1349
esac
1350
if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
1351
  echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
1352
fi])dnl
1353
WARN_CFLAGS=""
1354
if test "x${build_warnings}" != x -a "x$GCC" = xyes
1355
then
1356
    AC_MSG_CHECKING(compiler warning flags)
1357
    # Separate out the -Werror flag as some files just cannot be
1358
    # compiled with it enabled.
1359
    for w in ${build_warnings}; do
1360
        case $w in
1361
        -Werr*) WERROR_CFLAGS=-Werror ;;
1362
        *) # Check that GCC accepts it
1363
            saved_CFLAGS="$CFLAGS"
1364
            CFLAGS="$CFLAGS $w"
1365
            AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
1366
            CFLAGS="$saved_CFLAGS"
1367
        esac
1368
    done
1369
    AC_MSG_RESULT(${WARN_CFLAGS} ${WERROR_CFLAGS})
1370
fi
1371
AC_SUBST(WARN_CFLAGS)
1372
AC_SUBST(WERROR_CFLAGS)
1373
 
1374
# In the Cygwin environment, we need some additional flags.
1375
AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
1376
[AC_EGREP_CPP(lose, [
1377
#if defined (__CYGWIN__) || defined (__CYGWIN32__)
1378
lose
1379
#endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
1380
 
1381
 
1382
dnl Figure out which of the many generic ser-*.c files the _host_ supports.
1383
SER_HARDWIRE="ser-base.o ser-unix.o ser-pipe.o ser-tcp.o"
1384
case ${host} in
1385
  *go32* ) SER_HARDWIRE=ser-go32.o ;;
1386
  *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
1387
  *mingw32*) SER_HARDWIRE="ser-base.o ser-tcp.o ser-mingw.o" ;;
1388
esac
1389
AC_SUBST(SER_HARDWIRE)
1390
 
1391
# libreadline needs libuser32.a in a cygwin environment
1392
WIN32LIBS=
1393
if test x$gdb_cv_os_cygwin = xyes; then
1394
    WIN32LIBS="-luser32"
1395
    case "${target}" in
1396
        *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
1397
        ;;
1398
    esac
1399
fi
1400
 
1401
# The ser-tcp.c module requires sockets.
1402
case ${host} in
1403
  *mingw32*)
1404
    AC_DEFINE(USE_WIN32API, 1,
1405
              [Define if we should use the Windows API, instead of the
1406
               POSIX API.  On Windows, we use the Windows API when
1407
               building for MinGW, but the POSIX API when building
1408
               for Cygwin.])
1409
    WIN32LIBS="$WIN32LIBS -lws2_32"
1410
    ;;
1411
esac
1412
AC_SUBST(WIN32LIBS)
1413
 
1414
# Add ELF support to GDB, but only if BFD includes ELF support.
1415
OLD_CFLAGS=$CFLAGS
1416
OLD_LDFLAGS=$LDFLAGS
1417
OLD_LIBS=$LIBS
1418
CFLAGS="$CFLAGS -I${srcdir}/../include -I../bfd -I${srcdir}/../bfd"
1419
LDFLAGS="$LDFLAGS -L../bfd -L../libiberty"
1420
intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
1421
LIBS="$LIBS -lbfd -liberty $intl"
1422
AC_CACHE_CHECK([for ELF support in BFD], gdb_cv_var_elf,
1423
[AC_TRY_LINK(
1424
[#include 
1425
#include "bfd.h"
1426
#include "elf-bfd.h"
1427
],
1428
[bfd *abfd = NULL; bfd_get_elf_phdr_upper_bound (abfd); ],
1429
gdb_cv_var_elf=yes, gdb_cv_var_elf=no)])
1430
if test $gdb_cv_var_elf = yes; then
1431
  CONFIG_OBS="$CONFIG_OBS elfread.o"
1432
  AC_DEFINE(HAVE_ELF, 1,
1433
            [Define if ELF support should be included.])
1434
fi
1435
CFLAGS=$OLD_CFLAGS
1436
LDFLAGS=$OLD_LDFLAGS
1437
LIBS=$OLD_LIBS
1438
 
1439
# Add any host-specific objects to GDB.
1440
CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
1441
 
1442
LIBGUI="../libgui/src/libgui.a"
1443
GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
1444
AC_SUBST(LIBGUI)
1445
AC_SUBST(GUI_CFLAGS_X)
1446
 
1447
WIN32LDAPP=
1448
AC_SUBST(WIN32LIBS)
1449
AC_SUBST(WIN32LDAPP)
1450
 
1451
case "${host}" in
1452
*-*-cygwin*)
1453
    configdir="win"
1454
    ;;
1455
*)
1456
    configdir="unix"
1457
    ;;
1458
esac
1459
 
1460
GDBTKLIBS=
1461
if test "${enable_gdbtk}" = "yes"; then
1462
 
1463
    # Gdbtk must have an absolute path to srcdir in order to run
1464
    # properly when not installed.
1465
    here=`pwd`
1466
    cd ${srcdir}
1467
    GDBTK_SRC_DIR=`pwd`
1468
    cd $here
1469
 
1470
    CY_AC_PATH_TCLCONFIG
1471
    if test -z "${no_tcl}"; then
1472
        CY_AC_LOAD_TCLCONFIG
1473
        CY_AC_PATH_TKCONFIG
1474
 
1475
        # now look for Tcl library stuff
1476
 
1477
        tcldir="../tcl/${configdir}/"
1478
 
1479
        TCL_DEPS="${tcldir}${TCL_LIB_FILE}"
1480
 
1481
        # If $no_tk is nonempty, then we can't do Tk, and there is no
1482
        # point to doing Tcl.
1483
        if test -z "${no_tk}"; then
1484
           CY_AC_LOAD_TKCONFIG
1485
           CY_AC_PATH_TCLH
1486
           CY_AC_PATH_TKH
1487
           CY_AC_PATH_ITCLH
1488
           CY_AC_PATH_ITKH
1489
 
1490
 
1491
           # now look for Tk library stuff
1492
 
1493
           tkdir="../tk/${configdir}/"
1494
 
1495
           TK_DEPS="${tkdir}${TK_LIB_FILE}"
1496
 
1497
           # now look for Itcl library stuff
1498
 
1499
           CY_AC_PATH_ITCLCONFIG
1500
           if test -z "${no_itcl}"; then
1501
             CY_AC_LOAD_ITCLCONFIG
1502
 
1503
             ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
1504
             ITCL_DEPS="${ITCL_LIB_FULL_PATH}"
1505
           fi
1506
 
1507
 
1508
           # now look for Itk library stuff
1509
           CY_AC_PATH_ITKCONFIG
1510
           if test -z "${no_itcl}"; then
1511
             CY_AC_LOAD_ITKCONFIG
1512
 
1513
             ITKLIB="${ITK_BUILD_LIB_SPEC}"
1514
             ITK_DEPS="${ITK_LIB_FULL_PATH}"
1515
           fi
1516
 
1517
           ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
1518
 
1519
           # Include some libraries that Tcl and Tk want.
1520
           TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
1521
           # Yes, the ordering seems wrong here.  But it isn't.
1522
           # TK_LIBS is the list of libraries that need to be linked
1523
           # after Tcl/Tk.  Note that this isn't put into LIBS.  If it
1524
           # were in LIBS then any link tests after this point would
1525
           # try to include things like `$(LIBGUI)', which wouldn't work.
1526
           GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
1527
 
1528
           CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
1529
           CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
1530
           CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
1531
           CONFIG_ALL="${CONFIG_ALL} all-gdbtk"
1532
           CONFIG_CLEAN="${CONFIG_CLEAN} clean-gdbtk"
1533
           CONFIG_INSTALL="${CONFIG_INSTALL} install-gdbtk"
1534
           CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-gdbtk"
1535
 
1536
           if test x$gdb_cv_os_cygwin = xyes; then
1537
              WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1538
              WIN32LDAPP="-Wl,--subsystem,console"
1539
              CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1540
           fi
1541
        fi
1542
    fi
1543
 
1544
    AC_CONFIG_SUBDIRS(gdbtk)
1545
fi
1546
 
1547
AC_SUBST(X_CFLAGS)
1548
AC_SUBST(X_LDFLAGS)
1549
AC_SUBST(X_LIBS)
1550
AC_SUBST(TCL_DEPS)
1551
AC_SUBST(TK_DEPS)
1552
AC_SUBST(ITCLLIB)
1553
AC_SUBST(ITCL_DEPS)
1554
AC_SUBST(ITKLIB)
1555
AC_SUBST(ITK_DEPS)
1556
AC_SUBST(GDBTKLIBS)
1557
AC_SUBST(GDBTK_CFLAGS)
1558
AC_SUBST(GDBTK_SRC_DIR)
1559
 
1560
AC_PATH_X
1561
 
1562
# Check whether we should enable the TUI, but only do so if we really
1563
# can.
1564
if test x"$enable_tui" = xyes; then
1565
  if test -d $srcdir/tui; then
1566
    if test "$ac_cv_search_waddstr" != no; then
1567
      CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)"
1568
      CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
1569
      CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_TUI_SRCS)"
1570
      CONFIG_INITS="$CONFIG_INITS \$(SUBDIR_TUI_INITS)"
1571
      ENABLE_CFLAGS="$ENABLE_CFLAGS \$(SUBDIR_TUI_CFLAGS)"
1572
      CONFIG_ALL="${CONFIG_ALL} all-tui"
1573
      CONFIG_CLEAN="${CONFIG_CLEAN} clean-tui"
1574
      CONFIG_INSTALL="${CONFIG_INSTALL} install-tui"
1575
      CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-tui"
1576
    else
1577
      AC_MSG_WARN([no enhanced curses library found; disabling TUI])
1578
    fi
1579
  fi
1580
fi
1581
 
1582
# Unlike the sim directory, whether a simulator is linked is controlled by
1583
# presence of a gdb_sim definition in the target configure.tgt entry.
1584
# This code just checks for a few cases where we'd like to ignore those
1585
# definitions, even when they're present in the '.mt' file.  These cases
1586
# are when --disable-sim is specified, or if the simulator directory is
1587
# not part of the source tree.
1588
#
1589
AC_ARG_ENABLE(sim,
1590
[  --enable-sim            Link gdb with simulator],
1591
[echo "enable_sim = $enable_sim";
1592
 echo "enableval = ${enableval}";
1593
 case "${enableval}" in
1594
  yes) ignore_sim=false ;;
1595
  no)  ignore_sim=true ;;
1596
  *)   ignore_sim=false ;;
1597
 esac],
1598
[ignore_sim=false])
1599
 
1600
if test ! -d "${srcdir}/../sim"; then
1601
  ignore_sim=true
1602
fi
1603
 
1604
SIM=
1605
SIM_OBS=
1606
if test "${ignore_sim}" = "false"; then
1607
  if test x"${gdb_sim}" != x ; then
1608
    SIM="${gdb_sim}"
1609
    SIM_OBS="remote-sim.o"
1610
    AC_DEFINE(WITH_SIM, 1, [Define if the simulator is being linked in.])
1611
  fi
1612
fi
1613
AC_SUBST(SIM)
1614
AC_SUBST(SIM_OBS)
1615
 
1616 225 jeremybenn
# Option to explicitly specify the location of the Or1ksim installation
1617
AC_ARG_WITH([or1ksim],
1618
            [AS_HELP_STRING([--with-or1ksim=ARG],
1619
            [specify the Or1ksim installation directory explicitly (otherwise use default search paths)])],
1620
            [],
1621
           [])
1622
if test x"$with_or1ksim" != x
1623
then
1624
    CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-rpath -Wl,$with_or1ksim/lib -L$with_or1ksim/lib -lsim"
1625
    AC_SUBST(CONFIG_LDFLAGS)
1626
fi
1627
 
1628 24 jeremybenn
AC_SUBST(ENABLE_CFLAGS)
1629
AC_SUBST(PROFILE_CFLAGS)
1630
 
1631
AC_SUBST(CONFIG_OBS)
1632
AC_SUBST(CONFIG_DEPS)
1633
AC_SUBST(CONFIG_SRCS)
1634
AC_SUBST(CONFIG_ALL)
1635
AC_SUBST(CONFIG_CLEAN)
1636
AC_SUBST(CONFIG_INSTALL)
1637
AC_SUBST(CONFIG_UNINSTALL)
1638
 
1639
# List of host floatformats.
1640
AC_DEFINE_UNQUOTED(GDB_HOST_FLOAT_FORMAT,$gdb_host_float_format,[Host float floatformat])
1641
AC_DEFINE_UNQUOTED(GDB_HOST_DOUBLE_FORMAT,$gdb_host_double_format,[Host double floatformat])
1642
AC_DEFINE_UNQUOTED(GDB_HOST_LONG_DOUBLE_FORMAT,$gdb_host_long_double_format,[Host long double floatformat])
1643
 
1644
# target_subdir is used by the testsuite to find the target libraries.
1645
target_subdir=
1646
if test "${host}" != "${target}"; then
1647
    target_subdir="${target_alias}/"
1648
fi
1649
AC_SUBST(target_subdir)
1650
 
1651
frags=
1652
if test "${gdb_native}" = "yes"; then
1653
  host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
1654
  if test ! -f ${host_makefile_frag}; then
1655
    AC_MSG_ERROR("*** Gdb does not support native target ${host}")
1656
  fi
1657
  frags="$frags $host_makefile_frag"
1658
else
1659
  host_makefile_frag=/dev/null
1660
fi
1661
 
1662
AC_SUBST_FILE(host_makefile_frag)
1663
AC_SUBST(frags)
1664
 
1665
changequote(,)dnl
1666
if test "${gdb_native}" = "yes"; then
1667
# We pick this up from the host configuration file (.mh) because we
1668
# do not have a native configuration Makefile fragment.
1669
nativefile=`sed -n '
1670
s/NAT_FILE[     ]*=[    ]*\([^  ]*\)/\1/p
1671
' ${host_makefile_frag}`
1672
fi
1673
changequote([,])
1674
 
1675
if test x"${gdb_osabi}" != x ; then
1676
    AC_DEFINE_UNQUOTED(GDB_OSABI_DEFAULT, $gdb_osabi,
1677
                       [Define to the default OS ABI for this configuration.])
1678
fi
1679
 
1680
# Enable multi-ice-gdb-server.
1681
AC_ARG_ENABLE(multi-ice,
1682
[  --enable-multi-ice      build the multi-ice-gdb-server],
1683
  [case $enableval in
1684
    yes | no)
1685
      ;;
1686
    *) AC_MSG_ERROR([bad value $enableval for --enable-multi-ice]) ;;
1687
  esac])
1688
if test "x$enable_multi_ice" = xyes; then
1689
   AC_CONFIG_SUBDIRS(multi-ice)
1690
fi
1691
 
1692
# We only build gdbserver automatically in a native configuration.
1693
if test "$gdb_native" = "yes"; then
1694
  AC_MSG_CHECKING(whether gdbserver is supported on this host)
1695
  if test "x$build_gdbserver" = xyes; then
1696
    AC_MSG_RESULT(yes)
1697
    AC_CONFIG_SUBDIRS(gdbserver)
1698
  else
1699
    AC_MSG_RESULT(no)
1700
  fi
1701
fi
1702
 
1703
# If nativefile (NAT_FILE) is not set in config/*/*.m[ht] files, we link
1704
# to an empty version.
1705
 
1706
files=
1707
links=
1708
 
1709
rm -f nm.h
1710
nm_h=""
1711
if test "${nativefile}" != ""; then
1712
    nm_h=nm.h
1713
    case "${nativefile}" in
1714
      nm-*.h ) GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}" ;;
1715
      * ) GDB_NM_FILE="${nativefile}"
1716
    esac
1717
    files="${files} ${GDB_NM_FILE}"
1718
    links="${links} nm.h"
1719
    AC_DEFINE_UNQUOTED(GDB_NM_FILE, "${GDB_NM_FILE}", [nativefile])
1720
fi
1721
AC_SUBST(nm_h)
1722
 
1723
AC_LINK_FILES($files, $links)
1724
 
1725
dnl Check for exe extension set on certain hosts (e.g. Win32)
1726
AC_EXEEXT
1727
 
1728
dnl  Detect the character set used by this host.
1729
 
1730
dnl  At the moment, we just assume it's ISO-8859-1 (which is a
1731
dnl  superset of ASCII containing the characters needed for French,
1732
dnl  German, Spanish, Italian, and possibly others), but if were
1733
dnl  *were* to support any host character sets other than ISO-8859-1,
1734
dnl  here's where we'd detect it.
1735
AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "ISO-8859-1",
1736
          [Define to be a string naming the default host character set.])
1737
 
1738
AM_ICONV
1739
 
1740
AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
1741
[
1742
dnl Autoconf doesn't provide a mechanism for modifying definitions
1743
dnl provided by makefile fragments.
1744
dnl
1745
 
1746
changequote(,)dnl
1747
sed -e '/^NAT_FILE[     ]*=/s,^NAT_FILE[        ]*=[    ]*,&config/'"${gdb_host_cpu}"'/,' Makefile.tmp
1748
mv -f Makefile.tmp Makefile
1749
changequote([,])dnl
1750
 
1751
 
1752
case x$CONFIG_HEADERS in
1753
xconfig.h:config.in)
1754
echo > stamp-h ;;
1755
esac
1756
],
1757
[
1758
gdb_host_cpu=$gdb_host_cpu
1759
nativefile=$nativefile
1760
])
1761
 
1762
exit 0

powered by: WebSVN 2.1.0

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