2000-12-11 Fernando Nasser <fnasser@redhat.com>
[deliverable/binutils-gdb.git] / gdb / configure.in
... / ...
CommitLineData
1dnl Autoconf configure script for GDB, the GNU debugger.
2dnl Copyright 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
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)
25AM_MAINTAINER_MODE
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=
45CONFIG_INITS=
46ENABLE_CFLAGS=
47CONFIG_ALL=
48CONFIG_CLEAN=
49CONFIG_INSTALL=
50CONFIG_UNINSTALL=
51
52configdirs="doc testsuite"
53
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
67dnl
68changequote(,)dnl
69
70. ${srcdir}/configure.host
71
72. ${srcdir}/configure.tgt
73
74targ=${target} ; . ${srcdir}/../bfd/config.bfd
75
76dnl
77changequote([,])dnl
78
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
83
84dnl We only want the first arch, if there is more than one.
85targ_archs=`echo ${targ_archs} | sed -e 's/ .*//;'`
86
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
94AC_PROG_AWK
95AC_PROG_INSTALL
96AC_CHECK_TOOL(AR, ar)
97AC_CHECK_TOOL(RANLIB, ranlib, :)
98AC_CHECK_TOOL(DLLTOOL, dlltool)
99AC_CHECK_TOOL(WINDRES, windres)
100AC_PROG_YACC
101
102dnl MiG is needed for the Hurd.
103AC_CHECK_TOOL(MIG, mig)
104
105AC_ARG_PROGRAM
106
107AC_TYPE_SIGNAL
108
109AC_HEADER_STDC
110
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
115case $host_os in solaris2.7 | solaris2.8) case "$GCC" in yes)
116 AC_DEFINE(_MSE_INT_H)
117esac; esac
118
119AC_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)
128AC_HEADER_STAT
129
130AC_C_CONST
131
132AC_CHECK_FUNCS(setpgid sbrk sigaction isascii bzero bcopy btowc poll sigprocmask vfork)
133AC_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'.
137AC_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;],
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)
142fi
143AC_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;],
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)
148fi
149
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
162dnl See if ptrace.h provides the PTRACE_GETFPXREGS request.
163AC_MSG_CHECKING(for PTRACE_GETFPXREGS)
164AC_CACHE_VAL(gdb_cv_have_ptrace_getfpxregs,
165[AC_TRY_COMPILE([#include <sys/ptrace.h>],
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)
172fi
173
174AC_CHECK_LIB(socket, socketpair)
175AC_CHECK_FUNCS(socketpair)
176
177
178BFD_NEED_DECLARATION(malloc)
179BFD_NEED_DECLARATION(realloc)
180BFD_NEED_DECLARATION(free)
181BFD_NEED_DECLARATION(strerror)
182BFD_NEED_DECLARATION(strdup)
183BFD_NEED_DECLARATION(strstr)
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
208# Also detect which type of /proc is in use, such as for Unixware or Solaris.
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 ;;
216 *-*-unixware* | *-*-sysv4.2* | *-*-sysv5*)
217 AC_DEFINE(NEW_PROC_API)
218 ;;
219 *-*-solaris2.[[678]])
220 AC_DEFINE(NEW_PROC_API)
221 ;;
222 esac
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)
230 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
231 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
232 BFD_HAVE_SYS_PROCFS_TYPE(prgregset32_t)
233 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset32_t)
234 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
235 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
236
237 dnl Check for struct link_map32 type, which allows a 64-bit Solaris
238 dnl debugger to debug a 32-bit Solaris app with 32-bit shared libraries.
239
240 AC_MSG_CHECKING(for struct link_map32 in sys/link.h)
241 AC_CACHE_VAL(gdb_cv_have_struct_link_map32,
242 [AC_TRY_COMPILE([#define _SYSCALL32
243#include <sys/link.h>], [struct link_map32 l;],
244 gdb_cv_have_struct_link_map32=yes,
245 gdb_cv_have_struct_link_map32=no)])
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
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
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_OBS} 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 The CLI cannot be disabled yet, but may be in the future
464
465dnl Handle CLI sub-directory configury.
466AC_ARG_ENABLE(gdbcli,
467[ --enable-gdbcli Enable GDB-CLI interface],
468[
469 case "${enableval}" in
470 yes) enable_gdbcli=yes ;;
471 "") enable_gdbcli=yes ;;
472 no)
473 AC_MSG_ERROR(The CLI cannot be disabled yet)
474 ;;
475 *)
476 AC_MSG_ERROR(Bad value for --enable-gdbcli: ${enableval})
477 ;;
478 esac
479],
480[enable_gdbcli=yes])
481case ${enable_gdbcli} in
482 "yes" )
483 if test -d "${srcdir}/cli" ; then
484 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_CLI_OBS)"
485 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_CLI_DEPS)"
486 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_CLI_SRCS)"
487 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_CLI_INITS)"
488 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_CLI_CFLAGS)"
489 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_CLI_ALL)"
490 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_CLI_CLEAN)"
491 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_CLI_INSTALL)"
492 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_CLI_UNINSTALL)"
493 fi
494 ;;
495esac
496
497dnl Handle optional features that can be enabled.
498
499dnl Handle MI sub-directory configury.
500AC_ARG_ENABLE(gdbmi,
501[ --enable-gdbmi Enable GDB-MI interface],
502[
503 case "${enable_gdbmi}" in
504 yes | no) ;;
505 "") enable_gdbmi=yes ;;
506 *)
507 AC_MSG_ERROR(Bad value for --enable-gdbmi: ${enableval})
508 ;;
509 esac
510])
511case ${enable_gdbmi} in
512 "yes" )
513 if test -d "${srcdir}/mi" ; then
514 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_MI_OBS)"
515 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_MI_DEPS)"
516 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_MI_SRCS)"
517 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_MI_INITS)"
518 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_MI_CFLAGS)"
519 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_MI_ALL)"
520 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_MI_CLEAN)"
521 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_MI_INSTALL)"
522 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_MI_UNINSTALL)"
523 fi
524 ;;
525esac
526
527AC_ARG_ENABLE(tui,
528[ --enable-tui Enable full-screen terminal user interface],
529[
530 case "${enable_tui}" in
531 yes | no) ;;
532 "") enable_tui=yes ;;
533 *)
534 AC_MSG_ERROR(Bad value for --enable-tui: ${enableval})
535 ;;
536 esac
537])
538case ${enable_tui} in
539 "yes" )
540 if test -d "${srcdir}/tui" ; then
541 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_TUI_OBS)"
542 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_TUI_DEPS)"
543 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_TUI_SRCS)"
544 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_TUI_INITS)"
545 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_TUI_CFLAGS)"
546 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_TUI_ALL)"
547 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_TUI_CLEAN)"
548 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_TUI_INSTALL)"
549 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_TUI_UNINSTALL)"
550 fi
551 ;;
552esac
553
554AC_ARG_ENABLE(netrom,
555[ --enable-netrom Enable NetROM support],
556[case "${enableval}" in
557yes) enable_netrom=yes ;;
558no) enable_netrom=no ;;
559*) AC_MSG_ERROR(bad value ${enableval} given for netrom option) ;;
560esac])
561
562if test "${enable_netrom}" = "yes"; then
563 CONFIG_OBS="${CONFIG_OBS} remote-nrom.o"
564 CONFIG_SRCS="${CONFIG_SRCS} remote-nrom.c"
565fi
566
567
568# NOTE: Don't add -Wall or -Wunused, they both include
569# -Wunused-parameter which reports bogus warnings.
570# NOTE: If you add to this list, remember to update
571# gdb/doc/gdbint.texinfo.
572build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \
573-Wformat -Wparentheses -Wpointer-arith -Wuninitialized"
574# Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs
575# -Wunused-function -Wunused-label -Wunused-variable -Wunused-value
576# -Wchar-subscripts -Wuninitialized -Wtraditional -Wshadow -Wcast-qual
577# -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes
578# -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls
579# -Woverloaded-virtual -Winline -Werror"
580AC_ARG_ENABLE(build-warnings,
581[ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
582[case "${enableval}" in
583 yes) ;;
584 no) build_warnings="-w";;
585 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
586 build_warnings="${build_warnings} ${t}";;
587 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
588 build_warnings="${t} ${build_warnings}";;
589 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
590esac
591if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
592 echo "Setting compiler warning flags = $build_warnings" 6>&1
593fi])dnl
594AC_ARG_ENABLE(gdb-build-warnings,
595[ --enable-gdb-build-warnings Enable GDB specific build-time compiler warnings if gcc is used],
596[case "${enableval}" in
597 yes) ;;
598 no) build_warnings="-w";;
599 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
600 build_warnings="${build_warnings} ${t}";;
601 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
602 build_warnings="${t} ${build_warnings}";;
603 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
604esac
605if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
606 echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1
607fi])dnl
608WARN_CFLAGS=""
609WERROR_CFLAGS=""
610if test "x${build_warnings}" != x -a "x$GCC" = xyes
611then
612 AC_MSG_CHECKING(compiler warning flags)
613 # Separate out the -Werror flag as some files just cannot be
614 # compiled with it enabled.
615 for w in ${build_warnings}; do
616 case $w in
617 -Werr*) WERROR_CFLAGS=-Werror ;;
618 *) # Check that GCC accepts it
619 if $CC $w 2>&1 | grep 'unrecognized option' > /dev/null; then
620 :
621 else
622 WARN_CFLAGS="${WARN_CFLAGS} $w"
623 fi
624 esac
625 done
626 AC_MSG_RESULT(${WARN_CFLAGS}${WERROR_CFLAGS})
627fi
628AC_SUBST(WARN_CFLAGS)
629AC_SUBST(WERROR_CFLAGS)
630
631MMALLOC_CFLAGS=
632MMALLOC=
633AC_SUBST(MMALLOC_CFLAGS)
634AC_SUBST(MMALLOC)
635
636AC_ARG_WITH(mmalloc,
637[ --with-mmalloc Use memory mapped malloc package],
638[case "${withval}" in
639 yes) want_mmalloc=true ;;
640 no) want_mmalloc=false;;
641 *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
642esac],[want_mmalloc=false])dnl
643
644if test x$want_mmalloc = xtrue; then
645 AC_DEFINE(USE_MMALLOC)
646 AC_DEFINE(MMCHECK_FORCE)
647 MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
648 MMALLOC='../mmalloc/libmmalloc.a'
649fi
650
651AC_ARG_WITH(included-regex,
652[ --with-included-regex Use included regex],
653[case "${withval}" in
654 yes) want_included_regex=true ;;
655 no) want_included_regex=false;;
656 *) AC_MSG_ERROR(bad value ${withval} for GDB with-included-regex option) ;;
657esac],[want_included_regex=true])dnl
658
659if test $want_included_regex = false; then
660 AC_MSG_CHECKING(for GNU regex)
661 AC_CACHE_VAL(gdb_cv_have_gnu_regex,
662[AC_TRY_COMPILE([#include <gnu-versions.h>
663#include <sys/types.h>
664#include <regex.h>],
665[#if !defined _GNU_REGEX_INTERFACE_VERSION || !defined __GLIBC__ || __GLIBC__ < 2
666#error No valid GNU regex.
667#endif
668],
669 [gdb_cv_have_gnu_regex=yes],
670 [gdb_cv_have_gnu_regex=no])])
671 AC_MSG_RESULT($gdb_cv_have_gnu_regex)
672 if test $gdb_cv_have_gnu_regex = no; then
673 want_included_regex=true
674 fi
675fi
676
677if test x${want_included_regex} = xtrue; then
678 REGEX="gnu-regex.o"
679 AC_DEFINE(USE_INCLUDED_REGEX)
680fi
681AC_SUBST(REGEX)
682
683# In the Cygwin environment, we need some additional flags.
684AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
685[AC_EGREP_CPP(lose, [
686#if defined (__CYGWIN__) || defined (__CYGWIN32__)
687lose
688#endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
689
690
691dnl Figure out which of the many generic ser-*.c files the _host_ supports.
692SER_HARDWIRE="ser-unix.o ser-pipe.o ser-tcp.o"
693case ${host} in
694 *go32* ) SER_HARDWIRE=ser-go32.o ;;
695 *djgpp* ) SER_HARDWIRE=ser-go32.o ;;
696esac
697AC_SUBST(SER_HARDWIRE)
698
699
700dnl Figure out which term library to use.
701if test x$gdb_host = xgo32; then
702 TERM_LIB=
703else
704if test x$gdb_cv_os_cygwin = xyes; then
705 TERM_LIB='`if test -r ../libtermcap/libtermcap.a; then echo ../libtermcap/libtermcap.a; else echo -ltermcap; fi`'
706else
707 TERM_LIB=
708 AC_CHECK_LIB(ncurses, tgetent, TERM_LIB=-lncurses,
709 AC_CHECK_LIB(Hcurses, tgetent, TERM_LIB=-lHcurses,
710 AC_CHECK_LIB(termlib, tgetent, TERM_LIB=-ltermlib,
711 AC_CHECK_LIB(termcap, tgetent, TERM_LIB=-ltermcap,
712 AC_CHECK_LIB(curses, tgetent, TERM_LIB=-lcurses,
713 AC_CHECK_LIB(terminfo, tgetent, TERM_LIB=-lterminfo))))))
714
715 if test "x$TERM_LIB" = x
716 then
717 AC_MSG_ERROR(Could not find a term library, e.g. termcap or termlib!)
718 fi
719fi
720fi
721AC_SUBST(TERM_LIB)
722
723# libreadline needs libuser32.a in a cygwin environment
724WIN32LIBS=
725if test x$gdb_cv_os_cygwin = xyes; then
726 WIN32LIBS="-luser32"
727 case "${target}" in
728 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
729 ;;
730 esac
731fi
732AC_SUBST(WIN32LIBS)
733
734LIBGUI="../libgui/src/libgui.a"
735GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
736AC_SUBST(LIBGUI)
737AC_SUBST(GUI_CFLAGS_X)
738
739AC_ARG_WITH(cpu,
740[ --with-cpu=CPU Set the default CPU variant to debug],
741[case "${target}" in
742 powerpc-* | powerpcle-* )
743 ## It would be nice to keep this table in sync with the one in
744 ## gcc/configure.
745 case "${with_cpu}" in
746 ppc-uisa | rs6000 | 403 | 403GC | 505 | 860 | 601 | 602 | 603 \
747 | 604 | 750 )
748 ## Those are all handled in variants in rs6000-tdep.c, so they're fine.
749 ;;
750 common | power | power2 | rios | rios1 | rios2 | rsc | rsc1 )
751 ## These are all RS6000 variants, as far as GDB is concerned.
752 with_cpu=rs6000
753 ;;
754 603e | ec603e )
755 with_cpu=603
756 ;;
757 604e )
758 with_cpu=604
759 ;;
760 * )
761 AC_MSG_WARN(GDB: unknown --with-cpu value: \`${with_cpu}'; using \`ppc-uisa'.)
762 with_cpu=ppc-uisa
763 ;;
764 esac
765 ;;
766 * )
767 AC_MSG_WARN(GDB may ignore the --with-cpu flag for ${target} targets)
768 ;;
769esac
770AC_DEFINE_UNQUOTED(TARGET_CPU_DEFAULT, "${with_cpu}")
771],)
772
773
774AC_ARG_ENABLE(gdbtk,
775[ --enable-gdbtk Enable GDBTK GUI front end],
776[case "${enableval}" in
777 yes)
778 case "$host" in
779 *go32*)
780 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
781 enable_gdbtk=no ;;
782 *windows*)
783 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
784 enable_gdbtk=no ;;
785 *)
786 enable_gdbtk=yes ;;
787 esac ;;
788 no)
789 enable_gdbtk=no ;;
790 *)
791 AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
792esac],
793[
794# Default is on for everything but go32 and Cygwin
795case "$host" in
796 *go32* | *windows*)
797 ;;
798 *)
799 if test -d "${srcdir}/gdbtk" ; then
800 enable_gdbtk=yes
801 fi
802 ;;
803esac
804])
805
806WIN32LDAPP=
807AC_SUBST(WIN32LIBS)
808AC_SUBST(WIN32LDAPP)
809
810configdir="unix"
811
812GDBTKLIBS=
813if test "${enable_gdbtk}" = "yes"; then
814
815 CY_AC_PATH_TCLCONFIG
816 if test -z "${no_tcl}"; then
817 CY_AC_LOAD_TCLCONFIG
818 CY_AC_PATH_TKCONFIG
819
820 # If $no_tk is nonempty, then we can't do Tk, and there is no
821 # point to doing Tcl.
822 if test -z "${no_tk}"; then
823 CY_AC_LOAD_TKCONFIG
824 CY_AC_PATH_TCLH
825 CY_AC_PATH_TKH
826 CY_AC_PATH_ITCLH
827 CY_AC_PATH_ITKH
828 CY_AC_PATH_TIXH
829
830 # now look for Itcl library stuff
831
832 CY_AC_PATH_ITCLCONFIG
833 if test -z "${no_itcl}"; then
834 CY_AC_LOAD_ITCLCONFIG
835 case "${host}" in
836 *-*-cygwin*)
837 itcldir=../itcl/itcl/win/
838 ;;
839 *)
840 itcldir=../itcl/itcl/unix/
841 ;;
842 esac
843
844
845 ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
846 ITCL_DEPS="${itcldir}${ITCL_LIB_FILE}"
847 fi
848
849
850 # now look for Itk library stuff
851 CY_AC_PATH_ITKCONFIG
852 if test -z "${no_itcl}"; then
853 CY_AC_LOAD_ITKCONFIG
854
855 case "${host}" in
856 *-*-cygwin*)
857 itkdir=../itcl/itk/win/
858 ;;
859 *)
860 itkdir=../itcl/itk/unix/
861 ;;
862 esac
863
864 ITKLIB="${ITK_BUILD_LIB_SPEC}"
865 ITK_DEPS="${itkdir}${ITK_LIB_FILE}"
866 fi
867
868 # now look for Tix library stuff
869 CY_AC_PATH_TIXCONFIG
870 if test -z "${no_tix}"; then
871 CY_AC_LOAD_TIXCONFIG
872 TIXLIB="${TIX_BUILD_LIB_SPEC}"
873 TIX_DEPS="${TIX_BUILD_LOCATION}/${TIX_LIB_FILE}"
874 fi
875
876 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_GDBTK_CFLAGS)"
877 # Tcl/Tk 8.1 require -fwritable strings. I don't
878 # know whether 8.2 will or not, but I bet it will.
879 # I don't have to worry about 7.x since we don't support it.
880 GDBTK_CFLAGS=""
881 if test "$GCC" = "yes"; then
882 if test "$TCL_VERSION" != "8.0" ; then
883 GDBTK_CFLAGS="-fwritable-strings"
884 fi
885 fi
886
887 # Include some libraries that Tcl and Tk want.
888 TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
889 # Yes, the ordering seems wrong here. But it isn't.
890 # TK_LIBS is the list of libraries that need to be linked
891 # after Tcl/Tk. Note that this isn't put into LIBS. If it
892 # were in LIBS then any link tests after this point would
893 # try to include things like `$(LIBGUI)', which wouldn't work.
894 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
895
896 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_GDBTK_OBS)"
897 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_GDBTK_DEPS)"
898 CONFIG_SRCS="${CONFIG_SRCS} \$(SUBDIR_GDBTK_SRCS)"
899 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_GDBTK_INITS)"
900 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_GDBTK_ALL)"
901 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_GDBTK_CLEAN)"
902 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_GDBTK_INSTALL)"
903 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_GDBTK_UNINSTALL)"
904
905 if test x$gdb_cv_os_cygwin = xyes; then
906 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
907 WIN32LDAPP="-Wl,--subsystem,console"
908 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
909 fi
910 fi
911 fi
912fi
913
914AC_SUBST(X_CFLAGS)
915AC_SUBST(X_LDFLAGS)
916AC_SUBST(X_LIBS)
917AC_SUBST(ITCLLIB)
918AC_SUBST(ITCL_DEPS)
919AC_SUBST(ITKLIB)
920AC_SUBST(ITK_DEPS)
921AC_SUBST(TIXLIB)
922AC_SUBST(TIX_DEPS)
923AC_SUBST(GDBTKLIBS)
924AC_SUBST(GDBTK_CFLAGS)
925
926AC_PATH_X
927
928
929# Unlike the sim directory, whether a simulator is linked is controlled by
930# presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
931# This code just checks for a few cases where we'd like to ignore those
932# definitions, even when they're present in the '.mt' file. These cases
933# are when --disable-sim is specified, or if the simulator directory is
934# not part of the soruce tree.
935#
936AC_ARG_ENABLE(sim,
937[ --enable-sim Link gdb with simulator],
938[echo "enable_sim = $enable_sim";
939 echo "enableval = ${enableval}";
940 case "${enableval}" in
941 yes) ignore_sim=false ;;
942 no) ignore_sim=true ;;
943 *) ignore_sim=false ;;
944 esac],
945[ignore_sim=false])
946
947if test ! -d "${srcdir}/../sim"; then
948 ignore_sim=true
949fi
950
951if test "${ignore_sim}" = "true"; then
952 IGNORE_SIM="SIM="
953 IGNORE_SIM_OBS="SIM_OBS="
954else
955 IGNORE_SIM=""
956 IGNORE_SIM_OBS=""
957 AC_DEFINE(WITH_SIM)
958fi
959AC_SUBST(IGNORE_SIM)
960AC_SUBST(IGNORE_SIM_OBS)
961
962AC_SUBST(ENABLE_CFLAGS)
963
964AC_SUBST(CONFIG_OBS)
965AC_SUBST(CONFIG_DEPS)
966AC_SUBST(CONFIG_SRCS)
967AC_SUBST(CONFIG_INITS)
968AC_SUBST(CONFIG_ALL)
969AC_SUBST(CONFIG_CLEAN)
970AC_SUBST(CONFIG_INSTALL)
971AC_SUBST(CONFIG_UNINSTALL)
972
973# Begin stuff to support --enable-shared
974AC_ARG_ENABLE(shared,
975[ --enable-shared Use shared libraries],
976[case "${enableval}" in
977 yes) shared=true ;;
978 no) shared=false ;;
979 *) shared=true ;;
980esac])dnl
981
982HLDFLAGS=
983HLDENV=
984# If we have shared libraries, try to set rpath reasonably.
985if test "${shared}" = "true"; then
986 case "${host}" in
987 *-*-hpux*)
988 HLDFLAGS='-Wl,+s,+b,$(libdir)'
989 ;;
990 *-*-irix5* | *-*-irix6*)
991 HLDFLAGS='-Wl,-rpath,$(libdir)'
992 ;;
993 *-*-linux*aout*)
994 ;;
995 *-*-linux* | *-pc-linux-gnu*)
996 HLDFLAGS='-Wl,-rpath,$(libdir)'
997 ;;
998 *-*-solaris*)
999 HLDFLAGS='-R $(libdir)'
1000 ;;
1001 *-*-sysv4*)
1002 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;'
1003 ;;
1004 esac
1005fi
1006
1007# On SunOS, if the linker supports the -rpath option, use it to
1008# prevent ../bfd and ../opcodes from being included in the run time
1009# search path.
1010case "${host}" in
1011 *-*-sunos*)
1012 echo 'main () { }' > conftest.c
1013 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
1014 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
1015 :
1016 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
1017 :
1018 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
1019 :
1020 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
1021 :
1022 elif test "${shared}" = "true"; then
1023 HLDFLAGS='-Wl,-rpath=$(libdir)'
1024 else
1025 HLDFLAGS='-Wl,-rpath='
1026 fi
1027 rm -f conftest.t conftest.c conftest
1028 ;;
1029esac
1030AC_SUBST(HLDFLAGS)
1031AC_SUBST(HLDENV)
1032# End stuff to support --enable-shared
1033
1034# target_subdir is used by the testsuite to find the target libraries.
1035target_subdir=
1036if test "${host}" != "${target}"; then
1037 target_subdir="${target_alias}/"
1038fi
1039AC_SUBST(target_subdir)
1040
1041frags=
1042host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
1043if test ! -f ${host_makefile_frag}; then
1044AC_MSG_ERROR("*** Gdb does not support host ${host}")
1045fi
1046frags="$frags $host_makefile_frag"
1047
1048target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
1049if test ! -f ${target_makefile_frag}; then
1050AC_MSG_ERROR("*** Gdb does not support target ${target}")
1051fi
1052frags="$frags $target_makefile_frag"
1053
1054AC_SUBST_FILE(host_makefile_frag)
1055AC_SUBST_FILE(target_makefile_frag)
1056AC_SUBST(frags)
1057
1058changequote(,)dnl
1059hostfile=`sed -n '
1060s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1061' ${host_makefile_frag}`
1062
1063targetfile=`sed -n '
1064s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1065' ${target_makefile_frag}`
1066
1067GDB_MULTI_ARCH=`sed -n '
1068s/GDB_MULTI_ARCH[ ]*=[ ]*\([^ ]*\)[ ]*/\1/p
1069' ${target_makefile_frag}`
1070
1071# these really aren't orthogonal true/false values of the same condition,
1072# but shells are slow enough that I like to reuse the test conditions
1073# whenever possible
1074if test "${target}" = "${host}"; then
1075nativefile=`sed -n '
1076s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
1077' ${host_makefile_frag}`
1078# else
1079# GDBserver is only useful in a "native" enviroment
1080# configdirs=`echo $configdirs | sed 's/gdbserver//'`
1081fi
1082changequote([,])
1083
1084# New targets should just set gdb_multi_arch=yes in configure.tgt.
1085# Old targets being converted can either do that or set GDB_MULTI_ARCH
1086# in the target specific makefile frag. Eventually gdb_multi_arch=yes
1087# will be the default.
1088if test x"${GDB_MULTI_ARCH}" = x ; then
1089 case "${gdb_multi_arch}" in
1090 yes ) GDB_MULTI_ARCH=GDB_MULTI_ARCH_PURE ;;
1091 no ) GDB_MULTI_ARCH=0 ;;
1092 0|1|2 ) GDB_MULTI_ARCH=${gdb_multi_arch} ;;
1093 esac
1094fi
1095if test x"${GDB_MULTI_ARCH}" != x ; then
1096 AC_DEFINE_UNQUOTED(GDB_MULTI_ARCH, ${GDB_MULTI_ARCH})
1097fi
1098# Warn the user when they use an old pratice
1099case "${GDB_MULTI_ARCH}" in
1100 "" ) ;;
1101 0 | GDB_MULTI_ARCH_PARTIAL | 1 | GDB_MULTI_ARCH_TM | 2 )
1102 AC_MSG_WARN("GDB: Target is not pure multi-arch") ;;
1103 GDB_MULTI_ARCH_PURE )
1104 if test x"${targetfile}" != x ; then
1105 AC_MSG_WARN("GDB: Ingoring TM_FILE in ${target_makefile_frag}")
1106 targetfile=""
1107 fi ;;
1108 *) AC_MSG_ERROR("GDB: Unknown GDB_MULTI_ARCH value ${GDB_MULTI_ARCH}");;
1109esac
1110
1111
1112SUBDIRS="doc testsuite nlm"
1113if test "${enable_multi_ice}" = "yes"; then
1114 SUBDIRS="${SUBDIRS} multi-ice"
1115fi
1116
1117AC_SUBST(SUBDIRS)
1118
1119# If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
1120# (NAT_FILE) is not set in config/*/*.m[ht] files, we link to an empty
1121# version.
1122
1123files=
1124links=
1125
1126rm -f xm.h
1127xm_h=""
1128if test "${hostfile}" != ""; then
1129 xm_h=xm.h
1130 GDB_XM_FILE="config/${gdb_host_cpu}/${hostfile}"
1131 files="${files} ${GDB_XM_FILE}"
1132 links="${links} xm.h"
1133 AC_DEFINE_UNQUOTED(GDB_XM_FILE, ${GDB_XM_FILE})
1134fi
1135AC_SUBST(xm_h)
1136
1137rm -f tm.h
1138tm_h=""
1139if test "${targetfile}" != ""; then
1140 tm_h=tm.h
1141 GDB_TM_FILE="config/${gdb_target_cpu}/${targetfile}"
1142 files="${files} ${GDB_TM_FILE}"
1143 links="${links} tm.h"
1144 AC_DEFINE_UNQUOTED(GDB_TM_FILE, ${GDB_TM_FILE})
1145fi
1146AC_SUBST(tm_h)
1147
1148rm -f nm.h
1149nm_h=""
1150if test "${nativefile}" != ""; then
1151 nm_h=nm.h
1152 GDB_NM_FILE="config/${gdb_host_cpu}/${nativefile}"
1153 files="${files} ${GDB_NM_FILE}"
1154 links="${links} nm.h"
1155 AC_DEFINE_UNQUOTED(GDB_NM_FILE, ${GDB_NM_FILE})
1156fi
1157AC_SUBST(nm_h)
1158
1159AC_PROG_LN_S
1160
1161AC_LINK_FILES($files, $links)
1162
1163dnl Check for exe extension set on certain hosts (e.g. Win32)
1164AC_EXEEXT
1165
1166AC_CONFIG_SUBDIRS($configdirs)
1167AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
1168[
1169dnl Autoconf doesn't provide a mechanism for modifying definitions
1170dnl provided by makefile fragments.
1171dnl
1172if test "${nativefile}" = ""; then
1173sed -e '/^NATDEPFILES[[ ]]*=[[ ]]*/s//# NATDEPFILES=/' \
1174 < Makefile > Makefile.tem
1175mv -f Makefile.tem Makefile
1176fi
1177
1178changequote(,)dnl
1179sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
1180/^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
1181/^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
1182mv -f Makefile.tmp Makefile
1183changequote([,])dnl
1184
1185
1186case x$CONFIG_HEADERS in
1187xconfig.h:config.in)
1188echo > stamp-h ;;
1189esac
1190],
1191[
1192gdb_host_cpu=$gdb_host_cpu
1193gdb_target_cpu=$gdb_target_cpu
1194nativefile=$nativefile
1195])
1196
1197exit 0
This page took 0.025506 seconds and 4 git commands to generate.