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