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)
173 BFD_HAVE_SYS_PROCFS_TYPE(prgregset_t)
174 BFD_HAVE_SYS_PROCFS_TYPE(prfpregset_t)
175 BFD_HAVE_SYS_PROCFS_TYPE(lwpid_t)
176 BFD_HAVE_SYS_PROCFS_TYPE(psaddr_t)
178 dnl Check for PIOCSET ioctl entry
180 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
181 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
182 [AC_TRY_COMPILE([#include <unistd.h>
183 #include <sys/types.h>
184 #include <sys/procfs.h>
187 dummy = ioctl(0, PIOCSET, &dummy);
189 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
190 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
191 if test $gdb_cv_have_procfs_piocset = yes; then
192 AC_DEFINE(HAVE_PROCFS_PIOCSET)
196 dnl See if host has libm. This is usually needed by simulators.
197 AC_CHECK_LIB(m, main)
199 dnl Solaris puts wctype in /usr/lib/libw.a before Solaris 2.6.
201 dnl A bug in GNU ld 2.9.1 causes a problem if we link in -lw
202 dnl under Solaris 2.6 because it is some funky empty library.
203 dnl So only link in libw if we have to.
204 AC_CHECK_LIB(c, wctype,: ,AC_CHECK_LIB(w, wctype))
206 dnl See if compiler supports "long long" type.
208 AC_MSG_CHECKING(for long long support in compiler)
209 AC_CACHE_VAL(gdb_cv_c_long_long,
211 extern long long foo;
212 switch (foo & 2) { case 0: return 1; }
214 gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])
215 AC_MSG_RESULT($gdb_cv_c_long_long)
216 if test $gdb_cv_c_long_long = yes; then
217 AC_DEFINE(CC_HAS_LONG_LONG)
220 dnl See if the compiler and runtime support printing long long
222 AC_MSG_CHECKING(for long long support in printf)
223 AC_CACHE_VAL(gdb_cv_printf_has_long_long,
228 l = (l << 16) + 0x0123;
229 l = (l << 16) + 0x4567;
230 l = (l << 16) + 0x89ab;
231 l = (l << 16) + 0xcdef;
232 sprintf (buf, "0x%016llx", l);
233 return (strcmp ("0x0123456789abcdef", buf));
235 gdb_cv_printf_has_long_long=yes,
236 gdb_cv_printf_has_long_long=no,
237 gdb_cv_printf_has_long_long=no)])
238 if test $gdb_cv_printf_has_long_long = yes; then
239 AC_DEFINE(PRINTF_HAS_LONG_LONG)
241 AC_MSG_RESULT($gdb_cv_printf_has_long_long)
243 dnl See if compiler supports "long double" type. Can't use AC_C_LONG_DOUBLE
244 dnl because autoconf complains about cross-compilation issues. However, this
245 dnl code uses the same variables as the macro for compatibility.
247 AC_MSG_CHECKING(for long double support in compiler)
248 AC_CACHE_VAL(ac_cv_c_long_double,
249 [AC_TRY_COMPILE(, [long double foo;],
250 ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])
251 AC_MSG_RESULT($ac_cv_c_long_double)
252 if test $ac_cv_c_long_double = yes; then
253 AC_DEFINE(HAVE_LONG_DOUBLE)
256 dnl See if the compiler and runtime support printing long doubles
258 AC_MSG_CHECKING(for long double support in printf)
259 AC_CACHE_VAL(gdb_cv_printf_has_long_double,
263 long double f = 3.141592653;
264 sprintf (buf, "%Lg", f);
265 return (strncmp ("3.14159", buf, 7));
267 gdb_cv_printf_has_long_double=yes,
268 gdb_cv_printf_has_long_double=no,
269 gdb_cv_printf_has_long_double=no)])
270 if test $gdb_cv_printf_has_long_double = yes; then
271 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE)
273 AC_MSG_RESULT($gdb_cv_printf_has_long_double)
275 dnl See if the compiler and runtime support scanning long doubles
277 AC_MSG_CHECKING(for long double support in scanf)
278 AC_CACHE_VAL(gdb_cv_scanf_has_long_double,
281 char *buf = "3.141592653";
283 sscanf (buf, "%Lg", &f);
284 return !(f > 3.14159 && f < 3.14160);
286 gdb_cv_scanf_has_long_double=yes,
287 gdb_cv_scanf_has_long_double=no,
288 gdb_cv_scanf_has_long_double=no)])
289 if test $gdb_cv_scanf_has_long_double = yes; then
290 AC_DEFINE(SCANF_HAS_LONG_DOUBLE)
292 AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
296 dnl See if thread_db library is around for Solaris thread debugging. Note that
297 dnl we must explicitly test for version 1 of the library because version 0
298 dnl (present on Solaris 2.4 or earlier) doesn't have the same API.
300 dnl Note that we only want this if we are both native (host == target), and
301 dnl not doing a canadian cross build (build == host).
303 if test ${build} = ${host} -a ${host} = ${target} ; then
306 AC_MSG_CHECKING(for HPUX/OSF thread support)
307 if test -f /usr/include/dce/cma_config.h ; then
308 if test "$GCC" = "yes" ; then
310 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
311 CONFIG_OBS="${CONFIG_OJS} hpux-thread.o"
312 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
313 CONFIG_INITS="${CONFIG_INITS} hpux-thread.c"
315 AC_MSG_RESULT(no (suppressed because you are not using GCC))
322 AC_MSG_CHECKING(for Solaris thread debugging library)
323 if test -f /usr/lib/libthread_db.so.1 ; then
325 AC_DEFINE(HAVE_THREAD_DB_LIB)
326 CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
327 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
328 AC_CHECK_LIB(dl, dlopen)
329 if test "$GCC" = "yes" ; then
330 # The GNU linker requires the -export-dynamic option to make
331 # all symbols visible in the dynamic symbol table.
332 hold_ldflags=$LDFLAGS
333 AC_MSG_CHECKING(for the ld -export-dynamic flag)
334 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
335 AC_TRY_LINK(, [int i;], found=yes, found=no)
336 LDFLAGS=$hold_ldflags
337 AC_MSG_RESULT($found)
338 if test $found = yes; then
339 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
342 # Sun randomly tweaked the prototypes in <proc_service.h>
344 AC_MSG_CHECKING(if <proc_service.h> is old)
345 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
347 #include <proc_service.h>
349 (struct ps_prochandle*, psaddr_t, const void*, size_t);
350 ],, gdb_cv_proc_service_is_old=no,
351 gdb_cv_proc_service_is_old=yes)
353 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
354 if test $gdb_cv_proc_service_is_old = yes; then
355 AC_DEFINE(PROC_SERVICE_IS_OLD)
362 AC_SUBST(CONFIG_LDFLAGS)
365 dnl Handle optional features that can be enabled.
369 [ --enable-tui Enable full-screen terminal user interface],
371 case "${enable_tui}" in
373 "") enable_tui=yes ;;
375 AC_MSG_ERROR(Bad value for --enable-tui: ${enableval})
379 case ${enable_tui} in
383 TUI_LIBRARY=tui/libtui.a
391 AC_SUBST(TUI_LIBRARY)
393 AC_ARG_ENABLE(netrom,
394 [ --enable-netrom Enable NetROM support],
395 [case "${enableval}" in
396 yes) enable_netrom=yes ;;
397 no) enable_netrom=no ;;
398 *) AC_MSG_ERROR(bad value ${enableval} given for netrom option) ;;
401 if test "${enable_netrom}" = "yes"; then
402 CONFIG_OBS="${CONFIG_OBS} remote-nrom.o"
403 CONFIG_SRCS="${CONFIG_SRCS} remote-nrom.c"
404 CONFIG_INITS="${CONFIG_INITS} remote-nrom.c"
407 AC_ARG_ENABLE(build-warnings,
408 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
409 [build_warnings="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations"
410 case "${enableval}" in
412 no) build_warnings="-w";;
413 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
414 build_warnings="${build_warnings} ${t}";;
415 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
416 build_warnings="${t} ${build_warnings}";;
417 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
419 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
420 echo "Setting warning flags = $build_warnings" 6>&1
424 if test "x${build_warnings}" != x -a "x$GCC" = xyes
426 # Separate out the -Werror flag as some files just cannot be
427 # compiled with it enabled.
428 for w in ${build_warnings}; do
430 -Werr*) WERROR_CFLAGS=-Werror ;;
431 *) WARN_CFLAGS="${WARN_CFLAGS} $w"
434 fi],[build_warnings=""])dnl
436 AC_SUBST(WARN_CFLAGS)
437 AC_SUBST(WERROR_CFLAGS)
441 AC_SUBST(MMALLOC_CFLAGS)
445 [ --with-mmalloc Use memory mapped malloc package],
446 [case "${withval}" in
447 yes) want_mmalloc=true ;;
448 no) want_mmalloc=false;;
449 *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
450 esac],[want_mmalloc=false])dnl
452 if test x$want_mmalloc = xtrue; then
453 AC_DEFINE(USE_MMALLOC)
454 AC_DEFINE(MMCHECK_FORCE)
455 MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
456 MMALLOC='../mmalloc/libmmalloc.a'
460 # In the Cygwin environment, we need some additional flags.
461 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
462 [AC_EGREP_CPP(lose, [
463 #if defined (__CYGWIN__) || defined (__CYGWIN32__)
465 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
467 DLLTOOL=${DLLTOOL-dlltool}
468 WINDRES=${WINDRES-windres}
472 dnl Figure out which term library to use.
473 if test x$gdb_host = xgo32; then
476 if test x$gdb_cv_os_cygwin = xyes; then
477 TERM_LIB='`if test -r ../libtermcap/libtermcap.a; then echo ../libtermcap/libtermcap.a; else echo -ltermcap; fi`'
480 AC_CHECK_LIB(ncurses, tgetent, TERM_LIB=-lncurses,
481 AC_CHECK_LIB(Hcurses, tgetent, TERM_LIB=-lHcurses,
482 AC_CHECK_LIB(termlib, tgetent, TERM_LIB=-ltermlib,
483 AC_CHECK_LIB(termcap, tgetent, TERM_LIB=-ltermcap,
484 AC_CHECK_LIB(curses, tgetent, TERM_LIB=-lcurses,
485 AC_CHECK_LIB(terminfo, tgetent, TERM_LIB=-lterminfo))))))
487 if test "x$TERM_LIB" = x
489 AC_MSG_ERROR(Could not find a term library, e.g. termcap or termlib!)
495 # libreadline needs libuser32.a in a cygwin environment
497 if test x$gdb_cv_os_cygwin = xyes; then
500 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
506 LIBGUI="../libgui/src/libgui.a"
507 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
509 AC_SUBST(GUI_CFLAGS_X)
512 [ --with-cpu=CPU Set the default CPU variant to debug],
514 powerpc-* | powerpcle-* )
515 ## It would be nice to keep this table in sync with the one in
517 case "${with_cpu}" in
518 ppc-uisa | rs6000 | 403 | 403GC | 505 | 860 | 601 | 602 | 603 \
520 ## Those are all handled in variants in rs6000-tdep.c, so they're fine.
522 common | power | power2 | rios | rios1 | rios2 | rsc | rsc1 )
523 ## These are all RS6000 variants, as far as GDB is concerned.
533 AC_MSG_WARN(GDB: unknown --with-cpu value: \`${with_cpu}'; using \`ppc-uisa'.)
539 AC_MSG_WARN(GDB may ignore the --with-cpu flag for ${target} targets)
542 AC_DEFINE_UNQUOTED(TARGET_CPU_DEFAULT, "${with_cpu}")
549 [ --enable-gdbtk Enable GDBTK GUI front end],
550 [case "${enableval}" in
554 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
557 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
565 AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
568 # Default is on for everything but go32 and Cygwin
584 if test "${enable_gdbtk}" = "yes"; then
587 if test -z "${no_tcl}"; then
591 # If $no_tk is nonempty, then we can't do Tk, and there is no
592 # point to doing Tcl.
593 if test -z "${no_tk}"; then
601 # now look for Itcl library stuff
603 CY_AC_PATH_ITCLCONFIG
604 if test -z "${no_itcl}"; then
605 CY_AC_LOAD_ITCLCONFIG
608 itcldir=../itcl/itcl/win/
611 itcldir=../itcl/itcl/unix/
616 ITCLLIB="${ITCL_BUILD_LIB_SPEC}"
617 ITCL_DEPS="${itcldir}${ITCL_LIB_FILE}"
621 # now look for Itk library stuff
623 if test -z "${no_itcl}"; then
628 itkdir=../itcl/itk/win/
631 itkdir=../itcl/itk/unix/
635 ITKLIB="${ITK_BUILD_LIB_SPEC}"
636 ITK_DEPS="${itkdir}${ITK_LIB_FILE}"
639 # now look for Tix library stuff
641 if test -z "${no_tix}"; then
643 TIXLIB="${TIX_BUILD_LIB_SPEC}"
644 TIX_DEPS="${TIX_BUILD_LOCATION}/${TIX_LIB_FILE}"
648 ENABLE_CFLAGS="$ENABLE_CFLAGS -DGDBTK"
649 # Tcl/Tk 8.1 require -fwritable strings. I don't
650 # know whether 8.2 will or not, but I bet it will.
651 # I don't have to worry about 7.x since we don't support it.
653 if test "$GCC" = "yes"; then
654 if test "$TCL_VERSION" != "8.0" ; then
655 GDBTK_CFLAGS="-fwritable-strings"
659 # Include some libraries that Tcl and Tk want.
660 TCL_LIBS='$(LIBGUI) $(ITCL) $(ITK) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
661 CONFIG_DEPS='$(LIBGUI) $(ITCL_DEPS) $(ITK_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
662 # Yes, the ordering seems wrong here. But it isn't.
663 # TK_LIBS is the list of libraries that need to be linked
664 # after Tcl/Tk. Note that this isn't put into LIBS. If it
665 # were in LIBS then any link tests after this point would
666 # try to include things like `$(LIBGUI)', which wouldn't work.
667 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
668 CONFIG_SRCS="${CONFIG_SRCS} gdbtk/generic/gdbtk.c gdbtk/generic/gdbtk-cmds.c gdbtk/generic/gdbtk-hooks.c gdbtk/generic/gdbtk-varobj.c gdbtk/generic/gdbtk-wrapper.c"
669 CONFIG_OBS="${CONFIG_OBS} gdbtk.o gdbtk-cmds.o gdbtk-hooks.o gdbtk-varobj.o gdbtk-wrapper.o"
670 CONFIG_INITS="${CONFIG_INITS} gdbtk/generic/gdbtk.c gdbtk/generic/gdbtk-cmds.c gdbtk/generic/gdbtk-hooks.c gdbtk/generic/gdbtk-varobj.c gdbtk/generic/gdbtk-wrapper.c"
672 if test x$gdb_cv_os_cygwin = xyes; then
673 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
674 WIN32LDAPP="-Wl,--subsystem,console"
675 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
681 AC_SUBST(ENABLE_GDBTK)
692 AC_SUBST(GDBTK_CFLAGS)
697 # Unlike the sim directory, whether a simulator is linked is controlled by
698 # presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
699 # This code just checks for a few cases where we'd like to ignore those
700 # definitions, even when they're present in the '.mt' file. These cases
701 # are when --disable-sim is specified, or if the simulator directory is
702 # not part of the soruce tree.
705 [ --enable-sim Link gdb with simulator],
706 [echo "enable_sim = $enable_sim";
707 echo "enableval = ${enableval}";
708 case "${enableval}" in
709 yes) ignore_sim=false ;;
710 no) ignore_sim=true ;;
711 *) ignore_sim=false ;;
715 if test ! -d "${srcdir}/../sim"; then
719 if test "${ignore_sim}" = "true"; then
721 IGNORE_SIM_OBS="SIM_OBS="
728 AC_SUBST(IGNORE_SIM_OBS)
730 AC_SUBST(ENABLE_CFLAGS)
733 AC_SUBST(CONFIG_DEPS)
734 AC_SUBST(CONFIG_SRCS)
735 AC_SUBST(CONFIG_INITS)
737 # Begin stuff to support --enable-shared
738 AC_ARG_ENABLE(shared,
739 [ --enable-shared Use shared libraries],
740 [case "${enableval}" in
748 # If we have shared libraries, try to set rpath reasonably.
749 if test "${shared}" = "true"; then
752 HLDFLAGS='-Wl,+s,+b,$(libdir)'
754 *-*-irix5* | *-*-irix6*)
755 HLDFLAGS='-Wl,-rpath,$(libdir)'
759 *-*-linux* | *-pc-linux-gnu)
760 HLDFLAGS='-Wl,-rpath,$(libdir)'
763 HLDFLAGS='-R $(libdir)'
766 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;'
771 # On SunOS, if the linker supports the -rpath option, use it to
772 # prevent ../bfd and ../opcodes from being included in the run time
776 echo 'main () { }' > conftest.c
777 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
778 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
780 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
782 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
784 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
786 elif test "${shared}" = "true"; then
787 HLDFLAGS='-Wl,-rpath=$(libdir)'
789 HLDFLAGS='-Wl,-rpath='
791 rm -f conftest.t conftest.c conftest
796 # End stuff to support --enable-shared
798 # target_subdir is used by the testsuite to find the target libraries.
800 if test "${host}" != "${target}"; then
801 target_subdir="${target_alias}/"
803 AC_SUBST(target_subdir)
806 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
807 if test ! -f ${host_makefile_frag}; then
808 AC_MSG_ERROR("*** Gdb does not support host ${host}")
810 frags="$frags $host_makefile_frag"
812 target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
813 if test ! -f ${target_makefile_frag}; then
814 AC_MSG_ERROR("*** Gdb does not support target ${target}")
816 frags="$frags $target_makefile_frag"
818 AC_SUBST_FILE(host_makefile_frag)
819 AC_SUBST_FILE(target_makefile_frag)
824 s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
825 ' ${host_makefile_frag}`
828 s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
829 ' ${target_makefile_frag}`
831 # these really aren't orthogonal true/false values of the same condition,
832 # but shells are slow enough that I like to reuse the test conditions
834 if test "${target}" = "${host}"; then
836 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
837 ' ${host_makefile_frag}`
839 # GDBserver is only useful in a "native" enviroment
840 # configdirs=`echo $configdirs | sed 's/gdbserver//'`
844 SUBDIRS="doc testsuite nlm"
845 if test "${enable_multi_ice}" = "yes"; then
846 SUBDIRS="${SUBDIRS} multi-ice"
851 # If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
852 # (NAT_FILE) is not set in config/*/*.m[ht] files, we don't make the
853 # corresponding links. But we have to remove the xm.h files and tm.h
854 # files anyway, e.g. when switching from "configure host" to
860 if test "${hostfile}" != ""; then
861 files="${files} config/${gdb_host_cpu}/${hostfile}"
862 links="${links} xm.h"
865 if test "${targetfile}" != ""; then
866 files="${files} config/${gdb_target_cpu}/${targetfile}"
867 links="${links} tm.h"
870 if test "${nativefile}" != ""; then
871 files="${files} config/${gdb_host_cpu}/${nativefile}"
872 links="${links} nm.h"
874 # A cross-only configuration.
875 files="${files} config/nm-empty.h"
876 links="${links} nm.h"
879 # Make it possible to use the GUI without doing a full install
880 if test "${enable_gdbtk}" = "yes" ; then
881 if test "$LN_S" = "ln -s" -a ! -f gdbtcl ; then
882 echo linking $srcdir/gdbtk/library to gdbtcl
883 $LN_S $srcdir/gdbtk/library gdbtcl
885 echo Warning: Unable to link $srcdir/gdbtk/library to gdbtcl. You will need to do a
886 echo " " make install before you are able to run the GUI.
890 AC_LINK_FILES($files, $links)
892 dnl Check for exe extension set on certain hosts (e.g. Win32)
895 AC_CONFIG_SUBDIRS($configdirs)
896 AC_OUTPUT(Makefile tui/Makefile .gdbinit:gdbinit.in,
898 dnl Autoconf doesn't provide a mechanism for modifying definitions
899 dnl provided by makefile fragments.
901 if test "${nativefile}" = ""; then
902 sed -e '/^NATDEPFILES[[ ]]*=[[ ]]*/s//# NATDEPFILES=/' \
903 < Makefile > Makefile.tem
904 mv -f Makefile.tem Makefile
908 sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
909 /^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
910 /^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
911 mv -f Makefile.tmp Makefile
915 case x$CONFIG_HEADERS in
921 gdb_host_cpu=$gdb_host_cpu
922 gdb_target_cpu=$gdb_target_cpu
923 nativefile=$nativefile