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 Figure out which term library to use.
125 AC_CHECK_LIB(ncurses, tgetent, TERM_LIB=-lncurses,
126 AC_CHECK_LIB(termlib, tgetent, TERM_LIB=-ltermlib,
127 AC_CHECK_LIB(termcap, tgetent, TERM_LIB=-ltermcap,
128 AC_CHECK_LIB(curses, tgetent, TERM_LIB=-lcurses,
129 AC_CHECK_LIB(terminfo, tgetent, TERM_LIB=-lterminfo)))))
131 if test "x$TERM_LIB" = x
133 AC_MSG_ERROR(Could not find a term library, e.g. termcap or termlib!)
138 dnl See if compiler supports "long long" type.
140 AC_MSG_CHECKING(for long long support in compiler)
141 AC_CACHE_VAL(gdb_cv_c_long_long,
143 extern long long foo;
144 switch (foo & 2) { case 0: return 1; }
146 gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])
147 AC_MSG_RESULT($gdb_cv_c_long_long)
148 if test $gdb_cv_c_long_long = yes; then
149 AC_DEFINE(CC_HAS_LONG_LONG)
152 dnl See if the compiler and runtime support printing long long
154 AC_MSG_CHECKING(for long long support in printf)
155 AC_CACHE_VAL(gdb_cv_printf_has_long_long,
160 l = (l << 16) + 0x0123;
161 l = (l << 16) + 0x4567;
162 l = (l << 16) + 0x89ab;
163 l = (l << 16) + 0xcdef;
164 sprintf (buf, "0x%016llx", l);
165 return (strcmp ("0x0123456789abcdef", buf));
167 gdb_cv_printf_has_long_long=yes,
168 gdb_cv_printf_has_long_long=no,
169 gdb_cv_printf_has_long_long=no)])
170 if test $gdb_cv_printf_has_long_long = yes; then
171 AC_DEFINE(PRINTF_HAS_LONG_LONG)
173 AC_MSG_RESULT($gdb_cv_printf_has_long_long)
175 dnl See if compiler supports "long double" type. Can't use AC_C_LONG_DOUBLE
176 dnl because autoconf complains about cross-compilation issues. However, this
177 dnl code uses the same variables as the macro for compatibility.
179 AC_MSG_CHECKING(for long double support in compiler)
180 AC_CACHE_VAL(ac_cv_c_long_double,
181 [AC_TRY_COMPILE(, [long double foo;],
182 ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])
183 AC_MSG_RESULT($ac_cv_c_long_double)
184 if test $ac_cv_c_long_double = yes; then
185 AC_DEFINE(HAVE_LONG_DOUBLE)
188 dnl See if the compiler and runtime support printing long doubles
190 AC_MSG_CHECKING(for long double support in printf)
191 AC_CACHE_VAL(gdb_cv_printf_has_long_double,
195 long double f = 3.141592653;
196 sprintf (buf, "%Lg", f);
197 return (strncmp ("3.14159", buf, 7));
199 gdb_cv_printf_has_long_double=yes,
200 gdb_cv_printf_has_long_double=no,
201 gdb_cv_printf_has_long_double=no)])
202 if test $gdb_cv_printf_has_long_double = yes; then
203 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE)
205 AC_MSG_RESULT($gdb_cv_printf_has_long_double)
207 dnl See if the compiler and runtime support scanning long doubles
209 AC_MSG_CHECKING(for long double support in scanf)
210 AC_CACHE_VAL(gdb_cv_scanf_has_long_double,
213 char *buf = "3.141592653";
215 sscanf (buf, "%Lg", &f);
216 return !(f > 3.14159 && f < 3.14160);
218 gdb_cv_scanf_has_long_double=yes,
219 gdb_cv_scanf_has_long_double=no,
220 gdb_cv_scanf_has_long_double=no)])
221 if test $gdb_cv_scanf_has_long_double = yes; then
222 AC_DEFINE(SCANF_HAS_LONG_DOUBLE)
224 AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
228 dnl See if thread_db library is around for Solaris thread debugging. Note that
229 dnl we must explicitly test for version 1 of the library because version 0
230 dnl (present on Solaris 2.4 or earlier) doesn't have the same API.
232 dnl Note that we only want this if we are both native (host == target), and
233 dnl not doing a canadian cross build (build == host).
235 if test ${build} = ${host} -a ${host} = ${target} ; then
238 AC_MSG_CHECKING(for HPUX/OSF thread support)
239 if test -f /usr/include/dce/cma_config.h ; then
240 if test "$GCC" = "yes" ; then
242 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
243 CONFIG_OBS="${CONFIG_OJS} hpux-thread.o"
244 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
246 AC_MSG_RESULT(no (suppressed because you are not using GCC))
253 AC_MSG_CHECKING(for Solaris thread debugging library)
254 if test -f /usr/lib/libthread_db.so.1 ; then
256 AC_DEFINE(HAVE_THREAD_DB_LIB)
257 CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
258 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
259 AC_CHECK_LIB(dl, dlopen)
260 if test "$GCC" = "yes" ; then
261 # The GNU linker requires the -export-dynamic option to make
262 # all symbols visible in the dynamic symbol table.
263 hold_ldflags=$LDFLAGS
264 AC_MSG_CHECKING(for the ld -export-dynamic flag)
265 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
266 AC_TRY_LINK(, [int i;], found=yes, found=no)
267 LDFLAGS=$hold_ldflags
268 AC_MSG_RESULT($found)
269 if test $found = yes; then
270 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
273 # Sun randomly tweaked the prototypes in <proc_service.h>
275 AC_MSG_CHECKING(if <proc_service.h> is old)
276 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
278 #include <proc_service.h>
280 (struct ps_prochandle*, psaddr_t, const void*, size_t);
281 ],, gdb_cv_proc_service_is_old=no,
282 gdb_cv_proc_service_is_old=yes)
284 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
285 if test $gdb_cv_proc_service_is_old = yes; then
286 AC_DEFINE(PROC_SERVICE_IS_OLD)
293 AC_SUBST(CONFIG_LDFLAGS)
296 dnl Handle optional features that can be enabled.
299 AC_ARG_ENABLE(netrom,
301 [case "${enableval}" in
302 yes) enable_netrom=yes ;;
303 no) enable_netrom=no ;;
304 *) AC_MSG_ERROR(bad value ${enableval} given for netrom option) ;;
307 if test "${enable_netrom}" = "yes"; then
308 CONFIG_OBS="${CONFIG_OBS} remote-nrom.o"
309 CONFIG_SRCS="${CONFIG_SRCS} remote-nrom.c"
312 AC_ARG_ENABLE(build-warnings,
313 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
314 [build_warnings="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations"
315 case "${enableval}" in
317 no) build_warnings="-w";;
318 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
319 build_warnings="${build_warnings} ${t}";;
320 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
321 build_warnings="${t} ${build_warnings}";;
322 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
323 esac],[build_warnings=""])dnl
325 if test "x${build_warnings}" != x -a "x$GCC" = xyes
327 WARN_CFLAGS="${build_warnings}"
331 AC_SUBST(WARN_CFLAGS)
335 AC_SUBST(MMALLOC_CFLAGS)
339 [ --with-mmalloc Use memory mapped malloc package],
340 [case "${withval}" in
341 yes) want_mmalloc=true ;;
342 no) want_mmalloc=false;;
343 *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
344 esac],[want_mmalloc=false])dnl
346 if test x$want_mmalloc = xtrue; then
347 AC_DEFINE(USE_MMALLOC)
348 AC_DEFINE(MMCHECK_FORCE)
349 MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
350 MMALLOC='../mmalloc/libmmalloc.a'
353 # start-sanitize-carp
354 # The below takes an educated guess at the targets that
355 # should be built. It is an interum version that provides
356 # significant backward compatibility.
359 [ --enable-carp Configure alternative readaptive paradigm ],
360 [case "${enableval}" in
361 yes) enable_carp=yes ;;
362 no) enable_carp=no ;;
363 *) AC_MSG_ERROR([bad value ${enableval} for carp option]) ;;
364 esac],[enable_carp=no])dnl
366 AC_ARG_ENABLE(targets,
367 [ --enable-targets alternative target configurations],
368 [case "${enableval}" in
369 yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
371 no) enable_targets= ;;
372 *) enable_targets="$enableval" ;;
375 # Canonicalize the secondary target names.
377 if test -n "$enable_targets" ; then
378 if test "$enable_targets" = all ; then
381 for targ in `echo $enable_targets | sed 's/,/ /g'`
383 result=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $targ 2>/dev/null`
384 if test -n "$result" ; then
385 canon_targets="$canon_targets $result"
391 # Convert the target names into GDB [*]-tdep.c names
394 for targ in $target $canon_targets
396 if test "x$targ" = "xall" ; then
399 t_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
400 t_vendor=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
401 t_os=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
405 target_vendor=$t_vendor
407 . ${srcdir}/configure.tgt
408 echo ${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt`
409 if test -r ${mt} ; then
410 # This gets confused over .mt files that have multiple -tdep.o
412 s/^.*[ =]\([^ ]*\)-tdep.o.*/\1/p
414 selarchs="$selarchs $tdep"
420 # We don't do any links based on the target system, just makefile config.
422 if test x${all_targets} = xfalse ; then
424 # Target architecture .o files.
427 for arch in $selarchs
429 archdefs="$archdefs -DARCH_$arch"
430 ta="$ta ${arch}-tdep.o"
433 dvp) ta="$ta mips-tdep.o dvp-tdep.o" ;;
437 # Weed out duplicate .o files.
447 # And duplicate -D flags.
449 for i in $archdefs ; do
459 else # all_targets is true
461 MACHINE_OBS='$(ALL_MACHINES)'
464 dnl Don't define an archdefs list
465 dnl AC_SUBST(archdefs)
466 dnl XXXX this name will change several more times
467 if test "${enable_carp}" = yes ; then
471 MACHINE_OBS="# $MACHINE_OBS"
473 AC_SUBST(MACHINE_OBS)
476 # start-sanitize-gdbtk
479 AC_ARG_ENABLE(ide, [ --enable-ide Enable IDE support])
480 if test "$enable_ide" = yes; then
488 AC_ARG_WITH(foundry-libs,
489 [ --with-foundry-libs=DIR Use the Foundry SDK in DIR],
490 [FOUNDRY_LIB_BASE=${withval}])
491 AC_SUBST(FOUNDRY_LIB_BASE)
494 # This is the Foundry SDK
496 # These variables are used to determine where the Foundry libs and
497 # header files are located.
499 if test "$FOUNDRY_LIB_BASE" != ""; then
500 LIBGUI="${FOUNDRY_LIB_BASE}/lib/libgui.a"
501 GUI_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include"
502 if test x$enable_ide = xyes; then
503 IDE_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include -DIDE"
504 IDE_X="-L${FOUNDRY_LIB_BASE}/lib -lilu-Tk -lilu-c -lilu"
506 IDE_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include"
508 LIBIDETCL="${FOUNDRY_LIB_BASE}/lib/libidetcl.a"
509 LIBIDE="${FOUNDRY_LIB_BASE}/lib/libide.a"
510 IDE_DEPS="${FOUNDRY_LIB_BASE}/lib/libilu-Tk.a ${FOUNDRY_LIB_BASE}/lib/libilu-c.a ${FOUNDRY_LIB_BASE}/lib/libilu.a"
513 LIBGUI="../libgui/src/libgui.a"
514 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
516 if test x$enable_ide = xyes; then
517 IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src -DIDE -I${srcdir}/../ilu/runtime/mainloop"
518 IDE_X="-L../ilu/runtime/mainloop -lilu-Tk -L../ilu/runtime/c -lilu-c -L../ilu/runtime/kernel -lilu"
520 IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src"
522 LIBIDETCL="../libidetcl/src/libidetcl.a"
523 LIBIDE="../libide/src/libide.a"
524 IDE_DEPS="../ilu/runtime/mainloop/libilu-Tk.a ../ilu/runtime/c/libilu-c.a ../ilu/runtime/kernel/libilu.a"
529 AC_SUBST(GUI_CFLAGS_X)
531 AC_SUBST(IDE_CFLAGS_X)
541 [ --enable-gdbtk Enable GDBTK GUI front end],
542 [case "${enableval}" in
546 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
549 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
557 AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
560 # Default is on for everything but go32 and Cygwin
569 # In the Cygwin environment, we need some additional flags.
570 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
571 [AC_EGREP_CPP(lose, [
574 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
581 DLLTOOL=${DLLTOOL-dlltool}
582 WINDRES=${WINDRES-windres}
586 if test x$gdb_cv_os_cygwin = xyes; then
587 if test x$enable_ide = xyes; then
588 WIN32LIBS="-ladvapi32"
595 if test "${enable_gdbtk}" = "yes"; then
598 if test -z "${no_tcl}"; then
602 # If $no_tk is nonempty, then we can't do Tk, and there is no
603 # point to doing Tcl.
604 if test -z "${no_tk}"; then
611 # now look for tix library stuff
613 . ${ac_cv_c_tclconfig}/tclConfig.sh
616 tixdir=../tix/win/tcl8.0
619 tixdir=../tix/unix/tk8.0
622 if test "${TCL_SHARED_BUILD}" = "1"; then
623 TIX_LIB_EXT="${TCL_SHLIB_SUFFIX}"
625 # Can't win them all: SunOS 4 (others?) appends a version
626 # number after the ".so"
629 TIX_LIB_EXT="${TIX_LIB_EXT}.1.0" ;;
636 if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
637 TIXLIB="-L${tixdir} -ltix${TIXVERSION}"
638 TIX_DEPS="${tixdir}/libtix${TIXVERSION}${TIX_LIB_EXT}"
640 TIXLIB="-L${tixdir} -ltix`echo ${TIXVERSION} | tr -d .`"
641 TIX_DEPS="${tixdir}/libtix`echo ${TIXVERSION} | tr -d .`${TIX_LIB_EXT}"
645 ENABLE_CFLAGS="${ENABLE_CFLAGS} -DGDBTK"
647 # Include some libraries that Tcl and Tk want.
648 if test "${enable_ide}" = "yes"; then
649 TCL_LIBS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
650 CONFIG_DEPS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE_DEPS) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
652 TCL_LIBS='$(LIBGUI) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
653 CONFIG_DEPS='$(LIBGUI) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
655 # Yes, the ordering seems wrong here. But it isn't.
656 # TK_LIBS is the list of libraries that need to be linked
657 # after Tcl/Tk. Note that this isn't put into LIBS. If it
658 # were in LIBS then any link tests after this point would
659 # try to include things like `$(LIBGUI)', which wouldn't work.
660 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
661 CONFIG_OBS="${CONFIG_OBS} gdbtk.o gdbtk-cmds.o gdbtk-hooks.o"
663 if test x$gdb_cv_os_cygwin = xyes; then
664 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32 -luser32"
665 WIN32LDAPP="-Wl,--subsystem,console"
666 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
672 AC_SUBST(ENABLE_GDBTK)
683 # Enable GPU2 library for MIPS simulator
684 AC_ARG_WITH(sim-gpu2,
685 [ --with-sim-gpu2=DIR Use GPU2 library under given DIR],
688 if test -d "${withval}"
690 if test x${x_libraries} != x
692 LIBS="${LIBS} -L${withval}/lib -lgpu2 -L${x_libraries} -lX11 -lXext -lm"
694 LIBS="${LIBS} -L${withval}/lib -lgpu2 -lX11 -lXext -lm"
697 AC_MSG_WARN([Directory ${withval} does not exist.])
699 *) AC_MSG_WARN([--with-sim-gpu2 option invalid for target ${target}])
702 # Enable target accurate FP library
703 AC_ARG_WITH(sim-funit,
704 [ --with-sim-funit=DIR Use target FP lib under given DIR],
707 if test -d "${withval}"
709 LIBS="${LIBS} -L${withval}/lib -lfunit"
711 AC_MSG_WARN([Directory ${withval} does not exist.])
713 *) AC_MSG_WARN([--with-sim-funit option invalid for target ${target}])
717 AC_SUBST(ENABLE_CFLAGS)
720 AC_SUBST(CONFIG_DEPS)
721 AC_SUBST(CONFIG_SRCS)
723 # Begin stuff to support --enable-shared
724 AC_ARG_ENABLE(shared,
725 [ --enable-shared Use shared libraries],
726 [case "${enableval}" in
734 # If we have shared libraries, try to set rpath reasonably.
735 if test "${shared}" = "true"; then
738 HLDFLAGS='-Wl,+s,+b,$(libdir)'
740 *-*-irix5* | *-*-irix6*)
741 HLDFLAGS='-Wl,-rpath,$(libdir)'
745 *-*-linux* | *-pc-linux-gnu)
746 HLDFLAGS='-Wl,-rpath,$(libdir)'
749 HLDFLAGS='-R $(libdir)'
752 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;'
757 # On SunOS, if the linker supports the -rpath option, use it to
758 # prevent ../bfd and ../opcodes from being included in the run time
762 echo 'main () { }' > conftest.c
763 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
764 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
766 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
768 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
770 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
772 elif test "${shared}" = "true"; then
773 HLDFLAGS='-Wl,-rpath=$(libdir)'
775 HLDFLAGS='-Wl,-rpath='
777 rm -f conftest.t conftest.c conftest
782 # End stuff to support --enable-shared
784 # target_subdir is used by the testsuite to find the target libraries.
786 if test "${host}" != "${target}"; then
787 target_subdir="${target_alias}/"
789 AC_SUBST(target_subdir)
792 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
793 if test ! -f ${host_makefile_frag}; then
794 AC_MSG_ERROR("*** Gdb does not support host ${host}")
796 frags="$frags $host_makefile_frag"
798 target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
799 if test ! -f ${target_makefile_frag}; then
800 AC_MSG_ERROR("*** Gdb does not support target ${target}")
802 frags="$frags $target_makefile_frag"
804 AC_SUBST_FILE(host_makefile_frag)
805 AC_SUBST_FILE(target_makefile_frag)
810 s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
811 ' ${host_makefile_frag}`
814 s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
815 ' ${target_makefile_frag}`
817 # these really aren't orthogonal true/false values of the same condition,
818 # but shells are slow enough that I like to reuse the test conditions
820 if test "${target}" = "${host}"; then
822 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
823 ' ${host_makefile_frag}`
825 # GDBserver is only useful in a "native" enviroment
826 # configdirs=`echo $configdirs | sed 's/gdbserver//'`
830 # If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
831 # (NAT_FILE) is not set in config/*/*.m[ht] files, we don't make the
832 # corresponding links. But we have to remove the xm.h files and tm.h
833 # files anyway, e.g. when switching from "configure host" to
839 if test "${hostfile}" != ""; then
840 files="${files} config/${gdb_host_cpu}/${hostfile}"
841 links="${links} xm.h"
844 if test "${targetfile}" != ""; then
845 files="${files} config/${gdb_target_cpu}/${targetfile}"
846 links="${links} tm.h"
849 if test "${nativefile}" != ""; then
850 files="${files} config/${gdb_host_cpu}/${nativefile}"
851 links="${links} nm.h"
853 # A cross-only configuration.
854 files="${files} config/nm-empty.h"
855 links="${links} nm.h"
857 # start-sanitize-gdbtk
859 # Make it possible to use the GUI without doing a full install
860 if test "${enable_gdbtk}" = "yes" -a ! -d gdbtcl2 ; then
861 if test "$LN_S" = "ln -s" -a ! -f gdbtcl2 ; then
862 echo linking $srcdir/gdbtcl2 to gdbtcl2
863 $LN_S $srcdir/gdbtcl2 gdbtcl2
865 echo Warning: Unable to link $srcdir/gdbtcl2 to gdbtcl2. You will need to do a
866 echo " " make install before you are able to run the GUI.
871 AC_LINK_FILES($files, $links)
873 dnl Check for exe extension set on certain hosts (e.g. Win32)
876 AC_CONFIG_SUBDIRS($configdirs)
877 AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
879 dnl Autoconf doesn't provide a mechanism for modifying definitions
880 dnl provided by makefile fragments.
882 if test "${nativefile}" = ""; then
883 sed -e '/^NATDEPFILES[[ ]]*=[[ ]]*/s//# NATDEPFILES=/' \
884 < Makefile > Makefile.tem
885 mv -f Makefile.tem Makefile
889 sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
890 /^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
891 /^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
892 mv -f Makefile.tmp Makefile
895 case x$CONFIG_HEADERS in
901 gdb_host_cpu=$gdb_host_cpu
902 gdb_target_cpu=$gdb_target_cpu
903 nativefile=$nativefile