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_GETXFPREGS request.
105 dnl PTRACE_GETXFPREGS is a Cygnus invention, since we wrote our own
106 dnl Linux kernel patch for SSE support. That patch may or may not
107 dnl actually make it into the official distribution. If you find that
108 dnl years have gone by since this configure test was added, and Linux
109 dnl isn't using PTRACE_GETXFPREGS, that means that our patch didn't
110 dnl make it, and you can delete this code.
111 AC_MSG_CHECKING(for PTRACE_GETXFPREGS)
112 AC_CACHE_VAL(gdb_cv_have_ptrace_getxfpregs,
113 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
114 [PTRACE_GETXFPREGS;],
115 [gdb_cv_have_ptrace_getxfpregs=yes],
116 [gdb_cv_have_ptrace_getxfpregs=no])])
117 AC_MSG_RESULT($gdb_cv_have_ptrace_getxfpregs)
118 if test $gdb_cv_have_ptrace_getxfpregs = yes; then
119 AC_DEFINE(HAVE_PTRACE_GETXFPREGS)
122 AC_CHECK_LIB(socket, socketpair)
123 AC_CHECK_FUNCS(socketpair)
126 BFD_NEED_DECLARATION(malloc)
127 BFD_NEED_DECLARATION(realloc)
128 BFD_NEED_DECLARATION(free)
129 BFD_NEED_DECLARATION(strerror)
130 BFD_NEED_DECLARATION(strdup)
131 BFD_NEED_DECLARATION(strstr)
134 # The following save_state_t checkery is only necessary for HPUX
135 # versions earlier than 10.20. When those fade from memory, this
136 # could be expunged. --jsm 1999-03-22
138 AC_MSG_CHECKING(for HPUX save_state structure)
139 AC_EGREP_HEADER(save_state_t, machine/save_state.h,
140 gdb_cv_hpux_savestate=yes, gdb_cv_hpux_savestate=no)
141 AC_EGREP_HEADER(ss_wide, machine/save_state.h, gdb_cv_hpux_sswide=yes,
142 gdb_cv_hpux_sswide=no)
143 if test $gdb_cv_hpux_savestate = yes
145 AC_DEFINE(HAVE_STRUCT_SAVE_STATE_T, 1)
147 if test $gdb_cv_hpux_sswide = yes
149 AC_DEFINE(HAVE_STRUCT_MEMBER_SS_WIDE, 1)
151 AC_MSG_RESULT($gdb_cv_hpux_sswide)
154 # If we are configured native on GNU/Linux, work around problems with
156 # Also detect which type of /proc is in use, such as for Unixware or Solaris.
158 if test "${target}" = "${host}"; then
160 i[[3456]]86-*-linux*)
161 AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
162 AC_DEFINE(sys_quotactl)
164 *-*-unixware* | *-*-sysv4.2* | *-*-sysv5*)
165 AC_DEFINE(NEW_PROC_API)
167 # FIXME: we would like to define NEW_PROC_API for all versions of
168 # Solaris from 2.6 on... but it isn't quite working yet. Seems
169 # to work on sparc 2.6, so let's try it out there.
170 sparc-sun-solaris2.6)
171 AC_DEFINE(NEW_PROC_API)
176 if test "$ac_cv_header_sys_procfs_h" = yes; then
177 BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
178 BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
179 BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
180 BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
181 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
182 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
183 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
184 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
186 dnl Check for PIOCSET ioctl entry
188 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
189 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
190 [AC_TRY_COMPILE([#include <unistd.h>
191 #include <sys/types.h>
192 #include <sys/procfs.h>
195 dummy = ioctl(0, PIOCSET, &dummy);
197 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
198 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
199 if test $gdb_cv_have_procfs_piocset = yes; then
200 AC_DEFINE(HAVE_PROCFS_PIOCSET)
204 dnl See if host has libm. This is usually needed by simulators.
205 AC_CHECK_LIB(m, main)
207 dnl Solaris puts wctype in /usr/lib/libw.a before Solaris 2.6.
209 dnl A bug in GNU ld 2.9.1 causes a problem if we link in -lw
210 dnl under Solaris 2.6 because it is some funky empty library.
211 dnl So only link in libw if we have to.
212 AC_CHECK_LIB(c, wctype,: ,AC_CHECK_LIB(w, wctype))
214 dnl See if compiler supports "long long" type.
216 AC_MSG_CHECKING(for long long support in compiler)
217 AC_CACHE_VAL(gdb_cv_c_long_long,
219 extern long long foo;
220 switch (foo & 2) { case 0: return 1; }
222 gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])
223 AC_MSG_RESULT($gdb_cv_c_long_long)
224 if test $gdb_cv_c_long_long = yes; then
225 AC_DEFINE(CC_HAS_LONG_LONG)
228 dnl See if the compiler and runtime support printing long long
230 AC_MSG_CHECKING(for long long support in printf)
231 AC_CACHE_VAL(gdb_cv_printf_has_long_long,
236 l = (l << 16) + 0x0123;
237 l = (l << 16) + 0x4567;
238 l = (l << 16) + 0x89ab;
239 l = (l << 16) + 0xcdef;
240 sprintf (buf, "0x%016llx", l);
241 return (strcmp ("0x0123456789abcdef", buf));
243 gdb_cv_printf_has_long_long=yes,
244 gdb_cv_printf_has_long_long=no,
245 gdb_cv_printf_has_long_long=no)])
246 if test $gdb_cv_printf_has_long_long = yes; then
247 AC_DEFINE(PRINTF_HAS_LONG_LONG)
249 AC_MSG_RESULT($gdb_cv_printf_has_long_long)
251 dnl See if compiler supports "long double" type. Can't use AC_C_LONG_DOUBLE
252 dnl because autoconf complains about cross-compilation issues. However, this
253 dnl code uses the same variables as the macro for compatibility.
255 AC_MSG_CHECKING(for long double support in compiler)
256 AC_CACHE_VAL(ac_cv_c_long_double,
257 [AC_TRY_COMPILE(, [long double foo;],
258 ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])
259 AC_MSG_RESULT($ac_cv_c_long_double)
260 if test $ac_cv_c_long_double = yes; then
261 AC_DEFINE(HAVE_LONG_DOUBLE)
264 dnl See if the compiler and runtime support printing long doubles
266 AC_MSG_CHECKING(for long double support in printf)
267 AC_CACHE_VAL(gdb_cv_printf_has_long_double,
271 long double f = 3.141592653;
272 sprintf (buf, "%Lg", f);
273 return (strncmp ("3.14159", buf, 7));
275 gdb_cv_printf_has_long_double=yes,
276 gdb_cv_printf_has_long_double=no,
277 gdb_cv_printf_has_long_double=no)])
278 if test $gdb_cv_printf_has_long_double = yes; then
279 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE)
281 AC_MSG_RESULT($gdb_cv_printf_has_long_double)
283 dnl See if the compiler and runtime support scanning long doubles
285 AC_MSG_CHECKING(for long double support in scanf)
286 AC_CACHE_VAL(gdb_cv_scanf_has_long_double,
289 char *buf = "3.141592653";
291 sscanf (buf, "%Lg", &f);
292 return !(f > 3.14159 && f < 3.14160);
294 gdb_cv_scanf_has_long_double=yes,
295 gdb_cv_scanf_has_long_double=no,
296 gdb_cv_scanf_has_long_double=no)])
297 if test $gdb_cv_scanf_has_long_double = yes; then
298 AC_DEFINE(SCANF_HAS_LONG_DOUBLE)
300 AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
304 dnl See if thread_db library is around for Solaris thread debugging. Note that
305 dnl we must explicitly test for version 1 of the library because version 0
306 dnl (present on Solaris 2.4 or earlier) doesn't have the same API.
308 dnl Note that we only want this if we are both native (host == target), and
309 dnl not doing a canadian cross build (build == host).
311 if test ${build} = ${host} -a ${host} = ${target} ; then
314 AC_MSG_CHECKING(for HPUX/OSF thread support)
315 if test -f /usr/include/dce/cma_config.h ; then
316 if test "$GCC" = "yes" ; then
318 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
319 CONFIG_OBS="${CONFIG_OJS} hpux-thread.o"
320 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
321 CONFIG_INITS="${CONFIG_INITS} hpux-thread.c"
323 AC_MSG_RESULT(no (suppressed because you are not using GCC))
330 AC_MSG_CHECKING(for Solaris thread debugging library)
331 if test -f /usr/lib/libthread_db.so.1 ; then
333 AC_DEFINE(HAVE_THREAD_DB_LIB)
334 CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
335 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
336 AC_CHECK_LIB(dl, dlopen)
337 if test "$GCC" = "yes" ; then
338 # The GNU linker requires the -export-dynamic option to make
339 # all symbols visible in the dynamic symbol table.
340 hold_ldflags=$LDFLAGS
341 AC_MSG_CHECKING(for the ld -export-dynamic flag)
342 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
343 AC_TRY_LINK(, [int i;], found=yes, found=no)
344 LDFLAGS=$hold_ldflags
345 AC_MSG_RESULT($found)
346 if test $found = yes; then
347 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
350 # Sun randomly tweaked the prototypes in <proc_service.h>
352 AC_MSG_CHECKING(if <proc_service.h> is old)
353 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
355 #include <proc_service.h>
357 (struct ps_prochandle*, psaddr_t, const void*, size_t);
358 ],, gdb_cv_proc_service_is_old=no,
359 gdb_cv_proc_service_is_old=yes)
361 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
362 if test $gdb_cv_proc_service_is_old = yes; then
363 AC_DEFINE(PROC_SERVICE_IS_OLD)
370 AC_SUBST(CONFIG_LDFLAGS)
373 dnl Handle optional features that can be enabled.
375 dnl Handle MI sub-directory configury.
377 [ --enable-gdbmi Enable GDB-MI interface],
379 case "${enable_gdbmi}" in
381 "") enable_gdbmi=yes ;;
383 AC_MSG_ERROR(Bad value for --enable-gdbmi: ${enableval})
387 case ${enable_gdbmi} in
389 if test -d "${srcdir}/mi" ; then
390 CONFIG_OBS="${CONFIG_OBS} \$(SUBDIR_MI_OBS)"
391 CONFIG_DEPS="${CONFIG_DEPS} \$(SUBDIR_MI_DEPS)"
392 CONFIG_SRCS="${CONFIG_SRS} \$(SUBDIR_MI_SRCS)"
393 CONFIG_INITS="${CONFIG_INITS} \$(SUBDIR_MI_INITS)"
394 ENABLE_CFLAGS="${ENABLE_CFLAGS} \$(SUBDIR_MI_CFLAGS)"
395 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_MI_ALL)"
396 CONFIG_CLEAN="${CONFIG_CLEAN} \$(SUBDIR_MI_CLEAN)"
397 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_MI_INSTALL)"
398 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_MI_UNINSTALL)"
404 [ --enable-tui Enable full-screen terminal user interface],
406 case "${enable_tui}" in
408 "") enable_tui=yes ;;
410 AC_MSG_ERROR(Bad value for --enable-tui: ${enableval})
414 case ${enable_tui} in
418 TUI_LIBRARY=tui/libtui.a
426 AC_SUBST(TUI_LIBRARY)
428 AC_ARG_ENABLE(netrom,
429 [ --enable-netrom Enable NetROM support],
430 [case "${enableval}" in
431 yes) enable_netrom=yes ;;
432 no) enable_netrom=no ;;
433 *) AC_MSG_ERROR(bad value ${enableval} given for netrom option) ;;
436 if test "${enable_netrom}" = "yes"; then
437 CONFIG_OBS="${CONFIG_OBS} remote-nrom.o"
438 CONFIG_SRCS="${CONFIG_SRCS} remote-nrom.c"
439 CONFIG_INITS="${CONFIG_INITS} remote-nrom.c"
442 AC_ARG_ENABLE(build-warnings,
443 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
445 # not yet: -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
446 build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs -Wformat -Wparentheses -Wpointer-arith"
447 case "${enableval}" in
449 no) build_warnings="-w";;
450 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
451 build_warnings="${build_warnings} ${t}";;
452 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
453 build_warnings="${t} ${build_warnings}";;
454 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
456 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
457 echo "Setting warning flags = $build_warnings" 6>&1
461 if test "x${build_warnings}" != x -a "x$GCC" = xyes
463 # Separate out the -Werror flag as some files just cannot be
464 # compiled with it enabled.
465 for w in ${build_warnings}; do
467 -Werr*) WERROR_CFLAGS=-Werror ;;
468 *) WARN_CFLAGS="${WARN_CFLAGS} $w"
471 fi],[build_warnings=""])dnl
473 AC_SUBST(WARN_CFLAGS)
474 AC_SUBST(WERROR_CFLAGS)
478 AC_SUBST(MMALLOC_CFLAGS)
482 [ --with-mmalloc Use memory mapped malloc package],
483 [case "${withval}" in
484 yes) want_mmalloc=true ;;
485 no) want_mmalloc=false;;
486 *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
487 esac],[want_mmalloc=false])dnl
489 if test x$want_mmalloc = xtrue; then
490 AC_DEFINE(USE_MMALLOC)
491 AC_DEFINE(MMCHECK_FORCE)
492 MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
493 MMALLOC='../mmalloc/libmmalloc.a'
497 # In the Cygwin environment, we need some additional flags.
498 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
499 [AC_EGREP_CPP(lose, [
500 #if defined (__CYGWIN__) || defined (__CYGWIN32__)
502 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
504 DLLTOOL=${DLLTOOL-dlltool}
505 WINDRES=${WINDRES-windres}
509 dnl Figure out which term library to use.
510 if test x$gdb_host = xgo32; then
513 if test x$gdb_cv_os_cygwin = xyes; then
514 TERM_LIB='`if test -r ../libtermcap/libtermcap.a; then echo ../libtermcap/libtermcap.a; else echo -ltermcap; fi`'
517 AC_CHECK_LIB(ncurses, tgetent, TERM_LIB=-lncurses,
518 AC_CHECK_LIB(Hcurses, tgetent, TERM_LIB=-lHcurses,
519 AC_CHECK_LIB(termlib, tgetent, TERM_LIB=-ltermlib,
520 AC_CHECK_LIB(termcap, tgetent, TERM_LIB=-ltermcap,
521 AC_CHECK_LIB(curses, tgetent, TERM_LIB=-lcurses,
522 AC_CHECK_LIB(terminfo, tgetent, TERM_LIB=-lterminfo))))))
524 if test "x$TERM_LIB" = x
526 AC_MSG_ERROR(Could not find a term library, e.g. termcap or termlib!)
532 # libreadline needs libuser32.a in a cygwin environment
534 if test x$gdb_cv_os_cygwin = xyes; then
537 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
543 LIBGUI="../libgui/src/libgui.a"
544 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
546 AC_SUBST(GUI_CFLAGS_X)
549 [ --with-cpu=CPU Set the default CPU variant to debug],
551 powerpc-* | powerpcle-* )
552 ## It would be nice to keep this table in sync with the one in
554 case "${with_cpu}" in
555 ppc-uisa | rs6000 | 403 | 403GC | 505 | 860 | 601 | 602 | 603 \
557 ## Those are all handled in variants in rs6000-tdep.c, so they're fine.
559 common | power | power2 | rios | rios1 | rios2 | rsc | rsc1 )
560 ## These are all RS6000 variants, as far as GDB is concerned.
570 AC_MSG_WARN(GDB: unknown --with-cpu value: \`${with_cpu}'; using \`ppc-uisa'.)
576 AC_MSG_WARN(GDB may ignore the --with-cpu flag for ${target} targets)
579 AC_DEFINE_UNQUOTED(TARGET_CPU_DEFAULT, "${with_cpu}")
584 [ --enable-gdbtk Enable GDBTK GUI front end],
585 [case "${enableval}" in
589 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
592 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
600 AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
603 # Default is on for everything but go32 and Cygwin
608 if test -d "${srcdir}/gdbtk" ; then
622 if test "${enable_gdbtk}" = "yes"; then
625 if test -z "${no_tcl}"; then
629 # If $no_tk is nonempty, then we can't do Tk, and there is no
630 # point to doing Tcl.
631 if test -z "${no_tk}"; then
639 # now look for Itcl library stuff
641 CY_AC_PATH_ITCLCONFIG
642 if test -z "${no_itcl}"; then
643 CY_AC_LOAD_ITCLCONFIG
646 itcldir=../itcl/itcl/win/
649 itcldir=../itcl/itcl/unix/
654 ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
655 ITCL_DEPS="${itcldir}${ITCL_LIB_FILE}"
659 # now look for Itk library stuff
661 if test -z "${no_itcl}"; then
666 itkdir=../itcl/itk/win/
669 itkdir=../itcl/itk/unix/
673 ITKLIB="${ITK_BUILD_LIB_SPEC}"
674 ITK_DEPS="${itkdir}${ITK_LIB_FILE}"
677 # now look for Tix library stuff
679 if test -z "${no_tix}"; then
681 TIXLIB="${TIX_BUILD_LIB_SPEC}"
682 TIX_DEPS="${TIX_BUILD_LOCATION}/${TIX_LIB_FILE}"
685 ENABLE_CFLAGS="$ENABLE_CFLAGS -DGDBTK"
686 # Tcl/Tk 8.1 require -fwritable strings. I don't
687 # know whether 8.2 will or not, but I bet it will.
688 # I don't have to worry about 7.x since we don't support it.
690 if test "$GCC" = "yes"; then
691 if test "$TCL_VERSION" != "8.0" ; then
692 GDBTK_CFLAGS="-fwritable-strings"
696 # Include some libraries that Tcl and Tk want.
697 TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
698 CONFIG_DEPS='$(LIBGUI) $(ITCL_DEPS) $(ITK_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
699 # Yes, the ordering seems wrong here. But it isn't.
700 # TK_LIBS is the list of libraries that need to be linked
701 # after Tcl/Tk. Note that this isn't put into LIBS. If it
702 # were in LIBS then any link tests after this point would
703 # try to include things like `$(LIBGUI)', which wouldn't work.
704 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
705 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"
706 CONFIG_OBS="${CONFIG_OBS} gdbtk.o gdbtk-cmds.o gdbtk-hooks.o gdbtk-varobj.o gdbtk-wrapper.o"
707 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"
708 CONFIG_ALL="${CONFIG_ALL} \$(SUBDIR_GDBTK_ALL)"
709 CONFIG_CLEAN="${CONFIG_ALL} \$(SUBDIR_GDBTK_CLEAN)"
710 CONFIG_INSTALL="${CONFIG_INSTALL} \$(SUBDIR_GDBTK_INSTALL)"
711 CONFIG_UNINSTALL="${CONFIG_UNINSTALL} \$(SUBDIR_GDBTK_UNINSTALL)"
713 if test x$gdb_cv_os_cygwin = xyes; then
714 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
715 WIN32LDAPP="-Wl,--subsystem,console"
716 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
732 AC_SUBST(GDBTK_CFLAGS)
737 # Unlike the sim directory, whether a simulator is linked is controlled by
738 # presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
739 # This code just checks for a few cases where we'd like to ignore those
740 # definitions, even when they're present in the '.mt' file. These cases
741 # are when --disable-sim is specified, or if the simulator directory is
742 # not part of the soruce tree.
745 [ --enable-sim Link gdb with simulator],
746 [echo "enable_sim = $enable_sim";
747 echo "enableval = ${enableval}";
748 case "${enableval}" in
749 yes) ignore_sim=false ;;
750 no) ignore_sim=true ;;
751 *) ignore_sim=false ;;
755 if test ! -d "${srcdir}/../sim"; then
759 if test "${ignore_sim}" = "true"; then
761 IGNORE_SIM_OBS="SIM_OBS="
768 AC_SUBST(IGNORE_SIM_OBS)
770 AC_SUBST(ENABLE_CFLAGS)
773 AC_SUBST(CONFIG_DEPS)
774 AC_SUBST(CONFIG_SRCS)
775 AC_SUBST(CONFIG_INITS)
777 AC_SUBST(CONFIG_CLEAN)
778 AC_SUBST(CONFIG_INSTALL)
779 AC_SUBST(CONFIG_UNINSTALL)
781 # Begin stuff to support --enable-shared
782 AC_ARG_ENABLE(shared,
783 [ --enable-shared Use shared libraries],
784 [case "${enableval}" in
792 # If we have shared libraries, try to set rpath reasonably.
793 if test "${shared}" = "true"; then
796 HLDFLAGS='-Wl,+s,+b,$(libdir)'
798 *-*-irix5* | *-*-irix6*)
799 HLDFLAGS='-Wl,-rpath,$(libdir)'
803 *-*-linux* | *-pc-linux-gnu)
804 HLDFLAGS='-Wl,-rpath,$(libdir)'
807 HLDFLAGS='-R $(libdir)'
810 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;'
815 # On SunOS, if the linker supports the -rpath option, use it to
816 # prevent ../bfd and ../opcodes from being included in the run time
820 echo 'main () { }' > conftest.c
821 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
822 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
824 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
826 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
828 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
830 elif test "${shared}" = "true"; then
831 HLDFLAGS='-Wl,-rpath=$(libdir)'
833 HLDFLAGS='-Wl,-rpath='
835 rm -f conftest.t conftest.c conftest
840 # End stuff to support --enable-shared
842 # target_subdir is used by the testsuite to find the target libraries.
844 if test "${host}" != "${target}"; then
845 target_subdir="${target_alias}/"
847 AC_SUBST(target_subdir)
850 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
851 if test ! -f ${host_makefile_frag}; then
852 AC_MSG_ERROR("*** Gdb does not support host ${host}")
854 frags="$frags $host_makefile_frag"
856 target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
857 if test ! -f ${target_makefile_frag}; then
858 AC_MSG_ERROR("*** Gdb does not support target ${target}")
860 frags="$frags $target_makefile_frag"
862 AC_SUBST_FILE(host_makefile_frag)
863 AC_SUBST_FILE(target_makefile_frag)
868 s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
869 ' ${host_makefile_frag}`
872 s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
873 ' ${target_makefile_frag}`
875 # these really aren't orthogonal true/false values of the same condition,
876 # but shells are slow enough that I like to reuse the test conditions
878 if test "${target}" = "${host}"; then
880 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
881 ' ${host_makefile_frag}`
883 # GDBserver is only useful in a "native" enviroment
884 # configdirs=`echo $configdirs | sed 's/gdbserver//'`
888 SUBDIRS="doc testsuite nlm"
889 if test "${enable_multi_ice}" = "yes"; then
890 SUBDIRS="${SUBDIRS} multi-ice"
895 # If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
896 # (NAT_FILE) is not set in config/*/*.m[ht] files, we don't make the
897 # corresponding links. But we have to remove the xm.h files and tm.h
898 # files anyway, e.g. when switching from "configure host" to
904 if test "${hostfile}" != ""; then
905 files="${files} config/${gdb_host_cpu}/${hostfile}"
906 links="${links} xm.h"
909 if test "${targetfile}" != ""; then
910 files="${files} config/${gdb_target_cpu}/${targetfile}"
911 links="${links} tm.h"
914 if test "${nativefile}" != ""; then
915 files="${files} config/${gdb_host_cpu}/${nativefile}"
916 links="${links} nm.h"
918 # A cross-only configuration.
919 files="${files} config/nm-empty.h"
920 links="${links} nm.h"
924 AC_LINK_FILES($files, $links)
926 dnl Check for exe extension set on certain hosts (e.g. Win32)
929 AC_CONFIG_SUBDIRS($configdirs)
930 AC_OUTPUT(Makefile tui/Makefile .gdbinit:gdbinit.in,
932 dnl Autoconf doesn't provide a mechanism for modifying definitions
933 dnl provided by makefile fragments.
935 if test "${nativefile}" = ""; then
936 sed -e '/^NATDEPFILES[[ ]]*=[[ ]]*/s//# NATDEPFILES=/' \
937 < Makefile > Makefile.tem
938 mv -f Makefile.tem Makefile
942 sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
943 /^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
944 /^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
945 mv -f Makefile.tmp Makefile
949 case x$CONFIG_HEADERS in
955 gdb_host_cpu=$gdb_host_cpu
956 gdb_target_cpu=$gdb_target_cpu
957 nativefile=$nativefile