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"
498 LIBGUI="../libgui/src/libgui.a"
499 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
501 if test x$enable_ide = xyes; then
502 IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src -DIDE -I${srcdir}/../ilu/runtime/mainloop"
503 IDE_X="-L../ilu/runtime/mainloop -lilu-Tk -L../ilu/runtime/c -lilu-c -L../ilu/runtime/kernel -lilu"
505 IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src"
507 LIBIDETCL="../libidetcl/src/libidetcl.a"
508 LIBIDE="../libide/src/libide.a"
509 IDE_DEPS="../ilu/runtime/mainloop/libilu-Tk.a ../ilu/runtime/c/libilu-c.a ../ilu/runtime/kernel/libilu.a"
514 AC_SUBST(GUI_CFLAGS_X)
516 AC_SUBST(IDE_CFLAGS_X)
526 [ --enable-gdbtk Enable GDBTK GUI front end],
527 [case "${enableval}" in
531 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
534 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
542 AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
545 # Default is on for everything but go32 and Cygwin
554 # In the Cygwin environment, we need some additional flags.
555 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
556 [AC_EGREP_CPP(lose, [
559 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
566 DLLTOOL=${DLLTOOL-dlltool}
567 WINDRES=${WINDRES-windres}
571 if test x$gdb_cv_os_cygwin = xyes; then
572 if test x$enable_ide = xyes; then
573 WIN32LIBS="-ladvapi32"
580 if test "${enable_gdbtk}" = "yes"; then
583 if test -z "${no_tcl}"; then
587 # If $no_tk is nonempty, then we can't do Tk, and there is no
588 # point to doing Tcl.
589 if test -z "${no_tk}"; then
596 # now look for tix library stuff
598 . ${ac_cv_c_tclconfig}/tclConfig.sh
601 tixdir=../tix/win/tcl8.0
604 tixdir=../tix/unix/tk8.0
607 if test "${TCL_SHARED_BUILD}" = "1"; then
608 TIX_LIB_EXT="${TCL_SHLIB_SUFFIX}"
610 # Can't win them all: SunOS 4 (others?) appends a version
611 # number after the ".so"
614 TIX_LIB_EXT="${TIX_LIB_EXT}.1.0" ;;
621 if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
622 TIXLIB="-L${tixdir} -ltix${TIXVERSION}"
623 TIX_DEPS="${tixdir}/libtix${TIXVERSION}${TIX_LIB_EXT}"
625 TIXLIB="-L${tixdir} -ltix`echo ${TIXVERSION} | tr -d .`"
626 TIX_DEPS="${tixdir}/libtix`echo ${TIXVERSION} | tr -d .`${TIX_LIB_EXT}"
630 ENABLE_CFLAGS="${ENABLE_CFLAGS} -DGDBTK"
632 # Include some libraries that Tcl and Tk want.
633 if test "${enable_ide}" = "yes"; then
634 TCL_LIBS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
635 CONFIG_DEPS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE_DEPS) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
637 TCL_LIBS='$(LIBGUI) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
638 CONFIG_DEPS='$(LIBGUI) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
640 # Yes, the ordering seems wrong here. But it isn't.
641 # TK_LIBS is the list of libraries that need to be linked
642 # after Tcl/Tk. Note that this isn't put into LIBS. If it
643 # were in LIBS then any link tests after this point would
644 # try to include things like `$(LIBGUI)', which wouldn't work.
645 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
646 CONFIG_OBS="${CONFIG_OBS} gdbtk.o gdbtk-cmds.o gdbtk-hooks.o"
648 if test x$gdb_cv_os_cygwin = xyes; then
649 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32 -luser32"
650 WIN32LDAPP="-Wl,--subsystem,console"
651 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
657 AC_SUBST(ENABLE_GDBTK)
668 # Enable GPU2 library for MIPS simulator
669 AC_ARG_WITH(sim-gpu2,
670 [ --with-sim-gpu2=DIR Use GPU2 library under given DIR],
673 if test -d "${withval}"
675 if test x${x_libraries} != x
677 LIBS="${LIBS} -L${withval}/lib -lgpu2 -L${x_libraries} -lX11 -lXext -lm"
679 LIBS="${LIBS} -L${withval}/lib -lgpu2 -lX11 -lXext -lm"
682 AC_MSG_WARN([Directory ${withval} does not exist.])
684 *) AC_MSG_WARN([--with-sim-gpu2 option invalid for target ${target}])
687 # Enable target accurate FP library
688 AC_ARG_WITH(sim-funit,
689 [ --with-sim-funit=DIR Use target FP lib under given DIR],
692 if test -d "${withval}"
694 LIBS="${LIBS} -L${withval}/lib -lfunit"
696 AC_MSG_WARN([Directory ${withval} does not exist.])
698 *) AC_MSG_WARN([--with-sim-funit option invalid for target ${target}])
702 AC_SUBST(ENABLE_CFLAGS)
705 AC_SUBST(CONFIG_DEPS)
706 AC_SUBST(CONFIG_SRCS)
708 # Begin stuff to support --enable-shared
709 AC_ARG_ENABLE(shared,
710 [ --enable-shared Use shared libraries],
711 [case "${enableval}" in
719 # If we have shared libraries, try to set rpath reasonably.
720 if test "${shared}" = "true"; then
723 HLDFLAGS='-Wl,+s,+b,$(libdir)'
725 *-*-irix5* | *-*-irix6*)
726 HLDFLAGS='-Wl,-rpath,$(libdir)'
730 *-*-linux* | *-pc-linux-gnu)
731 HLDFLAGS='-Wl,-rpath,$(libdir)'
734 HLDFLAGS='-R $(libdir)'
737 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;'
742 # On SunOS, if the linker supports the -rpath option, use it to
743 # prevent ../bfd and ../opcodes from being included in the run time
747 echo 'main () { }' > conftest.c
748 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
749 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
751 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
753 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
755 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
757 elif test "${shared}" = "true"; then
758 HLDFLAGS='-Wl,-rpath=$(libdir)'
760 HLDFLAGS='-Wl,-rpath='
762 rm -f conftest.t conftest.c conftest
767 # End stuff to support --enable-shared
769 # target_subdir is used by the testsuite to find the target libraries.
771 if test "${host}" != "${target}"; then
772 target_subdir="${target_alias}/"
774 AC_SUBST(target_subdir)
777 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
778 if test ! -f ${host_makefile_frag}; then
779 AC_MSG_ERROR("*** Gdb does not support host ${host}")
781 frags="$frags $host_makefile_frag"
783 target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
784 if test ! -f ${target_makefile_frag}; then
785 AC_MSG_ERROR("*** Gdb does not support target ${target}")
787 frags="$frags $target_makefile_frag"
789 AC_SUBST_FILE(host_makefile_frag)
790 AC_SUBST_FILE(target_makefile_frag)
795 s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
796 ' ${host_makefile_frag}`
799 s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
800 ' ${target_makefile_frag}`
802 # these really aren't orthogonal true/false values of the same condition,
803 # but shells are slow enough that I like to reuse the test conditions
805 if test "${target}" = "${host}"; then
807 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
808 ' ${host_makefile_frag}`
810 # GDBserver is only useful in a "native" enviroment
811 # configdirs=`echo $configdirs | sed 's/gdbserver//'`
815 # If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
816 # (NAT_FILE) is not set in config/*/*.m[ht] files, we don't make the
817 # corresponding links. But we have to remove the xm.h files and tm.h
818 # files anyway, e.g. when switching from "configure host" to
824 if test "${hostfile}" != ""; then
825 files="${files} config/${gdb_host_cpu}/${hostfile}"
826 links="${links} xm.h"
829 if test "${targetfile}" != ""; then
830 files="${files} config/${gdb_target_cpu}/${targetfile}"
831 links="${links} tm.h"
834 if test "${nativefile}" != ""; then
835 files="${files} config/${gdb_host_cpu}/${nativefile}"
836 links="${links} nm.h"
838 # A cross-only configuration.
839 files="${files} config/nm-empty.h"
840 links="${links} nm.h"
842 # start-sanitize-gdbtk
844 # Make it possible to use the GUI without doing a full install
845 if test "${enable_gdbtk}" = "yes" -a ! -d gdbtcl2 ; then
846 if test "$LN_S" = "ln -s" -a ! -f gdbtcl2 ; then
847 echo linking $srcdir/gdbtcl2 to gdbtcl2
848 $LN_S $srcdir/gdbtcl2 gdbtcl2
850 echo Warning: Unable to link $srcdir/gdbtcl2 to gdbtcl2. You will need to do a
851 echo " " make install before you are able to run the GUI.
856 AC_LINK_FILES($files, $links)
858 dnl Check for exe extension set on certain hosts (e.g. Win32)
861 AC_CONFIG_SUBDIRS($configdirs)
862 AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
864 dnl Autoconf doesn't provide a mechanism for modifying definitions
865 dnl provided by makefile fragments.
867 if test "${nativefile}" = ""; then
868 sed -e '/^NATDEPFILES[[ ]]*=[[ ]]*/s//# NATDEPFILES=/' \
869 < Makefile > Makefile.tem
870 mv -f Makefile.tem Makefile
874 sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
875 /^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
876 /^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
877 mv -f Makefile.tmp Makefile
880 case x$CONFIG_HEADERS in
886 gdb_host_cpu=$gdb_host_cpu
887 gdb_target_cpu=$gdb_target_cpu
888 nativefile=$nativefile