1 dnl Autoconf configure script for GDB, the GNU debugger.
2 dnl Copyright 1995, 1996, 1997, 1998, 1999 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)
31 AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
34 dnl gdb doesn't use gettext, but bfd does. We call this to ensure we
35 dnl link with the correct libraries.
39 dnl List of object files added by configure.
46 configdirs="doc testsuite"
48 AC_ARG_ENABLE(multi-ice,
49 [ --enable-multi-ice Build the multi-ice-gdb-server],
50 [case "${enableval}" in
51 yes ) enable_multi_ice="yes" ;;
52 no) enable_multi_ice="no" ;;
53 *) AC_MSG_ERROR(Bad value for --enable-multi-ice: ${enableval}) ;;
57 if test "${enable_multi_ice}" = "yes"; then
58 configdirs="${configdirs} multi-ice"
64 . ${srcdir}/configure.host
66 . ${srcdir}/configure.tgt
74 AC_CHECK_TOOL(RANLIB, ranlib, :)
83 AC_CHECK_HEADERS(ctype.h curses.h endian.h link.h thread_db.h proc_service.h \
84 memory.h objlist.h ptrace.h sgtty.h stddef.h stdlib.h \
85 string.h sys/procfs.h sys/ptrace.h sys/reg.h stdint.h \
86 term.h termio.h termios.h unistd.h wait.h sys/wait.h \
87 wchar.h wctype.h asm/debugreg.h sys/debugreg.h sys/select.h \
93 AC_CHECK_FUNCS(setpgid sbrk sigaction isascii bzero bcopy btowc poll sigprocmask)
96 dnl See if ptrace.h provides the PTRACE_GETXFPREGS request.
97 dnl PTRACE_GETXFPREGS is a Cygnus invention, since we wrote our own
98 dnl Linux kernel patch for SSE support. That patch may or may not
99 dnl actually make it into the official distribution. If you find that
100 dnl years have gone by since this configure test was added, and Linux
101 dnl isn't using PTRACE_GETXFPREGS, that means that our patch didn't
102 dnl make it, and you can delete this code.
103 AC_MSG_CHECKING(for PTRACE_GETXFPREGS)
104 AC_CACHE_VAL(gdb_cv_have_ptrace_getxfpregs,
105 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
106 [PTRACE_GETXFPREGS;],
107 [gdb_cv_have_ptrace_getxfpregs=yes],
108 [gdb_cv_have_ptrace_getxfpregs=no])])
109 AC_MSG_RESULT($gdb_cv_have_ptrace_getxfpregs)
110 if test $gdb_cv_have_ptrace_getxfpregs = yes; then
111 AC_DEFINE(HAVE_PTRACE_GETXFPREGS)
114 AC_CHECK_LIB(socket, socketpair)
115 AC_CHECK_FUNCS(socketpair)
118 BFD_NEED_DECLARATION(malloc)
119 BFD_NEED_DECLARATION(realloc)
120 BFD_NEED_DECLARATION(free)
121 BFD_NEED_DECLARATION(strerror)
122 BFD_NEED_DECLARATION(strdup)
123 BFD_NEED_DECLARATION(strstr)
126 # The following save_state_t checkery is only necessary for HPUX
127 # versions earlier than 10.20. When those fade from memory, this
128 # could be expunged. --jsm 1999-03-22
130 AC_MSG_CHECKING(for HPUX save_state structure)
131 AC_EGREP_HEADER(save_state_t, machine/save_state.h,
132 gdb_cv_hpux_savestate=yes, gdb_cv_hpux_savestate=no)
133 AC_EGREP_HEADER(ss_wide, machine/save_state.h, gdb_cv_hpux_sswide=yes,
134 gdb_cv_hpux_sswide=no)
135 if test $gdb_cv_hpux_savestate = yes
137 AC_DEFINE(HAVE_STRUCT_SAVE_STATE_T, 1)
139 if test $gdb_cv_hpux_sswide = yes
141 AC_DEFINE(HAVE_STRUCT_MEMBER_SS_WIDE, 1)
143 AC_MSG_RESULT($gdb_cv_hpux_sswide)
146 # If we are configured native on GNU/Linux, work around problems with
148 # Also detect which type of /proc is in use, such as for Unixware or Solaris.
150 if test "${target}" = "${host}"; then
152 i[[3456]]86-*-linux*)
153 AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
154 AC_DEFINE(sys_quotactl)
156 *-*-unixware* | *-*-sysv4.2* | *-*-sysv5*)
157 AC_DEFINE(NEW_PROC_API)
159 # FIXME: we would like to define NEW_PROC_API for all versions of
160 # Solaris from 2.6 on... but it isn't quite working yet. Seems
161 # to work on sparc 2.6, so let's try it out there.
162 sparc-sun-solaris2.6)
163 AC_DEFINE(NEW_PROC_API)
168 if test "$ac_cv_header_sys_procfs_h" = yes; then
169 BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
170 BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
171 BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
172 BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
174 dnl Check for PIOCSET ioctl entry
176 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
177 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
178 [AC_TRY_COMPILE([#include <unistd.h>
179 #include <sys/types.h>
180 #include <sys/procfs.h>
183 dummy = ioctl(0, PIOCSET, &dummy);
185 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
186 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
187 if test $gdb_cv_have_procfs_piocset = yes; then
188 AC_DEFINE(HAVE_PROCFS_PIOCSET)
192 dnl See if host has libm. This is usually needed by simulators.
193 AC_CHECK_LIB(m, main)
195 dnl Solaris puts wctype in /usr/lib/libw.a before Solaris 2.6.
197 dnl A bug in GNU ld 2.9.1 causes a problem if we link in -lw
198 dnl under Solaris 2.6 because it is some funky empty library.
199 dnl So only link in libw if we have to.
200 AC_CHECK_LIB(c, wctype,: ,AC_CHECK_LIB(w, wctype))
202 dnl See if compiler supports "long long" type.
204 AC_MSG_CHECKING(for long long support in compiler)
205 AC_CACHE_VAL(gdb_cv_c_long_long,
207 extern long long foo;
208 switch (foo & 2) { case 0: return 1; }
210 gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])
211 AC_MSG_RESULT($gdb_cv_c_long_long)
212 if test $gdb_cv_c_long_long = yes; then
213 AC_DEFINE(CC_HAS_LONG_LONG)
216 dnl See if the compiler and runtime support printing long long
218 AC_MSG_CHECKING(for long long support in printf)
219 AC_CACHE_VAL(gdb_cv_printf_has_long_long,
224 l = (l << 16) + 0x0123;
225 l = (l << 16) + 0x4567;
226 l = (l << 16) + 0x89ab;
227 l = (l << 16) + 0xcdef;
228 sprintf (buf, "0x%016llx", l);
229 return (strcmp ("0x0123456789abcdef", buf));
231 gdb_cv_printf_has_long_long=yes,
232 gdb_cv_printf_has_long_long=no,
233 gdb_cv_printf_has_long_long=no)])
234 if test $gdb_cv_printf_has_long_long = yes; then
235 AC_DEFINE(PRINTF_HAS_LONG_LONG)
237 AC_MSG_RESULT($gdb_cv_printf_has_long_long)
239 dnl See if compiler supports "long double" type. Can't use AC_C_LONG_DOUBLE
240 dnl because autoconf complains about cross-compilation issues. However, this
241 dnl code uses the same variables as the macro for compatibility.
243 AC_MSG_CHECKING(for long double support in compiler)
244 AC_CACHE_VAL(ac_cv_c_long_double,
245 [AC_TRY_COMPILE(, [long double foo;],
246 ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])
247 AC_MSG_RESULT($ac_cv_c_long_double)
248 if test $ac_cv_c_long_double = yes; then
249 AC_DEFINE(HAVE_LONG_DOUBLE)
252 dnl See if the compiler and runtime support printing long doubles
254 AC_MSG_CHECKING(for long double support in printf)
255 AC_CACHE_VAL(gdb_cv_printf_has_long_double,
259 long double f = 3.141592653;
260 sprintf (buf, "%Lg", f);
261 return (strncmp ("3.14159", buf, 7));
263 gdb_cv_printf_has_long_double=yes,
264 gdb_cv_printf_has_long_double=no,
265 gdb_cv_printf_has_long_double=no)])
266 if test $gdb_cv_printf_has_long_double = yes; then
267 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE)
269 AC_MSG_RESULT($gdb_cv_printf_has_long_double)
271 dnl See if the compiler and runtime support scanning long doubles
273 AC_MSG_CHECKING(for long double support in scanf)
274 AC_CACHE_VAL(gdb_cv_scanf_has_long_double,
277 char *buf = "3.141592653";
279 sscanf (buf, "%Lg", &f);
280 return !(f > 3.14159 && f < 3.14160);
282 gdb_cv_scanf_has_long_double=yes,
283 gdb_cv_scanf_has_long_double=no,
284 gdb_cv_scanf_has_long_double=no)])
285 if test $gdb_cv_scanf_has_long_double = yes; then
286 AC_DEFINE(SCANF_HAS_LONG_DOUBLE)
288 AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
292 dnl See if thread_db library is around for Solaris thread debugging. Note that
293 dnl we must explicitly test for version 1 of the library because version 0
294 dnl (present on Solaris 2.4 or earlier) doesn't have the same API.
296 dnl Note that we only want this if we are both native (host == target), and
297 dnl not doing a canadian cross build (build == host).
299 if test ${build} = ${host} -a ${host} = ${target} ; then
302 AC_MSG_CHECKING(for HPUX/OSF thread support)
303 if test -f /usr/include/dce/cma_config.h ; then
304 if test "$GCC" = "yes" ; then
306 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
307 CONFIG_OBS="${CONFIG_OJS} hpux-thread.o"
308 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
309 CONFIG_INITS="${CONFIG_INITS} hpux-thread.c"
311 AC_MSG_RESULT(no (suppressed because you are not using GCC))
318 AC_MSG_CHECKING(for Solaris thread debugging library)
319 if test -f /usr/lib/libthread_db.so.1 ; then
321 AC_DEFINE(HAVE_THREAD_DB_LIB)
322 CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
323 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
324 AC_CHECK_LIB(dl, dlopen)
325 if test "$GCC" = "yes" ; then
326 # The GNU linker requires the -export-dynamic option to make
327 # all symbols visible in the dynamic symbol table.
328 hold_ldflags=$LDFLAGS
329 AC_MSG_CHECKING(for the ld -export-dynamic flag)
330 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
331 AC_TRY_LINK(, [int i;], found=yes, found=no)
332 LDFLAGS=$hold_ldflags
333 AC_MSG_RESULT($found)
334 if test $found = yes; then
335 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
338 # Sun randomly tweaked the prototypes in <proc_service.h>
340 AC_MSG_CHECKING(if <proc_service.h> is old)
341 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
343 #include <proc_service.h>
345 (struct ps_prochandle*, psaddr_t, const void*, size_t);
346 ],, gdb_cv_proc_service_is_old=no,
347 gdb_cv_proc_service_is_old=yes)
349 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
350 if test $gdb_cv_proc_service_is_old = yes; then
351 AC_DEFINE(PROC_SERVICE_IS_OLD)
358 AC_SUBST(CONFIG_LDFLAGS)
361 dnl Handle optional features that can be enabled.
365 [ --enable-tui Enable full-screen terminal user interface],
367 case "${enable_tui}" in
369 "") enable_tui=yes ;;
371 AC_MSG_ERROR(Bad value for --enable-tui: ${enableval})
375 case ${enable_tui} in
379 TUI_LIBRARY=tui/libtui.a
387 AC_SUBST(TUI_LIBRARY)
389 AC_ARG_ENABLE(netrom,
390 [ --enable-netrom Enable NetROM support],
391 [case "${enableval}" in
392 yes) enable_netrom=yes ;;
393 no) enable_netrom=no ;;
394 *) AC_MSG_ERROR(bad value ${enableval} given for netrom option) ;;
397 if test "${enable_netrom}" = "yes"; then
398 CONFIG_OBS="${CONFIG_OBS} remote-nrom.o"
399 CONFIG_SRCS="${CONFIG_SRCS} remote-nrom.c"
400 CONFIG_INITS="${CONFIG_INITS} remote-nrom.c"
403 AC_ARG_ENABLE(build-warnings,
404 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
405 [build_warnings="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations"
406 case "${enableval}" in
408 no) build_warnings="-w";;
409 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
410 build_warnings="${build_warnings} ${t}";;
411 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
412 build_warnings="${t} ${build_warnings}";;
413 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
415 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
416 echo "Setting warning flags = $build_warnings" 6>&1
420 if test "x${build_warnings}" != x -a "x$GCC" = xyes
422 # Separate out the -Werror flag as some files just cannot be
423 # compiled with it enabled.
424 for w in ${build_warnings}; do
426 -Werr*) WERROR_CFLAGS=-Werror ;;
427 *) WARN_CFLAGS="${WARN_CFLAGS} $w"
430 fi],[build_warnings=""])dnl
432 AC_SUBST(WARN_CFLAGS)
433 AC_SUBST(WERROR_CFLAGS)
437 AC_SUBST(MMALLOC_CFLAGS)
441 [ --with-mmalloc Use memory mapped malloc package],
442 [case "${withval}" in
443 yes) want_mmalloc=true ;;
444 no) want_mmalloc=false;;
445 *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
446 esac],[want_mmalloc=false])dnl
448 if test x$want_mmalloc = xtrue; then
449 AC_DEFINE(USE_MMALLOC)
450 AC_DEFINE(MMCHECK_FORCE)
451 MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
452 MMALLOC='../mmalloc/libmmalloc.a'
456 # In the Cygwin environment, we need some additional flags.
457 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
458 [AC_EGREP_CPP(lose, [
459 #if defined (__CYGWIN__) || defined (__CYGWIN32__)
461 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
463 DLLTOOL=${DLLTOOL-dlltool}
464 WINDRES=${WINDRES-windres}
468 dnl Figure out which term library to use.
469 if test x$gdb_host = xgo32; then
472 if test x$gdb_cv_os_cygwin = xyes; then
473 TERM_LIB='`if test -r ../libtermcap/libtermcap.a; then echo ../libtermcap/libtermcap.a; else echo -ltermcap; fi`'
476 AC_CHECK_LIB(ncurses, tgetent, TERM_LIB=-lncurses,
477 AC_CHECK_LIB(Hcurses, tgetent, TERM_LIB=-lHcurses,
478 AC_CHECK_LIB(termlib, tgetent, TERM_LIB=-ltermlib,
479 AC_CHECK_LIB(termcap, tgetent, TERM_LIB=-ltermcap,
480 AC_CHECK_LIB(curses, tgetent, TERM_LIB=-lcurses,
481 AC_CHECK_LIB(terminfo, tgetent, TERM_LIB=-lterminfo))))))
483 if test "x$TERM_LIB" = x
485 AC_MSG_ERROR(Could not find a term library, e.g. termcap or termlib!)
491 # libreadline needs libuser32.a in a cygwin environment
493 if test x$gdb_cv_os_cygwin = xyes; then
496 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
502 LIBGUI="../libgui/src/libgui.a"
503 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
505 AC_SUBST(GUI_CFLAGS_X)
508 [ --with-cpu=CPU Set the default CPU variant to debug],
510 powerpc-* | powerpcle-* )
511 ## It would be nice to keep this table in sync with the one in
513 case "${with_cpu}" in
514 ppc-uisa | rs6000 | 403 | 403GC | 505 | 860 | 601 | 602 | 603 \
516 ## Those are all handled in variants in rs6000-tdep.c, so they're fine.
518 common | power | power2 | rios | rios1 | rios2 | rsc | rsc1 )
519 ## These are all RS6000 variants, as far as GDB is concerned.
529 AC_MSG_WARN(GDB: unknown --with-cpu value: \`${with_cpu}'; using \`ppc-uisa'.)
535 AC_MSG_WARN(GDB may ignore the --with-cpu flag for ${target} targets)
538 AC_DEFINE_UNQUOTED(TARGET_CPU_DEFAULT, "${with_cpu}")
545 [ --enable-gdbtk Enable GDBTK GUI front end],
546 [case "${enableval}" in
550 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
553 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
561 AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
564 # Default is on for everything but go32 and Cygwin
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
597 # now look for Itcl library stuff
599 CY_AC_PATH_ITCLCONFIG
600 if test -z "${no_itcl}"; then
601 CY_AC_LOAD_ITCLCONFIG
604 itcldir=../itcl/itcl/win/
607 itcldir=../itcl/itcl/unix/
612 ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
613 ITCL_DEPS="${itcldir}${ITCL_LIB_FILE}"
617 # now look for Itk library stuff
619 if test -z "${no_itcl}"; then
624 itkdir=../itcl/itk/win/
627 itkdir=../itcl/itk/unix/
631 ITKLIB="${ITK_BUILD_LIB_SPEC}"
632 ITK_DEPS="${itkdir}${ITK_LIB_FILE}"
635 # now look for Tix library stuff
637 if test -z "${no_tix}"; then
639 TIXLIB="${TIX_BUILD_LIB_SPEC}"
640 TIX_DEPS="${TIX_BUILD_LOCATION}/${TIX_LIB_FILE}"
644 ENABLE_CFLAGS="$ENABLE_CFLAGS -DGDBTK"
645 # Tcl/Tk 8.1 require -fwritable strings. I don't
646 # know whether 8.2 will or not, but I bet it will.
647 # I don't have to worry about 7.x since we don't support it.
649 if test "$GCC" = "yes"; then
650 if test "$TCL_VERSION" != "8.0" ; then
651 GDBTK_CFLAGS="-fwritable-strings"
655 # Include some libraries that Tcl and Tk want.
656 TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
657 CONFIG_DEPS='$(LIBGUI) $(ITCL_DEPS) $(ITK_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
658 # Yes, the ordering seems wrong here. But it isn't.
659 # TK_LIBS is the list of libraries that need to be linked
660 # after Tcl/Tk. Note that this isn't put into LIBS. If it
661 # were in LIBS then any link tests after this point would
662 # try to include things like `$(LIBGUI)', which wouldn't work.
663 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
664 CONFIG_SRCS="${CONFIG_SRCS} gdbtk/generic/gdbtk.c gdbtk/generic/gdbtk-cmds.c gdbtk/generic/gdbtk-hooks.c gdbtk/generic/gdbtk-variable.c gdbtk/generic/gdbtk-wrapper.c"
665 CONFIG_OBS="${CONFIG_OBS} gdbtk.o gdbtk-cmds.o gdbtk-hooks.o gdbtk-variable.o gdbtk-wrapper.o"
666 CONFIG_INITS="${CONFIG_INITS} gdbtk/generic/gdbtk.c gdbtk/generic/gdbtk-cmds.c gdbtk/generic/gdbtk-hooks.c gdbtk/generic/gdbtk-variable.c gdbtk/generic/gdbtk-wrapper.c"
668 if test x$gdb_cv_os_cygwin = xyes; then
669 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
670 WIN32LDAPP="-Wl,--subsystem,console"
671 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
677 AC_SUBST(ENABLE_GDBTK)
688 AC_SUBST(GDBTK_CFLAGS)
693 # Unlike the sim directory, whether a simulator is linked is controlled by
694 # presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
695 # This code just checks for a few cases where we'd like to ignore those
696 # definitions, even when they're present in the '.mt' file. These cases
697 # are when --disable-sim is specified, or if the simulator directory is
698 # not part of the soruce tree.
701 [ --enable-sim Link gdb with simulator],
702 [echo "enable_sim = $enable_sim";
703 echo "enableval = ${enableval}";
704 case "${enableval}" in
705 yes) ignore_sim=false ;;
706 no) ignore_sim=true ;;
707 *) ignore_sim=false ;;
711 if test ! -d "${srcdir}/../sim"; then
715 if test "${ignore_sim}" = "true"; then
717 IGNORE_SIM_OBS="SIM_OBS="
724 AC_SUBST(IGNORE_SIM_OBS)
726 AC_SUBST(ENABLE_CFLAGS)
729 AC_SUBST(CONFIG_DEPS)
730 AC_SUBST(CONFIG_SRCS)
731 AC_SUBST(CONFIG_INITS)
733 # Begin stuff to support --enable-shared
734 AC_ARG_ENABLE(shared,
735 [ --enable-shared Use shared libraries],
736 [case "${enableval}" in
744 # If we have shared libraries, try to set rpath reasonably.
745 if test "${shared}" = "true"; then
748 HLDFLAGS='-Wl,+s,+b,$(libdir)'
750 *-*-irix5* | *-*-irix6*)
751 HLDFLAGS='-Wl,-rpath,$(libdir)'
755 *-*-linux* | *-pc-linux-gnu)
756 HLDFLAGS='-Wl,-rpath,$(libdir)'
759 HLDFLAGS='-R $(libdir)'
762 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;'
767 # On SunOS, if the linker supports the -rpath option, use it to
768 # prevent ../bfd and ../opcodes from being included in the run time
772 echo 'main () { }' > conftest.c
773 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
774 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
776 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
778 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
780 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
782 elif test "${shared}" = "true"; then
783 HLDFLAGS='-Wl,-rpath=$(libdir)'
785 HLDFLAGS='-Wl,-rpath='
787 rm -f conftest.t conftest.c conftest
792 # End stuff to support --enable-shared
794 # target_subdir is used by the testsuite to find the target libraries.
796 if test "${host}" != "${target}"; then
797 target_subdir="${target_alias}/"
799 AC_SUBST(target_subdir)
802 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
803 if test ! -f ${host_makefile_frag}; then
804 AC_MSG_ERROR("*** Gdb does not support host ${host}")
806 frags="$frags $host_makefile_frag"
808 target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
809 if test ! -f ${target_makefile_frag}; then
810 AC_MSG_ERROR("*** Gdb does not support target ${target}")
812 frags="$frags $target_makefile_frag"
814 AC_SUBST_FILE(host_makefile_frag)
815 AC_SUBST_FILE(target_makefile_frag)
820 s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
821 ' ${host_makefile_frag}`
824 s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
825 ' ${target_makefile_frag}`
827 # these really aren't orthogonal true/false values of the same condition,
828 # but shells are slow enough that I like to reuse the test conditions
830 if test "${target}" = "${host}"; then
832 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
833 ' ${host_makefile_frag}`
835 # GDBserver is only useful in a "native" enviroment
836 # configdirs=`echo $configdirs | sed 's/gdbserver//'`
840 SUBDIRS="doc testsuite nlm"
841 if test "${enable_multi_ice}" = "yes"; then
842 SUBDIRS="${SUBDIRS} multi-ice"
847 # If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
848 # (NAT_FILE) is not set in config/*/*.m[ht] files, we don't make the
849 # corresponding links. But we have to remove the xm.h files and tm.h
850 # files anyway, e.g. when switching from "configure host" to
856 if test "${hostfile}" != ""; then
857 files="${files} config/${gdb_host_cpu}/${hostfile}"
858 links="${links} xm.h"
861 if test "${targetfile}" != ""; then
862 files="${files} config/${gdb_target_cpu}/${targetfile}"
863 links="${links} tm.h"
866 if test "${nativefile}" != ""; then
867 files="${files} config/${gdb_host_cpu}/${nativefile}"
868 links="${links} nm.h"
870 # A cross-only configuration.
871 files="${files} config/nm-empty.h"
872 links="${links} nm.h"
875 # Make it possible to use the GUI without doing a full install
876 if test "${enable_gdbtk}" = "yes" ; then
877 if test "$LN_S" = "ln -s" -a ! -f gdbtcl ; then
878 echo linking $srcdir/gdbtk/library to gdbtcl
879 $LN_S $srcdir/gdbtk/library gdbtcl
881 echo Warning: Unable to link $srcdir/gdbtk/library to gdbtcl. You will need to do a
882 echo " " make install before you are able to run the GUI.
886 AC_LINK_FILES($files, $links)
888 dnl Check for exe extension set on certain hosts (e.g. Win32)
891 AC_CONFIG_SUBDIRS($configdirs)
892 AC_OUTPUT(Makefile tui/Makefile .gdbinit:gdbinit.in,
894 dnl Autoconf doesn't provide a mechanism for modifying definitions
895 dnl provided by makefile fragments.
897 if test "${nativefile}" = ""; then
898 sed -e '/^NATDEPFILES[[ ]]*=[[ ]]*/s//# NATDEPFILES=/' \
899 < Makefile > Makefile.tem
900 mv -f Makefile.tem Makefile
904 sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
905 /^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
906 /^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
907 mv -f Makefile.tmp Makefile
911 case x$CONFIG_HEADERS in
917 gdb_host_cpu=$gdb_host_cpu
918 gdb_target_cpu=$gdb_target_cpu
919 nativefile=$nativefile