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