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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [insight/] [gdb/] [configure.in] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 578 markom
dnl Autoconf configure script for GDB, the GNU debugger.
2
dnl Copyright 1995, 1996, 1997, 1998, 1999, 2000, 2001
3
dnl Free Software Foundation, Inc.
4
dnl
5
dnl This file is part of GDB.
6
dnl
7
dnl This program is free software; you can redistribute it and/or modify
8
dnl it under the terms of the GNU General Public License as published by
9
dnl the Free Software Foundation; either version 2 of the License, or
10
dnl (at your option) any later version.
11
dnl
12
dnl This program is distributed in the hope that it will be useful,
13
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
14
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
dnl GNU General Public License for more details.
16
dnl
17
dnl You should have received a copy of the GNU General Public License
18
dnl along with this program; if not, write to the Free Software
19
dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20
 
21
dnl Process this file with autoconf to produce a configure script.
22
 
23
AC_PREREQ(2.13)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_AIX
30
AC_ISC_POSIX
31
AM_PROG_CC_STDC
32
 
33
AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
34
AC_CANONICAL_SYSTEM
35
 
36
dnl gdb doesn't use gettext, but bfd does.  We call this to ensure we
37
dnl link with the correct libraries.
38
ALL_LINGUAS=
39
CY_GNU_GETTEXT
40
 
41
dnl List of object files added by configure.
42
 
43
CONFIG_OBS=
44
CONFIG_LIB_OBS=
45
CONFIG_DEPS=
46
CONFIG_SRCS=
47
CONFIG_INITS=
48
ENABLE_CFLAGS=
49
CONFIG_ALL=
50
CONFIG_CLEAN=
51
CONFIG_INSTALL=
52
CONFIG_UNINSTALL=
53
 
54
configdirs="doc testsuite"
55
 
56
AC_ARG_ENABLE(multi-ice,
57
[  --enable-multi-ice            Build the multi-ice-gdb-server],
58
[case "${enableval}" in
59
    yes ) enable_multi_ice="yes" ;;
60
    no)  enable_multi_ice="no" ;;
61
    *) AC_MSG_ERROR(Bad value for --enable-multi-ice: ${enableval}) ;;
62
  esac
63
])
64
 
65
if test "${enable_multi_ice}" = "yes"; then
66
  configdirs="${configdirs} multi-ice"
67
fi
68
 
69
dnl
70
changequote(,)dnl
71
 
72
. ${srcdir}/configure.host
73
 
74
. ${srcdir}/configure.tgt
75
 
76
targ=${target} ; . ${srcdir}/../bfd/config.bfd
77
 
78
dnl
79
changequote([,])dnl
80
 
81
dnl use BFD to determine the default architecture and byte order
82
dnl (bfd_vec->byteorder provides the latter).
83
targ=${target}
84
. ${srcdir}/../bfd/config.bfd
85
 
86
dnl We only want the first arch, if there is more than one.
87
targ_archs=`echo ${targ_archs} | sed -e 's/ .*//;'`
88
 
89
if test x"${targ_archs}" != x ; then
90
    AC_DEFINE_UNQUOTED(DEFAULT_BFD_ARCH, ${targ_archs})
91
fi
92
if test x"${targ_defvec}" != x ; then
93
    AC_DEFINE_UNQUOTED(DEFAULT_BFD_VEC, ${targ_defvec})
94
fi
95
 
96
AC_PROG_AWK
97
AC_PROG_INSTALL
98
AC_CHECK_TOOL(AR, ar)
99
AC_CHECK_TOOL(RANLIB, ranlib, :)
100
AC_CHECK_TOOL(DLLTOOL, dlltool)
101
AC_CHECK_TOOL(WINDRES, windres)
102
AC_PROG_YACC
103
 
104
dnl MiG is needed for the Hurd.
105
AC_CHECK_TOOL(MIG, mig)
106
 
107
AC_ARG_PROGRAM
108
 
109
AC_TYPE_SIGNAL
110
 
111
AC_HEADER_STDC
112
 
113
dnl Solaris 7 needs _MSE_INT_H defined to avoid a clash between 
114
dnl and  that causes AC_CHECK_HEADERS to think  doesn't
115
dnl exist.
116
 
117
case $host_os in solaris2.7 | solaris2.8) case "$GCC" in yes)
118
    AC_DEFINE(_MSE_INT_H)
119
esac; esac
120
 
121
AC_CHECK_HEADERS(ctype.h endian.h nlist.h link.h thread_db.h proc_service.h \
122
        memory.h objlist.h ptrace.h sgtty.h stddef.h stdlib.h \
123
        string.h sys/procfs.h sys/ptrace.h sys/reg.h stdint.h \
124
        term.h termio.h termios.h unistd.h wait.h sys/wait.h \
125
        wchar.h wctype.h asm/debugreg.h sys/debugreg.h sys/select.h \
126
        time.h sys/file.h sys/ioctl.h sys/user.h sys/fault.h sys/syscall.h \
127
        dirent.h sys/ndir.h sys/dir.h ndir.h \
128
        curses.h ncurses.h \
129
        poll.h sys/poll.h)
130
AC_HEADER_STAT
131
 
132
AC_C_CONST
133
 
134
AC_CHECK_FUNCS(setpgid sbrk sigaction isascii bzero bcopy btowc poll sigprocmask)
135
AC_FUNC_VFORK
136
AC_FUNC_ALLOCA
137
 
138
# See if  supports the %fs and %gs i386 segment registers.
139
# Older i386 BSD's don't have the r_fs and r_gs members of `struct reg'.
140
AC_CACHE_CHECK([for r_fs in struct reg], gdb_cv_struct_reg_r_fs,
141
[AC_TRY_COMPILE([#include ], [struct reg r; r.r_fs;],
142
gdb_cv_struct_reg_r_fs=yes, gdb_cv_struct_reg_r_fs=no)])
143
if test $gdb_cv_struct_reg_r_fs = yes; then
144
  AC_DEFINE(HAVE_STRUCT_REG_R_FS)
145
fi
146
AC_CACHE_CHECK([for r_gs in struct reg], gdb_cv_struct_reg_r_gs,
147
[AC_TRY_COMPILE([#include ], [struct reg r; r.r_gs;],
148
gdb_cv_struct_reg_r_gs=yes, gdb_cv_struct_reg_r_gs=no)])
149
if test $gdb_cv_struct_reg_r_gs = yes; then
150
  AC_DEFINE(HAVE_STRUCT_REG_R_GS)
151
fi
152
 
153
# See if  provides the PTRACE_GETREGS request.
154
AC_MSG_CHECKING(for PTRACE_GETREGS)
155
AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
156
[AC_TRY_COMPILE([#include ],
157
                [PTRACE_GETREGS;],
158
                [gdb_cv_have_ptrace_getregs=yes],
159
                [gdb_cv_have_ptrace_getregs=no])])
160
AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
161
if test $gdb_cv_have_ptrace_getregs = yes; then
162
  AC_DEFINE(HAVE_PTRACE_GETREGS)
163
fi
164
 
165
# See if  provides the PTRACE_GETFPXREGS request.
166
AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
167
AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
168
[AC_TRY_COMPILE([#include ],
169
                [PTRACE_GETFPXREGS;],
170
                [gdb_cv_have_ptrace_getfpxregs=yes],
171
                [gdb_cv_have_ptrace_getfpxregs=no])])
172
AC_MSG_RESULT($gdb_cv_have_ptrace_getfpxregs)
173
if test $gdb_cv_have_ptrace_getfpxregs = yes; then
174
  AC_DEFINE(HAVE_PTRACE_GETFPXREGS)
175
fi
176
 
177
# See if  provides the PT_GETDBREGS request.
178
AC_MSG_CHECKING(for PT_GETDBREGS)
179
AC_CACHE_VAL(gdb_cv_have_pt_getdbregs,
180
[AC_TRY_COMPILE([#include 
181
#include ],
182
                [PT_GETDBREGS;],
183
                [gdb_cv_have_pt_getdbregs=yes],
184
                [gdb_cv_have_pt_getdbregs=no])])
185
AC_MSG_RESULT($gdb_cv_have_pt_getdbregs)
186
if test $gdb_cv_have_pt_getdbregs = yes; then
187
  AC_DEFINE(HAVE_PT_GETDBREGS)
188
fi
189
 
190
 
191
AC_CHECK_LIB(socket, socketpair)
192
AC_CHECK_FUNCS(socketpair)
193
 
194
 
195
BFD_NEED_DECLARATION(malloc)
196
BFD_NEED_DECLARATION(realloc)
197
BFD_NEED_DECLARATION(free)
198
BFD_NEED_DECLARATION(strerror)
199
BFD_NEED_DECLARATION(strdup)
200
BFD_NEED_DECLARATION(strstr)
201
 
202
 
203
# The following save_state_t checkery is only necessary for HPUX
204
# versions earlier than 10.20.  When those fade from memory, this
205
# could be expunged. --jsm 1999-03-22
206
 
207
AC_MSG_CHECKING(for HPUX save_state structure)
208
AC_EGREP_HEADER(save_state_t, machine/save_state.h,
209
                gdb_cv_hpux_savestate=yes, gdb_cv_hpux_savestate=no)
210
AC_EGREP_HEADER(ss_wide, machine/save_state.h, gdb_cv_hpux_sswide=yes,
211
                gdb_cv_hpux_sswide=no)
212
if test $gdb_cv_hpux_savestate = yes
213
then
214
  AC_DEFINE(HAVE_STRUCT_SAVE_STATE_T, 1)
215
fi
216
if test $gdb_cv_hpux_sswide = yes
217
then
218
  AC_DEFINE(HAVE_STRUCT_MEMBER_SS_WIDE, 1)
219
fi
220
AC_MSG_RESULT($gdb_cv_hpux_sswide)
221
 
222
 
223
# If we are configured native on GNU/Linux, work around problems with
224
# sys/procfs.h
225
# Also detect which type of /proc is in use, such as for Unixware or Solaris.
226
 
227
if test "${target}" = "${host}"; then
228
  case "${host}" in
229
  i[[3456]]86-*-linux*)
230
        AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
231
        AC_DEFINE(sys_quotactl)
232
        ;;
233
  ia64-*-aix*)
234
      AC_DEFINE(NEW_PROC_API)
235
      ;;
236
  *-*-unixware* | *-*-sysv4.2* | *-*-sysv5*)
237
      AC_DEFINE(NEW_PROC_API)
238
      ;;
239
  *-*-solaris2.[[678]])
240
      AC_DEFINE(NEW_PROC_API)
241
      ;;
242
  esac
243
fi
244
 
245
if test "$ac_cv_header_sys_procfs_h" = yes; then
246
  BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
247
  BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
248
  BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
249
  BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
250
  BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
251
  BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
252
  BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
253
  BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
254
  BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
255
  BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
256
  BFD_HAVE_SYS_PROCFS_TYPE(prsysent_t)
257
  BFD_HAVE_SYS_PROCFS_TYPE(pr_sigset_t)
258
  BFD_HAVE_SYS_PROCFS_TYPE(pr_sigaction64_t)
259
  BFD_HAVE_SYS_PROCFS_TYPE(pr_siginfo64_t)
260
 
261
 
262
  dnl Check for broken prfpregset_t type
263
 
264
  dnl For Linux/i386, glibc 2.1.3 was released with a bogus
265
  dnl prfpregset_t type (it's a typedef for the pointer to a struct
266
  dnl instead of the struct itself).  We detect this here, and work
267
  dnl around it in lin-thread.c.
268
 
269
  if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
270
    AC_MSG_CHECKING(whether prfpregset_t type is broken)
271
    AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
272
      [AC_TRY_RUN([#include 
273
       int main ()
274
       {
275
         if (sizeof (prfpregset_t) == sizeof (void *))
276
           return 1;
277
         return 0;
278
       }],
279
       gdb_cv_prfpregset_t_broken=no,
280
       gdb_cv_prfpregset_t_broken=yes,
281
       gdb_cv_prfpregset_t_broken=yes)])
282
    AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
283
    if test $gdb_cv_prfpregset_t_broken = yes; then
284
      AC_DEFINE(PRFPREGSET_T_BROKEN)
285
    fi
286
  fi
287
 
288
  dnl Check for PIOCSET ioctl entry
289
 
290
  AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
291
  AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
292
  [AC_TRY_COMPILE([#include 
293
#include 
294
#include 
295
], [
296
    int dummy;;
297
    dummy = ioctl(0, PIOCSET, &dummy);
298
  ],
299
  gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
300
  AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
301
  if test $gdb_cv_have_procfs_piocset = yes; then
302
    AC_DEFINE(HAVE_PROCFS_PIOCSET)
303
  fi
304
fi
305
 
306
dnl For native ports (host == target), check to see what kind of
307
dnl legacy link.h support is needed.  (See solib-legacy.c.)
308
if test ${host} = ${target} ; then
309
  dnl Check for struct link_map with l_ members which are indicative
310
  dnl of SVR4-like shared libraries
311
 
312
  AC_MSG_CHECKING(for member l_addr in struct link_map)
313
  AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_l_members,
314
    [AC_TRY_COMPILE([#include ],
315
                    [struct link_map lm; (void) lm.l_addr;],
316
                    gdb_cv_have_struct_link_map_with_l_members=yes,
317
                    gdb_cv_have_struct_link_map_with_l_members=no)])
318
  AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_l_members)
319
  if test $gdb_cv_have_struct_link_map_with_l_members = yes; then
320
    AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS)
321
  fi
322
 
323
  dnl Check for struct link_map with lm_ members which are indicative
324
  dnl of SunOS-like shared libraries
325
 
326
  AC_MSG_CHECKING(for member lm_addr in struct link_map)
327
  AC_CACHE_VAL(gdb_cv_have_struct_link_map_with_lm_members,
328
    [AC_TRY_COMPILE([#include 
329
#include ],
330
                    [struct link_map lm; (void) lm.lm_addr;],
331
                    gdb_cv_have_struct_link_map_with_lm_members=yes,
332
                    gdb_cv_have_struct_link_map_with_lm_members=no)])
333
  AC_MSG_RESULT($gdb_cv_have_struct_link_map_with_lm_members)
334
  if test $gdb_cv_have_struct_link_map_with_lm_members = yes; then
335
    AC_DEFINE(HAVE_STRUCT_LINK_MAP_WITH_LM_MEMBERS)
336
  fi
337
 
338
  dnl Check for struct so_map with som_ members which are found on
339
  dnl some *BSD systems.
340
 
341
  AC_MSG_CHECKING(for member som_addr in struct so_map)
342
  AC_CACHE_VAL(gdb_cv_have_struct_so_map_with_som_members,
343
    [AC_TRY_COMPILE([#include 
344
#ifdef HAVE_NLIST_H
345
#include 
346
#endif
347
#include ],
348
                    [struct so_map lm; (void) lm.som_addr;],
349
                    gdb_cv_have_struct_so_map_with_som_members=yes,
350
                    gdb_cv_have_struct_so_map_with_som_members=no)])
351
  AC_MSG_RESULT($gdb_cv_have_struct_so_map_with_som_members)
352
  if test $gdb_cv_have_struct_so_map_with_som_members = yes; then
353
    AC_DEFINE(HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS)
354
  fi
355
 
356
  dnl Check for struct link_map32 type, which allows a 64-bit Solaris
357
  dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
358
 
359
  AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
360
  AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
361
    [AC_TRY_COMPILE([#define _SYSCALL32
362
#include ], [struct link_map32 l;],
363
     gdb_cv_have_struct_link_map32=yes,
364
     gdb_cv_have_struct_link_map32=no)])
365
  AC_MSG_RESULT($gdb_cv_have_struct_link_map32)
366
  if test $gdb_cv_have_struct_link_map32 = yes; then
367
    AC_DEFINE(HAVE_STRUCT_LINK_MAP32)
368
  fi
369
fi
370
 
371
dnl See if host has libm.  This is usually needed by simulators.
372
AC_CHECK_LIB(m, main)
373
 
374
dnl Solaris puts wctype in /usr/lib/libw.a before Solaris 2.6.
375
dnl
376
dnl A bug in GNU ld 2.9.1 causes a problem if we link in -lw
377
dnl under Solaris 2.6 because it is some funky empty library.
378
dnl So only link in libw if we have to.
379
AC_CHECK_LIB(c, wctype,: ,AC_CHECK_LIB(w, wctype))
380
 
381
dnl See if compiler supports "long long" type.
382
 
383
AC_MSG_CHECKING(for long long support in compiler)
384
AC_CACHE_VAL(gdb_cv_c_long_long,
385
[AC_TRY_COMPILE(, [
386
  extern long long foo;
387
  switch (foo & 2) { case 0: return 1; }
388
],
389
gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])
390
AC_MSG_RESULT($gdb_cv_c_long_long)
391
if test $gdb_cv_c_long_long = yes; then
392
  AC_DEFINE(CC_HAS_LONG_LONG)
393
fi
394
 
395
dnl See if the compiler and runtime support printing long long
396
 
397
AC_MSG_CHECKING(for long long support in printf)
398
AC_CACHE_VAL(gdb_cv_printf_has_long_long,
399
[AC_TRY_RUN([
400
int main () {
401
  char buf[32];
402
  long long l = 0;
403
  l = (l << 16) + 0x0123;
404
  l = (l << 16) + 0x4567;
405
  l = (l << 16) + 0x89ab;
406
  l = (l << 16) + 0xcdef;
407
  sprintf (buf, "0x%016llx", l);
408
  return (strcmp ("0x0123456789abcdef", buf));
409
}],
410
gdb_cv_printf_has_long_long=yes,
411
gdb_cv_printf_has_long_long=no,
412
gdb_cv_printf_has_long_long=no)])
413
if test $gdb_cv_printf_has_long_long = yes; then
414
  AC_DEFINE(PRINTF_HAS_LONG_LONG)
415
fi
416
AC_MSG_RESULT($gdb_cv_printf_has_long_long)
417
 
418
dnl See if compiler supports "long double" type.  Can't use AC_C_LONG_DOUBLE
419
dnl because autoconf complains about cross-compilation issues.  However, this
420
dnl code uses the same variables as the macro for compatibility.
421
 
422
AC_MSG_CHECKING(for long double support in compiler)
423
AC_CACHE_VAL(ac_cv_c_long_double,
424
[AC_TRY_COMPILE(, [long double foo;],
425
ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])
426
AC_MSG_RESULT($ac_cv_c_long_double)
427
if test $ac_cv_c_long_double = yes; then
428
  AC_DEFINE(HAVE_LONG_DOUBLE)
429
fi
430
 
431
dnl See if the compiler and runtime support printing long doubles
432
 
433
AC_MSG_CHECKING(for long double support in printf)
434
AC_CACHE_VAL(gdb_cv_printf_has_long_double,
435
[AC_TRY_RUN([
436
int main () {
437
  char buf[16];
438
  long double f = 3.141592653;
439
  sprintf (buf, "%Lg", f);
440
  return (strncmp ("3.14159", buf, 7));
441
}],
442
gdb_cv_printf_has_long_double=yes,
443
gdb_cv_printf_has_long_double=no,
444
gdb_cv_printf_has_long_double=no)])
445
if test $gdb_cv_printf_has_long_double = yes; then
446
  AC_DEFINE(PRINTF_HAS_LONG_DOUBLE)
447
fi
448
AC_MSG_RESULT($gdb_cv_printf_has_long_double)
449
 
450
dnl See if the compiler and runtime support scanning long doubles
451
 
452
AC_MSG_CHECKING(for long double support in scanf)
453
AC_CACHE_VAL(gdb_cv_scanf_has_long_double,
454
[AC_TRY_RUN([
455
int main () {
456
  char *buf = "3.141592653";
457
  long double f = 0;
458
  sscanf (buf, "%Lg", &f);
459
  return !(f > 3.14159 && f < 3.14160);
460
}],
461
gdb_cv_scanf_has_long_double=yes,
462
gdb_cv_scanf_has_long_double=no,
463
gdb_cv_scanf_has_long_double=no)])
464
if test $gdb_cv_scanf_has_long_double = yes; then
465
  AC_DEFINE(SCANF_HAS_LONG_DOUBLE)
466
fi
467
AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
468
 
469
AC_FUNC_MMAP
470
 
471
dnl See if thread_db library is around for Solaris thread debugging.  Note that
472
dnl we must explicitly test for version 1 of the library because version 0
473
dnl (present on Solaris 2.4 or earlier) doesn't have the same API.
474
 
475
dnl Note that we only want this if we are both native (host == target), and
476
dnl not doing a canadian cross build (build == host).
477
 
478
if test ${build} = ${host} -a ${host} = ${target} ; then
479
   case ${host_os} in
480
   hpux*)
481
      AC_MSG_CHECKING(for HPUX/OSF thread support)
482
      if test -f /usr/include/dce/cma_config.h ; then
483
         if test "$GCC" = "yes" ; then
484
            AC_MSG_RESULT(yes)
485
            AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
486
            CONFIG_LIB_OBS="${CONFIG_LIB_OBS} hpux-thread.o"
487
            CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
488
         else
489
            AC_MSG_RESULT(no (suppressed because you are not using GCC))
490
         fi
491
      else
492
         AC_MSG_RESULT(no)
493
      fi
494
      ;;
495
   solaris*)
496
      AC_MSG_CHECKING(for Solaris thread debugging library)
497
      if test -f /usr/lib/libthread_db.so.1 ; then
498
         AC_MSG_RESULT(yes)
499
         AC_DEFINE(HAVE_THREAD_DB_LIB)
500
         CONFIG_LIB_OBS="${CONFIG_LIB_OBS} sol-thread.o"
501
         CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
502
         AC_CHECK_LIB(dl, dlopen)
503
         if test "$GCC" = "yes" ; then
504
            # The GNU linker requires the -export-dynamic option to make
505
            # all symbols visible in the dynamic symbol table.
506
            hold_ldflags=$LDFLAGS
507
            AC_MSG_CHECKING(for the ld -export-dynamic flag)
508
            LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
509
            AC_TRY_LINK(, [int i;], found=yes, found=no)
510
            LDFLAGS=$hold_ldflags
511
            AC_MSG_RESULT($found)
512
            if test $found = yes; then
513
               CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
514
            fi
515
         fi
516
         # Sun randomly tweaked the prototypes in 
517
         # at one point.
518
         AC_MSG_CHECKING(if  is old)
519
         AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
520
            AC_TRY_COMPILE([
521
                #include 
522
                ps_err_e ps_pdwrite
523
                    (struct ps_prochandle*, psaddr_t, const void*, size_t);
524
            ],, gdb_cv_proc_service_is_old=no,
525
                gdb_cv_proc_service_is_old=yes)
526
         ])
527
         AC_MSG_RESULT($gdb_cv_proc_service_is_old)
528
         if test $gdb_cv_proc_service_is_old = yes; then
529
            AC_DEFINE(PROC_SERVICE_IS_OLD)
530
         fi
531
      else
532
         AC_MSG_RESULT(no)
533
      fi
534
      ;;
535
   esac
536
   AC_SUBST(CONFIG_LDFLAGS)
537
fi
538
 
539
dnl The CLI cannot be disabled yet, but may be in the future
540
 
541
dnl Handle CLI sub-directory configury.
542
AC_ARG_ENABLE(gdbcli,
543
[  --enable-gdbcli            Enable GDB-CLI interface],
544
[
545
  case "${enableval}" in
546
    yes) enable_gdbcli=yes ;;
547
    "") enable_gdbcli=yes ;;
548
    no)
549
      AC_MSG_ERROR(The CLI cannot be disabled yet)
550
    ;;
551
    *)
552
      AC_MSG_ERROR(Bad value for --enable-gdbcli: ${enableval})
553
    ;;
554
  esac
555
],
556
[enable_gdbcli=yes])
557
case ${enable_gdbcli} in
558
  "yes" )
559
    if test -d "${srcdir}/cli" ; then
560
      CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_CLI_OBS)"
561
      CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_CLI_DEPS)"
562
      CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_CLI_SRCS)"
563
      CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_CLI_INITS)"
564
      ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_CLI_CFLAGS)"
565
      CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_CLI_ALL)"
566
      CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_CLI_CLEAN)"
567
      CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_CLI_INSTALL)"
568
      CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_CLI_UNINSTALL)"
569
    fi
570
    ;;
571
esac
572
 
573
dnl Handle optional features that can be enabled.
574
 
575
dnl Handle MI sub-directory configury.
576
AC_ARG_ENABLE(gdbmi,
577
[  --enable-gdbmi            Enable GDB-MI interface],
578
[
579
  case "${enable_gdbmi}" in
580
    yes | no) ;;
581
    "")  enable_gdbmi=yes ;;
582
    *)
583
      AC_MSG_ERROR(Bad value for --enable-gdbmi: ${enableval})
584
    ;;
585
  esac
586
],
587
[enable_gdbmi=yes])
588
case ${enable_gdbmi} in
589
  "yes" )
590
    if test -d "${srcdir}/mi" ; then
591
      CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_MI_OBS)"
592
      CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_MI_DEPS)"
593
      CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_MI_SRCS)"
594
      CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_MI_INITS)"
595
      ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_MI_CFLAGS)"
596
      CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_MI_ALL)"
597
      CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_MI_CLEAN)"
598
      CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_MI_INSTALL)"
599
      CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_MI_UNINSTALL)"
600
    fi
601
    ;;
602
esac
603
 
604
# Configure UI_OUT by default (before 5.2 it can be disabled)
605
# It must be configured if gdbmi is configured
606
 
607
UIOUT_CFLAGS=
608
AC_SUBST(UIOUT_CFLAGS)
609
 
610
AC_ARG_WITH(uiout,
611
[  --with-uiout          Use new uiout functions instead of *printf's],
612
[case "${withval}" in
613
  yes)  want_uiout=true ;;
614
  no)   if test $enable_gdbmi = yes; then
615
          AC_MSG_ERROR(uiout is needed for MI and cannot be disabled)
616
        else
617
           want_uiout=false
618
        fi ;;
619
  *)    AC_MSG_ERROR(bad value ${withval} for GDB with-uiout option) ;;
620
esac],
621
[want_uiout=true])dnl
622
 
623
if test $want_uiout = true; then
624
   UIOUT_CFLAGS="-DUI_OUT=1"
625
fi
626
 
627
AC_ARG_ENABLE(tui,
628
[  --enable-tui            Enable full-screen terminal user interface],
629
[
630
  case "${enable_tui}" in
631
    yes | no) ;;
632
    "")  enable_tui=yes ;;
633
    *)
634
      AC_MSG_ERROR(Bad value for --enable-tui: ${enableval})
635
    ;;
636
  esac
637
])
638
case ${enable_tui} in
639
  "yes" )
640
    if test -d "${srcdir}/tui" ; then
641
      CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_TUI_OBS)"
642
      CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_TUI_DEPS)"
643
      CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_TUI_SRCS)"
644
      CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_TUI_INITS)"
645
      ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_TUI_CFLAGS)"
646
      CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_TUI_ALL)"
647
      CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_TUI_CLEAN)"
648
      CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_TUI_INSTALL)"
649
      CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_TUI_UNINSTALL)"
650
    fi
651
    ;;
652
esac
653
 
654
AC_ARG_ENABLE(netrom,
655
[  --enable-netrom         Enable NetROM support],
656
[case "${enableval}" in
657
yes)    enable_netrom=yes ;;
658
no)     enable_netrom=no ;;
659
*)      AC_MSG_ERROR(bad value ${enableval} given for netrom option) ;;
660
esac])
661
 
662
if test "${enable_netrom}" = "yes"; then
663
        CONFIG_LIB_OBS="${CONFIG_LIB_OBS} remote-nrom.o"
664
        CONFIG_SRCS="${CONFIG_SRCS} remote-nrom.c"
665
fi
666
 
667
 
668
# NOTE: Don't add -Wall or -Wunused, they both include
669
# -Wunused-parameter which reports bogus warnings.
670
# NOTE: If you add to this list, remember to update
671
# gdb/doc/gdbint.texinfo.
672
build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
673
-Wformat -Wparentheses -Wpointer-arith -Wuninitialized"
674
# Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs
675
# -Wunused-function -Wunused-label -Wunused-variable -Wunused-value
676
# -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual
677
# -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
678
# -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
679
# -Woverloaded-virtual -Winline -Werror"
680
AC_ARG_ENABLE(build-warnings,
681
[  --enable-build-warnings Enable build-time compiler warnings if gcc is used],
682
[case "${enableval}" in
683
  yes)  ;;
684
  no)   build_warnings="-w";;
685
  ,*)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
686
        build_warnings="${build_warnings} ${t}";;
687
  *,)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
688
        build_warnings="${t} ${build_warnings}";;
689
  *)    build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
690
esac
691
if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
692
  echo "Setting compiler warning flags = $build_warnings" 6>&1
693
fi])dnl
694
AC_ARG_ENABLE(gdb-build-warnings,
695
[  --enable-gdb-build-warnings Enable GDB specific build-time compiler warnings if gcc is used],
696
[case "${enableval}" in
697
  yes)  ;;
698
  no)   build_warnings="-w";;
699
  ,*)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
700
        build_warnings="${build_warnings} ${t}";;
701
  *,)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
702
        build_warnings="${t} ${build_warnings}";;
703
  *)    build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
704
esac
705
if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
706
  echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
707
fi])dnl
708
WARN_CFLAGS=""
709
WERROR_CFLAGS=""
710
if test "x${build_warnings}" != x -a "x$GCC" = xyes
711
then
712
    AC_MSG_CHECKING(compiler warning flags)
713
    # Separate out the -Werror flag as some files just cannot be
714
    # compiled with it enabled.
715
    for w in ${build_warnings}; do
716
        case $w in
717
        -Werr*) WERROR_CFLAGS=-Werror ;;
718
        *) # Check that GCC accepts it
719
            if $CC $w 2>&1 | grep 'unrecognized option' > /dev/null; then
720
                :
721
            else
722
                WARN_CFLAGS="${WARN_CFLAGS} $w"
723
            fi
724
        esac
725
    done
726
    AC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS})
727
fi
728
AC_SUBST(WARN_CFLAGS)
729
AC_SUBST(WERROR_CFLAGS)
730
 
731
MMALLOC_CFLAGS=
732
MMALLOC=
733
AC_SUBST(MMALLOC_CFLAGS)
734
AC_SUBST(MMALLOC)
735
 
736
AC_ARG_WITH(mmalloc,
737
[  --with-mmalloc          Use memory mapped malloc package],
738
[case "${withval}" in
739
  yes)  want_mmalloc=true ;;
740
  no)   want_mmalloc=false;;
741
  *)    AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
742
esac],[want_mmalloc=false])dnl
743
 
744
if test x$want_mmalloc = xtrue; then
745
   AC_DEFINE(USE_MMALLOC)
746
   AC_DEFINE(MMCHECK_FORCE)
747
   MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
748
   MMALLOC='../mmalloc/libmmalloc.a'
749
fi
750
 
751
AC_ARG_WITH(included-regex,
752
[  --with-included-regex          Use included regex],
753
[case "${withval}" in
754
  yes)  want_included_regex=true ;;
755
  no)   want_included_regex=false;;
756
  *)    AC_MSG_ERROR(bad value ${withval} for GDB with-included-regex option) ;;
757
esac],[want_included_regex=true])dnl
758
 
759
if test $want_included_regex = false; then
760
  AC_MSG_CHECKING(for GNU regex)
761
  AC_CACHE_VAL(gdb_cv_have_gnu_regex,
762
[AC_TRY_COMPILE([#include 
763
#include 
764
#include ],
765
[#if !defined _GNU_REGEX_INTERFACE_VERSION || !defined __GLIBC__ || __GLIBC__ < 2
766
#error No valid GNU regex.
767
#endif
768
],
769
                [gdb_cv_have_gnu_regex=yes],
770
                [gdb_cv_have_gnu_regex=no])])
771
  AC_MSG_RESULT($gdb_cv_have_gnu_regex)
772
  if test $gdb_cv_have_gnu_regex = no; then
773
        want_included_regex=true
774
  fi
775
fi
776
 
777
if test x${want_included_regex} = xtrue; then
778
    REGEX="gnu-regex.o"
779
    AC_DEFINE(USE_INCLUDED_REGEX)
780
fi
781
AC_SUBST(REGEX)
782
 
783
# In the Cygwin environment, we need some additional flags.
784
AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
785
[AC_EGREP_CPP(lose, [
786
#if defined (__CYGWIN__) || defined (__CYGWIN32__)
787
lose
788
#endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
789
 
790
 
791
dnl Figure out which of the many generic ser-*.c files the _host_ supports.
792
SER_HARDWIRE="ser-unix.o ser-pipe.o ser-tcp.o"
793
case ${host} in
794
  *go32* ) SER_HARDWIRE=ser-go32.o ;;
795
  *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
796
esac
797
AC_SUBST(SER_HARDWIRE)
798
 
799
 
800
dnl Figure out which term library to use.
801
if test x$gdb_host = xgo32; then
802
  TERM_LIB=
803
else
804
if test x$gdb_cv_os_cygwin = xyes; then
805
  TERM_LIB='`if test -r ../libtermcap/libtermcap.a; then echo ../libtermcap/libtermcap.a; else echo -ltermcap; fi`'
806
else
807
  TERM_LIB=
808
  AC_CHECK_LIB(ncurses, tgetent, TERM_LIB=-lncurses,
809
    AC_CHECK_LIB(Hcurses, tgetent, TERM_LIB=-lHcurses,
810
      AC_CHECK_LIB(termlib, tgetent, TERM_LIB=-ltermlib,
811
        AC_CHECK_LIB(termcap, tgetent, TERM_LIB=-ltermcap,
812
          AC_CHECK_LIB(curses, tgetent, TERM_LIB=-lcurses,
813
            AC_CHECK_LIB(terminfo, tgetent, TERM_LIB=-lterminfo))))))
814
 
815
  if test "x$TERM_LIB" = x
816
  then
817
    AC_MSG_ERROR(Could not find a term library, e.g. termcap or termlib!)
818
  fi
819
fi
820
fi
821
AC_SUBST(TERM_LIB)
822
 
823
# libreadline needs libuser32.a in a cygwin environment
824
WIN32LIBS=
825
if test x$gdb_cv_os_cygwin = xyes; then
826
    WIN32LIBS="-luser32"
827
    case "${target}" in
828
        *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
829
        ;;
830
    esac
831
fi
832
AC_SUBST(WIN32LIBS)
833
 
834
LIBGUI="../libgui/src/libgui.a"
835
GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
836
AC_SUBST(LIBGUI)
837
AC_SUBST(GUI_CFLAGS_X)
838
 
839
AC_ARG_WITH(cpu,
840
[  --with-cpu=CPU          Set the default CPU variant to debug],
841
[case "${target}" in
842
  powerpc-* | powerpcle-* )
843
    ## It would be nice to keep this table in sync with the one in
844
    ## gcc/configure.
845
    case "${with_cpu}" in
846
      ppc-uisa | rs6000 | 403 | 403GC | 505 | 860 | 601 | 602 | 603 \
847
      | 604 | 750 )
848
        ## Those are all handled in variants in rs6000-tdep.c, so they're fine.
849
      ;;
850
      common | power | power2 | rios | rios1 | rios2 | rsc | rsc1 )
851
        ## These are all RS6000 variants, as far as GDB is concerned.
852
        with_cpu=rs6000
853
      ;;
854
      603e | ec603e )
855
        with_cpu=603
856
      ;;
857
      604e )
858
        with_cpu=604
859
      ;;
860
      * )
861
        AC_MSG_WARN(GDB: unknown --with-cpu value: \`${with_cpu}'; using \`ppc-uisa'.)
862
        with_cpu=ppc-uisa
863
      ;;
864
    esac
865
  ;;
866
  * )
867
    AC_MSG_WARN(GDB may ignore the --with-cpu flag for ${target} targets)
868
  ;;
869
esac
870
AC_DEFINE_UNQUOTED(TARGET_CPU_DEFAULT, "${with_cpu}")
871
],)
872
 
873
 
874
AC_ARG_ENABLE(gdbtk,
875
[  --enable-gdbtk          Enable GDBTK GUI front end],
876
[case "${enableval}" in
877
    yes)
878
        case "$host" in
879
        *go32*)
880
            AC_MSG_WARN([GDB does not support GDBtk on host ${host}.  GDBtk will be disabled.])
881
            enable_gdbtk=no ;;
882
        *windows*)
883
            AC_MSG_WARN([GDB does not support GDBtk on host ${host}.  GDBtk will be disabled.])
884
            enable_gdbtk=no ;;
885
        *)
886
            enable_gdbtk=yes ;;
887
        esac ;;
888
    no)
889
        enable_gdbtk=no  ;;
890
    *)
891
        AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
892
esac],
893
[
894
# Default is on for everything but go32 and Cygwin
895
case "$host" in
896
    *go32* | *windows*)
897
        ;;
898
    *)
899
        if test -d "${srcdir}/gdbtk" ; then
900
            enable_gdbtk=yes
901
        fi
902
        ;;
903
esac
904
])
905
 
906
WIN32LDAPP=
907
AC_SUBST(WIN32LIBS)
908
AC_SUBST(WIN32LDAPP)
909
 
910
configdir="unix"
911
 
912
GDBTKLIBS=
913
if test "${enable_gdbtk}" = "yes"; then
914
 
915
    CY_AC_PATH_TCLCONFIG
916
    if test -z "${no_tcl}"; then
917
        CY_AC_LOAD_TCLCONFIG
918
        CY_AC_PATH_TKCONFIG
919
 
920
        # If $no_tk is nonempty, then we can't do Tk, and there is no
921
        # point to doing Tcl.
922
        if test -z "${no_tk}"; then
923
           CY_AC_LOAD_TKCONFIG
924
           CY_AC_PATH_TCLH
925
           CY_AC_PATH_TKH
926
           CY_AC_PATH_ITCLH
927
           CY_AC_PATH_ITKH
928
           CY_AC_PATH_TIXH
929
 
930
           # now look for Itcl library stuff
931
 
932
           CY_AC_PATH_ITCLCONFIG
933
           if test -z "${no_itcl}"; then
934
             CY_AC_LOAD_ITCLCONFIG
935
             case "${host}" in
936
             *-*-cygwin*)
937
                itcldir=../itcl/itcl/win/
938
                ;;
939
             *)
940
                itcldir=../itcl/itcl/unix/
941
                ;;
942
             esac
943
 
944
 
945
             ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
946
             ITCL_DEPS="${itcldir}${ITCL_LIB_FILE}"
947
           fi
948
 
949
 
950
           # now look for Itk library stuff
951
           CY_AC_PATH_ITKCONFIG
952
           if test -z "${no_itcl}"; then
953
             CY_AC_LOAD_ITKCONFIG
954
 
955
             case "${host}" in
956
               *-*-cygwin*)
957
                 itkdir=../itcl/itk/win/
958
                 ;;
959
               *)
960
                 itkdir=../itcl/itk/unix/
961
                 ;;
962
               esac
963
 
964
             ITKLIB="${ITK_BUILD_LIB_SPEC}"
965
             ITK_DEPS="${itkdir}${ITK_LIB_FILE}"
966
           fi
967
 
968
           # now look for Tix library stuff
969
           CY_AC_PATH_TIXCONFIG
970
           if test -z "${no_tix}"; then
971
             CY_AC_LOAD_TIXCONFIG
972
             TIXLIB="${TIX_BUILD_LIB_SPEC}"
973
             TIX_DEPS="${TIX_BUILD_LOCATION}/${TIX_LIB_FILE}"
974
           fi
975
 
976
           ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
977
           # Tcl/Tk 8.1 require -fwritable strings.  I don't
978
           # know whether 8.2 will or not, but I bet it will.
979
           # I don't have to worry about 7.x since we don't support it.
980
           GDBTK_CFLAGS=""
981
           if test "$GCC" = "yes"; then
982
               if test "$TCL_VERSION" != "8.0" ; then
983
                   GDBTK_CFLAGS="-fwritable-strings"
984
               fi
985
           fi
986
 
987
           # Include some libraries that Tcl and Tk want.
988
           TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
989
           # Yes, the ordering seems wrong here.  But it isn't.
990
           # TK_LIBS is the list of libraries that need to be linked
991
           # after Tcl/Tk.  Note that this isn't put into LIBS.  If it
992
           # were in LIBS then any link tests after this point would
993
           # try to include things like `$(LIBGUI)', which wouldn't work.
994
           GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
995
 
996
           CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
997
           CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
998
           CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
999
           CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_GDBTK_INITS)"
1000
           CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_GDBTK_ALL)"
1001
           CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_GDBTK_CLEAN)"
1002
           CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_GDBTK_INSTALL)"
1003
           CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_GDBTK_UNINSTALL)"
1004
 
1005
           if test x$gdb_cv_os_cygwin = xyes; then
1006
              WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
1007
              WIN32LDAPP="-Wl,--subsystem,console"
1008
              CONFIG_OBS="${CONFIG_OBS} gdbres.o"
1009
           fi
1010
        fi
1011
    fi
1012
fi
1013
 
1014
AC_SUBST(X_CFLAGS)
1015
AC_SUBST(X_LDFLAGS)
1016
AC_SUBST(X_LIBS)
1017
AC_SUBST(ITCLLIB)
1018
AC_SUBST(ITCL_DEPS)
1019
AC_SUBST(ITKLIB)
1020
AC_SUBST(ITK_DEPS)
1021
AC_SUBST(TIXLIB)
1022
AC_SUBST(TIX_DEPS)
1023
AC_SUBST(GDBTKLIBS)
1024
AC_SUBST(GDBTK_CFLAGS)
1025
 
1026
AC_PATH_X
1027
 
1028
 
1029
# Unlike the sim directory, whether a simulator is linked is controlled by
1030
# presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
1031
# This code just checks for a few cases where we'd like to ignore those
1032
# definitions, even when they're present in the '.mt' file.  These cases
1033
# are when --disable-sim is specified, or if the simulator directory is
1034
# not part of the source tree.
1035
#
1036
AC_ARG_ENABLE(sim,
1037
[  --enable-sim            Link gdb with simulator],
1038
[echo "enable_sim = $enable_sim";
1039
 echo "enableval = ${enableval}";
1040
 case "${enableval}" in
1041
  yes) ignore_sim=false ;;
1042
  no)  ignore_sim=true ;;
1043
  *)   ignore_sim=false ;;
1044
 esac],
1045
[ignore_sim=false])
1046
 
1047
if test ! -d "${srcdir}/../sim"; then
1048
  ignore_sim=true
1049
fi
1050
 
1051
if test "${ignore_sim}" = "true"; then
1052
    IGNORE_SIM="SIM="
1053
    IGNORE_SIM_OBS="SIM_OBS="
1054
else
1055
    IGNORE_SIM=""
1056
    IGNORE_SIM_OBS=""
1057
    AC_DEFINE(WITH_SIM)
1058
fi
1059
AC_SUBST(IGNORE_SIM)
1060
AC_SUBST(IGNORE_SIM_OBS)
1061
 
1062
AC_SUBST(ENABLE_CFLAGS)
1063
 
1064
AC_SUBST(CONFIG_OBS)
1065
AC_SUBST(CONFIG_LIB_OBS)
1066
AC_SUBST(CONFIG_DEPS)
1067
AC_SUBST(CONFIG_SRCS)
1068
AC_SUBST(CONFIG_INITS)
1069
AC_SUBST(CONFIG_ALL)
1070
AC_SUBST(CONFIG_CLEAN)
1071
AC_SUBST(CONFIG_INSTALL)
1072
AC_SUBST(CONFIG_UNINSTALL)
1073
 
1074
# Begin stuff to support --enable-shared
1075
AC_ARG_ENABLE(shared,
1076
[  --enable-shared         Use shared libraries],
1077
[case "${enableval}" in
1078
  yes) shared=true ;;
1079
  no)  shared=false ;;
1080
  *) shared=true ;;
1081
esac])dnl
1082
 
1083
HLDFLAGS=
1084
HLDENV=
1085
# If we have shared libraries, try to set rpath reasonably.
1086
if test "${shared}" = "true"; then
1087
  case "${host}" in
1088
  *-*-hpux*)
1089
    HLDFLAGS='-Wl,+s,+b,$(libdir)'
1090
    ;;
1091
  *-*-irix5* | *-*-irix6*)
1092
    HLDFLAGS='-Wl,-rpath,$(libdir)'
1093
    ;;
1094
  *-*-linux*aout*)
1095
    ;;
1096
  *-*-linux* | *-pc-linux-gnu*)
1097
    HLDFLAGS='-Wl,-rpath,$(libdir)'
1098
    ;;
1099
  *-*-solaris*)
1100
    HLDFLAGS='-R $(libdir)'
1101
    ;;
1102
  *-*-sysv4*)
1103
    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;'
1104
    ;;
1105
  esac
1106
fi
1107
 
1108
# On SunOS, if the linker supports the -rpath option, use it to
1109
# prevent ../bfd and ../opcodes from being included in the run time
1110
# search path.
1111
case "${host}" in
1112
  *-*-sunos*)
1113
    echo 'main () { }' > conftest.c
1114
    ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
1115
    if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
1116
      :
1117
    elif grep 'No such file' conftest.t >/dev/null 2>&1; then
1118
      :
1119
    elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
1120
      :
1121
    elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
1122
      :
1123
    elif test "${shared}" = "true"; then
1124
      HLDFLAGS='-Wl,-rpath=$(libdir)'
1125
    else
1126
      HLDFLAGS='-Wl,-rpath='
1127
    fi
1128
    rm -f conftest.t conftest.c conftest
1129
    ;;
1130
esac
1131
AC_SUBST(HLDFLAGS)
1132
AC_SUBST(HLDENV)
1133
# End stuff to support --enable-shared
1134
 
1135
# target_subdir is used by the testsuite to find the target libraries.
1136
target_subdir=
1137
if test "${host}" != "${target}"; then
1138
    target_subdir="${target_alias}/"
1139
fi
1140
AC_SUBST(target_subdir)
1141
 
1142
frags=
1143
host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
1144
if test ! -f ${host_makefile_frag}; then
1145
AC_MSG_ERROR("*** Gdb does not support host ${host}")
1146
fi
1147
frags="$frags $host_makefile_frag"
1148
 
1149
target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
1150
if test ! -f ${target_makefile_frag}; then
1151
AC_MSG_ERROR("*** Gdb does not support target ${target}")
1152
fi
1153
frags="$frags $target_makefile_frag"
1154
 
1155
AC_SUBST_FILE(host_makefile_frag)
1156
AC_SUBST_FILE(target_makefile_frag)
1157
AC_SUBST(frags)
1158
 
1159
changequote(,)dnl
1160
hostfile=`sed -n '
1161
s/XM_FILE[      ]*=[    ]*\([^  ]*\)/\1/p
1162
' ${host_makefile_frag}`
1163
 
1164
targetfile=`sed -n '
1165
s/TM_FILE[      ]*=[    ]*\([^  ]*\)/\1/p
1166
' ${target_makefile_frag}`
1167
 
1168
GDB_MULTI_ARCH=`sed -n '
1169
s/GDB_MULTI_ARCH[       ]*=[    ]*\([^  ]*\)[   ]*/\1/p
1170
' ${target_makefile_frag}`
1171
 
1172
# these really aren't orthogonal true/false values of the same condition,
1173
# but shells are slow enough that I like to reuse the test conditions
1174
# whenever possible
1175
if test "${target}" = "${host}"; then
1176
nativefile=`sed -n '
1177
s/NAT_FILE[     ]*=[    ]*\([^  ]*\)/\1/p
1178
' ${host_makefile_frag}`
1179
# else
1180
# GDBserver is only useful in a "native" environment
1181
# configdirs=`echo $configdirs | sed 's/gdbserver//'`
1182
fi
1183
changequote([,])
1184
 
1185
# New targets should just set gdb_multi_arch=yes in configure.tgt.
1186
# Old targets being converted can either do that or set GDB_MULTI_ARCH
1187
# in the target specific makefile frag.  Eventually gdb_multi_arch=yes
1188
# will be the default.
1189
if test x"${GDB_MULTI_ARCH}" = x ; then
1190
    case "${gdb_multi_arch}" in
1191
    yes ) GDB_MULTI_ARCH=GDB_MULTI_ARCH_PURE ;;
1192
    no ) GDB_MULTI_ARCH=0 ;;
1193
    0|1|2 ) GDB_MULTI_ARCH=${gdb_multi_arch} ;;
1194
    esac
1195
fi
1196
if test x"${GDB_MULTI_ARCH}" != x ; then
1197
    AC_DEFINE_UNQUOTED(GDB_MULTI_ARCH, ${GDB_MULTI_ARCH})
1198
fi
1199
# Warn the user when they use an old practice
1200
case "${GDB_MULTI_ARCH}" in
1201
    "" ) ;;
1202
 
1203
        AC_MSG_WARN("GDB: Target is not pure multi-arch") ;;
1204
    GDB_MULTI_ARCH_PURE )
1205
        if test x"${targetfile}" != x ; then
1206
            AC_MSG_WARN("GDB: Ignoring TM_FILE in ${target_makefile_frag}")
1207
            targetfile=""
1208
        fi ;;
1209
    *)  AC_MSG_ERROR("GDB: Unknown GDB_MULTI_ARCH value ${GDB_MULTI_ARCH}");;
1210
esac
1211
 
1212
 
1213
SUBDIRS="doc testsuite nlm"
1214
if test "${enable_multi_ice}" = "yes"; then
1215
  SUBDIRS="${SUBDIRS} multi-ice"
1216
fi
1217
 
1218
AC_SUBST(SUBDIRS)
1219
 
1220
# If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
1221
# (NAT_FILE) is not set in config/*/*.m[ht] files, we link to an empty
1222
# version.
1223
 
1224
files=
1225
links=
1226
 
1227
rm -f xm.h
1228
xm_h=""
1229
if test "${hostfile}" != ""; then
1230
    xm_h=xm.h
1231
    GDB_XM_FILE="config/${gdb_host_cpu}/${hostfile}"
1232
    files="${files} ${GDB_XM_FILE}"
1233
    links="${links} xm.h"
1234
    AC_DEFINE_UNQUOTED(GDB_XM_FILE, ${GDB_XM_FILE})
1235
fi
1236
AC_SUBST(xm_h)
1237
 
1238
rm -f tm.h
1239
tm_h=""
1240
if test "${targetfile}" != ""; then
1241
    tm_h=tm.h
1242
    GDB_TM_FILE="config/${gdb_target_cpu}/${targetfile}"
1243
    files="${files} ${GDB_TM_FILE}"
1244
    links="${links} tm.h"
1245
    AC_DEFINE_UNQUOTED(GDB_TM_FILE, ${GDB_TM_FILE})
1246
fi
1247
AC_SUBST(tm_h)
1248
 
1249
rm -f nm.h
1250
nm_h=""
1251
if test "${nativefile}" != ""; then
1252
    nm_h=nm.h
1253
    GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}"
1254
    files="${files} ${GDB_NM_FILE}"
1255
    links="${links} nm.h"
1256
    AC_DEFINE_UNQUOTED(GDB_NM_FILE, ${GDB_NM_FILE})
1257
fi
1258
AC_SUBST(nm_h)
1259
 
1260
AC_PROG_LN_S
1261
 
1262
AC_LINK_FILES($files, $links)
1263
 
1264
dnl Check for exe extension set on certain hosts (e.g. Win32)
1265
AC_EXEEXT
1266
 
1267
AC_CONFIG_SUBDIRS($configdirs)
1268
AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
1269
[
1270
dnl Autoconf doesn't provide a mechanism for modifying definitions
1271
dnl provided by makefile fragments.
1272
dnl
1273
if test "${nativefile}" = ""; then
1274
sed -e '/^NATDEPFILES[[         ]]*=[[  ]]*/s//# NATDEPFILES=/' \
1275
        < Makefile > Makefile.tem
1276
mv -f Makefile.tem Makefile
1277
fi
1278
 
1279
changequote(,)dnl
1280
sed -e '/^TM_FILE[      ]*=/s,^TM_FILE[         ]*=[    ]*,&config/'"${gdb_target_cpu}"'/,
1281
/^XM_FILE[      ]*=/s,^XM_FILE[         ]*=[    ]*,&config/'"${gdb_host_cpu}"'/,
1282
/^NAT_FILE[     ]*=/s,^NAT_FILE[        ]*=[    ]*,&config/'"${gdb_host_cpu}"'/,' Makefile.tmp
1283
mv -f Makefile.tmp Makefile
1284
changequote([,])dnl
1285
 
1286
 
1287
case x$CONFIG_HEADERS in
1288
xconfig.h:config.in)
1289
echo > stamp-h ;;
1290
esac
1291
],
1292
[
1293
gdb_host_cpu=$gdb_host_cpu
1294
gdb_target_cpu=$gdb_target_cpu
1295
nativefile=$nativefile
1296
])
1297
 
1298
exit 0

powered by: WebSVN 2.1.0

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