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 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
304 build_warnings="${build_warnings} ${t}";;
305 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
306 build_warnings="${t} ${build_warnings}";;
307 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
308 esac],[build_warnings=""])dnl
310 if test "x${build_warnings}" != x -a "x$GCC" = xyes
312 WARN_CFLAGS="${build_warnings}"
316 AC_SUBST(WARN_CFLAGS)
320 AC_SUBST(MMALLOC_CFLAGS)
324 [ --with-mmalloc Use memory mapped malloc package],
325 [case "${withval}" in
326 yes) want_mmalloc=true ;;
327 no) want_mmalloc=false;;
328 *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
329 esac],[want_mmalloc=false])dnl
331 if test x$want_mmalloc = xtrue; then
332 AC_DEFINE(USE_MMALLOC)
333 AC_DEFINE(MMCHECK_FORCE)
334 MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
335 MMALLOC='../mmalloc/libmmalloc.a'
338 # start-sanitize-carp
339 # The below takes an educated guess at the targets that
340 # should be built. It is an interum version that provides
341 # significant backward compatibility.
344 [ --enable-carp Configure alternative readaptive paradigm ],
345 [case "${enableval}" in
346 yes) enable_carp=yes ;;
347 no) enable_carp=no ;;
348 *) AC_MSG_ERROR([bad value ${enableval} for carp option]) ;;
349 esac],[enable_carp=no])dnl
351 AC_ARG_ENABLE(targets,
352 [ --enable-targets alternative target configurations],
353 [case "${enableval}" in
354 yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
356 no) enable_targets= ;;
357 *) enable_targets="$enableval" ;;
360 # Canonicalize the secondary target names.
362 if test -n "$enable_targets" ; then
363 if test "$enable_targets" = all ; then
366 for targ in `echo $enable_targets | sed 's/,/ /g'`
368 result=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $targ 2>/dev/null`
369 if test -n "$result" ; then
370 canon_targets="$canon_targets $result"
376 # Convert the target names into GDB [*]-tdep.c names
379 for targ in $target $canon_targets
381 if test "x$targ" = "xall" ; then
384 t_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
385 t_vendor=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
386 t_os=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
390 target_vendor=$t_vendor
392 . ${srcdir}/configure.tgt
393 echo ${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt`
394 if test -r ${mt} ; then
395 # This gets confused over .mt files that have multiple -tdep.o
397 s/^.*[ =]\([^ ]*\)-tdep.o.*/\1/p
399 selarchs="$selarchs $tdep"
405 # We don't do any links based on the target system, just makefile config.
407 if test x${all_targets} = xfalse ; then
409 # Target architecture .o files.
412 for arch in $selarchs
414 archdefs="$archdefs -DARCH_$arch"
415 ta="$ta ${arch}-tdep.o"
418 dvp) ta="$ta mips-tdep.o dvp-tdep.o" ;;
422 # Weed out duplicate .o files.
432 # And duplicate -D flags.
434 for i in $archdefs ; do
444 else # all_targets is true
446 MACHINE_OBS='$(ALL_MACHINES)'
449 dnl Don't define an archdefs list
450 dnl AC_SUBST(archdefs)
451 dnl XXXX this name will change several more times
452 if test "${enable_carp}" = yes ; then
456 MACHINE_OBS="# $MACHINE_OBS"
458 AC_SUBST(MACHINE_OBS)
461 # start-sanitize-gdbtk
464 AC_ARG_ENABLE(ide, [ --enable-ide Enable IDE support])
465 if test "$enable_ide" = yes; then
473 AC_ARG_WITH(foundry-libs,
474 [ --with-foundry-libs=DIR Use the Foundry SDK in DIR],
475 [FOUNDRY_LIB_BASE=${withval}])
476 AC_SUBST(FOUNDRY_LIB_BASE)
479 # This is the Foundry SDK
481 # These variables are used to determine where the Foundry libs and
482 # header files are located.
484 if test "$FOUNDRY_LIB_BASE" != ""; then
485 LIBGUI="${FOUNDRY_LIB_BASE}/lib/libgui.a"
486 GUI_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include"
487 if test x$enable_ide = xyes; then
488 IDE_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include -DIDE"
489 IDE_X="-L${FOUNDRY_LIB_BASE}/lib -lilu-Tk -lilu-c -lilu"
491 IDE_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include"
493 LIBIDETCL="${FOUNDRY_LIB_BASE}/lib/libidetcl.a"
494 LIBIDE="${FOUNDRY_LIB_BASE}/lib/libide.a"
495 IDE_DEPS="${FOUNDRY_LIB_BASE}/lib/libilu-Tk.a ${FOUNDRY_LIB_BASE}/lib/libilu-c.a ${FOUNDRY_LIB_BASE}/lib/libilu.a"
497 LIBGUI="../libgui/src/libgui.a"
498 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
499 if test x$enable_ide = xyes; then
500 IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src -DIDE -I${srcdir}/../ilu/runtime/mainloop"
501 IDE_X="-L../ilu/runtime/mainloop -lilu-Tk -L../ilu/runtime/c -lilu-c -L../ilu/runtime/kernel -lilu"
503 IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src"
505 LIBIDETCL="../libidetcl/src/libidetcl.a"
506 LIBIDE="../libide/src/libide.a"
507 IDE_DEPS="../ilu/runtime/mainloop/libilu-Tk.a ../ilu/runtime/c/libilu-c.a ../ilu/runtime/kernel/libilu.a"
510 AC_SUBST(GUI_CFLAGS_X)
511 AC_SUBST(IDE_CFLAGS_X)
521 [ --enable-gdbtk Enable GDBTK GUI front end],
522 [case "${enableval}" in
526 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
529 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
537 AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
540 # Default is on for everything but go32 and Cygwin
549 # In the Cygwin environment, we need some additional flags.
550 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
551 [AC_EGREP_CPP(lose, [
554 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
561 DLLTOOL=${DLLTOOL-dlltool}
562 WINDRES=${WINDRES-windres}
566 if test x$gdb_cv_os_cygwin = xyes; then
567 if test x$enable_ide = xyes; then
568 WIN32LIBS="-ladvapi32"
575 if test "${enable_gdbtk}" = "yes"; then
578 if test -z "${no_tcl}"; then
582 # If $no_tk is nonempty, then we can't do Tk, and there is no
583 # point to doing Tcl.
584 if test -z "${no_tk}"; then
591 # now look for tix library stuff
593 . ${ac_cv_c_tclconfig}/tclConfig.sh
596 tixdir=../tix/win/tcl8.0
599 tixdir=../tix/unix/tk8.0
602 if test "${TCL_SHARED_BUILD}" = "1"; then
603 TIX_LIB_EXT="${TCL_SHLIB_SUFFIX}"
605 # Can't win them all: SunOS 4 (others?) appends a version
606 # number after the ".so"
609 TIX_LIB_EXT="${TIX_LIB_EXT}.1.0" ;;
616 if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
617 TIXLIB="-L${tixdir} -ltix${TIXVERSION}"
618 TIX_DEPS="${tixdir}/libtix${TIXVERSION}${TIX_LIB_EXT}"
620 TIXLIB="-L${tixdir} -ltix`echo ${TIXVERSION} | tr -d .`"
621 TIX_DEPS="${tixdir}/libtix`echo ${TIXVERSION} | tr -d .`${TIX_LIB_EXT}"
625 ENABLE_CFLAGS="${ENABLE_CFLAGS} -DGDBTK"
627 # Include some libraries that Tcl and Tk want.
628 if test "${enable_ide}" = "yes"; then
629 TCL_LIBS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
630 CONFIG_DEPS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE_DEPS) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
632 TCL_LIBS='$(LIBGUI) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
633 CONFIG_DEPS='$(LIBGUI) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
635 # Yes, the ordering seems wrong here. But it isn't.
636 # TK_LIBS is the list of libraries that need to be linked
637 # after Tcl/Tk. Note that this isn't put into LIBS. If it
638 # were in LIBS then any link tests after this point would
639 # try to include things like `$(LIBGUI)', which wouldn't work.
640 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
641 CONFIG_OBS="${CONFIG_OBS} gdbtk.o gdbtk-cmds.o gdbtk-hooks.o"
643 if test x$gdb_cv_os_cygwin = xyes; then
644 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32 -luser32"
645 WIN32LDAPP="-Wl,--subsystem,console"
646 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
652 AC_SUBST(ENABLE_GDBTK)
663 # Enable GPU2 library for MIPS simulator
664 AC_ARG_WITH(sim-gpu2,
665 [ --with-sim-gpu2=DIR Use GPU2 library under given DIR],
668 if test -d "${withval}"
670 LIBS="${LIBS} -L${withval}/lib -lgpu2 -L${x_libraries} -lX11 -lXext"
672 AC_MSG_WARN([Directory ${withval} does not exist.])
674 *) AC_MSG_WARN([--with-sim-gpu2 option invalid for target ${target}])
677 # Enable target accurate FP library
678 AC_ARG_WITH(sim-funit,
679 [ --with-sim-funit=DIR Use target FP lib under given DIR],
682 if test -d "${withval}"
684 LIBS="${LIBS} -L${withval}/lib -lfunit"
686 AC_MSG_WARN([Directory ${withval} does not exist.])
688 *) AC_MSG_WARN([--with-sim-funit option invalid for target ${target}])
692 AC_SUBST(ENABLE_CFLAGS)
695 AC_SUBST(CONFIG_DEPS)
696 AC_SUBST(CONFIG_SRCS)
698 # Begin stuff to support --enable-shared
699 AC_ARG_ENABLE(shared,
700 [ --enable-shared Use shared libraries],
701 [case "${enableval}" in
709 # If we have shared libraries, try to set rpath reasonably.
710 if test "${shared}" = "true"; then
713 HLDFLAGS='-Wl,+s,+b,$(libdir)'
715 *-*-irix5* | *-*-irix6*)
716 HLDFLAGS='-Wl,-rpath,$(libdir)'
720 *-*-linux* | *-pc-linux-gnu)
721 HLDFLAGS='-Wl,-rpath,$(libdir)'
724 HLDFLAGS='-R $(libdir)'
727 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;'
732 # On SunOS, if the linker supports the -rpath option, use it to
733 # prevent ../bfd and ../opcodes from being included in the run time
737 echo 'main () { }' > conftest.c
738 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
739 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
741 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
743 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
745 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
747 elif test "${shared}" = "true"; then
748 HLDFLAGS='-Wl,-rpath=$(libdir)'
750 HLDFLAGS='-Wl,-rpath='
752 rm -f conftest.t conftest.c conftest
757 # End stuff to support --enable-shared
759 # target_subdir is used by the testsuite to find the target libraries.
761 if test "${host}" != "${target}"; then
762 target_subdir="${target_alias}/"
764 AC_SUBST(target_subdir)
767 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
768 if test ! -f ${host_makefile_frag}; then
769 AC_MSG_ERROR("*** Gdb does not support host ${host}")
771 frags="$frags $host_makefile_frag"
773 target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
774 if test ! -f ${target_makefile_frag}; then
775 AC_MSG_ERROR("*** Gdb does not support target ${target}")
777 frags="$frags $target_makefile_frag"
779 AC_SUBST_FILE(host_makefile_frag)
780 AC_SUBST_FILE(target_makefile_frag)
785 s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
786 ' ${host_makefile_frag}`
789 s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
790 ' ${target_makefile_frag}`
792 # these really aren't orthogonal true/false values of the same condition,
793 # but shells are slow enough that I like to reuse the test conditions
795 if test "${target}" = "${host}"; then
797 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
798 ' ${host_makefile_frag}`
800 # GDBserver is only useful in a "native" enviroment
801 # configdirs=`echo $configdirs | sed 's/gdbserver//'`
805 # If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
806 # (NAT_FILE) is not set in config/*/*.m[ht] files, we don't make the
807 # corresponding links. But we have to remove the xm.h files and tm.h
808 # files anyway, e.g. when switching from "configure host" to
814 if test "${hostfile}" != ""; then
815 files="${files} config/${gdb_host_cpu}/${hostfile}"
816 links="${links} xm.h"
819 if test "${targetfile}" != ""; then
820 files="${files} config/${gdb_target_cpu}/${targetfile}"
821 links="${links} tm.h"
824 if test "${nativefile}" != ""; then
825 files="${files} config/${gdb_host_cpu}/${nativefile}"
826 links="${links} nm.h"
828 # A cross-only configuration.
829 files="${files} config/nm-empty.h"
830 links="${links} nm.h"
832 # start-sanitize-gdbtk
834 # Make it possible to use the GUI without doing a full install
835 if test "${enable_gdbtk}" = "yes" -a ! -d gdbtcl2 ; then
836 if test "$LN_S" = "ln -s" -a ! -f gdbtcl2 ; then
837 echo linking $srcdir/gdbtcl2 to gdbtcl2
838 $LN_S $srcdir/gdbtcl2 gdbtcl2
840 echo Warning: Unable to link $srcdir/gdbtcl2 to gdbtcl2. You will need to do a
841 echo " " make install before you are able to run the GUI.
846 AC_LINK_FILES($files, $links)
848 dnl Check for exe extension set on certain hosts (e.g. Win32)
851 AC_CONFIG_SUBDIRS($configdirs)
852 AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
854 dnl Autoconf doesn't provide a mechanism for modifying definitions
855 dnl provided by makefile fragments.
857 if test "${nativefile}" = ""; then
858 sed -e '/^NATDEPFILES[[ ]]*=[[ ]]*/s//# NATDEPFILES=/' \
859 < Makefile > Makefile.tem
860 mv -f Makefile.tem Makefile
864 sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
865 /^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
866 /^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
867 mv -f Makefile.tmp Makefile
870 case x$CONFIG_HEADERS in
876 gdb_host_cpu=$gdb_host_cpu
877 gdb_target_cpu=$gdb_target_cpu
878 nativefile=$nativefile