1 dnl Autoconf configure script for GDB, the GNU debugger.
2 dnl Copyright 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
4 dnl This file is part of GDB.
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.
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.
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.
20 dnl Process this file with autoconf to produce a configure script.
24 AC_CONFIG_HEADER(config.h:config.in)
31 AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
34 dnl gdb doesn't use gettext, but bfd does. We call this to ensure we
35 dnl link with the correct libraries.
39 dnl List of object files added by configure.
51 configdirs="doc testsuite"
53 AC_ARG_ENABLE(multi-ice,
54 [ --enable-multi-ice Build the multi-ice-gdb-server],
55 [case "${enableval}" in
56 yes ) enable_multi_ice="yes" ;;
57 no) enable_multi_ice="no" ;;
58 *) AC_MSG_ERROR(Bad value for --enable-multi-ice: ${enableval}) ;;
62 if test "${enable_multi_ice}" = "yes"; then
63 configdirs="${configdirs} multi-ice"
69 . ${srcdir}/configure.host
71 . ${srcdir}/configure.tgt
79 AC_CHECK_TOOL(RANLIB, ranlib, :)
82 dnl MiG is needed for the Hurd.
83 AC_CHECK_TOOL(MIG, mig)
91 AC_CHECK_HEADERS(ctype.h curses.h endian.h link.h thread_db.h proc_service.h \
92 memory.h objlist.h ptrace.h sgtty.h stddef.h stdlib.h \
93 string.h sys/procfs.h sys/ptrace.h sys/reg.h stdint.h \
94 term.h termio.h termios.h unistd.h wait.h sys/wait.h \
95 wchar.h wctype.h asm/debugreg.h sys/debugreg.h sys/select.h \
101 AC_CHECK_FUNCS(setpgid sbrk sigaction isascii bzero bcopy btowc poll sigprocmask)
104 dnl See if ptrace.h provides the PTRACE_GETREGS request.
105 AC_MSG_CHECKING(for PTRACE_GETREGS)
106 AC_CACHE_VAL(gdb_cv_have_ptrace_getregs,
107 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
109 [gdb_cv_have_ptrace_getregs=yes],
110 [gdb_cv_have_ptrace_getregs=no])])
111 AC_MSG_RESULT($gdb_cv_have_ptrace_getregs)
112 if test $gdb_cv_have_ptrace_getregs = yes; then
113 AC_DEFINE(HAVE_PTRACE_GETREGS)
116 dnl See if ptrace.h provides the PTRACE_GETXFPREGS request.
117 dnl PTRACE_GETXFPREGS is a Cygnus invention, since we wrote our own
118 dnl Linux kernel patch for SSE support. That patch may or may not
119 dnl actually make it into the official distribution. If you find that
120 dnl years have gone by since this configure test was added, and Linux
121 dnl isn't using PTRACE_GETXFPREGS, that means that our patch didn't
122 dnl make it, and you can delete this code.
123 AC_MSG_CHECKING(for PTRACE_GETXFPREGS)
124 AC_CACHE_VAL(gdb_cv_have_ptrace_getxfpregs,
125 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
126 [PTRACE_GETXFPREGS;],
127 [gdb_cv_have_ptrace_getxfpregs=yes],
128 [gdb_cv_have_ptrace_getxfpregs=no])])
129 AC_MSG_RESULT($gdb_cv_have_ptrace_getxfpregs)
130 if test $gdb_cv_have_ptrace_getxfpregs = yes; then
131 AC_DEFINE(HAVE_PTRACE_GETXFPREGS)
134 AC_CHECK_LIB(socket, socketpair)
135 AC_CHECK_FUNCS(socketpair)
138 BFD_NEED_DECLARATION(malloc)
139 BFD_NEED_DECLARATION(realloc)
140 BFD_NEED_DECLARATION(free)
141 BFD_NEED_DECLARATION(strerror)
142 BFD_NEED_DECLARATION(strdup)
143 BFD_NEED_DECLARATION(strstr)
146 # The following save_state_t checkery is only necessary for HPUX
147 # versions earlier than 10.20. When those fade from memory, this
148 # could be expunged. --jsm 1999-03-22
150 AC_MSG_CHECKING(for HPUX save_state structure)
151 AC_EGREP_HEADER(save_state_t, machine/save_state.h,
152 gdb_cv_hpux_savestate=yes, gdb_cv_hpux_savestate=no)
153 AC_EGREP_HEADER(ss_wide, machine/save_state.h, gdb_cv_hpux_sswide=yes,
154 gdb_cv_hpux_sswide=no)
155 if test $gdb_cv_hpux_savestate = yes
157 AC_DEFINE(HAVE_STRUCT_SAVE_STATE_T, 1)
159 if test $gdb_cv_hpux_sswide = yes
161 AC_DEFINE(HAVE_STRUCT_MEMBER_SS_WIDE, 1)
163 AC_MSG_RESULT($gdb_cv_hpux_sswide)
166 # If we are configured native on GNU/Linux, work around problems with
168 # Also detect which type of /proc is in use, such as for Unixware or Solaris.
170 if test "${target}" = "${host}"; then
172 i[[3456]]86-*-linux*)
173 AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
174 AC_DEFINE(sys_quotactl)
176 *-*-unixware* | *-*-sysv4.2* | *-*-sysv5*)
177 AC_DEFINE(NEW_PROC_API)
179 # FIXME: we would like to define NEW_PROC_API for all versions of
180 # Solaris from 2.6 on... but it isn't quite working yet. Seems
181 # to work on sparc 2.6, so let's try it out there.
182 sparc-sun-solaris2.6)
183 AC_DEFINE(NEW_PROC_API)
188 if test "$ac_cv_header_sys_procfs_h" = yes; then
189 BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
190 BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
191 BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
192 BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
193 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
194 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
195 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
196 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
198 dnl Check for PIOCSET ioctl entry
200 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
201 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
202 [AC_TRY_COMPILE([#include <unistd.h>
203 #include <sys/types.h>
204 #include <sys/procfs.h>
207 dummy = ioctl(0, PIOCSET, &dummy);
209 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
210 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
211 if test $gdb_cv_have_procfs_piocset = yes; then
212 AC_DEFINE(HAVE_PROCFS_PIOCSET)
216 dnl See if host has libm. This is usually needed by simulators.
217 AC_CHECK_LIB(m, main)
219 dnl Solaris puts wctype in /usr/lib/libw.a before Solaris 2.6.
221 dnl A bug in GNU ld 2.9.1 causes a problem if we link in -lw
222 dnl under Solaris 2.6 because it is some funky empty library.
223 dnl So only link in libw if we have to.
224 AC_CHECK_LIB(c, wctype,: ,AC_CHECK_LIB(w, wctype))
226 dnl See if compiler supports "long long" type.
228 AC_MSG_CHECKING(for long long support in compiler)
229 AC_CACHE_VAL(gdb_cv_c_long_long,
231 extern long long foo;
232 switch (foo & 2) { case 0: return 1; }
234 gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])
235 AC_MSG_RESULT($gdb_cv_c_long_long)
236 if test $gdb_cv_c_long_long = yes; then
237 AC_DEFINE(CC_HAS_LONG_LONG)
240 dnl See if the compiler and runtime support printing long long
242 AC_MSG_CHECKING(for long long support in printf)
243 AC_CACHE_VAL(gdb_cv_printf_has_long_long,
248 l = (l << 16) + 0x0123;
249 l = (l << 16) + 0x4567;
250 l = (l << 16) + 0x89ab;
251 l = (l << 16) + 0xcdef;
252 sprintf (buf, "0x%016llx", l);
253 return (strcmp ("0x0123456789abcdef", buf));
255 gdb_cv_printf_has_long_long=yes,
256 gdb_cv_printf_has_long_long=no,
257 gdb_cv_printf_has_long_long=no)])
258 if test $gdb_cv_printf_has_long_long = yes; then
259 AC_DEFINE(PRINTF_HAS_LONG_LONG)
261 AC_MSG_RESULT($gdb_cv_printf_has_long_long)
263 dnl See if compiler supports "long double" type. Can't use AC_C_LONG_DOUBLE
264 dnl because autoconf complains about cross-compilation issues. However, this
265 dnl code uses the same variables as the macro for compatibility.
267 AC_MSG_CHECKING(for long double support in compiler)
268 AC_CACHE_VAL(ac_cv_c_long_double,
269 [AC_TRY_COMPILE(, [long double foo;],
270 ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])
271 AC_MSG_RESULT($ac_cv_c_long_double)
272 if test $ac_cv_c_long_double = yes; then
273 AC_DEFINE(HAVE_LONG_DOUBLE)
276 dnl See if the compiler and runtime support printing long doubles
278 AC_MSG_CHECKING(for long double support in printf)
279 AC_CACHE_VAL(gdb_cv_printf_has_long_double,
283 long double f = 3.141592653;
284 sprintf (buf, "%Lg", f);
285 return (strncmp ("3.14159", buf, 7));
287 gdb_cv_printf_has_long_double=yes,
288 gdb_cv_printf_has_long_double=no,
289 gdb_cv_printf_has_long_double=no)])
290 if test $gdb_cv_printf_has_long_double = yes; then
291 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE)
293 AC_MSG_RESULT($gdb_cv_printf_has_long_double)
295 dnl See if the compiler and runtime support scanning long doubles
297 AC_MSG_CHECKING(for long double support in scanf)
298 AC_CACHE_VAL(gdb_cv_scanf_has_long_double,
301 char *buf = "3.141592653";
303 sscanf (buf, "%Lg", &f);
304 return !(f > 3.14159 && f < 3.14160);
306 gdb_cv_scanf_has_long_double=yes,
307 gdb_cv_scanf_has_long_double=no,
308 gdb_cv_scanf_has_long_double=no)])
309 if test $gdb_cv_scanf_has_long_double = yes; then
310 AC_DEFINE(SCANF_HAS_LONG_DOUBLE)
312 AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
316 dnl See if thread_db library is around for Solaris thread debugging. Note that
317 dnl we must explicitly test for version 1 of the library because version 0
318 dnl (present on Solaris 2.4 or earlier) doesn't have the same API.
320 dnl Note that we only want this if we are both native (host == target), and
321 dnl not doing a canadian cross build (build == host).
323 if test ${build} = ${host} -a ${host} = ${target} ; then
326 AC_MSG_CHECKING(for HPUX/OSF thread support)
327 if test -f /usr/include/dce/cma_config.h ; then
328 if test "$GCC" = "yes" ; then
330 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
331 CONFIG_OBS="${CONFIG_OJS} hpux-thread.o"
332 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
334 AC_MSG_RESULT(no (suppressed because you are not using GCC))
341 AC_MSG_CHECKING(for Solaris thread debugging library)
342 if test -f /usr/lib/libthread_db.so.1 ; then
344 AC_DEFINE(HAVE_THREAD_DB_LIB)
345 CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
346 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
347 AC_CHECK_LIB(dl, dlopen)
348 if test "$GCC" = "yes" ; then
349 # The GNU linker requires the -export-dynamic option to make
350 # all symbols visible in the dynamic symbol table.
351 hold_ldflags=$LDFLAGS
352 AC_MSG_CHECKING(for the ld -export-dynamic flag)
353 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
354 AC_TRY_LINK(, [int i;], found=yes, found=no)
355 LDFLAGS=$hold_ldflags
356 AC_MSG_RESULT($found)
357 if test $found = yes; then
358 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
361 # Sun randomly tweaked the prototypes in <proc_service.h>
363 AC_MSG_CHECKING(if <proc_service.h> is old)
364 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
366 #include <proc_service.h>
368 (struct ps_prochandle*, psaddr_t, const void*, size_t);
369 ],, gdb_cv_proc_service_is_old=no,
370 gdb_cv_proc_service_is_old=yes)
372 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
373 if test $gdb_cv_proc_service_is_old = yes; then
374 AC_DEFINE(PROC_SERVICE_IS_OLD)
381 AC_SUBST(CONFIG_LDFLAGS)
384 dnl Handle optional features that can be enabled.
386 dnl Handle MI sub-directory configury.
388 [ --enable-gdbmi Enable GDB-MI interface],
390 case "${enable_gdbmi}" in
392 "") enable_gdbmi=yes ;;
394 AC_MSG_ERROR(Bad value for --enable-gdbmi: ${enableval})
398 case ${enable_gdbmi} in
400 if test -d "${srcdir}/mi" ; then
401 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_MI_OBS)"
402 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_MI_DEPS)"
403 CONFIG_SRCS="${CONFIG_SRS} \$(SUBDIR_MI_SRCS)"
404 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_MI_INITS)"
405 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_MI_CFLAGS)"
406 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_MI_ALL)"
407 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_MI_CLEAN)"
408 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_MI_INSTALL)"
409 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_MI_UNINSTALL)"
415 [ --enable-tui Enable full-screen terminal user interface],
417 case "${enable_tui}" in
419 "") enable_tui=yes ;;
421 AC_MSG_ERROR(Bad value for --enable-tui: ${enableval})
425 case ${enable_tui} in
429 TUI_LIBRARY=tui/libtui.a
437 AC_SUBST(TUI_LIBRARY)
439 AC_ARG_ENABLE(netrom,
440 [ --enable-netrom Enable NetROM support],
441 [case "${enableval}" in
442 yes) enable_netrom=yes ;;
443 no) enable_netrom=no ;;
444 *) AC_MSG_ERROR(bad value ${enableval} given for netrom option) ;;
447 if test "${enable_netrom}" = "yes"; then
448 CONFIG_OBS="${CONFIG_OBS} remote-nrom.o"
449 CONFIG_SRCS="${CONFIG_SRCS} remote-nrom.c"
450 CONFIG_INITS="${CONFIG_INITS} remote-nrom.c"
453 AC_ARG_ENABLE(build-warnings,
454 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
456 # not yet: -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
457 build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs -Wformat -Wparentheses -Wpointer-arith"
458 case "${enableval}" in
460 no) build_warnings="-w";;
461 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
462 build_warnings="${build_warnings} ${t}";;
463 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
464 build_warnings="${t} ${build_warnings}";;
465 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
467 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
468 echo "Setting warning flags = $build_warnings" 6>&1
472 if test "x${build_warnings}" != x -a "x$GCC" = xyes
474 # Separate out the -Werror flag as some files just cannot be
475 # compiled with it enabled.
476 for w in ${build_warnings}; do
478 -Werr*) WERROR_CFLAGS=-Werror ;;
479 *) WARN_CFLAGS="${WARN_CFLAGS} $w"
482 fi],[build_warnings=""])dnl
484 AC_SUBST(WARN_CFLAGS)
485 AC_SUBST(WERROR_CFLAGS)
489 AC_SUBST(MMALLOC_CFLAGS)
493 [ --with-mmalloc Use memory mapped malloc package],
494 [case "${withval}" in
495 yes) want_mmalloc=true ;;
496 no) want_mmalloc=false;;
497 *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
498 esac],[want_mmalloc=false])dnl
500 if test x$want_mmalloc = xtrue; then
501 AC_DEFINE(USE_MMALLOC)
502 AC_DEFINE(MMCHECK_FORCE)
503 MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
504 MMALLOC='../mmalloc/libmmalloc.a'
508 # In the Cygwin environment, we need some additional flags.
509 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
510 [AC_EGREP_CPP(lose, [
511 #if defined (__CYGWIN__) || defined (__CYGWIN32__)
513 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
515 DLLTOOL=${DLLTOOL-dlltool}
516 WINDRES=${WINDRES-windres}
520 dnl Figure out which term library to use.
521 if test x$gdb_host = xgo32; then
524 if test x$gdb_cv_os_cygwin = xyes; then
525 TERM_LIB='`if test -r ../libtermcap/libtermcap.a; then echo ../libtermcap/libtermcap.a; else echo -ltermcap; fi`'
528 AC_CHECK_LIB(ncurses, tgetent, TERM_LIB=-lncurses,
529 AC_CHECK_LIB(Hcurses, tgetent, TERM_LIB=-lHcurses,
530 AC_CHECK_LIB(termlib, tgetent, TERM_LIB=-ltermlib,
531 AC_CHECK_LIB(termcap, tgetent, TERM_LIB=-ltermcap,
532 AC_CHECK_LIB(curses, tgetent, TERM_LIB=-lcurses,
533 AC_CHECK_LIB(terminfo, tgetent, TERM_LIB=-lterminfo))))))
535 if test "x$TERM_LIB" = x
537 AC_MSG_ERROR(Could not find a term library, e.g. termcap or termlib!)
543 # libreadline needs libuser32.a in a cygwin environment
545 if test x$gdb_cv_os_cygwin = xyes; then
548 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
554 LIBGUI="../libgui/src/libgui.a"
555 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
557 AC_SUBST(GUI_CFLAGS_X)
560 [ --with-cpu=CPU Set the default CPU variant to debug],
562 powerpc-* | powerpcle-* )
563 ## It would be nice to keep this table in sync with the one in
565 case "${with_cpu}" in
566 ppc-uisa | rs6000 | 403 | 403GC | 505 | 860 | 601 | 602 | 603 \
568 ## Those are all handled in variants in rs6000-tdep.c, so they're fine.
570 common | power | power2 | rios | rios1 | rios2 | rsc | rsc1 )
571 ## These are all RS6000 variants, as far as GDB is concerned.
581 AC_MSG_WARN(GDB: unknown --with-cpu value: \`${with_cpu}'; using \`ppc-uisa'.)
587 AC_MSG_WARN(GDB may ignore the --with-cpu flag for ${target} targets)
590 AC_DEFINE_UNQUOTED(TARGET_CPU_DEFAULT, "${with_cpu}")
595 [ --enable-gdbtk Enable GDBTK GUI front end],
596 [case "${enableval}" in
600 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
603 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
611 AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
614 # Default is on for everything but go32 and Cygwin
619 if test -d "${srcdir}/gdbtk" ; then
633 if test "${enable_gdbtk}" = "yes"; then
636 if test -z "${no_tcl}"; then
640 # If $no_tk is nonempty, then we can't do Tk, and there is no
641 # point to doing Tcl.
642 if test -z "${no_tk}"; then
650 # now look for Itcl library stuff
652 CY_AC_PATH_ITCLCONFIG
653 if test -z "${no_itcl}"; then
654 CY_AC_LOAD_ITCLCONFIG
657 itcldir=../itcl/itcl/win/
660 itcldir=../itcl/itcl/unix/
665 ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
666 ITCL_DEPS="${itcldir}${ITCL_LIB_FILE}"
670 # now look for Itk library stuff
672 if test -z "${no_itcl}"; then
677 itkdir=../itcl/itk/win/
680 itkdir=../itcl/itk/unix/
684 ITKLIB="${ITK_BUILD_LIB_SPEC}"
685 ITK_DEPS="${itkdir}${ITK_LIB_FILE}"
688 # now look for Tix library stuff
690 if test -z "${no_tix}"; then
692 TIXLIB="${TIX_BUILD_LIB_SPEC}"
693 TIX_DEPS="${TIX_BUILD_LOCATION}/${TIX_LIB_FILE}"
696 ENABLE_CFLAGS="$ENABLE_CFLAGS -DGDBTK"
697 # Tcl/Tk 8.1 require -fwritable strings. I don't
698 # know whether 8.2 will or not, but I bet it will.
699 # I don't have to worry about 7.x since we don't support it.
701 if test "$GCC" = "yes"; then
702 if test "$TCL_VERSION" != "8.0" ; then
703 GDBTK_CFLAGS="-fwritable-strings"
707 # Include some libraries that Tcl and Tk want.
708 TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
709 CONFIG_DEPS='$(LIBGUI) $(ITCL_DEPS) $(ITK_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
710 # Yes, the ordering seems wrong here. But it isn't.
711 # TK_LIBS is the list of libraries that need to be linked
712 # after Tcl/Tk. Note that this isn't put into LIBS. If it
713 # were in LIBS then any link tests after this point would
714 # try to include things like `$(LIBGUI)', which wouldn't work.
715 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
716 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"
717 CONFIG_OBS="${CONFIG_OBS} gdbtk.o gdbtk-cmds.o gdbtk-hooks.o gdbtk-varobj.o gdbtk-wrapper.o"
718 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"
719 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_GDBTK_ALL)"
720 CONFIG_CLEAN="${CONFIG_ALL} \$(SUBDIR_GDBTK_CLEAN)"
721 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_GDBTK_INSTALL)"
722 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_GDBTK_UNINSTALL)"
724 if test x$gdb_cv_os_cygwin = xyes; then
725 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
726 WIN32LDAPP="-Wl,--subsystem,console"
727 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
743 AC_SUBST(GDBTK_CFLAGS)
748 # Unlike the sim directory, whether a simulator is linked is controlled by
749 # presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
750 # This code just checks for a few cases where we'd like to ignore those
751 # definitions, even when they're present in the '.mt' file. These cases
752 # are when --disable-sim is specified, or if the simulator directory is
753 # not part of the soruce tree.
756 [ --enable-sim Link gdb with simulator],
757 [echo "enable_sim = $enable_sim";
758 echo "enableval = ${enableval}";
759 case "${enableval}" in
760 yes) ignore_sim=false ;;
761 no) ignore_sim=true ;;
762 *) ignore_sim=false ;;
766 if test ! -d "${srcdir}/../sim"; then
770 if test "${ignore_sim}" = "true"; then
772 IGNORE_SIM_OBS="SIM_OBS="
779 AC_SUBST(IGNORE_SIM_OBS)
781 AC_SUBST(ENABLE_CFLAGS)
784 AC_SUBST(CONFIG_DEPS)
785 AC_SUBST(CONFIG_SRCS)
786 AC_SUBST(CONFIG_INITS)
788 AC_SUBST(CONFIG_CLEAN)
789 AC_SUBST(CONFIG_INSTALL)
790 AC_SUBST(CONFIG_UNINSTALL)
792 # Begin stuff to support --enable-shared
793 AC_ARG_ENABLE(shared,
794 [ --enable-shared Use shared libraries],
795 [case "${enableval}" in
803 # If we have shared libraries, try to set rpath reasonably.
804 if test "${shared}" = "true"; then
807 HLDFLAGS='-Wl,+s,+b,$(libdir)'
809 *-*-irix5* | *-*-irix6*)
810 HLDFLAGS='-Wl,-rpath,$(libdir)'
814 *-*-linux* | *-pc-linux-gnu)
815 HLDFLAGS='-Wl,-rpath,$(libdir)'
818 HLDFLAGS='-R $(libdir)'
821 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;'
826 # On SunOS, if the linker supports the -rpath option, use it to
827 # prevent ../bfd and ../opcodes from being included in the run time
831 echo 'main () { }' > conftest.c
832 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
833 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
835 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
837 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
839 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
841 elif test "${shared}" = "true"; then
842 HLDFLAGS='-Wl,-rpath=$(libdir)'
844 HLDFLAGS='-Wl,-rpath='
846 rm -f conftest.t conftest.c conftest
851 # End stuff to support --enable-shared
853 # target_subdir is used by the testsuite to find the target libraries.
855 if test "${host}" != "${target}"; then
856 target_subdir="${target_alias}/"
858 AC_SUBST(target_subdir)
861 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
862 if test ! -f ${host_makefile_frag}; then
863 AC_MSG_ERROR("*** Gdb does not support host ${host}")
865 frags="$frags $host_makefile_frag"
867 target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
868 if test ! -f ${target_makefile_frag}; then
869 AC_MSG_ERROR("*** Gdb does not support target ${target}")
871 frags="$frags $target_makefile_frag"
873 AC_SUBST_FILE(host_makefile_frag)
874 AC_SUBST_FILE(target_makefile_frag)
879 s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
880 ' ${host_makefile_frag}`
883 s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
884 ' ${target_makefile_frag}`
886 # these really aren't orthogonal true/false values of the same condition,
887 # but shells are slow enough that I like to reuse the test conditions
889 if test "${target}" = "${host}"; then
891 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
892 ' ${host_makefile_frag}`
894 # GDBserver is only useful in a "native" enviroment
895 # configdirs=`echo $configdirs | sed 's/gdbserver//'`
899 SUBDIRS="doc testsuite nlm"
900 if test "${enable_multi_ice}" = "yes"; then
901 SUBDIRS="${SUBDIRS} multi-ice"
906 # If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
907 # (NAT_FILE) is not set in config/*/*.m[ht] files, we don't make the
908 # corresponding links. But we have to remove the xm.h files and tm.h
909 # files anyway, e.g. when switching from "configure host" to
915 if test "${hostfile}" != ""; then
916 files="${files} config/${gdb_host_cpu}/${hostfile}"
917 links="${links} xm.h"
920 if test "${targetfile}" != ""; then
921 files="${files} config/${gdb_target_cpu}/${targetfile}"
922 links="${links} tm.h"
925 if test "${nativefile}" != ""; then
926 files="${files} config/${gdb_host_cpu}/${nativefile}"
927 links="${links} nm.h"
929 # A cross-only configuration.
930 files="${files} config/nm-empty.h"
931 links="${links} nm.h"
935 AC_LINK_FILES($files, $links)
937 dnl Check for exe extension set on certain hosts (e.g. Win32)
940 AC_CONFIG_SUBDIRS($configdirs)
941 AC_OUTPUT(Makefile tui/Makefile .gdbinit:gdbinit.in,
943 dnl Autoconf doesn't provide a mechanism for modifying definitions
944 dnl provided by makefile fragments.
946 if test "${nativefile}" = ""; then
947 sed -e '/^NATDEPFILES[[ ]]*=[[ ]]*/s//# NATDEPFILES=/' \
948 < Makefile > Makefile.tem
949 mv -f Makefile.tem Makefile
953 sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
954 /^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
955 /^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
956 mv -f Makefile.tmp Makefile
960 case x$CONFIG_HEADERS in
966 gdb_host_cpu=$gdb_host_cpu
967 gdb_target_cpu=$gdb_target_cpu
968 nativefile=$nativefile