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