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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [gdb-5.0/] [gdb/] [configure.in] - Blame information for rev 1774

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

Line No. Rev Author Line
1 104 markom
dnl Autoconf configure script for GDB, the GNU debugger.
2
dnl Copyright 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
3
dnl
4
dnl This file is part of GDB.
5
dnl
6
dnl This program is free software; you can redistribute it and/or modify
7
dnl it under the terms of the GNU General Public License as published by
8
dnl the Free Software Foundation; either version 2 of the License, or
9
dnl (at your option) any later version.
10
dnl
11
dnl This program is distributed in the hope that it will be useful,
12
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
13
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
dnl GNU General Public License for more details.
15
dnl
16
dnl You should have received a copy of the GNU General Public License
17
dnl along with this program; if not, write to the Free Software
18
dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19
 
20
dnl Process this file with autoconf to produce a configure script.
21
 
22
AC_PREREQ(2.13)dnl
23
AC_INIT(main.c)
24
AC_CONFIG_HEADER(config.h:config.in)
25
AM_MAINTAINER_MODE
26
 
27
AC_PROG_CC
28
AC_AIX
29
AC_ISC_POSIX
30
AM_PROG_CC_STDC
31
 
32
AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
33
AC_CANONICAL_SYSTEM
34
 
35
dnl gdb doesn't use gettext, but bfd does.  We call this to ensure we
36
dnl link with the correct libraries.
37
ALL_LINGUAS=
38
CY_GNU_GETTEXT
39
 
40
dnl List of object files added by configure.
41
 
42
CONFIG_OBS=
43
CONFIG_DEPS=
44
CONFIG_SRCS=
45
CONFIG_INITS=
46
ENABLE_CFLAGS=
47
CONFIG_ALL=
48
CONFIG_CLEAN=
49
CONFIG_INSTALL=
50
CONFIG_UNINSTALL=
51
 
52
configdirs="doc testsuite"
53
 
54
AC_ARG_ENABLE(multi-ice,
55
[  --enable-multi-ice            Build the multi-ice-gdb-server],
56
[case "${enableval}" in
57
    yes ) enable_multi_ice="yes" ;;
58
    no)  enable_multi_ice="no" ;;
59
    *) AC_MSG_ERROR(Bad value for --enable-multi-ice: ${enableval}) ;;
60
  esac
61
])
62
 
63
if test "${enable_multi_ice}" = "yes"; then
64
  configdirs="${configdirs} multi-ice"
65
fi
66
 
67
dnl
68
changequote(,)dnl
69
 
70
. ${srcdir}/configure.host
71
 
72
. ${srcdir}/configure.tgt
73
 
74
dnl
75
changequote([,])dnl
76
 
77
AC_PROG_AWK
78
AC_PROG_INSTALL
79
AC_CHECK_TOOL(AR, ar)
80
AC_CHECK_TOOL(RANLIB, ranlib, :)
81
AC_PROG_YACC
82
 
83
dnl MiG is needed for the Hurd.
84
AC_CHECK_TOOL(MIG, mig)
85
 
86
AC_ARG_PROGRAM
87
 
88
AC_TYPE_SIGNAL
89
 
90
AC_HEADER_STDC
91
 
92
dnl Solaris 7 needs _MSE_INT_H defined to avoid a clash between 
93
dnl and  that causes AC_CHECK_HEADERS to think  doesn't
94
dnl exist.
95
 
96
case $host_os in solaris2.7) case "$GCC" in yes)
97
    AC_DEFINE(_MSE_INT_H)
98
esac; esac
99
 
100
AC_CHECK_HEADERS(ctype.h curses.h endian.h link.h thread_db.h proc_service.h \
101
        memory.h objlist.h ptrace.h sgtty.h stddef.h stdlib.h \
102
        string.h sys/procfs.h sys/ptrace.h sys/reg.h stdint.h \
103
        term.h termio.h termios.h unistd.h wait.h sys/wait.h \
104
        wchar.h wctype.h asm/debugreg.h sys/debugreg.h sys/select.h \
105
        time.h sys/ioctl.h sys/user.h)
106
AC_HEADER_STAT
107
 
108
AC_C_CONST
109
 
110
AC_CHECK_FUNCS(setpgid sbrk sigaction isascii bzero bcopy btowc poll sigprocmask)
111
AC_FUNC_ALLOCA
112
 
113
dnl See if ptrace.h provides the PTRACE_GETREGS request.
114
AC_MSG_CHECKING(for PTRACE_GETREGS)
115
AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
116
[AC_TRY_COMPILE([#include ],
117
                [PTRACE_GETREGS;],
118
                [gdb_cv_have_ptrace_getregs=yes],
119
                [gdb_cv_have_ptrace_getregs=no])])
120
AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
121
if test $gdb_cv_have_ptrace_getregs = yes; then
122
  AC_DEFINE(HAVE_PTRACE_GETREGS)
123
fi
124
 
125
dnl See if ptrace.h provides the PTRACE_GETXFPREGS request.
126
dnl PTRACE_GETXFPREGS is a Cygnus invention, since we wrote our own
127
dnl Linux kernel patch for SSE support.  That patch may or may not
128
dnl actually make it into the official distribution.  If you find that
129
dnl years have gone by since this configure test was added, and Linux
130
dnl isn't using PTRACE_GETXFPREGS, that means that our patch didn't
131
dnl make it, and you can delete this code.
132
AC_MSG_CHECKING(for PTRACE_GETXFPREGS)
133
AC_CACHE_VAL(gdb_cv_have_ptrace_getxfpregs,
134
[AC_TRY_COMPILE([#include ],
135
                [PTRACE_GETXFPREGS;],
136
                [gdb_cv_have_ptrace_getxfpregs=yes],
137
                [gdb_cv_have_ptrace_getxfpregs=no])])
138
AC_MSG_RESULT($gdb_cv_have_ptrace_getxfpregs)
139
if test $gdb_cv_have_ptrace_getxfpregs = yes; then
140
  AC_DEFINE(HAVE_PTRACE_GETXFPREGS)
141
fi
142
 
143
AC_CHECK_LIB(socket, socketpair)
144
AC_CHECK_FUNCS(socketpair)
145
 
146
 
147
BFD_NEED_DECLARATION(malloc)
148
BFD_NEED_DECLARATION(realloc)
149
BFD_NEED_DECLARATION(free)
150
BFD_NEED_DECLARATION(strerror)
151
BFD_NEED_DECLARATION(strdup)
152
BFD_NEED_DECLARATION(strstr)
153
 
154
 
155
# The following save_state_t checkery is only necessary for HPUX
156
# versions earlier than 10.20.  When those fade from memory, this
157
# could be expunged. --jsm 1999-03-22
158
 
159
AC_MSG_CHECKING(for HPUX save_state structure)
160
AC_EGREP_HEADER(save_state_t, machine/save_state.h,
161
                gdb_cv_hpux_savestate=yes, gdb_cv_hpux_savestate=no)
162
AC_EGREP_HEADER(ss_wide, machine/save_state.h, gdb_cv_hpux_sswide=yes,
163
                gdb_cv_hpux_sswide=no)
164
if test $gdb_cv_hpux_savestate = yes
165
then
166
  AC_DEFINE(HAVE_STRUCT_SAVE_STATE_T, 1)
167
fi
168
if test $gdb_cv_hpux_sswide = yes
169
then
170
  AC_DEFINE(HAVE_STRUCT_MEMBER_SS_WIDE, 1)
171
fi
172
AC_MSG_RESULT($gdb_cv_hpux_sswide)
173
 
174
 
175
# If we are configured native on GNU/Linux, work around problems with
176
# sys/procfs.h
177
# Also detect which type of /proc is in use, such as for Unixware or Solaris.
178
 
179
if test "${target}" = "${host}"; then
180
  case "${host}" in
181
  i[[3456]]86-*-linux*)
182
        AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
183
        AC_DEFINE(sys_quotactl)
184
        ;;
185
  *-*-unixware* | *-*-sysv4.2* | *-*-sysv5*)
186
      AC_DEFINE(NEW_PROC_API)
187
      ;;
188
  *-*-solaris2.[[678]])
189
      AC_DEFINE(NEW_PROC_API)
190
      ;;
191
  esac
192
fi
193
 
194
if test "$ac_cv_header_sys_procfs_h" = yes; then
195
  BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
196
  BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
197
  BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
198
  BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
199
  BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
200
  BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
201
  BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
202
  BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
203
 
204
  dnl Check for broken prfpregset_t type
205
 
206
  dnl For Linux/i386, glibc 2.1.3 was released with a bogus
207
  dnl prfpregset_t type (it's a typedef for the pointer to a struct
208
  dnl instead of the struct itself).  We detect this here, and work
209
  dnl around it in lin-thread.c.
210
 
211
  if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
212
    AC_MSG_CHECKING(whether prfpregset_t type is broken)
213
    AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
214
      [AC_TRY_RUN([#include 
215
       int main ()
216
       {
217
         if (sizeof (prfpregset_t) == sizeof (void *))
218
           return 1;
219
         return 0;
220
       }],
221
       gdb_cv_prfpregset_t_broken=no,
222
       gdb_cv_prfpregset_t_broken=yes,
223
       gdb_cv_prfpregset_t_broken=yes)])
224
    AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
225
    if test $gdb_cv_prfpregset_t_broken = yes; then
226
      AC_DEFINE(PRFPREGSET_T_BROKEN)
227
    fi
228
  fi
229
 
230
  dnl Check for PIOCSET ioctl entry
231
 
232
  AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
233
  AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
234
  [AC_TRY_COMPILE([#include 
235
#include 
236
#include 
237
], [
238
    int dummy;;
239
    dummy = ioctl(0, PIOCSET, &dummy);
240
  ],
241
  gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
242
  AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
243
  if test $gdb_cv_have_procfs_piocset = yes; then
244
    AC_DEFINE(HAVE_PROCFS_PIOCSET)
245
  fi
246
fi
247
 
248
dnl See if host has libm.  This is usually needed by simulators.
249
AC_CHECK_LIB(m, main)
250
 
251
dnl Solaris puts wctype in /usr/lib/libw.a before Solaris 2.6.
252
dnl
253
dnl A bug in GNU ld 2.9.1 causes a problem if we link in -lw
254
dnl under Solaris 2.6 because it is some funky empty library.
255
dnl So only link in libw if we have to.
256
AC_CHECK_LIB(c, wctype,: ,AC_CHECK_LIB(w, wctype))
257
 
258
dnl See if compiler supports "long long" type.
259
 
260
AC_MSG_CHECKING(for long long support in compiler)
261
AC_CACHE_VAL(gdb_cv_c_long_long,
262
[AC_TRY_COMPILE(, [
263
  extern long long foo;
264
  switch (foo & 2) { case 0: return 1; }
265
],
266
gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])
267
AC_MSG_RESULT($gdb_cv_c_long_long)
268
if test $gdb_cv_c_long_long = yes; then
269
  AC_DEFINE(CC_HAS_LONG_LONG)
270
fi
271
 
272
dnl See if the compiler and runtime support printing long long
273
 
274
AC_MSG_CHECKING(for long long support in printf)
275
AC_CACHE_VAL(gdb_cv_printf_has_long_long,
276
[AC_TRY_RUN([
277
int main () {
278
  char buf[32];
279
  long long l = 0;
280
  l = (l << 16) + 0x0123;
281
  l = (l << 16) + 0x4567;
282
  l = (l << 16) + 0x89ab;
283
  l = (l << 16) + 0xcdef;
284
  sprintf (buf, "0x%016llx", l);
285
  return (strcmp ("0x0123456789abcdef", buf));
286
}],
287
gdb_cv_printf_has_long_long=yes,
288
gdb_cv_printf_has_long_long=no,
289
gdb_cv_printf_has_long_long=no)])
290
if test $gdb_cv_printf_has_long_long = yes; then
291
  AC_DEFINE(PRINTF_HAS_LONG_LONG)
292
fi
293
AC_MSG_RESULT($gdb_cv_printf_has_long_long)
294
 
295
dnl See if compiler supports "long double" type.  Can't use AC_C_LONG_DOUBLE
296
dnl because autoconf complains about cross-compilation issues.  However, this
297
dnl code uses the same variables as the macro for compatibility.
298
 
299
AC_MSG_CHECKING(for long double support in compiler)
300
AC_CACHE_VAL(ac_cv_c_long_double,
301
[AC_TRY_COMPILE(, [long double foo;],
302
ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])
303
AC_MSG_RESULT($ac_cv_c_long_double)
304
if test $ac_cv_c_long_double = yes; then
305
  AC_DEFINE(HAVE_LONG_DOUBLE)
306
fi
307
 
308
dnl See if the compiler and runtime support printing long doubles
309
 
310
AC_MSG_CHECKING(for long double support in printf)
311
AC_CACHE_VAL(gdb_cv_printf_has_long_double,
312
[AC_TRY_RUN([
313
int main () {
314
  char buf[16];
315
  long double f = 3.141592653;
316
  sprintf (buf, "%Lg", f);
317
  return (strncmp ("3.14159", buf, 7));
318
}],
319
gdb_cv_printf_has_long_double=yes,
320
gdb_cv_printf_has_long_double=no,
321
gdb_cv_printf_has_long_double=no)])
322
if test $gdb_cv_printf_has_long_double = yes; then
323
  AC_DEFINE(PRINTF_HAS_LONG_DOUBLE)
324
fi
325
AC_MSG_RESULT($gdb_cv_printf_has_long_double)
326
 
327
dnl See if the compiler and runtime support scanning long doubles
328
 
329
AC_MSG_CHECKING(for long double support in scanf)
330
AC_CACHE_VAL(gdb_cv_scanf_has_long_double,
331
[AC_TRY_RUN([
332
int main () {
333
  char *buf = "3.141592653";
334
  long double f = 0;
335
  sscanf (buf, "%Lg", &f);
336
  return !(f > 3.14159 && f < 3.14160);
337
}],
338
gdb_cv_scanf_has_long_double=yes,
339
gdb_cv_scanf_has_long_double=no,
340
gdb_cv_scanf_has_long_double=no)])
341
if test $gdb_cv_scanf_has_long_double = yes; then
342
  AC_DEFINE(SCANF_HAS_LONG_DOUBLE)
343
fi
344
AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
345
 
346
AC_FUNC_MMAP
347
 
348
dnl See if thread_db library is around for Solaris thread debugging.  Note that
349
dnl we must explicitly test for version 1 of the library because version 0
350
dnl (present on Solaris 2.4 or earlier) doesn't have the same API.
351
 
352
dnl Note that we only want this if we are both native (host == target), and
353
dnl not doing a canadian cross build (build == host).
354
 
355
if test ${build} = ${host} -a ${host} = ${target} ; then
356
   case ${host_os} in
357
   hpux*)
358
      AC_MSG_CHECKING(for HPUX/OSF thread support)
359
      if test -f /usr/include/dce/cma_config.h ; then
360
         if test "$GCC" = "yes" ; then
361
            AC_MSG_RESULT(yes)
362
            AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
363
            CONFIG_OBS="${CONFIG_OJS} hpux-thread.o"
364
            CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
365
         else
366
            AC_MSG_RESULT(no (suppressed because you are not using GCC))
367
         fi
368
      else
369
         AC_MSG_RESULT(no)
370
      fi
371
      ;;
372
   solaris*)
373
      AC_MSG_CHECKING(for Solaris thread debugging library)
374
      if test -f /usr/lib/libthread_db.so.1 ; then
375
         AC_MSG_RESULT(yes)
376
         AC_DEFINE(HAVE_THREAD_DB_LIB)
377
         CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
378
         CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
379
         AC_CHECK_LIB(dl, dlopen)
380
         if test "$GCC" = "yes" ; then
381
            # The GNU linker requires the -export-dynamic option to make
382
            # all symbols visible in the dynamic symbol table.
383
            hold_ldflags=$LDFLAGS
384
            AC_MSG_CHECKING(for the ld -export-dynamic flag)
385
            LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
386
            AC_TRY_LINK(, [int i;], found=yes, found=no)
387
            LDFLAGS=$hold_ldflags
388
            AC_MSG_RESULT($found)
389
            if test $found = yes; then
390
               CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
391
            fi
392
         fi
393
         # Sun randomly tweaked the prototypes in 
394
         # at one point.
395
         AC_MSG_CHECKING(if  is old)
396
         AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
397
            AC_TRY_COMPILE([
398
                #include 
399
                ps_err_e ps_pdwrite
400
                    (struct ps_prochandle*, psaddr_t, const void*, size_t);
401
            ],, gdb_cv_proc_service_is_old=no,
402
                gdb_cv_proc_service_is_old=yes)
403
         ])
404
         AC_MSG_RESULT($gdb_cv_proc_service_is_old)
405
         if test $gdb_cv_proc_service_is_old = yes; then
406
            AC_DEFINE(PROC_SERVICE_IS_OLD)
407
         fi
408
      else
409
         AC_MSG_RESULT(no)
410
      fi
411
      ;;
412
   esac
413
   AC_SUBST(CONFIG_LDFLAGS)
414
fi
415
 
416
dnl Handle optional features that can be enabled.
417
 
418
dnl Handle MI sub-directory configury.
419
AC_ARG_ENABLE(gdbmi,
420
[  --enable-gdbmi            Enable GDB-MI interface],
421
[
422
  case "${enable_gdbmi}" in
423
    yes | no) ;;
424
    "")  enable_gdbmi=yes ;;
425
    *)
426
      AC_MSG_ERROR(Bad value for --enable-gdbmi: ${enableval})
427
    ;;
428
  esac
429
])
430
case ${enable_gdbmi} in
431
  "yes" )
432
    if test -d "${srcdir}/mi" ; then
433
      CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_MI_OBS)"
434
      CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_MI_DEPS)"
435
      CONFIG_SRCS="${CONFIG_SRS} \$(SUBDIR_MI_SRCS)"
436
      CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_MI_INITS)"
437
      ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_MI_CFLAGS)"
438
      CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_MI_ALL)"
439
      CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_MI_CLEAN)"
440
      CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_MI_INSTALL)"
441
      CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_MI_UNINSTALL)"
442
    fi
443
    ;;
444
esac
445
 
446
AC_ARG_ENABLE(tui,
447
[  --enable-tui            Enable full-screen terminal user interface],
448
[
449
  case "${enable_tui}" in
450
    yes | no) ;;
451
    "")  enable_tui=yes ;;
452
    *)
453
      AC_MSG_ERROR(Bad value for --enable-tui: ${enableval})
454
    ;;
455
  esac
456
])
457
case ${enable_tui} in
458
  "yes" )
459
    AC_DEFINE(TUI)
460
    BUILD_TUI=all-tui
461
    TUI_LIBRARY=tui/libtui.a
462
  ;;
463
  * )
464
    BUILD_TUI=
465
    TUI_LIBRARY=
466
  ;;
467
esac
468
AC_SUBST(BUILD_TUI)
469
AC_SUBST(TUI_LIBRARY)
470
 
471
AC_ARG_ENABLE(netrom,
472
[  --enable-netrom         Enable NetROM support],
473
[case "${enableval}" in
474
yes)    enable_netrom=yes ;;
475
no)     enable_netrom=no ;;
476
*)      AC_MSG_ERROR(bad value ${enableval} given for netrom option) ;;
477
esac])
478
 
479
if test "${enable_netrom}" = "yes"; then
480
        CONFIG_OBS="${CONFIG_OBS} remote-nrom.o"
481
        CONFIG_SRCS="${CONFIG_SRCS} remote-nrom.c"
482
fi
483
 
484
 
485
default_build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
486
-Wformat -Wparentheses -Wpointer-arith"
487
build_warnings=""
488
# Not yet: -Wall -Wpointer-arith -Wstrict-prototypes
489
# -Wmissing-prototypes -Wmissing-declarations
490
AC_ARG_ENABLE(build-warnings,
491
[  --enable-build-warnings Enable build-time compiler warnings if gcc is used],
492
[case "${enableval}" in
493
  yes)  ;;
494
  no)   build_warnings="-w";;
495
  ,*)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
496
        build_warnings="${default_build_warnings} ${t}";;
497
  *,)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
498
        build_warnings="${t} ${default_build_warnings}";;
499
  *)    build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
500
esac
501
if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
502
  echo "Setting warning flags = $build_warnings" 6>&1
503
fi])dnl
504
WARN_CFLAGS=""
505
WERROR_CFLAGS=""
506
if test "x${build_warnings}" != x -a "x$GCC" = xyes
507
then
508
  # Separate out the -Werror flag as some files just cannot be
509
  # compiled with it enabled.
510
  for w in ${build_warnings}; do
511
    case $w in
512
    -Werr*) WERROR_CFLAGS=-Werror ;;
513
    *) WARN_CFLAGS="${WARN_CFLAGS} $w"
514
    esac
515
  done
516
fi
517
AC_SUBST(WARN_CFLAGS)
518
AC_SUBST(WERROR_CFLAGS)
519
 
520
MMALLOC_CFLAGS=
521
MMALLOC=
522
AC_SUBST(MMALLOC_CFLAGS)
523
AC_SUBST(MMALLOC)
524
 
525
AC_ARG_WITH(mmalloc,
526
[  --with-mmalloc          Use memory mapped malloc package],
527
[case "${withval}" in
528
  yes)  want_mmalloc=true ;;
529
  no)   want_mmalloc=false;;
530
  *)    AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
531
esac],[want_mmalloc=false])dnl
532
 
533
if test x$want_mmalloc = xtrue; then
534
   AC_DEFINE(USE_MMALLOC)
535
   AC_DEFINE(MMCHECK_FORCE)
536
   MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
537
   MMALLOC='../mmalloc/libmmalloc.a'
538
fi
539
 
540
AC_ARG_WITH(included-regex,
541
[  --with-included-regex          Use included regex],
542
[case "${withval}" in
543
  yes)  want_included_regex=true ;;
544
  no)   want_included_regex=false;;
545
  *)    AC_MSG_ERROR(bad value ${withval} for GDB with-included-regex option) ;;
546
esac],[want_included_regex=true])dnl
547
 
548
REGEX="gnu-regex.o"
549
REGEX_CFLAGS="-DUSE_INCLUDED_REGEX"
550
if test $want_included_regex = false; then
551
  AC_MSG_CHECKING(for GNU regex)
552
  AC_CACHE_VAL(gdb_cv_have_gnu_regex,
553
[AC_TRY_COMPILE([#include 
554
#include 
555
#include ],
556
[#if !defined _GNU_REGEX_INTERFACE_VERSION || !defined __GLIBC__ || __GLIBC__ < 2
557
#error No valid GNU regex.
558
#endif
559
],
560
                [gdb_cv_have_gnu_regex=yes],
561
                [gdb_cv_have_gnu_regex=no])])
562
  AC_MSG_RESULT($gdb_cv_have_gnu_regex)
563
  if test $gdb_cv_have_gnu_regex = yes; then
564
    REGEX=
565
    REGEX_CFLAGS=
566
  fi
567
fi
568
AC_SUBST(REGEX)
569
AC_SUBST(REGEX_CFLAGS)
570
 
571
# In the Cygwin environment, we need some additional flags.
572
AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
573
[AC_EGREP_CPP(lose, [
574
#if defined (__CYGWIN__) || defined (__CYGWIN32__)
575
lose
576
#endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
577
 
578
DLLTOOL=${DLLTOOL-dlltool}
579
WINDRES=${WINDRES-windres}
580
AC_SUBST(DLLTOOL)
581
AC_SUBST(WINDRES)
582
 
583
dnl Figure out which term library to use.
584
if test x$gdb_host = xgo32; then
585
  TERM_LIB=
586
else
587
if test x$gdb_cv_os_cygwin = xyes; then
588
  TERM_LIB='`if test -r ../libtermcap/libtermcap.a; then echo ../libtermcap/libtermcap.a; else echo -ltermcap; fi`'
589
else
590
  TERM_LIB=
591
  AC_CHECK_LIB(ncurses, tgetent, TERM_LIB=-lncurses,
592
    AC_CHECK_LIB(Hcurses, tgetent, TERM_LIB=-lHcurses,
593
      AC_CHECK_LIB(termlib, tgetent, TERM_LIB=-ltermlib,
594
        AC_CHECK_LIB(termcap, tgetent, TERM_LIB=-ltermcap,
595
          AC_CHECK_LIB(curses, tgetent, TERM_LIB=-lcurses,
596
            AC_CHECK_LIB(terminfo, tgetent, TERM_LIB=-lterminfo))))))
597
 
598
  if test "x$TERM_LIB" = x
599
  then
600
    AC_MSG_ERROR(Could not find a term library, e.g. termcap or termlib!)
601
  fi
602
fi
603
fi
604
AC_SUBST(TERM_LIB)
605
 
606
# libreadline needs libuser32.a in a cygwin environment
607
WIN32LIBS=
608
if test x$gdb_cv_os_cygwin = xyes; then
609
    WIN32LIBS="-luser32"
610
    case "${target}" in
611
        *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
612
        ;;
613
    esac
614
fi
615
AC_SUBST(WIN32LIBS)
616
 
617
LIBGUI="../libgui/src/libgui.a"
618
GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
619
AC_SUBST(LIBGUI)
620
AC_SUBST(GUI_CFLAGS_X)
621
 
622
AC_ARG_WITH(cpu,
623
[  --with-cpu=CPU          Set the default CPU variant to debug],
624
[case "${target}" in
625
  powerpc-* | powerpcle-* )
626
    ## It would be nice to keep this table in sync with the one in
627
    ## gcc/configure.
628
    case "${with_cpu}" in
629
      ppc-uisa | rs6000 | 403 | 403GC | 505 | 860 | 601 | 602 | 603 \
630
      | 604 | 750 )
631
        ## Those are all handled in variants in rs6000-tdep.c, so they're fine.
632
      ;;
633
      common | power | power2 | rios | rios1 | rios2 | rsc | rsc1 )
634
        ## These are all RS6000 variants, as far as GDB is concerned.
635
        with_cpu=rs6000
636
      ;;
637
      603e | ec603e )
638
        with_cpu=603
639
      ;;
640
      604e )
641
        with_cpu=604
642
      ;;
643
      * )
644
        AC_MSG_WARN(GDB: unknown --with-cpu value: \`${with_cpu}'; using \`ppc-uisa'.)
645
        with_cpu=ppc-uisa
646
      ;;
647
    esac
648
  ;;
649
  * )
650
    AC_MSG_WARN(GDB may ignore the --with-cpu flag for ${target} targets)
651
  ;;
652
esac
653
AC_DEFINE_UNQUOTED(TARGET_CPU_DEFAULT, "${with_cpu}")
654
],)
655
 
656
 
657
AC_ARG_ENABLE(gdbtk,
658
[  --enable-gdbtk          Enable GDBTK GUI front end],
659
[case "${enableval}" in
660
    yes)
661
        case "$host" in
662
        *go32*)
663
            AC_MSG_WARN([GDB does not support GDBtk on host ${host}.  GDBtk will be disabled.])
664
            enable_gdbtk=no ;;
665
        *windows*)
666
            AC_MSG_WARN([GDB does not support GDBtk on host ${host}.  GDBtk will be disabled.])
667
            enable_gdbtk=no ;;
668
        *)
669
            enable_gdbtk=yes ;;
670
        esac ;;
671
    no)
672
        enable_gdbtk=no  ;;
673
    *)
674
        AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
675
esac],
676
[
677
# Default is on for everything but go32 and Cygwin
678
case "$host" in
679
    *go32* | *windows*)
680
        ;;
681
    *)
682
        if test -d "${srcdir}/gdbtk" ; then
683
            enable_gdbtk=yes
684
        fi
685
        ;;
686
esac
687
])
688
 
689
WIN32LDAPP=
690
AC_SUBST(WIN32LIBS)
691
AC_SUBST(WIN32LDAPP)
692
 
693
configdir="unix"
694
 
695
GDBTKLIBS=
696
if test "${enable_gdbtk}" = "yes"; then
697
 
698
    CY_AC_PATH_TCLCONFIG
699
    if test -z "${no_tcl}"; then
700
        CY_AC_LOAD_TCLCONFIG
701
        CY_AC_PATH_TKCONFIG
702
 
703
        # If $no_tk is nonempty, then we can't do Tk, and there is no
704
        # point to doing Tcl.
705
        if test -z "${no_tk}"; then
706
           CY_AC_LOAD_TKCONFIG
707
           CY_AC_PATH_TCLH
708
           CY_AC_PATH_TKH
709
           CY_AC_PATH_ITCLH
710
           CY_AC_PATH_ITKH
711
           CY_AC_PATH_TIXH
712
 
713
           # now look for Itcl library stuff
714
 
715
           CY_AC_PATH_ITCLCONFIG
716
           if test -z "${no_itcl}"; then
717
             CY_AC_LOAD_ITCLCONFIG
718
             case "${host}" in
719
             *-*-cygwin*)
720
                itcldir=../itcl/itcl/win/
721
                ;;
722
             *)
723
                itcldir=../itcl/itcl/unix/
724
                ;;
725
             esac
726
 
727
 
728
             ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
729
             ITCL_DEPS="${itcldir}${ITCL_LIB_FILE}"
730
           fi
731
 
732
 
733
           # now look for Itk library stuff
734
           CY_AC_PATH_ITKCONFIG
735
           if test -z "${no_itcl}"; then
736
             CY_AC_LOAD_ITKCONFIG
737
 
738
             case "${host}" in
739
               *-*-cygwin*)
740
                 itkdir=../itcl/itk/win/
741
                 ;;
742
               *)
743
                 itkdir=../itcl/itk/unix/
744
                 ;;
745
               esac
746
 
747
             ITKLIB="${ITK_BUILD_LIB_SPEC}"
748
             ITK_DEPS="${itkdir}${ITK_LIB_FILE}"
749
           fi
750
 
751
           # now look for Tix library stuff
752
           CY_AC_PATH_TIXCONFIG
753
           if test -z "${no_tix}"; then
754
             CY_AC_LOAD_TIXCONFIG
755
             TIXLIB="${TIX_BUILD_LIB_SPEC}"
756
             TIX_DEPS="${TIX_BUILD_LOCATION}/${TIX_LIB_FILE}"
757
           fi
758
 
759
           ENABLE_CFLAGS="$ENABLE_CFLAGS -DGDBTK"
760
           # Tcl/Tk 8.1 require -fwritable strings.  I don't
761
           # know whether 8.2 will or not, but I bet it will.
762
           # I don't have to worry about 7.x since we don't support it.
763
           GDBTK_CFLAGS=""
764
           if test "$GCC" = "yes"; then
765
               if test "$TCL_VERSION" != "8.0" ; then
766
                   GDBTK_CFLAGS="-fwritable-strings"
767
               fi
768
           fi
769
 
770
           # Include some libraries that Tcl and Tk want.
771
           TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
772
           CONFIG_DEPS='$(LIBGUI) $(ITCL_DEPS) $(ITK_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
773
           # Yes, the ordering seems wrong here.  But it isn't.
774
           # TK_LIBS is the list of libraries that need to be linked
775
           # after Tcl/Tk.  Note that this isn't put into LIBS.  If it
776
           # were in LIBS then any link tests after this point would
777
           # try to include things like `$(LIBGUI)', which wouldn't work.
778
           GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
779
           CONFIG_SRCS="${CONFIG_SRCS} gdbtk/generic/gdbtk.c gdbtk/generic/gdbtk-cmds.c gdbtk/generic/gdbtk-hooks.c gdbtk/generic/gdbtk-varobj.c gdbtk/generic/gdbtk-wrapper.c"
780
           CONFIG_OBS="${CONFIG_OBS} gdbtk.o gdbtk-cmds.o gdbtk-hooks.o gdbtk-varobj.o gdbtk-wrapper.o"
781
           CONFIG_INITS="${CONFIG_INITS} gdbtk/generic/gdbtk.c gdbtk/generic/gdbtk-cmds.c gdbtk/generic/gdbtk-hooks.c gdbtk/generic/gdbtk-varobj.c gdbtk/generic/gdbtk-wrapper.c"
782
           CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_GDBTK_ALL)"
783
           CONFIG_CLEAN="${CONFIG_ALL} \$(SUBDIR_GDBTK_CLEAN)"
784
           CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_GDBTK_INSTALL)"
785
           CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_GDBTK_UNINSTALL)"
786
 
787
           if test x$gdb_cv_os_cygwin = xyes; then
788
              WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
789
              WIN32LDAPP="-Wl,--subsystem,console"
790
              CONFIG_OBS="${CONFIG_OBS} gdbres.o"
791
           fi
792
        fi
793
    fi
794
fi
795
 
796
AC_SUBST(X_CFLAGS)
797
AC_SUBST(X_LDFLAGS)
798
AC_SUBST(X_LIBS)
799
AC_SUBST(ITCLLIB)
800
AC_SUBST(ITCL_DEPS)
801
AC_SUBST(ITKLIB)
802
AC_SUBST(ITK_DEPS)
803
AC_SUBST(TIXLIB)
804
AC_SUBST(TIX_DEPS)
805
AC_SUBST(GDBTKLIBS)
806
AC_SUBST(GDBTK_CFLAGS)
807
 
808
AC_PATH_X
809
 
810
 
811
# Unlike the sim directory, whether a simulator is linked is controlled by
812
# presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
813
# This code just checks for a few cases where we'd like to ignore those
814
# definitions, even when they're present in the '.mt' file.  These cases
815
# are when --disable-sim is specified, or if the simulator directory is
816
# not part of the soruce tree.
817
#
818
AC_ARG_ENABLE(sim,
819
[  --enable-sim            Link gdb with simulator],
820
[echo "enable_sim = $enable_sim";
821
 echo "enableval = ${enableval}";
822
 case "${enableval}" in
823
  yes) ignore_sim=false ;;
824
  no)  ignore_sim=true ;;
825
  *)   ignore_sim=false ;;
826
 esac],
827
[ignore_sim=false])
828
 
829
if test ! -d "${srcdir}/../sim"; then
830
  ignore_sim=true
831
fi
832
 
833
if test "${ignore_sim}" = "true"; then
834
    IGNORE_SIM="SIM="
835
    IGNORE_SIM_OBS="SIM_OBS="
836
else
837
    IGNORE_SIM=""
838
    IGNORE_SIM_OBS=""
839
    AC_DEFINE(WITH_SIM)
840
fi
841
AC_SUBST(IGNORE_SIM)
842
AC_SUBST(IGNORE_SIM_OBS)
843
 
844
AC_SUBST(ENABLE_CFLAGS)
845
 
846
AC_SUBST(CONFIG_OBS)
847
AC_SUBST(CONFIG_DEPS)
848
AC_SUBST(CONFIG_SRCS)
849
AC_SUBST(CONFIG_INITS)
850
AC_SUBST(CONFIG_ALL)
851
AC_SUBST(CONFIG_CLEAN)
852
AC_SUBST(CONFIG_INSTALL)
853
AC_SUBST(CONFIG_UNINSTALL)
854
 
855
# Begin stuff to support --enable-shared
856
AC_ARG_ENABLE(shared,
857
[  --enable-shared         Use shared libraries],
858
[case "${enableval}" in
859
  yes) shared=true ;;
860
  no)  shared=false ;;
861
  *) shared=true ;;
862
esac])dnl
863
 
864
HLDFLAGS=
865
HLDENV=
866
# If we have shared libraries, try to set rpath reasonably.
867
if test "${shared}" = "true"; then
868
  case "${host}" in
869
  *-*-hpux*)
870
    HLDFLAGS='-Wl,+s,+b,$(libdir)'
871
    ;;
872
  *-*-irix5* | *-*-irix6*)
873
    HLDFLAGS='-Wl,-rpath,$(libdir)'
874
    ;;
875
  *-*-linux*aout*)
876
    ;;
877
  *-*-linux* | *-pc-linux-gnu*)
878
    HLDFLAGS='-Wl,-rpath,$(libdir)'
879
    ;;
880
  *-*-solaris*)
881
    HLDFLAGS='-R $(libdir)'
882
    ;;
883
  *-*-sysv4*)
884
    HLDENV='if test -z "$${LD_RUN_PATH}"; then LD_RUN_PATH=$(libdir); else LD_RUN_PATH=$${LD_RUN_PATH}:$(libdir); fi; export LD_RUN_PATH;'
885
    ;;
886
  esac
887
fi
888
 
889
# On SunOS, if the linker supports the -rpath option, use it to
890
# prevent ../bfd and ../opcodes from being included in the run time
891
# search path.
892
case "${host}" in
893
  *-*-sunos*)
894
    echo 'main () { }' > conftest.c
895
    ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
896
    if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
897
      :
898
    elif grep 'No such file' conftest.t >/dev/null 2>&1; then
899
      :
900
    elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
901
      :
902
    elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
903
      :
904
    elif test "${shared}" = "true"; then
905
      HLDFLAGS='-Wl,-rpath=$(libdir)'
906
    else
907
      HLDFLAGS='-Wl,-rpath='
908
    fi
909
    rm -f conftest.t conftest.c conftest
910
    ;;
911
esac
912
AC_SUBST(HLDFLAGS)
913
AC_SUBST(HLDENV)
914
# End stuff to support --enable-shared
915
 
916
# target_subdir is used by the testsuite to find the target libraries.
917
target_subdir=
918
if test "${host}" != "${target}"; then
919
    target_subdir="${target_alias}/"
920
fi
921
AC_SUBST(target_subdir)
922
 
923
frags=
924
host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
925
if test ! -f ${host_makefile_frag}; then
926
AC_MSG_ERROR("*** Gdb does not support host ${host}")
927
fi
928
frags="$frags $host_makefile_frag"
929
 
930
target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
931
if test ! -f ${target_makefile_frag}; then
932
AC_MSG_ERROR("*** Gdb does not support target ${target}")
933
fi
934
frags="$frags $target_makefile_frag"
935
 
936
AC_SUBST_FILE(host_makefile_frag)
937
AC_SUBST_FILE(target_makefile_frag)
938
AC_SUBST(frags)
939
 
940
changequote(,)dnl
941
hostfile=`sed -n '
942
s/XM_FILE[      ]*=[    ]*\([^  ]*\)/\1/p
943
' ${host_makefile_frag}`
944
 
945
targetfile=`sed -n '
946
s/TM_FILE[      ]*=[    ]*\([^  ]*\)/\1/p
947
' ${target_makefile_frag}`
948
 
949
# these really aren't orthogonal true/false values of the same condition,
950
# but shells are slow enough that I like to reuse the test conditions
951
# whenever possible
952
if test "${target}" = "${host}"; then
953
nativefile=`sed -n '
954
s/NAT_FILE[     ]*=[    ]*\([^  ]*\)/\1/p
955
' ${host_makefile_frag}`
956
# else
957
# GDBserver is only useful in a "native" enviroment
958
# configdirs=`echo $configdirs | sed 's/gdbserver//'`
959
fi
960
changequote([,])
961
 
962
SUBDIRS="doc testsuite nlm"
963
if test "${enable_multi_ice}" = "yes"; then
964
  SUBDIRS="${SUBDIRS} multi-ice"
965
fi
966
 
967
AC_SUBST(SUBDIRS)
968
 
969
# If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
970
# (NAT_FILE) is not set in config/*/*.m[ht] files, we don't make the
971
# corresponding links.  But we have to remove the xm.h files and tm.h
972
# files anyway, e.g. when switching from "configure host" to
973
# "configure none".
974
 
975
files=
976
links=
977
rm -f xm.h
978
if test "${hostfile}" != ""; then
979
files="${files} config/${gdb_host_cpu}/${hostfile}"
980
links="${links} xm.h"
981
fi
982
rm -f tm.h
983
if test "${targetfile}" != ""; then
984
files="${files} config/${gdb_target_cpu}/${targetfile}"
985
links="${links} tm.h"
986
fi
987
rm -f nm.h
988
if test "${nativefile}" != ""; then
989
files="${files} config/${gdb_host_cpu}/${nativefile}"
990
links="${links} nm.h"
991
else
992
# A cross-only configuration.
993
files="${files} config/nm-empty.h"
994
links="${links} nm.h"
995
fi
996
AC_PROG_LN_S
997
 
998
AC_LINK_FILES($files, $links)
999
 
1000
dnl Check for exe extension set on certain hosts (e.g. Win32)
1001
AC_EXEEXT
1002
 
1003
AC_CONFIG_SUBDIRS($configdirs)
1004
AC_OUTPUT(Makefile tui/Makefile .gdbinit:gdbinit.in,
1005
[
1006
dnl Autoconf doesn't provide a mechanism for modifying definitions
1007
dnl provided by makefile fragments.
1008
dnl
1009
if test "${nativefile}" = ""; then
1010
sed -e '/^NATDEPFILES[[         ]]*=[[  ]]*/s//# NATDEPFILES=/' \
1011
        < Makefile > Makefile.tem
1012
mv -f Makefile.tem Makefile
1013
fi
1014
 
1015
changequote(,)dnl
1016
sed -e '/^TM_FILE[      ]*=/s,^TM_FILE[         ]*=[    ]*,&config/'"${gdb_target_cpu}"'/,
1017
/^XM_FILE[      ]*=/s,^XM_FILE[         ]*=[    ]*,&config/'"${gdb_host_cpu}"'/,
1018
/^NAT_FILE[     ]*=/s,^NAT_FILE[        ]*=[    ]*,&config/'"${gdb_host_cpu}"'/,' Makefile.tmp
1019
mv -f Makefile.tmp Makefile
1020
changequote([,])dnl
1021
 
1022
 
1023
case x$CONFIG_HEADERS in
1024
xconfig.h:config.in)
1025
echo > stamp-h ;;
1026
esac
1027
],
1028
[
1029
gdb_host_cpu=$gdb_host_cpu
1030
gdb_target_cpu=$gdb_target_cpu
1031
nativefile=$nativefile
1032
])
1033
 
1034
exit 0

powered by: WebSVN 2.1.0

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