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