Fix entry typo and missing information.
[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,
2bba1017
KB
242 [AC_TRY_COMPILE([#define _SYSCALL32
243#include <sys/link.h>], [struct link_map32 l;],
23e04971 244 gdb_cv_have_struct_link_map32=yes,
2bba1017 245 gdb_cv_have_struct_link_map32=no)])
23e04971
MS
246 AC_MSG_RESULT($gdb_cv_have_struct_link_map32)
247 if test $gdb_cv_have_struct_link_map32 = yes; then
248 AC_DEFINE(HAVE_STRUCT_LINK_MAP32)
249 fi
250
d84dd0c5
MK
251 dnl Check for broken prfpregset_t type
252
253 dnl For Linux/i386, glibc 2.1.3 was released with a bogus
254 dnl prfpregset_t type (it's a typedef for the pointer to a struct
255 dnl instead of the struct itself). We detect this here, and work
256 dnl around it in lin-thread.c.
257
258 if test $bfd_cv_have_sys_procfs_type_prfpregset_t = yes; then
259 AC_MSG_CHECKING(whether prfpregset_t type is broken)
260 AC_CACHE_VAL(gdb_cv_prfpregset_t_broken,
261 [AC_TRY_RUN([#include <sys/procfs.h>
262 int main ()
263 {
264 if (sizeof (prfpregset_t) == sizeof (void *))
265 return 1;
266 return 0;
267 }],
268 gdb_cv_prfpregset_t_broken=no,
269 gdb_cv_prfpregset_t_broken=yes,
270 gdb_cv_prfpregset_t_broken=yes)])
271 AC_MSG_RESULT($gdb_cv_prfpregset_t_broken)
272 if test $gdb_cv_prfpregset_t_broken = yes; then
273 AC_DEFINE(PRFPREGSET_T_BROKEN)
274 fi
275 fi
276
c906108c
SS
277 dnl Check for PIOCSET ioctl entry
278
279 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
280 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
281 [AC_TRY_COMPILE([#include <unistd.h>
282#include <sys/types.h>
283#include <sys/procfs.h>
284], [
285 int dummy;;
286 dummy = ioctl(0, PIOCSET, &dummy);
287 ],
288 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
289 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
290 if test $gdb_cv_have_procfs_piocset = yes; then
291 AC_DEFINE(HAVE_PROCFS_PIOCSET)
292 fi
293fi
294
295dnl See if host has libm. This is usually needed by simulators.
296AC_CHECK_LIB(m, main)
297
298dnl Solaris puts wctype in /usr/lib/libw.a before Solaris 2.6.
299dnl
300dnl A bug in GNU ld 2.9.1 causes a problem if we link in -lw
301dnl under Solaris 2.6 because it is some funky empty library.
302dnl So only link in libw if we have to.
303AC_CHECK_LIB(c, wctype,: ,AC_CHECK_LIB(w, wctype))
304
305dnl See if compiler supports "long long" type.
306
307AC_MSG_CHECKING(for long long support in compiler)
308AC_CACHE_VAL(gdb_cv_c_long_long,
309[AC_TRY_COMPILE(, [
310 extern long long foo;
311 switch (foo & 2) { case 0: return 1; }
312],
313gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])
314AC_MSG_RESULT($gdb_cv_c_long_long)
315if test $gdb_cv_c_long_long = yes; then
316 AC_DEFINE(CC_HAS_LONG_LONG)
317fi
318
319dnl See if the compiler and runtime support printing long long
320
321AC_MSG_CHECKING(for long long support in printf)
322AC_CACHE_VAL(gdb_cv_printf_has_long_long,
323[AC_TRY_RUN([
324int main () {
325 char buf[32];
326 long long l = 0;
327 l = (l << 16) + 0x0123;
328 l = (l << 16) + 0x4567;
329 l = (l << 16) + 0x89ab;
330 l = (l << 16) + 0xcdef;
331 sprintf (buf, "0x%016llx", l);
332 return (strcmp ("0x0123456789abcdef", buf));
333}],
334gdb_cv_printf_has_long_long=yes,
335gdb_cv_printf_has_long_long=no,
336gdb_cv_printf_has_long_long=no)])
337if test $gdb_cv_printf_has_long_long = yes; then
338 AC_DEFINE(PRINTF_HAS_LONG_LONG)
339fi
340AC_MSG_RESULT($gdb_cv_printf_has_long_long)
341
342dnl See if compiler supports "long double" type. Can't use AC_C_LONG_DOUBLE
343dnl because autoconf complains about cross-compilation issues. However, this
344dnl code uses the same variables as the macro for compatibility.
345
346AC_MSG_CHECKING(for long double support in compiler)
347AC_CACHE_VAL(ac_cv_c_long_double,
348[AC_TRY_COMPILE(, [long double foo;],
349ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])
350AC_MSG_RESULT($ac_cv_c_long_double)
351if test $ac_cv_c_long_double = yes; then
352 AC_DEFINE(HAVE_LONG_DOUBLE)
353fi
354
355dnl See if the compiler and runtime support printing long doubles
356
357AC_MSG_CHECKING(for long double support in printf)
358AC_CACHE_VAL(gdb_cv_printf_has_long_double,
359[AC_TRY_RUN([
360int main () {
361 char buf[16];
362 long double f = 3.141592653;
363 sprintf (buf, "%Lg", f);
364 return (strncmp ("3.14159", buf, 7));
365}],
366gdb_cv_printf_has_long_double=yes,
367gdb_cv_printf_has_long_double=no,
368gdb_cv_printf_has_long_double=no)])
369if test $gdb_cv_printf_has_long_double = yes; then
370 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE)
371fi
372AC_MSG_RESULT($gdb_cv_printf_has_long_double)
373
374dnl See if the compiler and runtime support scanning long doubles
375
376AC_MSG_CHECKING(for long double support in scanf)
377AC_CACHE_VAL(gdb_cv_scanf_has_long_double,
378[AC_TRY_RUN([
379int main () {
380 char *buf = "3.141592653";
381 long double f = 0;
382 sscanf (buf, "%Lg", &f);
383 return !(f > 3.14159 && f < 3.14160);
384}],
385gdb_cv_scanf_has_long_double=yes,
386gdb_cv_scanf_has_long_double=no,
387gdb_cv_scanf_has_long_double=no)])
388if test $gdb_cv_scanf_has_long_double = yes; then
389 AC_DEFINE(SCANF_HAS_LONG_DOUBLE)
390fi
391AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
392
393AC_FUNC_MMAP
394
395dnl See if thread_db library is around for Solaris thread debugging. Note that
396dnl we must explicitly test for version 1 of the library because version 0
397dnl (present on Solaris 2.4 or earlier) doesn't have the same API.
398
399dnl Note that we only want this if we are both native (host == target), and
400dnl not doing a canadian cross build (build == host).
401
402if test ${build} = ${host} -a ${host} = ${target} ; then
403 case ${host_os} in
404 hpux*)
405 AC_MSG_CHECKING(for HPUX/OSF thread support)
406 if test -f /usr/include/dce/cma_config.h ; then
407 if test "$GCC" = "yes" ; then
408 AC_MSG_RESULT(yes)
409 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
410 CONFIG_OBS="${CONFIG_OJS} hpux-thread.o"
411 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
412 else
413 AC_MSG_RESULT(no (suppressed because you are not using GCC))
414 fi
415 else
416 AC_MSG_RESULT(no)
417 fi
418 ;;
419 solaris*)
420 AC_MSG_CHECKING(for Solaris thread debugging library)
421 if test -f /usr/lib/libthread_db.so.1 ; then
422 AC_MSG_RESULT(yes)
423 AC_DEFINE(HAVE_THREAD_DB_LIB)
424 CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
425 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
426 AC_CHECK_LIB(dl, dlopen)
427 if test "$GCC" = "yes" ; then
428 # The GNU linker requires the -export-dynamic option to make
429 # all symbols visible in the dynamic symbol table.
430 hold_ldflags=$LDFLAGS
431 AC_MSG_CHECKING(for the ld -export-dynamic flag)
432 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
433 AC_TRY_LINK(, [int i;], found=yes, found=no)
434 LDFLAGS=$hold_ldflags
435 AC_MSG_RESULT($found)
436 if test $found = yes; then
437 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
438 fi
439 fi
440 # Sun randomly tweaked the prototypes in <proc_service.h>
441 # at one point.
442 AC_MSG_CHECKING(if <proc_service.h> is old)
443 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
444 AC_TRY_COMPILE([
445 #include <proc_service.h>
446 ps_err_e ps_pdwrite
447 (struct ps_prochandle*, psaddr_t, const void*, size_t);
448 ],, gdb_cv_proc_service_is_old=no,
449 gdb_cv_proc_service_is_old=yes)
450 ])
451 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
452 if test $gdb_cv_proc_service_is_old = yes; then
453 AC_DEFINE(PROC_SERVICE_IS_OLD)
454 fi
455 else
456 AC_MSG_RESULT(no)
457 fi
458 ;;
459 esac
460 AC_SUBST(CONFIG_LDFLAGS)
461fi
462
463dnl Handle optional features that can be enabled.
fb40c209
AC
464
465dnl Handle MI sub-directory configury.
466AC_ARG_ENABLE(gdbmi,
467[ --enable-gdbmi Enable GDB-MI interface],
468[
469 case "${enable_gdbmi}" in
470 yes | no) ;;
471 "") enable_gdbmi=yes ;;
472 *)
473 AC_MSG_ERROR(Bad value for --enable-gdbmi: ${enableval})
474 ;;
475 esac
476])
477case ${enable_gdbmi} in
478 "yes" )
479 if test -d "${srcdir}/mi" ; then
480 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_MI_OBS)"
481 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_MI_DEPS)"
482 CONFIG_SRCS="${CONFIG_SRS} \$(SUBDIR_MI_SRCS)"
483 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_MI_INITS)"
b0b1b869 484 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_MI_CFLAGS)"
b3a90332
AC
485 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_MI_ALL)"
486 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_MI_CLEAN)"
e56ac5c3
AC
487 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_MI_INSTALL)"
488 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_MI_UNINSTALL)"
fb40c209
AC
489 fi
490 ;;
491esac
c906108c
SS
492
493AC_ARG_ENABLE(tui,
494[ --enable-tui Enable full-screen terminal user interface],
495[
496 case "${enable_tui}" in
497 yes | no) ;;
498 "") enable_tui=yes ;;
499 *)
500 AC_MSG_ERROR(Bad value for --enable-tui: ${enableval})
501 ;;
502 esac
503])
504case ${enable_tui} in
505 "yes" )
ed952ac5
AC
506 if test -d "${srcdir}/tui" ; then
507 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_TUI_OBS)"
508 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_TUI_DEPS)"
509 CONFIG_SRCS="${CONFIG_SRS} \$(SUBDIR_TUI_SRCS)"
510 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_TUI_INITS)"
511 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_TUI_CFLAGS)"
512 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_TUI_ALL)"
513 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_TUI_CLEAN)"
514 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_TUI_INSTALL)"
515 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_TUI_UNINSTALL)"
516 fi
517 ;;
c906108c 518esac
c906108c
SS
519
520AC_ARG_ENABLE(netrom,
521[ --enable-netrom Enable NetROM support],
522[case "${enableval}" in
523yes) enable_netrom=yes ;;
524no) enable_netrom=no ;;
525*) AC_MSG_ERROR(bad value ${enableval} given for netrom option) ;;
526esac])
527
528if test "${enable_netrom}" = "yes"; then
529 CONFIG_OBS="${CONFIG_OBS} remote-nrom.o"
530 CONFIG_SRCS="${CONFIG_SRCS} remote-nrom.c"
531fi
532
1decb323 533
d8038014
AC
534# Don't add -Wall or -Wunused, they include -Wunused-parameter which
535# causes noise.
1decb323 536build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
16cadf39 537-Wformat -Wparentheses -Wpointer-arith -Wuninitialized"
d8038014
AC
538# Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs
539# -Wunused-function -Wunused-label -Wunused-variable -Wunused-value
540# -Wchar-subscripts -Wuninitialized -Wtraditional -Wshadow -Wcast-qual
541# -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
542# -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
543# -Woverloaded-virtual -Winline -Werror"
c906108c
SS
544AC_ARG_ENABLE(build-warnings,
545[ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
1decb323 546[case "${enableval}" in
c906108c
SS
547 yes) ;;
548 no) build_warnings="-w";;
549 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
550 build_warnings="${build_warnings} ${t}";;
551 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
552 build_warnings="${t} ${build_warnings}";;
553 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
d4f3574e
SS
554esac
555if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
746a987d 556 echo "Setting compiler warning flags = $build_warnings" 6>&1
1decb323 557fi])dnl
104c1213
JM
558WARN_CFLAGS=""
559WERROR_CFLAGS=""
c906108c
SS
560if test "x${build_warnings}" != x -a "x$GCC" = xyes
561then
746a987d
AC
562 AC_MSG_CHECKING(compiler warning flags)
563 # Separate out the -Werror flag as some files just cannot be
564 # compiled with it enabled.
565 for w in ${build_warnings}; do
566 case $w in
567 -Werr*) WERROR_CFLAGS=-Werror ;;
568 *) # Check that GCC accepts it
569 if $CC $w 2>&1 | grep 'unrecognized option' > /dev/null; then
570 :
571 else
572 WARN_CFLAGS="${WARN_CFLAGS} $w"
573 fi
574 esac
575 done
576 AC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS})
1decb323 577fi
c906108c 578AC_SUBST(WARN_CFLAGS)
104c1213 579AC_SUBST(WERROR_CFLAGS)
c906108c
SS
580
581MMALLOC_CFLAGS=
582MMALLOC=
583AC_SUBST(MMALLOC_CFLAGS)
584AC_SUBST(MMALLOC)
585
586AC_ARG_WITH(mmalloc,
587[ --with-mmalloc Use memory mapped malloc package],
588[case "${withval}" in
589 yes) want_mmalloc=true ;;
590 no) want_mmalloc=false;;
591 *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
592esac],[want_mmalloc=false])dnl
593
594if test x$want_mmalloc = xtrue; then
595 AC_DEFINE(USE_MMALLOC)
596 AC_DEFINE(MMCHECK_FORCE)
597 MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
598 MMALLOC='../mmalloc/libmmalloc.a'
599fi
600
88987551
L
601AC_ARG_WITH(included-regex,
602[ --with-included-regex Use included regex],
603[case "${withval}" in
604 yes) want_included_regex=true ;;
605 no) want_included_regex=false;;
606 *) AC_MSG_ERROR(bad value ${withval} for GDB with-included-regex option) ;;
607esac],[want_included_regex=true])dnl
608
88987551
L
609if test $want_included_regex = false; then
610 AC_MSG_CHECKING(for GNU regex)
611 AC_CACHE_VAL(gdb_cv_have_gnu_regex,
612[AC_TRY_COMPILE([#include <gnu-versions.h>
613#include <sys/types.h>
614#include <regex.h>],
615[#if !defined _GNU_REGEX_INTERFACE_VERSION || !defined __GLIBC__ || __GLIBC__ < 2
616#error No valid GNU regex.
617#endif
618],
619 [gdb_cv_have_gnu_regex=yes],
620 [gdb_cv_have_gnu_regex=no])])
621 AC_MSG_RESULT($gdb_cv_have_gnu_regex)
e48f66e4
AC
622 if test $gdb_cv_have_gnu_regex = no; then
623 want_included_regex=true
88987551
L
624 fi
625fi
e48f66e4
AC
626
627if test x${want_included_regex} = xtrue; then
628 REGEX="gnu-regex.o"
629 AC_DEFINE(USE_INCLUDED_REGEX)
630fi
88987551 631AC_SUBST(REGEX)
7a292a7a
SS
632
633# In the Cygwin environment, we need some additional flags.
634AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
635[AC_EGREP_CPP(lose, [
636#if defined (__CYGWIN__) || defined (__CYGWIN32__)
637lose
638#endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
639
aff38e61
AC
640
641dnl Figure out which of the many generic ser-*.c files the _host_ supports.
642SER_HARDWIRE="ser-unix.o ser-pipe.o ser-tcp.o"
643case ${host} in
95cbc983
AC
644 *go32* ) SER_HARDWIRE=ser-go32.o ;;
645 *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
aff38e61
AC
646esac
647AC_SUBST(SER_HARDWIRE)
648
649
c906108c 650dnl Figure out which term library to use.
b83266a0
SS
651if test x$gdb_host = xgo32; then
652 TERM_LIB=
653else
c906108c
SS
654if test x$gdb_cv_os_cygwin = xyes; then
655 TERM_LIB='`if test -r ../libtermcap/libtermcap.a; then echo ../libtermcap/libtermcap.a; else echo -ltermcap; fi`'
656else
657 TERM_LIB=
658 AC_CHECK_LIB(ncurses, tgetent, TERM_LIB=-lncurses,
659 AC_CHECK_LIB(Hcurses, tgetent, TERM_LIB=-lHcurses,
660 AC_CHECK_LIB(termlib, tgetent, TERM_LIB=-ltermlib,
661 AC_CHECK_LIB(termcap, tgetent, TERM_LIB=-ltermcap,
662 AC_CHECK_LIB(curses, tgetent, TERM_LIB=-lcurses,
663 AC_CHECK_LIB(terminfo, tgetent, TERM_LIB=-lterminfo))))))
664
665 if test "x$TERM_LIB" = x
666 then
667 AC_MSG_ERROR(Could not find a term library, e.g. termcap or termlib!)
668 fi
669fi
b83266a0 670fi
c906108c
SS
671AC_SUBST(TERM_LIB)
672
cd0fc7c3
SS
673# libreadline needs libuser32.a in a cygwin environment
674WIN32LIBS=
675if test x$gdb_cv_os_cygwin = xyes; then
c5394b80
JM
676 WIN32LIBS="-luser32"
677 case "${target}" in
678 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
679 ;;
680 esac
cd0fc7c3
SS
681fi
682AC_SUBST(WIN32LIBS)
7a292a7a 683
3fc11d3e
JM
684LIBGUI="../libgui/src/libgui.a"
685GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
686AC_SUBST(LIBGUI)
687AC_SUBST(GUI_CFLAGS_X)
7a292a7a 688
8b93c638
JM
689AC_ARG_WITH(cpu,
690[ --with-cpu=CPU Set the default CPU variant to debug],
691[case "${target}" in
692 powerpc-* | powerpcle-* )
693 ## It would be nice to keep this table in sync with the one in
694 ## gcc/configure.
695 case "${with_cpu}" in
696 ppc-uisa | rs6000 | 403 | 403GC | 505 | 860 | 601 | 602 | 603 \
697 | 604 | 750 )
698 ## Those are all handled in variants in rs6000-tdep.c, so they're fine.
699 ;;
700 common | power | power2 | rios | rios1 | rios2 | rsc | rsc1 )
701 ## These are all RS6000 variants, as far as GDB is concerned.
702 with_cpu=rs6000
703 ;;
704 603e | ec603e )
705 with_cpu=603
706 ;;
707 604e )
708 with_cpu=604
709 ;;
710 * )
711 AC_MSG_WARN(GDB: unknown --with-cpu value: \`${with_cpu}'; using \`ppc-uisa'.)
712 with_cpu=ppc-uisa
713 ;;
714 esac
715 ;;
716 * )
717 AC_MSG_WARN(GDB may ignore the --with-cpu flag for ${target} targets)
718 ;;
719esac
720AC_DEFINE_UNQUOTED(TARGET_CPU_DEFAULT, "${with_cpu}")
721],)
722
723
3fc11d3e
JM
724AC_ARG_ENABLE(gdbtk,
725[ --enable-gdbtk Enable GDBTK GUI front end],
726[case "${enableval}" in
727 yes)
728 case "$host" in
729 *go32*)
730 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
731 enable_gdbtk=no ;;
732 *windows*)
733 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
734 enable_gdbtk=no ;;
735 *)
736 enable_gdbtk=yes ;;
737 esac ;;
738 no)
739 enable_gdbtk=no ;;
740 *)
741 AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
742esac],
743[
744# Default is on for everything but go32 and Cygwin
745case "$host" in
746 *go32* | *windows*)
747 ;;
748 *)
379d6434
AC
749 if test -d "${srcdir}/gdbtk" ; then
750 enable_gdbtk=yes
751 fi
752 ;;
753esac
3fc11d3e
JM
754])
755
756WIN32LDAPP=
757AC_SUBST(WIN32LIBS)
758AC_SUBST(WIN32LDAPP)
759
760configdir="unix"
761
762GDBTKLIBS=
763if test "${enable_gdbtk}" = "yes"; then
764
765 CY_AC_PATH_TCLCONFIG
766 if test -z "${no_tcl}"; then
767 CY_AC_LOAD_TCLCONFIG
768 CY_AC_PATH_TKCONFIG
769
770 # If $no_tk is nonempty, then we can't do Tk, and there is no
771 # point to doing Tcl.
772 if test -z "${no_tk}"; then
773 CY_AC_LOAD_TKCONFIG
774 CY_AC_PATH_TCLH
775 CY_AC_PATH_TKH
776 CY_AC_PATH_ITCLH
777 CY_AC_PATH_ITKH
778 CY_AC_PATH_TIXH
779
780 # now look for Itcl library stuff
781
782 CY_AC_PATH_ITCLCONFIG
783 if test -z "${no_itcl}"; then
784 CY_AC_LOAD_ITCLCONFIG
785 case "${host}" in
786 *-*-cygwin*)
787 itcldir=../itcl/itcl/win/
788 ;;
789 *)
790 itcldir=../itcl/itcl/unix/
791 ;;
792 esac
793
794
795 ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
796 ITCL_DEPS="${itcldir}${ITCL_LIB_FILE}"
797 fi
798
799
800 # now look for Itk library stuff
801 CY_AC_PATH_ITKCONFIG
802 if test -z "${no_itcl}"; then
803 CY_AC_LOAD_ITKCONFIG
804
805 case "${host}" in
806 *-*-cygwin*)
807 itkdir=../itcl/itk/win/
808 ;;
809 *)
810 itkdir=../itcl/itk/unix/
811 ;;
812 esac
813
814 ITKLIB="${ITK_BUILD_LIB_SPEC}"
815 ITK_DEPS="${itkdir}${ITK_LIB_FILE}"
816 fi
817
818 # now look for Tix library stuff
819 CY_AC_PATH_TIXCONFIG
820 if test -z "${no_tix}"; then
821 CY_AC_LOAD_TIXCONFIG
822 TIXLIB="${TIX_BUILD_LIB_SPEC}"
823 TIX_DEPS="${TIX_BUILD_LOCATION}/${TIX_LIB_FILE}"
824 fi
825
3fc11d3e
JM
826 ENABLE_CFLAGS="$ENABLE_CFLAGS -DGDBTK"
827 # Tcl/Tk 8.1 require -fwritable strings. I don't
828 # know whether 8.2 will or not, but I bet it will.
829 # I don't have to worry about 7.x since we don't support it.
830 GDBTK_CFLAGS=""
831 if test "$GCC" = "yes"; then
832 if test "$TCL_VERSION" != "8.0" ; then
833 GDBTK_CFLAGS="-fwritable-strings"
834 fi
835 fi
836
837 # Include some libraries that Tcl and Tk want.
838 TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
839 CONFIG_DEPS='$(LIBGUI) $(ITCL_DEPS) $(ITK_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
840 # Yes, the ordering seems wrong here. But it isn't.
841 # TK_LIBS is the list of libraries that need to be linked
842 # after Tcl/Tk. Note that this isn't put into LIBS. If it
843 # were in LIBS then any link tests after this point would
844 # try to include things like `$(LIBGUI)', which wouldn't work.
845 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
d45b9300
FN
846 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"
847 CONFIG_OBS="${CONFIG_OBS} gdbtk.o gdbtk-cmds.o gdbtk-hooks.o gdbtk-varobj.o gdbtk-wrapper.o"
848 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 849 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_GDBTK_ALL)"
ce844ae2 850 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_GDBTK_CLEAN)"
e56ac5c3
AC
851 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_GDBTK_INSTALL)"
852 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_GDBTK_UNINSTALL)"
3fc11d3e
JM
853
854 if test x$gdb_cv_os_cygwin = xyes; then
855 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
856 WIN32LDAPP="-Wl,--subsystem,console"
857 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
858 fi
859 fi
860 fi
861fi
862
3fc11d3e
JM
863AC_SUBST(X_CFLAGS)
864AC_SUBST(X_LDFLAGS)
865AC_SUBST(X_LIBS)
866AC_SUBST(ITCLLIB)
867AC_SUBST(ITCL_DEPS)
868AC_SUBST(ITKLIB)
869AC_SUBST(ITK_DEPS)
870AC_SUBST(TIXLIB)
871AC_SUBST(TIX_DEPS)
872AC_SUBST(GDBTKLIBS)
873AC_SUBST(GDBTK_CFLAGS)
8b93c638 874
c906108c
SS
875AC_PATH_X
876
7a292a7a
SS
877
878# Unlike the sim directory, whether a simulator is linked is controlled by
879# presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
880# This code just checks for a few cases where we'd like to ignore those
881# definitions, even when they're present in the '.mt' file. These cases
882# are when --disable-sim is specified, or if the simulator directory is
883# not part of the soruce tree.
884#
885AC_ARG_ENABLE(sim,
886[ --enable-sim Link gdb with simulator],
887[echo "enable_sim = $enable_sim";
888 echo "enableval = ${enableval}";
889 case "${enableval}" in
890 yes) ignore_sim=false ;;
891 no) ignore_sim=true ;;
892 *) ignore_sim=false ;;
893 esac],
894[ignore_sim=false])
895
896if test ! -d "${srcdir}/../sim"; then
897 ignore_sim=true
898fi
899
900if test "${ignore_sim}" = "true"; then
901 IGNORE_SIM="SIM="
902 IGNORE_SIM_OBS="SIM_OBS="
903else
904 IGNORE_SIM=""
905 IGNORE_SIM_OBS=""
906 AC_DEFINE(WITH_SIM)
907fi
908AC_SUBST(IGNORE_SIM)
909AC_SUBST(IGNORE_SIM_OBS)
910
c906108c
SS
911AC_SUBST(ENABLE_CFLAGS)
912
913AC_SUBST(CONFIG_OBS)
914AC_SUBST(CONFIG_DEPS)
915AC_SUBST(CONFIG_SRCS)
dfcd3bfb 916AC_SUBST(CONFIG_INITS)
b3a90332
AC
917AC_SUBST(CONFIG_ALL)
918AC_SUBST(CONFIG_CLEAN)
e56ac5c3
AC
919AC_SUBST(CONFIG_INSTALL)
920AC_SUBST(CONFIG_UNINSTALL)
c906108c
SS
921
922# Begin stuff to support --enable-shared
923AC_ARG_ENABLE(shared,
924[ --enable-shared Use shared libraries],
925[case "${enableval}" in
926 yes) shared=true ;;
927 no) shared=false ;;
928 *) shared=true ;;
929esac])dnl
930
931HLDFLAGS=
932HLDENV=
933# If we have shared libraries, try to set rpath reasonably.
934if test "${shared}" = "true"; then
935 case "${host}" in
936 *-*-hpux*)
937 HLDFLAGS='-Wl,+s,+b,$(libdir)'
938 ;;
939 *-*-irix5* | *-*-irix6*)
940 HLDFLAGS='-Wl,-rpath,$(libdir)'
941 ;;
942 *-*-linux*aout*)
943 ;;
d332c5ac 944 *-*-linux* | *-pc-linux-gnu*)
c906108c
SS
945 HLDFLAGS='-Wl,-rpath,$(libdir)'
946 ;;
947 *-*-solaris*)
948 HLDFLAGS='-R $(libdir)'
949 ;;
950 *-*-sysv4*)
951 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;'
952 ;;
953 esac
954fi
955
956# On SunOS, if the linker supports the -rpath option, use it to
957# prevent ../bfd and ../opcodes from being included in the run time
958# search path.
959case "${host}" in
960 *-*-sunos*)
961 echo 'main () { }' > conftest.c
962 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
963 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
964 :
965 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
966 :
967 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
968 :
969 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
970 :
971 elif test "${shared}" = "true"; then
972 HLDFLAGS='-Wl,-rpath=$(libdir)'
973 else
974 HLDFLAGS='-Wl,-rpath='
975 fi
976 rm -f conftest.t conftest.c conftest
977 ;;
978esac
979AC_SUBST(HLDFLAGS)
980AC_SUBST(HLDENV)
981# End stuff to support --enable-shared
982
983# target_subdir is used by the testsuite to find the target libraries.
984target_subdir=
985if test "${host}" != "${target}"; then
986 target_subdir="${target_alias}/"
987fi
988AC_SUBST(target_subdir)
989
990frags=
991host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
992if test ! -f ${host_makefile_frag}; then
993AC_MSG_ERROR("*** Gdb does not support host ${host}")
994fi
995frags="$frags $host_makefile_frag"
996
997target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
998if test ! -f ${target_makefile_frag}; then
999AC_MSG_ERROR("*** Gdb does not support target ${target}")
1000fi
1001frags="$frags $target_makefile_frag"
1002
1003AC_SUBST_FILE(host_makefile_frag)
1004AC_SUBST_FILE(target_makefile_frag)
1005AC_SUBST(frags)
1006
1007changequote(,)dnl
1008hostfile=`sed -n '
1009s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1010' ${host_makefile_frag}`
1011
1012targetfile=`sed -n '
1013s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1014' ${target_makefile_frag}`
1015
6166d547
AC
1016GDB_MULTI_ARCH=`sed -n '
1017s/GDB_MULTI_ARCH[ ]*=[ ]*\([^ ]*\)[ ]*/\1/p
1018' ${target_makefile_frag}`
1019
c906108c
SS
1020# these really aren't orthogonal true/false values of the same condition,
1021# but shells are slow enough that I like to reuse the test conditions
1022# whenever possible
1023if test "${target}" = "${host}"; then
1024nativefile=`sed -n '
1025s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1026' ${host_makefile_frag}`
1027# else
1028# GDBserver is only useful in a "native" enviroment
1029# configdirs=`echo $configdirs | sed 's/gdbserver//'`
1030fi
1031changequote([,])
1032
6166d547
AC
1033# New targets should just set gdb_multi_arch=yes in configure.tgt.
1034# Old targets being converted can either do that or set GDB_MULTI_ARCH
1035# in the target specific makefile frag. Eventually gdb_multi_arch=yes
1036# will be the default.
1037if test x"${GDB_MULTI_ARCH}" = x ; then
1038 case "${gdb_multi_arch}" in
1039 yes ) GDB_MULTI_ARCH=GDB_MULTI_ARCH_PURE ;;
1040 no ) GDB_MULTI_ARCH=0 ;;
1041 0|1|2 ) GDB_MULTI_ARCH=${gdb_multi_arch} ;;
1042 esac
1043fi
1044if test x"${GDB_MULTI_ARCH}" != x ; then
1045 AC_DEFINE_UNQUOTED(GDB_MULTI_ARCH, ${GDB_MULTI_ARCH})
1046fi
1047# Warn the user when they use an old pratice
1048case "${GDB_MULTI_ARCH}" in
1049 "" ) ;;
1050 0 | GDB_MULTI_ARCH_PARTIAL | 1 | GDB_MULTI_ARCH_TM | 2 )
1051 AC_MSG_WARN("GDB: Target is not pure multi-arch") ;;
1052 GDB_MULTI_ARCH_PURE )
1053 if test x"${targetfile}" != x ; then
1054 AC_MSG_WARN("GDB: Ingoring TM_FILE in ${target_makefile_frag}")
5a2402b8 1055 targetfile=""
6166d547
AC
1056 fi ;;
1057 *) AC_MSG_ERROR("GDB: Unknown GDB_MULTI_ARCH value ${GDB_MULTI_ARCH}");;
1058esac
1059
1060
96baa820
JM
1061SUBDIRS="doc testsuite nlm"
1062if test "${enable_multi_ice}" = "yes"; then
1063 SUBDIRS="${SUBDIRS} multi-ice"
1064fi
1065
1066AC_SUBST(SUBDIRS)
1067
c906108c 1068# If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
5a2402b8
AC
1069# (NAT_FILE) is not set in config/*/*.m[ht] files, we link to an empty
1070# version.
c906108c
SS
1071
1072files=
1073links=
5a2402b8 1074
c906108c 1075rm -f xm.h
5a2402b8 1076xm_h=""
c906108c 1077if test "${hostfile}" != ""; then
5a2402b8
AC
1078 xm_h=xm.h
1079 GDB_XM_FILE="config/${gdb_host_cpu}/${hostfile}"
1080 files="${files} ${GDB_XM_FILE}"
1081 links="${links} xm.h"
1082 AC_DEFINE_UNQUOTED(GDB_XM_FILE, ${GDB_XM_FILE})
c906108c 1083fi
5a2402b8
AC
1084AC_SUBST(xm_h)
1085
c906108c 1086rm -f tm.h
5a2402b8 1087tm_h=""
c906108c 1088if test "${targetfile}" != ""; then
5a2402b8
AC
1089 tm_h=tm.h
1090 GDB_TM_FILE="config/${gdb_target_cpu}/${targetfile}"
1091 files="${files} ${GDB_TM_FILE}"
1092 links="${links} tm.h"
1093 AC_DEFINE_UNQUOTED(GDB_TM_FILE, ${GDB_TM_FILE})
c906108c 1094fi
5a2402b8
AC
1095AC_SUBST(tm_h)
1096
c906108c 1097rm -f nm.h
5a2402b8 1098nm_h=""
c906108c 1099if test "${nativefile}" != ""; then
5a2402b8
AC
1100 nm_h=nm.h
1101 GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}"
1102 files="${files} ${GDB_NM_FILE}"
1103 links="${links} nm.h"
1104 AC_DEFINE_UNQUOTED(GDB_NM_FILE, ${GDB_NM_FILE})
c906108c 1105fi
5a2402b8
AC
1106AC_SUBST(nm_h)
1107
3fc11d3e 1108AC_PROG_LN_S
c906108c
SS
1109
1110AC_LINK_FILES($files, $links)
1111
1112dnl Check for exe extension set on certain hosts (e.g. Win32)
1113AC_EXEEXT
1114
1115AC_CONFIG_SUBDIRS($configdirs)
ed952ac5 1116AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
c906108c
SS
1117[
1118dnl Autoconf doesn't provide a mechanism for modifying definitions
1119dnl provided by makefile fragments.
1120dnl
1121if test "${nativefile}" = ""; then
1122sed -e '/^NATDEPFILES[[ ]]*=[[ ]]*/s//# NATDEPFILES=/' \
1123 < Makefile > Makefile.tem
1124mv -f Makefile.tem Makefile
1125fi
1126
1127changequote(,)dnl
1128sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
1129/^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
1130/^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
1131mv -f Makefile.tmp Makefile
1132changequote([,])dnl
1133
2acceee2 1134
c906108c
SS
1135case x$CONFIG_HEADERS in
1136xconfig.h:config.in)
1137echo > stamp-h ;;
1138esac
1139],
1140[
1141gdb_host_cpu=$gdb_host_cpu
1142gdb_target_cpu=$gdb_target_cpu
1143nativefile=$nativefile
1144])
1145
1146exit 0
This page took 0.127433 seconds and 4 git commands to generate.