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(build-warnings,
298 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
299 [build_warnings="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations"
300 case "${enableval}" in
302 no) build_warnings="-w";;
303 dnl ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
304 dnl build_warnings="${build_warnings} ${t}";;
305 dnl *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
306 dnl build_warnings="${t} ${build_warnings}";;
307 dnl *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
309 esac],[build_warnings=""])dnl
311 if test "x${build_warnings}" != x -a "x$GCC" = xyes
313 WARN_CFLAGS="${build_warnings}"
317 AC_SUBST(WARN_CFLAGS)
321 AC_SUBST(MMALLOC_CFLAGS)
325 [ --with-mmalloc Use memory mapped malloc package],
326 [case "${withval}" in
327 yes) want_mmalloc=true ;;
328 no) want_mmalloc=false;;
329 *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
330 esac],[want_mmalloc=false])dnl
332 if test x$want_mmalloc = xtrue; then
333 AC_DEFINE(USE_MMALLOC)
334 AC_DEFINE(MMCHECK_FORCE)
335 MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
336 MMALLOC='../mmalloc/libmmalloc.a'
339 # start-sanitize-carp
340 # The below takes an educated guess at the targets that
341 # should be built. It is an interum version that provides
342 # significant backward compatibility.
345 [ --enable-carp Configure alternative readaptive paradigm ],
346 [case "${enableval}" in
347 yes) enable_carp=yes ;;
348 no) enable_carp=no ;;
349 *) AC_MSG_ERROR([bad value ${enableval} for carp option]) ;;
350 esac],[enable_carp=no])dnl
352 AC_ARG_ENABLE(targets,
353 [ --enable-targets alternative target configurations],
354 [case "${enableval}" in
355 yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
357 no) enable_targets= ;;
358 *) enable_targets="$enableval" ;;
361 # Canonicalize the secondary target names.
363 if test -n "$enable_targets" ; then
364 if test "$enable_targets" = all ; then
367 for targ in `echo $enable_targets | sed 's/,/ /g'`
369 result=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $targ 2>/dev/null`
370 if test -n "$result" ; then
371 canon_targets="$canon_targets $result"
377 # Convert the target names into GDB [*]-tdep.c names
380 for targ in $target $canon_targets
382 if test "x$targ" = "xall" ; then
385 t_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
386 t_vendor=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
387 t_os=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
391 target_vendor=$t_vendor
393 . ${srcdir}/configure.tgt
394 echo ${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt`
395 if test -r ${mt} ; then
396 # This gets confused over .mt files that have multiple -tdep.o
398 s/^.*[ =]\([^ ]*\)-tdep.o.*/\1/p
400 selarchs="$selarchs $tdep"
406 # We don't do any links based on the target system, just makefile config.
408 if test x${all_targets} = xfalse ; then
410 # Target architecture .o files.
413 for arch in $selarchs
415 archdefs="$archdefs -DARCH_$arch"
416 ta="$ta ${arch}-tdep.o"
419 dvp) ta="$ta mips-tdep.o dvp-tdep.o" ;;
423 # Weed out duplicate .o files.
433 # And duplicate -D flags.
435 for i in $archdefs ; do
445 else # all_targets is true
447 MACHINE_OBS='$(ALL_MACHINES)'
450 dnl Don't define an archdefs list
451 dnl AC_SUBST(archdefs)
452 dnl XXXX this name will change several more times
453 if test "${enable_carp}" = yes ; then
457 MACHINE_OBS="# $MACHINE_OBS"
459 AC_SUBST(MACHINE_OBS)
462 # start-sanitize-gdbtk
465 AC_ARG_ENABLE(ide, [ --enable-ide Enable IDE support])
466 if test "$enable_ide" = yes; then
474 AC_ARG_WITH(foundry-libs,
475 [ --with-foundry-libs=DIR Use the Foundry SDK in DIR],
476 [FOUNDRY_LIB_BASE=${withval}])
477 AC_SUBST(FOUNDRY_LIB_BASE)
480 # This is the Foundry SDK
482 # These variables are used to determine where the Foundry libs and
483 # header files are located.
485 if test "$FOUNDRY_LIB_BASE" != ""; then
486 LIBGUI="${FOUNDRY_LIB_BASE}/lib/libgui.a"
487 GUI_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include"
488 if test x$enable_ide = xyes; then
489 IDE_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include -DIDE"
490 IDE_X="-L${FOUNDRY_LIB_BASE}/lib -lilu-Tk -lilu-c -lilu"
492 IDE_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include"
494 LIBIDETCL="${FOUNDRY_LIB_BASE}/lib/libidetcl.a"
495 LIBIDE="${FOUNDRY_LIB_BASE}/lib/libide.a"
496 IDE_DEPS="${FOUNDRY_LIB_BASE}/lib/libilu-Tk.a ${FOUNDRY_LIB_BASE}/lib/libilu-c.a ${FOUNDRY_LIB_BASE}/lib/libilu.a"
498 LIBGUI="../libgui/src/libgui.a"
499 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
500 if test x$enable_ide = xyes; then
501 IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src -DIDE -I${srcdir}/../ilu/runtime/mainloop"
502 IDE_X="-L../ilu/runtime/mainloop -lilu-Tk -L../ilu/runtime/c -lilu-c -L../ilu/runtime/kernel -lilu"
504 IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src"
506 LIBIDETCL="../libidetcl/src/libidetcl.a"
507 LIBIDE="../libide/src/libide.a"
508 IDE_DEPS="../ilu/runtime/mainloop/libilu-Tk.a ../ilu/runtime/c/libilu-c.a ../ilu/runtime/kernel/libilu.a"
511 AC_SUBST(GUI_CFLAGS_X)
512 AC_SUBST(IDE_CFLAGS_X)
522 [ --enable-gdbtk Enable GDBTK GUI front end],
523 [case "${enableval}" in
527 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
530 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
538 AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
541 # Default is on for everything but go32 and cygwin32
550 # In the cygwin32 environment, we need some additional flags.
551 AC_CACHE_CHECK([for cygwin32], gdb_cv_os_cygwin32,
552 [AC_EGREP_CPP(lose, [
555 #endif],[gdb_cv_os_cygwin32=yes],[gdb_cv_os_cygwin32=no])])
562 DLLTOOL=${DLLTOOL-dlltool}
563 WINDRES=${WINDRES-windres}
567 if test x$gdb_cv_os_cygwin32 = xyes; then
568 if test x$enable_ide = xyes; then
569 WIN32LIBS="-ladvapi32"
576 if test "${enable_gdbtk}" = "yes"; then
579 if test -z "${no_tcl}"; then
583 # If $no_tk is nonempty, then we can't do Tk, and there is no
584 # point to doing Tcl.
585 if test -z "${no_tk}"; then
592 # now look for tix library stuff
594 . ${ac_cv_c_tclconfig}/tclConfig.sh
597 tixdir=../tix/win/tcl8.0
600 tixdir=../tix/unix/tk8.0
603 if test "${TCL_SHARED_BUILD}" = "1"; then
604 TIX_LIB_EXT="${TCL_SHLIB_SUFFIX}"
606 # Can't win them all: SunOS 4 (others?) appends a version
607 # number after the ".so"
610 TIX_LIB_EXT="${TIX_LIB_EXT}.1.0" ;;
617 if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
618 TIXLIB="-L${tixdir} -ltix${TIXVERSION}"
619 TIX_DEPS="${tixdir}/libtix${TIXVERSION}${TIX_LIB_EXT}"
621 TIXLIB="-L${tixdir} -ltix`echo ${TIXVERSION} | tr -d .`"
622 TIX_DEPS="${tixdir}/libtix`echo ${TIXVERSION} | tr -d .`${TIX_LIB_EXT}"
626 ENABLE_CFLAGS="${ENABLE_CFLAGS} -DGDBTK"
628 # Include some libraries that Tcl and Tk want.
629 if test "${enable_ide}" = "yes"; then
630 TCL_LIBS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
631 CONFIG_DEPS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE_DEPS) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
633 TCL_LIBS='$(LIBGUI) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
634 CONFIG_DEPS='$(LIBGUI) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
636 # Yes, the ordering seems wrong here. But it isn't.
637 # TK_LIBS is the list of libraries that need to be linked
638 # after Tcl/Tk. Note that this isn't put into LIBS. If it
639 # were in LIBS then any link tests after this point would
640 # try to include things like `$(LIBGUI)', which wouldn't work.
641 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
642 CONFIG_OBS="${CONFIG_OBS} gdbtk.o gdbtk-cmds.o gdbtk-hooks.o"
644 if test x$gdb_cv_os_cygwin32 = xyes; then
645 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32 -luser32"
646 WIN32LDAPP="-Wl,--subsystem,console"
647 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
653 AC_SUBST(ENABLE_GDBTK)
664 # Enable GPU2 library for MIPS simulator
665 AC_ARG_WITH(sim-gpu2,
666 [ --with-sim-gpu2=DIR Use GPU2 library under given DIR],
669 if test -d "${withval}"
671 LIBS="${LIBS} -L${withval}/lib -lgpu2 -L${x_libraries} -lX11 -lXext"
673 AC_MSG_WARN([Directory ${withval} does not exist.])
675 *) AC_MSG_WARN([--with-sim-gpu2 option invalid for target ${target}])
678 # Enable target accurate FP library
679 AC_ARG_WITH(sim-funit,
680 [ --with-sim-funit=DIR Use target FP lib under given DIR],
683 if test -d "${withval}"
685 LIBS="${LIBS} -L${withval}/lib -lfunit"
687 AC_MSG_WARN([Directory ${withval} does not exist.])
689 *) AC_MSG_WARN([--with-sim-funit option invalid for target ${target}])
693 AC_SUBST(ENABLE_CFLAGS)
696 AC_SUBST(CONFIG_DEPS)
697 AC_SUBST(CONFIG_SRCS)
699 # Begin stuff to support --enable-shared
700 AC_ARG_ENABLE(shared,
701 [ --enable-shared Use shared libraries],
702 [case "${enableval}" in
710 # If we have shared libraries, try to set rpath reasonably.
711 if test "${shared}" = "true"; then
714 HLDFLAGS='-Wl,+s,+b,$(libdir)'
716 *-*-irix5* | *-*-irix6*)
717 HLDFLAGS='-Wl,-rpath,$(libdir)'
721 *-*-linux* | *-pc-linux-gnu)
722 HLDFLAGS='-Wl,-rpath,$(libdir)'
725 HLDFLAGS='-R $(libdir)'
728 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;'
733 # On SunOS, if the linker supports the -rpath option, use it to
734 # prevent ../bfd and ../opcodes from being included in the run time
738 echo 'main () { }' > conftest.c
739 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
740 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
742 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
744 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
746 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
748 elif test "${shared}" = "true"; then
749 HLDFLAGS='-Wl,-rpath=$(libdir)'
751 HLDFLAGS='-Wl,-rpath='
753 rm -f conftest.t conftest.c conftest
758 # End stuff to support --enable-shared
760 # target_subdir is used by the testsuite to find the target libraries.
762 if test "${host}" != "${target}"; then
763 target_subdir="${target_alias}/"
765 AC_SUBST(target_subdir)
768 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
769 if test ! -f ${host_makefile_frag}; then
770 AC_MSG_ERROR("*** Gdb does not support host ${host}")
772 frags="$frags $host_makefile_frag"
774 target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
775 if test ! -f ${target_makefile_frag}; then
776 AC_MSG_ERROR("*** Gdb does not support target ${target}")
778 frags="$frags $target_makefile_frag"
780 AC_SUBST_FILE(host_makefile_frag)
781 AC_SUBST_FILE(target_makefile_frag)
786 s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
787 ' ${host_makefile_frag}`
790 s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
791 ' ${target_makefile_frag}`
793 # these really aren't orthogonal true/false values of the same condition,
794 # but shells are slow enough that I like to reuse the test conditions
796 if test "${target}" = "${host}"; then
798 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
799 ' ${host_makefile_frag}`
801 # GDBserver is only useful in a "native" enviroment
802 # configdirs=`echo $configdirs | sed 's/gdbserver//'`
806 # If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
807 # (NAT_FILE) is not set in config/*/*.m[ht] files, we don't make the
808 # corresponding links. But we have to remove the xm.h files and tm.h
809 # files anyway, e.g. when switching from "configure host" to
815 if test "${hostfile}" != ""; then
816 files="${files} config/${gdb_host_cpu}/${hostfile}"
817 links="${links} xm.h"
820 if test "${targetfile}" != ""; then
821 files="${files} config/${gdb_target_cpu}/${targetfile}"
822 links="${links} tm.h"
825 if test "${nativefile}" != ""; then
826 files="${files} config/${gdb_host_cpu}/${nativefile}"
827 links="${links} nm.h"
829 # A cross-only configuration.
830 files="${files} config/nm-empty.h"
831 links="${links} nm.h"
833 # start-sanitize-gdbtk
835 # Make it possible to use the GUI without doing a full install
836 if test "${enable_gdbtk}" = "yes" -a ! -d gdbtcl2 ; then
837 if test "$LN_S" = "ln -s" -a ! -f gdbtcl2 ; then
838 echo linking $srcdir/gdbtcl2 to gdbtcl2
839 $LN_S $srcdir/gdbtcl2 gdbtcl2
841 echo Warning: Unable to link $srcdir/gdbtcl2 to gdbtcl2. You will need to do a
842 echo " " make install before you are able to run the GUI.
847 AC_LINK_FILES($files, $links)
849 dnl Check for exe extension set on certain hosts (e.g. Win32)
852 AC_CONFIG_SUBDIRS($configdirs)
853 AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
855 dnl Autoconf doesn't provide a mechanism for modifying definitions
856 dnl provided by makefile fragments.
858 if test "${nativefile}" = ""; then
859 sed -e '/^NATDEPFILES[[ ]]*=[[ ]]*/s//# NATDEPFILES=/' \
860 < Makefile > Makefile.tem
861 mv -f Makefile.tem Makefile
865 sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
866 /^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
867 /^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
868 mv -f Makefile.tmp Makefile
871 case x$CONFIG_HEADERS in
877 gdb_host_cpu=$gdb_host_cpu
878 gdb_target_cpu=$gdb_target_cpu
879 nativefile=$nativefile