* config/tc-h8300.c (get_operand): Fix typos in ldm/stm support.
[deliverable/binutils-gdb.git] / gdb / configure.in
CommitLineData
2f4973f8
SG
1dnl Autoconf configure script for GDB, the GNU debugger.
2dnl Copyright 1995, 1996 Free Software Foundation, Inc.
3dnl
4dnl This file is part of GDB.
5dnl
6dnl This program is free software; you can redistribute it and/or modify
7dnl it under the terms of the GNU General Public License as published by
8dnl the Free Software Foundation; either version 2 of the License, or
9dnl (at your option) any later version.
10dnl
11dnl This program is distributed in the hope that it will be useful,
12dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
13dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14dnl GNU General Public License for more details.
15dnl
16dnl You should have received a copy of the GNU General Public License
17dnl along with this program; if not, write to the Free Software
476a283f 18dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2f4973f8 19
5436fc65 20dnl Process this file with autoconf to produce a configure script.
2f4973f8 21
5d8b7982 22AC_PREREQ(2.5)dnl
5436fc65 23AC_INIT(main.c)
18ea4416 24AC_CONFIG_HEADER(config.h:config.in)
5436fc65 25
5436fc65
C
26AC_PROG_CC
27AC_AIX
28AC_MINIX
29AC_ISC_POSIX
30
35ce4f08
GN
31DLLTOOL=${DLLTOOL-dlltool}
32AC_SUBST(DLLTOOL)
33
f02156cf 34AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
0579b53d
GN
35AC_CANONICAL_SYSTEM
36
fcfc3c0c
TT
37dnl gdb doesn't use gettext, but bfd does. We call this to ensure we
38dnl link with the correct libraries.
39ALL_LINGUAS=
40CY_GNU_GETTEXT
41
bfde4a67
SG
42dnl List of object files added by configure.
43
44CONFIG_OBS=
018d76dd 45CONFIG_DEPS=
c7bb1531 46CONFIG_SRCS=
bfde4a67
SG
47
48configdirs="doc testsuite"
49
50dnl
51changequote(,)dnl
52
53. ${srcdir}/configure.host
54
55. ${srcdir}/configure.tgt
56
57dnl
58changequote([,])dnl
59
5436fc65 60AC_PROG_INSTALL
d8efbc66
FF
61AC_CHECK_TOOL(AR, ar)
62AC_CHECK_TOOL(RANLIB, ranlib, :)
1e02f078 63AC_PROG_YACC
d8efbc66 64AC_PROG_AWK
5436fc65 65
5436fc65
C
66AC_ARG_PROGRAM
67
c14cabba
AC
68AC_TYPE_SIGNAL
69
2b576293 70AC_HEADER_STDC
46ccc6bf 71AC_CHECK_HEADERS(limits.h memory.h string.h strings.h unistd.h termios.h termio.h sgtty.h stddef.h stdlib.h sys/procfs.h link.h endian.h objlist.h libintl.h wctype.h wchar.h)
9ed669cf 72
2b576293
C
73AC_HEADER_STAT
74
8501c742
SG
75AC_C_CONST
76
46ccc6bf 77AC_CHECK_FUNCS(setpgid sbrk select poll sigaction isascii bzero bcopy memcpy btowc)
0aa3233e 78AC_FUNC_ALLOCA
72ae15f6 79
e3147bf2 80# If we are configured native on GNU/Linux, work around problems with sys/procfs.h
54225fd0
MA
81if test "${target}" = "${host}"; then
82 case "${host}" in
3435297a 83 i[[3456]]86-*-linux*)
0728afad 84 AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
54225fd0
MA
85 AC_DEFINE(sys_quotactl)
86 ;;
87 esac
88fi
89
4708ac65 90AC_MSG_CHECKING([for gregset_t type])
07b77f5c 91AC_CACHE_VAL(gdb_cv_have_gregset_t,
4708ac65 92[AC_TRY_LINK([#include <sys/procfs.h>],[gregset_t *gregsetp = 0],
07b77f5c
FF
93gdb_cv_have_gregset_t=yes, gdb_cv_have_gregset_t=no)])
94AC_MSG_RESULT($gdb_cv_have_gregset_t)
95if test $gdb_cv_have_gregset_t = yes; then
4708ac65
FF
96 AC_DEFINE(HAVE_GREGSET_T)
97fi
98
99AC_MSG_CHECKING([for fpregset_t type])
07b77f5c 100AC_CACHE_VAL(gdb_cv_have_fpregset_t,
4708ac65 101[AC_TRY_LINK([#include <sys/procfs.h>],[fpregset_t *fpregsetp = 0],
07b77f5c
FF
102gdb_cv_have_fpregset_t=yes, gdb_cv_have_fpregset_t=no)])
103AC_MSG_RESULT($gdb_cv_have_fpregset_t)
104if test $gdb_cv_have_fpregset_t = yes; then
4708ac65
FF
105 AC_DEFINE(HAVE_FPREGSET_T)
106fi
107
ef6c51d1
SG
108dnl See if host has libm. This is usually needed by simulators.
109AC_CHECK_LIB(m, main)
110
3f550b59
FF
111dnl See if compiler supports "long long" type.
112
113AC_MSG_CHECKING(for long long support in compiler)
114AC_CACHE_VAL(gdb_cv_c_long_long,
80f600a4 115[AC_TRY_COMPILE(, [
d538f9cf
FF
116 extern long long foo;
117 switch (foo & 2) { case 0: return 1; }
118],
3f550b59
FF
119gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])
120AC_MSG_RESULT($gdb_cv_c_long_long)
121if test $gdb_cv_c_long_long = yes; then
122 AC_DEFINE(CC_HAS_LONG_LONG)
123fi
124
125dnl See if the compiler and runtime support printing long long
126
127AC_MSG_CHECKING(for long long support in printf)
128AC_CACHE_VAL(gdb_cv_printf_has_long_long,
129[AC_TRY_RUN([
130int main () {
f7b8c9ce
AC
131 char buf[32];
132 long long l = 0;
133 l = (l << 16) + 0x0123;
134 l = (l << 16) + 0x4567;
135 l = (l << 16) + 0x89ab;
136 l = (l << 16) + 0xcdef;
137 sprintf (buf, "0x%016llx", l);
138 return (strcmp ("0x0123456789abcdef", buf));
3f550b59
FF
139}],
140gdb_cv_printf_has_long_long=yes,
141gdb_cv_printf_has_long_long=no,
142gdb_cv_printf_has_long_long=no)])
143if test $gdb_cv_printf_has_long_long = yes; then
144 AC_DEFINE(PRINTF_HAS_LONG_LONG)
145fi
146AC_MSG_RESULT($gdb_cv_printf_has_long_long)
147
aa220473
SG
148dnl See if compiler supports "long double" type. Can't use AC_C_LONG_DOUBLE
149dnl because autoconf complains about cross-compilation issues. However, this
150dnl code uses the same variables as the macro for compatibility.
151
07b77f5c 152AC_MSG_CHECKING(for long double support in compiler)
aa220473
SG
153AC_CACHE_VAL(ac_cv_c_long_double,
154[AC_TRY_COMPILE(, [long double foo;],
155ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])
156AC_MSG_RESULT($ac_cv_c_long_double)
157if test $ac_cv_c_long_double = yes; then
158 AC_DEFINE(HAVE_LONG_DOUBLE)
159fi
160
07b77f5c
FF
161dnl See if the compiler and runtime support printing long doubles
162
163AC_MSG_CHECKING(for long double support in printf)
164AC_CACHE_VAL(gdb_cv_printf_has_long_double,
165[AC_TRY_RUN([
166int main () {
167 char buf[16];
168 long double f = 3.141592653;
169 sprintf (buf, "%Lg", f);
170 return (strncmp ("3.14159", buf, 7));
171}],
172gdb_cv_printf_has_long_double=yes,
173gdb_cv_printf_has_long_double=no,
174gdb_cv_printf_has_long_double=no)])
175if test $gdb_cv_printf_has_long_double = yes; then
176 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE)
177fi
178AC_MSG_RESULT($gdb_cv_printf_has_long_double)
179
f7b8c9ce
AC
180dnl See if the compiler and runtime support scanning long doubles
181
182AC_MSG_CHECKING(for long double support in scanf)
183AC_CACHE_VAL(gdb_cv_scanf_has_long_double,
184[AC_TRY_RUN([
185int main () {
186 char *buf = "3.141592653";
187 long double f = 0;
188 sscanf (buf, "%Lg", &f);
189 return !(f > 3.14159 && f < 3.14160);
190}],
191gdb_cv_scanf_has_long_double=yes,
192gdb_cv_scanf_has_long_double=no,
193gdb_cv_scanf_has_long_double=no)])
194if test $gdb_cv_scanf_has_long_double = yes; then
195 AC_DEFINE(SCANF_HAS_LONG_DOUBLE)
196fi
197AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
198
2b576293 199AC_FUNC_MMAP
5436fc65 200
fef1696f
ILT
201BFD_NEED_DECLARATION(malloc)
202BFD_NEED_DECLARATION(realloc)
203BFD_NEED_DECLARATION(free)
204
21cbc60c
JM
205BFD_NEED_DECLARATION(strerror)
206
4915acad
SG
207dnl See if thread_db library is around for Solaris thread debugging. Note that
208dnl we must explicitly test for version 1 of the library because version 0
209dnl (present on Solaris 2.4 or earlier) doesn't have the same API.
210
89e673a4
SG
211dnl Note that we only want this if we are both native (host == target), and
212dnl not doing a canadian cross build (build == host).
213
214if test ${build} = ${host} -a ${host} = ${target} ; then
4b95e9a1
JM
215 case ${host_os} in
216 hpux*)
217 AC_MSG_CHECKING(for HPUX/OSF thread support)
218 if test -f /usr/include/dce/cma_config.h ; then
219 if test "$GCC" = "yes" ; then
220 AC_MSG_RESULT(yes)
221 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
222 CONFIG_OBS="${CONFIG_OJS} hpux-thread.o"
c7bb1531 223 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
4b95e9a1
JM
224 else
225 AC_MSG_RESULT(no (suppressed because you are not using GCC))
226 fi
227 else
228 AC_MSG_RESULT(no)
229 fi
230 ;;
231 solaris*)
232 AC_MSG_CHECKING(for Solaris thread debugging library)
233 if test -f /usr/lib/libthread_db.so.1 ; then
234 AC_MSG_RESULT(yes)
235 AC_DEFINE(HAVE_THREAD_DB_LIB)
236 CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
c7bb1531 237 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
4b95e9a1
JM
238 AC_CHECK_LIB(dl, dlopen)
239 if test "$GCC" = "yes" ; then
240 # The GNU linker requires the -export-dynamic option to make
241 # all symbols visible in the dynamic symbol table.
242 hold_ldflags=$LDFLAGS
243 AC_MSG_CHECKING(for the ld -export-dynamic flag)
244 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
245 AC_TRY_LINK(, [int i;], found=yes, found=no)
246 LDFLAGS=$hold_ldflags
247 AC_MSG_RESULT($found)
248 if test $found = yes; then
249 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
250 fi
251 fi
252 else
253 AC_MSG_RESULT(no)
254 fi
255 ;;
256 esac
257 AC_SUBST(CONFIG_LDFLAGS)
89e673a4 258fi
47ef0da5 259
5436fc65
C
260dnl Handle optional features that can be enabled.
261ENABLE_CFLAGS=
5436fc65
C
262
263AC_ARG_ENABLE(netrom,
264[ --enable-netrom ],
265[case "${enableval}" in
266yes) enable_netrom=yes ;;
267no) enable_netrom=no ;;
268*) AC_MSG_ERROR(bad value ${enableval} given for netrom option) ;;
269esac])
270
271if test "${enable_netrom}" = "yes"; then
6c310da8 272 CONFIG_OBS="${CONFIG_OBS} remote-nrom.o"
c7bb1531 273 CONFIG_SRCS="${CONFIG_SRCS} remote-nrom.c"
5436fc65
C
274fi
275
0728afad
FF
276MMALLOC_CFLAGS=
277MMALLOC=
278AC_SUBST(MMALLOC_CFLAGS)
279AC_SUBST(MMALLOC)
280
281AC_ARG_WITH(mmalloc,
282[ --with-mmalloc use memory mapped malloc package],
283[case "${withval}" in
284 yes) want_mmalloc=true ;;
285 no) want_mmalloc=false;;
286 *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
287esac],[want_mmalloc=false])dnl
288
289if test x$want_mmalloc = xtrue; then
290 AC_DEFINE(USE_MMALLOC)
dd600735 291 AC_DEFINE(MMCHECK_FORCE)
0728afad
FF
292 MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
293 MMALLOC='../mmalloc/libmmalloc.a'
294fi
295
5436fc65 296# start-sanitize-gdbtk
2476848a
MH
297ENABLE_IDE=
298AC_ARG_ENABLE(ide, [ --enable-ide Enable IDE support])
299if test "$enable_ide" = yes; then
300 enable_ide=yes
301 ENABLE_IDE=1
302else
303 enable_ide=no
304fi
305AC_SUBST(ENABLE_IDE)
306
5436fc65
C
307ENABLE_GDBTK=
308
309AC_ARG_ENABLE(gdbtk,
310[ --enable-gdbtk ],
311[case "${enableval}" in
0fe1522a
SG
312 yes)
313 case "$host" in
314 *go32*)
315 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
316 enable_gdbtk=no ;;
8a19b35a 317 *windows*)
b613bfbf
GN
318 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
319 enable_gdbtk=no ;;
0fe1522a
SG
320 *)
321 enable_gdbtk=yes ;;
322 esac ;;
323 no)
324 enable_gdbtk=no ;;
325 *)
326 AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
327esac],
328[
b613bfbf 329# Default is on for everything but go32 and cygwin32
0fe1522a 330case "$host" in
8a19b35a 331 *go32* | *windows*)
b613bfbf 332 ;;
0fe1522a
SG
333 *)
334 enable_gdbtk=yes ;;
335 esac
336])
5436fc65 337
9b119644
ILT
338# In the cygwin32 environment, we need some additional flags.
339AC_CACHE_CHECK([for cygwin32], gdb_cv_os_cygwin32,
340[AC_EGREP_CPP(lose, [
341#ifdef __CYGWIN32__
342lose
343#endif],[gdb_cv_os_cygwin32=yes],[gdb_cv_os_cygwin32=no])])
344
345WIN32LIBS=
346WIN32LDAPP=
347AC_SUBST(WIN32LIBS)
348AC_SUBST(WIN32LDAPP)
349
929db6e5
EZ
350WINDRES=${WINDRES-windres}
351AC_SUBST(WINDRES)
352
9b119644
ILT
353if test x$gdb_cv_os_cygwin32 = xyes; then
354 if test x$enable_ide = xyes; then
355 WIN32LIBS="-ladvapi32"
356 fi
357fi
358
359configdir="unix"
8a19b35a 360
b177bf84 361GDBTKLIBS=
5436fc65 362if test "${enable_gdbtk}" = "yes"; then
0fe1522a 363
047465fd 364 CY_AC_PATH_TCLCONFIG
0cf433d9
ILT
365 if test -z "${no_tcl}"; then
366 CY_AC_LOAD_TCLCONFIG
367 CY_AC_PATH_TKCONFIG
047465fd 368
0cf433d9
ILT
369 # If $no_tk is nonempty, then we can't do Tk, and there is no
370 # point to doing Tcl.
371 if test -z "${no_tk}"; then
372 CY_AC_LOAD_TKCONFIG
373 CY_AC_PATH_TCLH
374 CY_AC_PATH_TKH
2476848a
MH
375 CY_AC_PATH_ITCLH
376 CY_AC_PATH_TIX
047465fd 377
6bc5b2fa 378 # now look for tix library stuff
1154b47a 379 TIXVERSION=4.1.8.0
6bc5b2fa
MH
380 . ${ac_cv_c_tclconfig}/tclConfig.sh
381 case "${host}" in
382 *-*-cygwin32*)
f1f6dd9c 383 tixdir=../tix/win/tcl8.0
6bc5b2fa
MH
384 ;;
385 *)
1154b47a 386 tixdir=../tix/unix/tk8.0
6bc5b2fa
MH
387 ;;
388 esac
bb3d9f43
KS
389 if test "${TCL_SHARED_BUILD}" = "1"; then
390 TIX_LIB_EXT="${TCL_SHLIB_SUFFIX}"
11f91b2b
KS
391
392 # Can't win them all: SunOS 4 (others?) appends a version
393 # number after the ".so"
394 case "${host}" in
395 *-*-sunos4*)
396 TIX_LIB_EXT="${TIX_LIB_EXT}.1.0" ;;
397 esac
398
bb3d9f43
KS
399 else
400 TIX_LIB_EXT=".a"
401 fi
11f91b2b 402
6bc5b2fa
MH
403 if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
404 TIXLIB="-L${tixdir} -ltix${TIXVERSION}"
bb3d9f43 405 TIX_DEPS="${tixdir}/libtix${TIXVERSION}${TIX_LIB_EXT}"
6bc5b2fa
MH
406 else
407 TIXLIB="-L${tixdir} -ltix`echo ${TIXVERSION} | tr -d .`"
bb3d9f43 408 TIX_DEPS="${tixdir}/libtix`echo ${TIXVERSION} | tr -d .`${TIX_LIB_EXT}"
6bc5b2fa
MH
409 fi
410
0cf433d9 411 ENABLE_GDBTK=1
1a57cd09 412
6c310da8 413 # Include some libraries that Tcl and Tk want.
2476848a 414 if test "${enable_ide}" = "yes"; then
8b5befef
ILT
415 TCL_LIBS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
416 CONFIG_DEPS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE_DEPS) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
2476848a 417 else
dafec9dd
ILT
418 TCL_LIBS='$(LIBGUI) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
419 CONFIG_DEPS='$(LIBGUI) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
2476848a 420 fi
46964086
TT
421 # Yes, the ordering seems wrong here. But it isn't.
422 # TK_LIBS is the list of libraries that need to be linked
b177bf84
TT
423 # after Tcl/Tk. Note that this isn't put into LIBS. If it
424 # were in LIBS then any link tests after this point would
425 # try to include things like `$(LIBGUI)', which wouldn't work.
426 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
dd3dd918 427 CONFIG_OBS="${CONFIG_OBS} gdbtk.o"
9b119644
ILT
428
429 if test x$gdb_cv_os_cygwin32 = xyes; then
018d76dd 430 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32 -luser32"
47792960 431 WIN32LDAPP="-Wl,--subsystem,console"
929db6e5 432 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
9b119644 433 fi
0cf433d9 434 fi
a2b63bbd 435 fi
5436fc65 436fi
a2b63bbd 437
5436fc65 438AC_SUBST(ENABLE_GDBTK)
9c0bc1da 439AC_SUBST(X_CFLAGS)
a2b63bbd
JM
440AC_SUBST(X_LDFLAGS)
441AC_SUBST(X_LIBS)
6bc5b2fa 442AC_SUBST(TIXLIB)
018d76dd 443AC_SUBST(TIX_DEPS)
b177bf84 444AC_SUBST(GDBTKLIBS)
5436fc65
C
445# end-sanitize-gdbtk
446
b236defa
FCE
447AC_PATH_X
448# start-sanitize-sky
449# Enable GPU2 library for MIPS simulator
450AC_ARG_WITH(sim-gpu2,
451[ --with-sim-gpu2=path Use GPU2 library under given directory],
bd5eafcd
FCE
452[case "${target}" in
453 mips*-sky-*)
454 if test -d "${withval}"
455 then
456 LIBS="${LIBS} -L${withval}/lib -lgpu2 -L${x_libraries} -lX11"
457 else
458 AC_MSG_WARN([Directory ${withval} does not exist.])
459 fi ;;
460 *) AC_MSG_WARN([--with-sim-gpu2 option invalid for target ${target}])
461esac])dnl
3e5fbf91
JL
462
463# Enable target accurate FP library
464AC_ARG_WITH(sim-funit,
465[ --with-sim-funit=path Use target FP lib under given directory],
466[case "${target}" in
467 mips*-sky-*)
468 if test -d "${withval}"
469 then
470 LIBS="${LIBS} -L${withval}/lib -lfunit"
471 else
472 AC_MSG_WARN([Directory ${withval} does not exist.])
473 fi ;;
474 *) AC_MSG_WARN([--with-sim-funit option invalid for target ${target}])
475esac])dnl
b236defa
FCE
476# end-sanitize-sky
477
15125484
JM
478dnl Solaris puts wctype in /usr/lib/libw.a
479AC_CHECK_LIB(w, wctype, [LIBS="$LIBS -lw"])
480
5436fc65 481AC_SUBST(ENABLE_CFLAGS)
6c310da8
SG
482
483AC_SUBST(CONFIG_OBS)
018d76dd 484AC_SUBST(CONFIG_DEPS)
c7bb1531 485AC_SUBST(CONFIG_SRCS)
6ec7e4d3 486
1d5eb137
FF
487# Begin stuff to support --enable-shared
488AC_ARG_ENABLE(shared,
489[ --enable-shared use shared libraries],
490[case "${enableval}" in
491 yes) shared=true ;;
492 no) shared=false ;;
493 *) shared=true ;;
494esac])dnl
495
496HLDFLAGS=
497HLDENV=
498# If we have shared libraries, try to set rpath reasonably.
499if test "${shared}" = "true"; then
500 case "${host}" in
501 *-*-hpux*)
502 HLDFLAGS='-Wl,+s,+b,$(libdir)'
503 ;;
504 *-*-irix5* | *-*-irix6*)
505 HLDFLAGS='-Wl,-rpath,$(libdir)'
506 ;;
507 *-*-linux*aout*)
508 ;;
8ddf07a2 509 *-*-linux* | *-pc-linux-gnu)
1d5eb137
FF
510 HLDFLAGS='-Wl,-rpath,$(libdir)'
511 ;;
512 *-*-solaris*)
513 HLDFLAGS='-R $(libdir)'
514 ;;
515 *-*-sysv4*)
516 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;'
517 ;;
518 esac
519fi
520
521# On SunOS, if the linker supports the -rpath option, use it to
522# prevent ../bfd and ../opcodes from being included in the run time
523# search path.
524case "${host}" in
525 *-*-sunos*)
526 echo 'main () { }' > conftest.c
527 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
528 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
529 :
530 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
531 :
532 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
533 :
074d813d
PS
534 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
535 :
1d5eb137
FF
536 elif test "${shared}" = "true"; then
537 HLDFLAGS='-Wl,-rpath=$(libdir)'
538 else
539 HLDFLAGS='-Wl,-rpath='
540 fi
541 rm -f conftest.t conftest.c conftest
542 ;;
543esac
544AC_SUBST(HLDFLAGS)
545AC_SUBST(HLDENV)
546# End stuff to support --enable-shared
547
9c0bc1da
DE
548# target_subdir is used by the testsuite to find the target libraries.
549target_subdir=
550if test "${host}" != "${target}"; then
551 target_subdir="${target_alias}/"
552fi
553AC_SUBST(target_subdir)
bc028766 554
5f107900 555frags=
5436fc65
C
556host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
557if test ! -f ${host_makefile_frag}; then
558AC_MSG_ERROR("*** Gdb does not support host ${host}")
912e0732 559fi
5f107900 560frags="$frags $host_makefile_frag"
912e0732 561
5436fc65
C
562target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
563if test ! -f ${target_makefile_frag}; then
564AC_MSG_ERROR("*** Gdb does not support target ${target}")
912e0732 565fi
5f107900 566frags="$frags $target_makefile_frag"
912e0732 567
5436fc65
C
568AC_SUBST_FILE(host_makefile_frag)
569AC_SUBST_FILE(target_makefile_frag)
5f107900 570AC_SUBST(frags)
5436fc65 571
094fd4ae
C
572changequote(,)dnl
573hostfile=`sed -n '
574s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
575' ${host_makefile_frag}`
5436fc65 576
094fd4ae
C
577targetfile=`sed -n '
578s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
579' ${target_makefile_frag}`
79f68f0f
DZ
580
581# these really aren't orthogonal true/false values of the same condition,
582# but shells are slow enough that I like to reuse the test conditions
583# whenever possible
5436fc65 584if test "${target}" = "${host}"; then
094fd4ae
C
585nativefile=`sed -n '
586s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
587' ${host_makefile_frag}`
33ef0f93 588# else
5436fc65 589# GDBserver is only useful in a "native" enviroment
33ef0f93 590# configdirs=`echo $configdirs | sed 's/gdbserver//'`
d40309c7 591fi
094fd4ae 592changequote([,])
d40309c7 593
d40309c7 594# If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
6573c898 595# (NAT_FILE) is not set in config/*/*.m[ht] files, we don't make the
d40309c7
JG
596# corresponding links. But we have to remove the xm.h files and tm.h
597# files anyway, e.g. when switching from "configure host" to
598# "configure none".
599
bdf3621b
JG
600files=
601links=
dc0c3f64 602rm -f xm.h
5436fc65
C
603if test "${hostfile}" != ""; then
604files="${files} config/${gdb_host_cpu}/${hostfile}"
605links="${links} xm.h"
bdf3621b 606fi
dc0c3f64 607rm -f tm.h
5436fc65
C
608if test "${targetfile}" != ""; then
609files="${files} config/${gdb_target_cpu}/${targetfile}"
610links="${links} tm.h"
bdf3621b 611fi
1a0edbc7 612rm -f nm.h
5436fc65
C
613if test "${nativefile}" != ""; then
614files="${files} config/${gdb_host_cpu}/${nativefile}"
615links="${links} nm.h"
c9c23412 616else
5436fc65
C
617# A cross-only configuration.
618files="${files} config/nm-empty.h"
619links="${links} nm.h"
d40309c7 620fi
d3d75ec9 621# start-sanitize-gdbtk
99174711 622AC_PROG_LN_S
5436fc65 623# Make it possible to use the GUI without doing a full install
99174711
JM
624if test "${enable_gdbtk}" = "yes" -a ! -d gdbtcl ; then
625 if test "$LN_S" = "ln -s" -a ! -f gdbtcl ; then
626 echo linking $srcdir/gdbtcl to gdbtcl
627 $LN_S $srcdir/gdbtcl gdbtcl
628 else
629 echo Warning: Unable to link $srcdir/gdbtcl to gdbtcl. You will need to do a
630 echo " " make install before you are able to run the GUI.
631 fi
754e5da2 632fi
d3d75ec9 633# end-sanitize-gdbtk
754e5da2 634
5436fc65
C
635AC_LINK_FILES($files, $links)
636
98fa4ade
GN
637dnl Check for exe extension set on certain hosts (e.g. Win32)
638AM_EXEEXT
639
5436fc65 640AC_CONFIG_SUBDIRS($configdirs)
0cb7d01d 641AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
5436fc65
C
642[
643dnl Autoconf doesn't provide a mechanism for modifying definitions
644dnl provided by makefile fragments.
645dnl
646if test "${nativefile}" = ""; then
7bd1f0c5 647sed -e '/^NATDEPFILES[[ ]]*=[[ ]]*/s//# NATDEPFILES=/' \
5436fc65
C
648 < Makefile > Makefile.tem
649mv -f Makefile.tem Makefile
33bc979d
SS
650fi
651
5436fc65 652changequote(,)dnl
94d4b713
JK
653sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
654/^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
655/^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
656mv -f Makefile.tmp Makefile
5436fc65
C
657changequote([,])dnl
658
31520669 659case x$CONFIG_HEADERS in
18ea4416 660xconfig.h:config.in)
31520669
FF
661echo > stamp-h ;;
662esac
0a5a1821
C
663],
664[
665gdb_host_cpu=$gdb_host_cpu
666gdb_target_cpu=$gdb_target_cpu
667nativefile=$nativefile
5436fc65 668])
5e711e7f
PS
669
670exit 0
b7f3b6d5 671
This page took 0.329058 seconds and 4 git commands to generate.