1 dnl Autoconf configure script for GDB, the GNU debugger.
2 dnl Copyright 1995, 1996, 1997, 1998 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)
30 AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
33 dnl gdb doesn't use gettext, but bfd does. We call this to ensure we
34 dnl link with the correct libraries.
38 dnl List of object files added by configure.
44 configdirs="doc testsuite"
49 . ${srcdir}/configure.host
51 . ${srcdir}/configure.tgt
58 AC_CHECK_TOOL(RANLIB, ranlib, :)
66 AC_CHECK_HEADERS(ctype.h curses.h endian.h libintl.h link.h \
67 memory.h objlist.h ptrace.h sgtty.h stddef.h stdlib.h \
68 string.h sys/procfs.h sys/ptrace.h sys/reg.h \
69 term.h termio.h termios.h unistd.h wait.h sys/wait.h \
70 wchar.h wctype.h asm/debugreg.h)
76 AC_CHECK_FUNCS(setpgid sbrk sigaction isascii bzero bcopy btowc)
79 BFD_NEED_DECLARATION(malloc)
80 BFD_NEED_DECLARATION(realloc)
81 BFD_NEED_DECLARATION(free)
82 BFD_NEED_DECLARATION(strerror)
83 BFD_NEED_DECLARATION(strdup)
85 # If we are configured native on GNU/Linux, work around problems with sys/procfs.h
86 if test "${target}" = "${host}"; then
89 AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
90 AC_DEFINE(sys_quotactl)
95 AC_MSG_CHECKING([for gregset_t type])
96 AC_CACHE_VAL(gdb_cv_have_gregset_t,
97 [AC_TRY_LINK([#include <sys/procfs.h>],[gregset_t *gregsetp = 0],
98 gdb_cv_have_gregset_t=yes, gdb_cv_have_gregset_t=no)])
99 AC_MSG_RESULT($gdb_cv_have_gregset_t)
100 if test $gdb_cv_have_gregset_t = yes; then
101 AC_DEFINE(HAVE_GREGSET_T)
104 AC_MSG_CHECKING([for fpregset_t type])
105 AC_CACHE_VAL(gdb_cv_have_fpregset_t,
106 [AC_TRY_LINK([#include <sys/procfs.h>],[fpregset_t *fpregsetp = 0],
107 gdb_cv_have_fpregset_t=yes, gdb_cv_have_fpregset_t=no)])
108 AC_MSG_RESULT($gdb_cv_have_fpregset_t)
109 if test $gdb_cv_have_fpregset_t = yes; then
110 AC_DEFINE(HAVE_FPREGSET_T)
113 dnl See if host has libm. This is usually needed by simulators.
114 AC_CHECK_LIB(m, main)
116 dnl Solaris puts wctype in /usr/lib/libw.a before Solaris 2.6.
118 dnl A bug in GNU ld 2.9.1 causes a problem if we link in -lw
119 dnl under Solaris 2.6 because it is some funky empty library.
120 dnl So only link in libw if we have to.
121 AC_CHECK_LIB(c, wctype,: ,AC_CHECK_LIB(w, wctype))
123 dnl See if compiler supports "long long" type.
125 AC_MSG_CHECKING(for long long support in compiler)
126 AC_CACHE_VAL(gdb_cv_c_long_long,
128 extern long long foo;
129 switch (foo & 2) { case 0: return 1; }
131 gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])
132 AC_MSG_RESULT($gdb_cv_c_long_long)
133 if test $gdb_cv_c_long_long = yes; then
134 AC_DEFINE(CC_HAS_LONG_LONG)
137 dnl See if the compiler and runtime support printing long long
139 AC_MSG_CHECKING(for long long support in printf)
140 AC_CACHE_VAL(gdb_cv_printf_has_long_long,
145 l = (l << 16) + 0x0123;
146 l = (l << 16) + 0x4567;
147 l = (l << 16) + 0x89ab;
148 l = (l << 16) + 0xcdef;
149 sprintf (buf, "0x%016llx", l);
150 return (strcmp ("0x0123456789abcdef", buf));
152 gdb_cv_printf_has_long_long=yes,
153 gdb_cv_printf_has_long_long=no,
154 gdb_cv_printf_has_long_long=no)])
155 if test $gdb_cv_printf_has_long_long = yes; then
156 AC_DEFINE(PRINTF_HAS_LONG_LONG)
158 AC_MSG_RESULT($gdb_cv_printf_has_long_long)
160 dnl See if compiler supports "long double" type. Can't use AC_C_LONG_DOUBLE
161 dnl because autoconf complains about cross-compilation issues. However, this
162 dnl code uses the same variables as the macro for compatibility.
164 AC_MSG_CHECKING(for long double support in compiler)
165 AC_CACHE_VAL(ac_cv_c_long_double,
166 [AC_TRY_COMPILE(, [long double foo;],
167 ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])
168 AC_MSG_RESULT($ac_cv_c_long_double)
169 if test $ac_cv_c_long_double = yes; then
170 AC_DEFINE(HAVE_LONG_DOUBLE)
173 dnl See if the compiler and runtime support printing long doubles
175 AC_MSG_CHECKING(for long double support in printf)
176 AC_CACHE_VAL(gdb_cv_printf_has_long_double,
180 long double f = 3.141592653;
181 sprintf (buf, "%Lg", f);
182 return (strncmp ("3.14159", buf, 7));
184 gdb_cv_printf_has_long_double=yes,
185 gdb_cv_printf_has_long_double=no,
186 gdb_cv_printf_has_long_double=no)])
187 if test $gdb_cv_printf_has_long_double = yes; then
188 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE)
190 AC_MSG_RESULT($gdb_cv_printf_has_long_double)
192 dnl See if the compiler and runtime support scanning long doubles
194 AC_MSG_CHECKING(for long double support in scanf)
195 AC_CACHE_VAL(gdb_cv_scanf_has_long_double,
198 char *buf = "3.141592653";
200 sscanf (buf, "%Lg", &f);
201 return !(f > 3.14159 && f < 3.14160);
203 gdb_cv_scanf_has_long_double=yes,
204 gdb_cv_scanf_has_long_double=no,
205 gdb_cv_scanf_has_long_double=no)])
206 if test $gdb_cv_scanf_has_long_double = yes; then
207 AC_DEFINE(SCANF_HAS_LONG_DOUBLE)
209 AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
213 dnl See if thread_db library is around for Solaris thread debugging. Note that
214 dnl we must explicitly test for version 1 of the library because version 0
215 dnl (present on Solaris 2.4 or earlier) doesn't have the same API.
217 dnl Note that we only want this if we are both native (host == target), and
218 dnl not doing a canadian cross build (build == host).
220 if test ${build} = ${host} -a ${host} = ${target} ; then
223 AC_MSG_CHECKING(for HPUX/OSF thread support)
224 if test -f /usr/include/dce/cma_config.h ; then
225 if test "$GCC" = "yes" ; then
227 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
228 CONFIG_OBS="${CONFIG_OJS} hpux-thread.o"
229 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
231 AC_MSG_RESULT(no (suppressed because you are not using GCC))
238 AC_MSG_CHECKING(for Solaris thread debugging library)
239 if test -f /usr/lib/libthread_db.so.1 ; then
241 AC_DEFINE(HAVE_THREAD_DB_LIB)
242 CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
243 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
244 AC_CHECK_LIB(dl, dlopen)
245 if test "$GCC" = "yes" ; then
246 # The GNU linker requires the -export-dynamic option to make
247 # all symbols visible in the dynamic symbol table.
248 hold_ldflags=$LDFLAGS
249 AC_MSG_CHECKING(for the ld -export-dynamic flag)
250 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
251 AC_TRY_LINK(, [int i;], found=yes, found=no)
252 LDFLAGS=$hold_ldflags
253 AC_MSG_RESULT($found)
254 if test $found = yes; then
255 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
258 # Sun randomly tweaked the prototypes in <proc_service.h>
260 AC_MSG_CHECKING(if <proc_service.h> is old)
261 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
263 #include <proc_service.h>
265 (struct ps_prochandle*, psaddr_t, const void*, size_t);
266 ],, gdb_cv_proc_service_is_old=no,
267 gdb_cv_proc_service_is_old=yes)
269 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
270 if test $gdb_cv_proc_service_is_old = yes; then
271 AC_DEFINE(PROC_SERVICE_IS_OLD)
278 AC_SUBST(CONFIG_LDFLAGS)
281 dnl Handle optional features that can be enabled.
284 AC_ARG_ENABLE(netrom,
286 [case "${enableval}" in
287 yes) enable_netrom=yes ;;
288 no) enable_netrom=no ;;
289 *) AC_MSG_ERROR(bad value ${enableval} given for netrom option) ;;
292 if test "${enable_netrom}" = "yes"; then
293 CONFIG_OBS="${CONFIG_OBS} remote-nrom.o"
294 CONFIG_SRCS="${CONFIG_SRCS} remote-nrom.c"
297 AC_ARG_ENABLE(warnings,
298 [ --enable-build-warnings Enable compiler warnings if gcc is used],
299 [case "${enableval}" in
300 yes) enable_build_warnings=yes ;;
301 no) enable_build_warnings=no ;;
302 *) AC_MSG_ERROR(bad value ${enableval} given for warnings options) ;;
305 if test "x$enable_build_warnings" = xyes -a "x$GCC" = xyes
307 WARN_CFLAGS="-Wall -Wstrict-prototypes -Wmissing-prototypes"
311 AC_SUBST(WARN_CFLAGS)
315 AC_SUBST(MMALLOC_CFLAGS)
319 [ --with-mmalloc Use memory mapped malloc package],
320 [case "${withval}" in
321 yes) want_mmalloc=true ;;
322 no) want_mmalloc=false;;
323 *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
324 esac],[want_mmalloc=false])dnl
326 if test x$want_mmalloc = xtrue; then
327 AC_DEFINE(USE_MMALLOC)
328 AC_DEFINE(MMCHECK_FORCE)
329 MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
330 MMALLOC='../mmalloc/libmmalloc.a'
333 # start-sanitize-carp
334 # The below takes an educated guess at the targets that
335 # should be built. It is an interum version that provides
336 # significant backward compatibility.
339 [ --enable-carp Configure alternative readaptive paradigm ],
340 [case "${enableval}" in
341 yes) enable_carp=yes ;;
342 no) enable_carp=no ;;
343 *) AC_MSG_ERROR([bad value ${enableval} for carp option]) ;;
344 esac],[enable_carp=no])dnl
346 AC_ARG_ENABLE(targets,
347 [ --enable-targets alternative target configurations],
348 [case "${enableval}" in
349 yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
351 no) enable_targets= ;;
352 *) enable_targets="$enableval" ;;
355 # Canonicalize the secondary target names.
357 if test -n "$enable_targets" ; then
358 if test "$enable_targets" = all ; then
361 for targ in `echo $enable_targets | sed 's/,/ /g'`
363 result=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $targ 2>/dev/null`
364 if test -n "$result" ; then
365 canon_targets="$canon_targets $result"
371 # Convert the target names into GDB [*]-tdep.c names
374 for targ in $target $canon_targets
376 if test "x$targ" = "xall" ; then
379 t_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
380 t_vendor=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
381 t_os=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
385 target_vendor=$t_vendor
387 . ${srcdir}/configure.tgt
388 echo ${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt`
389 if test -r ${mt} ; then
390 # This gets confused over .mt files that have multiple -tdep.o
392 s/^.*[ =]\([^ ]*\)-tdep.o.*/\1/p
394 selarchs="$selarchs $tdep"
400 # We don't do any links based on the target system, just makefile config.
402 if test x${all_targets} = xfalse ; then
404 # Target architecture .o files.
407 for arch in $selarchs
409 archdefs="$archdefs -DARCH_$arch"
410 ta="$ta ${arch}-tdep.o"
413 dvp) ta="$ta mips-tdep.o dvp-tdep.o" ;;
417 # Weed out duplicate .o files.
427 # And duplicate -D flags.
429 for i in $archdefs ; do
439 else # all_targets is true
441 MACHINE_OBS='$(ALL_MACHINES)'
444 dnl Don't define an archdefs list
445 dnl AC_SUBST(archdefs)
446 dnl XXXX this name will change several more times
447 if test "${enable_carp}" = yes ; then
451 MACHINE_OBS="# $MACHINE_OBS"
453 AC_SUBST(MACHINE_OBS)
456 # start-sanitize-gdbtk
459 AC_ARG_ENABLE(ide, [ --enable-ide Enable IDE support])
460 if test "$enable_ide" = yes; then
468 AC_ARG_WITH(foundry-libs,
469 [ --with-foundry-libs=DIR Use the Foundry SDK in DIR],
470 [FOUNDRY_LIB_BASE=${withval}])
471 AC_SUBST(FOUNDRY_LIB_BASE)
474 # This is the Foundry SDK
476 # These variables are used to determine where the Foundry libs and
477 # header files are located.
479 if test "$FOUNDRY_LIB_BASE" != ""; then
480 LIBGUI="${FOUNDRY_LIB_BASE}/lib/libgui.a"
481 GUI_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include"
482 if test x$enable_ide = xyes; then
483 IDE_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include -DIDE"
484 IDE_X="-L${FOUNDRY_LIB_BASE}/lib -lilu-Tk -lilu-c -lilu"
486 IDE_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include"
488 LIBIDETCL="${FOUNDRY_LIB_BASE}/lib/libidetcl.a"
489 LIBIDE="${FOUNDRY_LIB_BASE}/lib/libide.a"
490 IDE_DEPS="${FOUNDRY_LIB_BASE}/lib/libilu-Tk.a ${FOUNDRY_LIB_BASE}/lib/libilu-c.a ${FOUNDRY_LIB_BASE}/lib/libilu.a"
492 LIBGUI="../libgui/src/libgui.a"
493 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
494 if test x$enable_ide = xyes; then
495 IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src -DIDE -I${srcdir}/../ilu/runtime/mainloop"
496 IDE_X="-L../ilu/runtime/mainloop -lilu-Tk -L../ilu/runtime/c -lilu-c -L../ilu/runtime/kernel -lilu"
498 IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src"
500 LIBIDETCL="../libidetcl/src/libidetcl.a"
501 LIBIDE="../libide/src/libide.a"
502 IDE_DEPS="../ilu/runtime/mainloop/libilu-Tk.a ../ilu/runtime/c/libilu-c.a ../ilu/runtime/kernel/libilu.a"
505 AC_SUBST(GUI_CFLAGS_X)
506 AC_SUBST(IDE_CFLAGS_X)
516 [ --enable-gdbtk Enable GDBTK GUI front end],
517 [case "${enableval}" in
521 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
524 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
532 AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
535 # Default is on for everything but go32 and cygwin32
544 # In the cygwin32 environment, we need some additional flags.
545 AC_CACHE_CHECK([for cygwin32], gdb_cv_os_cygwin32,
546 [AC_EGREP_CPP(lose, [
549 #endif],[gdb_cv_os_cygwin32=yes],[gdb_cv_os_cygwin32=no])])
556 DLLTOOL=${DLLTOOL-dlltool}
557 WINDRES=${WINDRES-windres}
561 if test x$gdb_cv_os_cygwin32 = xyes; then
562 if test x$enable_ide = xyes; then
563 WIN32LIBS="-ladvapi32"
570 if test "${enable_gdbtk}" = "yes"; then
573 if test -z "${no_tcl}"; then
577 # If $no_tk is nonempty, then we can't do Tk, and there is no
578 # point to doing Tcl.
579 if test -z "${no_tk}"; then
586 # now look for tix library stuff
588 . ${ac_cv_c_tclconfig}/tclConfig.sh
591 tixdir=../tix/win/tcl8.0
594 tixdir=../tix/unix/tk8.0
597 if test "${TCL_SHARED_BUILD}" = "1"; then
598 TIX_LIB_EXT="${TCL_SHLIB_SUFFIX}"
600 # Can't win them all: SunOS 4 (others?) appends a version
601 # number after the ".so"
604 TIX_LIB_EXT="${TIX_LIB_EXT}.1.0" ;;
611 if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
612 TIXLIB="-L${tixdir} -ltix${TIXVERSION}"
613 TIX_DEPS="${tixdir}/libtix${TIXVERSION}${TIX_LIB_EXT}"
615 TIXLIB="-L${tixdir} -ltix`echo ${TIXVERSION} | tr -d .`"
616 TIX_DEPS="${tixdir}/libtix`echo ${TIXVERSION} | tr -d .`${TIX_LIB_EXT}"
620 ENABLE_CFLAGS="${ENABLE_CFLAGS} -DGDBTK"
622 # Include some libraries that Tcl and Tk want.
623 if test "${enable_ide}" = "yes"; then
624 TCL_LIBS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
625 CONFIG_DEPS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE_DEPS) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
627 TCL_LIBS='$(LIBGUI) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
628 CONFIG_DEPS='$(LIBGUI) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
630 # Yes, the ordering seems wrong here. But it isn't.
631 # TK_LIBS is the list of libraries that need to be linked
632 # after Tcl/Tk. Note that this isn't put into LIBS. If it
633 # were in LIBS then any link tests after this point would
634 # try to include things like `$(LIBGUI)', which wouldn't work.
635 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
636 CONFIG_OBS="${CONFIG_OBS} gdbtk.o gdbtk-cmds.o gdbtk-hooks.o"
638 if test x$gdb_cv_os_cygwin32 = xyes; then
639 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32 -luser32"
640 WIN32LDAPP="-Wl,--subsystem,console"
641 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
647 AC_SUBST(ENABLE_GDBTK)
658 # Enable GPU2 library for MIPS simulator
659 AC_ARG_WITH(sim-gpu2,
660 [ --with-sim-gpu2=DIR Use GPU2 library under given DIR],
663 if test -d "${withval}"
665 LIBS="${LIBS} -L${withval}/lib -lgpu2 -L${x_libraries} -lX11 -lXext"
667 AC_MSG_WARN([Directory ${withval} does not exist.])
669 *) AC_MSG_WARN([--with-sim-gpu2 option invalid for target ${target}])
672 # Enable target accurate FP library
673 AC_ARG_WITH(sim-funit,
674 [ --with-sim-funit=DIR Use target FP lib under given DIR],
677 if test -d "${withval}"
679 LIBS="${LIBS} -L${withval}/lib -lfunit"
681 AC_MSG_WARN([Directory ${withval} does not exist.])
683 *) AC_MSG_WARN([--with-sim-funit option invalid for target ${target}])
687 AC_SUBST(ENABLE_CFLAGS)
690 AC_SUBST(CONFIG_DEPS)
691 AC_SUBST(CONFIG_SRCS)
693 # Begin stuff to support --enable-shared
694 AC_ARG_ENABLE(shared,
695 [ --enable-shared Use shared libraries],
696 [case "${enableval}" in
704 # If we have shared libraries, try to set rpath reasonably.
705 if test "${shared}" = "true"; then
708 HLDFLAGS='-Wl,+s,+b,$(libdir)'
710 *-*-irix5* | *-*-irix6*)
711 HLDFLAGS='-Wl,-rpath,$(libdir)'
715 *-*-linux* | *-pc-linux-gnu)
716 HLDFLAGS='-Wl,-rpath,$(libdir)'
719 HLDFLAGS='-R $(libdir)'
722 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;'
727 # On SunOS, if the linker supports the -rpath option, use it to
728 # prevent ../bfd and ../opcodes from being included in the run time
732 echo 'main () { }' > conftest.c
733 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
734 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
736 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
738 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
740 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
742 elif test "${shared}" = "true"; then
743 HLDFLAGS='-Wl,-rpath=$(libdir)'
745 HLDFLAGS='-Wl,-rpath='
747 rm -f conftest.t conftest.c conftest
752 # End stuff to support --enable-shared
754 # target_subdir is used by the testsuite to find the target libraries.
756 if test "${host}" != "${target}"; then
757 target_subdir="${target_alias}/"
759 AC_SUBST(target_subdir)
762 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
763 if test ! -f ${host_makefile_frag}; then
764 AC_MSG_ERROR("*** Gdb does not support host ${host}")
766 frags="$frags $host_makefile_frag"
768 target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
769 if test ! -f ${target_makefile_frag}; then
770 AC_MSG_ERROR("*** Gdb does not support target ${target}")
772 frags="$frags $target_makefile_frag"
774 AC_SUBST_FILE(host_makefile_frag)
775 AC_SUBST_FILE(target_makefile_frag)
780 s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
781 ' ${host_makefile_frag}`
784 s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
785 ' ${target_makefile_frag}`
787 # these really aren't orthogonal true/false values of the same condition,
788 # but shells are slow enough that I like to reuse the test conditions
790 if test "${target}" = "${host}"; then
792 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
793 ' ${host_makefile_frag}`
795 # GDBserver is only useful in a "native" enviroment
796 # configdirs=`echo $configdirs | sed 's/gdbserver//'`
800 # If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
801 # (NAT_FILE) is not set in config/*/*.m[ht] files, we don't make the
802 # corresponding links. But we have to remove the xm.h files and tm.h
803 # files anyway, e.g. when switching from "configure host" to
809 if test "${hostfile}" != ""; then
810 files="${files} config/${gdb_host_cpu}/${hostfile}"
811 links="${links} xm.h"
814 if test "${targetfile}" != ""; then
815 files="${files} config/${gdb_target_cpu}/${targetfile}"
816 links="${links} tm.h"
819 if test "${nativefile}" != ""; then
820 files="${files} config/${gdb_host_cpu}/${nativefile}"
821 links="${links} nm.h"
823 # A cross-only configuration.
824 files="${files} config/nm-empty.h"
825 links="${links} nm.h"
827 # start-sanitize-gdbtk
829 # Make it possible to use the GUI without doing a full install
830 if test "${enable_gdbtk}" = "yes" -a ! -d gdbtcl2 ; then
831 if test "$LN_S" = "ln -s" -a ! -f gdbtcl2 ; then
832 echo linking $srcdir/gdbtcl2 to gdbtcl2
833 $LN_S $srcdir/gdbtcl2 gdbtcl2
835 echo Warning: Unable to link $srcdir/gdbtcl2 to gdbtcl2. You will need to do a
836 echo " " make install before you are able to run the GUI.
841 AC_LINK_FILES($files, $links)
843 dnl Check for exe extension set on certain hosts (e.g. Win32)
846 AC_CONFIG_SUBDIRS($configdirs)
847 AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
849 dnl Autoconf doesn't provide a mechanism for modifying definitions
850 dnl provided by makefile fragments.
852 if test "${nativefile}" = ""; then
853 sed -e '/^NATDEPFILES[[ ]]*=[[ ]]*/s//# NATDEPFILES=/' \
854 < Makefile > Makefile.tem
855 mv -f Makefile.tem Makefile
859 sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
860 /^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
861 /^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
862 mv -f Makefile.tmp Makefile
865 case x$CONFIG_HEADERS in
871 gdb_host_cpu=$gdb_host_cpu
872 gdb_target_cpu=$gdb_target_cpu
873 nativefile=$nativefile