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