Tue Aug 18 15:42:40 1998 Martin M. Hunt <hunt@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
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
c076f1ed
DM
307AC_ARG_WITH(foundry-libs,
308[ --with-foundry-libs=directory use the Foundry SDK in directory],
309[FOUNDRY_LIB_BASE=${withval}])
310AC_SUBST(FOUNDRY_LIB_BASE)
311
312#
313# This is the Foundry SDK
314#
315# These variables are used to determine where the Foundry libs and
316# header files are located.
317#
318if test "$FOUNDRY_LIB_BASE" != ""; then
319 LIBGUI="${FOUNDRY_LIB_BASE}/lib/libgui.a"
320 GUI_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include"
321 if test x$enable_ide = xyes; then
322 IDE_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include -DIDE"
323 IDE_X="-L${FOUNDRY_LIB_BASE}/lib -lilu-Tk -lilu-c -lilu"
324 else
325 IDE_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include"
326 fi
327 LIBIDETCL="${FOUNDRY_LIB_BASE}/lib/libidetcl.a"
328 LIBIDE="${FOUNDRY_LIB_BASE}/lib/libide.a"
329 IDE_DEPS="${FOUNDRY_LIB_BASE}/lib/libilu-Tk.a ${FOUNDRY_LIB_BASE}/lib/libilu-c.a ${FOUNDRY_LIB_BASE}/lib/libilu.a"
330else
331 LIBGUI="../libgui/src/libgui.a"
332 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
333 if test x$enable_ide = xyes; then
334 IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src -DIDE -I${srcdir}/../ilu/runtime/mainloop"
335 IDE_X="-L../ilu/runtime/mainloop -lilu-Tk -L../ilu/runtime/c -lilu-c -L../ilu/runtime/kernel -lilu"
336 else
337 IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src"
338 fi
339 LIBIDETCL="../libidetcl/src/libidetcl.a"
340 LIBIDE="../libide/src/libide.a"
341 IDE_DEPS="../ilu/runtime/mainloop/libilu-Tk.a ../ilu/runtime/c/libilu-c.a ../ilu/runtime/kernel/libilu.a"
342fi
343AC_SUBST(LIBGUI)
344AC_SUBST(GUI_CFLAGS_X)
345AC_SUBST(IDE_CFLAGS_X)
346AC_SUBST(IDE_X)
347AC_SUBST(LIBIDETCL)
348AC_SUBST(LIBIDE)
349AC_SUBST(IDE_DEPS)
350
5436fc65
C
351ENABLE_GDBTK=
352
353AC_ARG_ENABLE(gdbtk,
354[ --enable-gdbtk ],
355[case "${enableval}" in
0fe1522a
SG
356 yes)
357 case "$host" in
358 *go32*)
359 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
360 enable_gdbtk=no ;;
8a19b35a 361 *windows*)
b613bfbf
GN
362 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
363 enable_gdbtk=no ;;
0fe1522a
SG
364 *)
365 enable_gdbtk=yes ;;
366 esac ;;
367 no)
368 enable_gdbtk=no ;;
369 *)
370 AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
371esac],
372[
b613bfbf 373# Default is on for everything but go32 and cygwin32
0fe1522a 374case "$host" in
8a19b35a 375 *go32* | *windows*)
b613bfbf 376 ;;
0fe1522a
SG
377 *)
378 enable_gdbtk=yes ;;
379 esac
380])
5436fc65 381
9b119644
ILT
382# In the cygwin32 environment, we need some additional flags.
383AC_CACHE_CHECK([for cygwin32], gdb_cv_os_cygwin32,
384[AC_EGREP_CPP(lose, [
385#ifdef __CYGWIN32__
386lose
387#endif],[gdb_cv_os_cygwin32=yes],[gdb_cv_os_cygwin32=no])])
388
389WIN32LIBS=
390WIN32LDAPP=
391AC_SUBST(WIN32LIBS)
392AC_SUBST(WIN32LDAPP)
393
929db6e5
EZ
394WINDRES=${WINDRES-windres}
395AC_SUBST(WINDRES)
396
9b119644
ILT
397if test x$gdb_cv_os_cygwin32 = xyes; then
398 if test x$enable_ide = xyes; then
399 WIN32LIBS="-ladvapi32"
400 fi
401fi
402
403configdir="unix"
8a19b35a 404
b177bf84 405GDBTKLIBS=
5436fc65 406if test "${enable_gdbtk}" = "yes"; then
0fe1522a 407
047465fd 408 CY_AC_PATH_TCLCONFIG
0cf433d9
ILT
409 if test -z "${no_tcl}"; then
410 CY_AC_LOAD_TCLCONFIG
411 CY_AC_PATH_TKCONFIG
047465fd 412
0cf433d9
ILT
413 # If $no_tk is nonempty, then we can't do Tk, and there is no
414 # point to doing Tcl.
415 if test -z "${no_tk}"; then
416 CY_AC_LOAD_TKCONFIG
417 CY_AC_PATH_TCLH
418 CY_AC_PATH_TKH
2476848a
MH
419 CY_AC_PATH_ITCLH
420 CY_AC_PATH_TIX
047465fd 421
6bc5b2fa 422 # now look for tix library stuff
1154b47a 423 TIXVERSION=4.1.8.0
6bc5b2fa
MH
424 . ${ac_cv_c_tclconfig}/tclConfig.sh
425 case "${host}" in
426 *-*-cygwin32*)
f1f6dd9c 427 tixdir=../tix/win/tcl8.0
6bc5b2fa
MH
428 ;;
429 *)
1154b47a 430 tixdir=../tix/unix/tk8.0
6bc5b2fa
MH
431 ;;
432 esac
bb3d9f43
KS
433 if test "${TCL_SHARED_BUILD}" = "1"; then
434 TIX_LIB_EXT="${TCL_SHLIB_SUFFIX}"
11f91b2b
KS
435
436 # Can't win them all: SunOS 4 (others?) appends a version
437 # number after the ".so"
438 case "${host}" in
439 *-*-sunos4*)
440 TIX_LIB_EXT="${TIX_LIB_EXT}.1.0" ;;
441 esac
442
bb3d9f43
KS
443 else
444 TIX_LIB_EXT=".a"
445 fi
11f91b2b 446
6bc5b2fa
MH
447 if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
448 TIXLIB="-L${tixdir} -ltix${TIXVERSION}"
bb3d9f43 449 TIX_DEPS="${tixdir}/libtix${TIXVERSION}${TIX_LIB_EXT}"
6bc5b2fa
MH
450 else
451 TIXLIB="-L${tixdir} -ltix`echo ${TIXVERSION} | tr -d .`"
bb3d9f43 452 TIX_DEPS="${tixdir}/libtix`echo ${TIXVERSION} | tr -d .`${TIX_LIB_EXT}"
6bc5b2fa
MH
453 fi
454
0cf433d9 455 ENABLE_GDBTK=1
509b70ac 456 ENABLE_CFLAGS="${ENABLE_CFLAGS} -DGDBTK"
1a57cd09 457
6c310da8 458 # Include some libraries that Tcl and Tk want.
2476848a 459 if test "${enable_ide}" = "yes"; then
8b5befef
ILT
460 TCL_LIBS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
461 CONFIG_DEPS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE_DEPS) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
2476848a 462 else
dafec9dd
ILT
463 TCL_LIBS='$(LIBGUI) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
464 CONFIG_DEPS='$(LIBGUI) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
2476848a 465 fi
46964086
TT
466 # Yes, the ordering seems wrong here. But it isn't.
467 # TK_LIBS is the list of libraries that need to be linked
b177bf84
TT
468 # after Tcl/Tk. Note that this isn't put into LIBS. If it
469 # were in LIBS then any link tests after this point would
470 # try to include things like `$(LIBGUI)', which wouldn't work.
471 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
f3b86a30 472 CONFIG_OBS="${CONFIG_OBS} gdbtk.o gdbtk-cmds.o gdbtk-hooks.o"
9b119644
ILT
473
474 if test x$gdb_cv_os_cygwin32 = xyes; then
018d76dd 475 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32 -luser32"
47792960 476 WIN32LDAPP="-Wl,--subsystem,console"
929db6e5 477 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
9b119644 478 fi
0cf433d9 479 fi
a2b63bbd 480 fi
5436fc65 481fi
a2b63bbd 482
5436fc65 483AC_SUBST(ENABLE_GDBTK)
9c0bc1da 484AC_SUBST(X_CFLAGS)
a2b63bbd
JM
485AC_SUBST(X_LDFLAGS)
486AC_SUBST(X_LIBS)
6bc5b2fa 487AC_SUBST(TIXLIB)
018d76dd 488AC_SUBST(TIX_DEPS)
b177bf84 489AC_SUBST(GDBTKLIBS)
5436fc65
C
490# end-sanitize-gdbtk
491
b236defa
FCE
492AC_PATH_X
493# start-sanitize-sky
494# Enable GPU2 library for MIPS simulator
495AC_ARG_WITH(sim-gpu2,
496[ --with-sim-gpu2=path Use GPU2 library under given directory],
bd5eafcd
FCE
497[case "${target}" in
498 mips*-sky-*)
499 if test -d "${withval}"
500 then
59bbabf5 501 LIBS="${LIBS} -L${withval}/lib -lgpu2 -L${x_libraries} -lX11 -lXext"
bd5eafcd
FCE
502 else
503 AC_MSG_WARN([Directory ${withval} does not exist.])
504 fi ;;
505 *) AC_MSG_WARN([--with-sim-gpu2 option invalid for target ${target}])
506esac])dnl
3e5fbf91
JL
507
508# Enable target accurate FP library
509AC_ARG_WITH(sim-funit,
510[ --with-sim-funit=path Use target FP lib under given directory],
511[case "${target}" in
512 mips*-sky-*)
513 if test -d "${withval}"
514 then
515 LIBS="${LIBS} -L${withval}/lib -lfunit"
516 else
517 AC_MSG_WARN([Directory ${withval} does not exist.])
518 fi ;;
519 *) AC_MSG_WARN([--with-sim-funit option invalid for target ${target}])
520esac])dnl
b236defa
FCE
521# end-sanitize-sky
522
15125484
JM
523dnl Solaris puts wctype in /usr/lib/libw.a
524AC_CHECK_LIB(w, wctype, [LIBS="$LIBS -lw"])
525
5436fc65 526AC_SUBST(ENABLE_CFLAGS)
6c310da8
SG
527
528AC_SUBST(CONFIG_OBS)
018d76dd 529AC_SUBST(CONFIG_DEPS)
c7bb1531 530AC_SUBST(CONFIG_SRCS)
6ec7e4d3 531
1d5eb137
FF
532# Begin stuff to support --enable-shared
533AC_ARG_ENABLE(shared,
534[ --enable-shared use shared libraries],
535[case "${enableval}" in
536 yes) shared=true ;;
537 no) shared=false ;;
538 *) shared=true ;;
539esac])dnl
540
541HLDFLAGS=
542HLDENV=
543# If we have shared libraries, try to set rpath reasonably.
544if test "${shared}" = "true"; then
545 case "${host}" in
546 *-*-hpux*)
547 HLDFLAGS='-Wl,+s,+b,$(libdir)'
548 ;;
549 *-*-irix5* | *-*-irix6*)
550 HLDFLAGS='-Wl,-rpath,$(libdir)'
551 ;;
552 *-*-linux*aout*)
553 ;;
8ddf07a2 554 *-*-linux* | *-pc-linux-gnu)
1d5eb137
FF
555 HLDFLAGS='-Wl,-rpath,$(libdir)'
556 ;;
557 *-*-solaris*)
558 HLDFLAGS='-R $(libdir)'
559 ;;
560 *-*-sysv4*)
561 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;'
562 ;;
563 esac
564fi
565
566# On SunOS, if the linker supports the -rpath option, use it to
567# prevent ../bfd and ../opcodes from being included in the run time
568# search path.
569case "${host}" in
570 *-*-sunos*)
571 echo 'main () { }' > conftest.c
572 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
573 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
574 :
575 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
576 :
577 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
578 :
074d813d
PS
579 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
580 :
1d5eb137
FF
581 elif test "${shared}" = "true"; then
582 HLDFLAGS='-Wl,-rpath=$(libdir)'
583 else
584 HLDFLAGS='-Wl,-rpath='
585 fi
586 rm -f conftest.t conftest.c conftest
587 ;;
588esac
589AC_SUBST(HLDFLAGS)
590AC_SUBST(HLDENV)
591# End stuff to support --enable-shared
592
9c0bc1da
DE
593# target_subdir is used by the testsuite to find the target libraries.
594target_subdir=
595if test "${host}" != "${target}"; then
596 target_subdir="${target_alias}/"
597fi
598AC_SUBST(target_subdir)
bc028766 599
5f107900 600frags=
5436fc65
C
601host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
602if test ! -f ${host_makefile_frag}; then
603AC_MSG_ERROR("*** Gdb does not support host ${host}")
912e0732 604fi
5f107900 605frags="$frags $host_makefile_frag"
912e0732 606
5436fc65
C
607target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
608if test ! -f ${target_makefile_frag}; then
609AC_MSG_ERROR("*** Gdb does not support target ${target}")
912e0732 610fi
5f107900 611frags="$frags $target_makefile_frag"
912e0732 612
5436fc65
C
613AC_SUBST_FILE(host_makefile_frag)
614AC_SUBST_FILE(target_makefile_frag)
5f107900 615AC_SUBST(frags)
5436fc65 616
094fd4ae
C
617changequote(,)dnl
618hostfile=`sed -n '
619s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
620' ${host_makefile_frag}`
5436fc65 621
094fd4ae
C
622targetfile=`sed -n '
623s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
624' ${target_makefile_frag}`
79f68f0f
DZ
625
626# these really aren't orthogonal true/false values of the same condition,
627# but shells are slow enough that I like to reuse the test conditions
628# whenever possible
5436fc65 629if test "${target}" = "${host}"; then
094fd4ae
C
630nativefile=`sed -n '
631s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
632' ${host_makefile_frag}`
33ef0f93 633# else
5436fc65 634# GDBserver is only useful in a "native" enviroment
33ef0f93 635# configdirs=`echo $configdirs | sed 's/gdbserver//'`
d40309c7 636fi
094fd4ae 637changequote([,])
d40309c7 638
d40309c7 639# If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
6573c898 640# (NAT_FILE) is not set in config/*/*.m[ht] files, we don't make the
d40309c7
JG
641# corresponding links. But we have to remove the xm.h files and tm.h
642# files anyway, e.g. when switching from "configure host" to
643# "configure none".
644
bdf3621b
JG
645files=
646links=
dc0c3f64 647rm -f xm.h
5436fc65
C
648if test "${hostfile}" != ""; then
649files="${files} config/${gdb_host_cpu}/${hostfile}"
650links="${links} xm.h"
bdf3621b 651fi
dc0c3f64 652rm -f tm.h
5436fc65
C
653if test "${targetfile}" != ""; then
654files="${files} config/${gdb_target_cpu}/${targetfile}"
655links="${links} tm.h"
bdf3621b 656fi
1a0edbc7 657rm -f nm.h
5436fc65
C
658if test "${nativefile}" != ""; then
659files="${files} config/${gdb_host_cpu}/${nativefile}"
660links="${links} nm.h"
c9c23412 661else
5436fc65
C
662# A cross-only configuration.
663files="${files} config/nm-empty.h"
664links="${links} nm.h"
d40309c7 665fi
d3d75ec9 666# start-sanitize-gdbtk
99174711 667AC_PROG_LN_S
5436fc65 668# Make it possible to use the GUI without doing a full install
99174711
JM
669if test "${enable_gdbtk}" = "yes" -a ! -d gdbtcl ; then
670 if test "$LN_S" = "ln -s" -a ! -f gdbtcl ; then
671 echo linking $srcdir/gdbtcl to gdbtcl
672 $LN_S $srcdir/gdbtcl gdbtcl
673 else
674 echo Warning: Unable to link $srcdir/gdbtcl to gdbtcl. You will need to do a
675 echo " " make install before you are able to run the GUI.
676 fi
754e5da2 677fi
d3d75ec9 678# end-sanitize-gdbtk
754e5da2 679
5436fc65
C
680AC_LINK_FILES($files, $links)
681
98fa4ade
GN
682dnl Check for exe extension set on certain hosts (e.g. Win32)
683AM_EXEEXT
684
5436fc65 685AC_CONFIG_SUBDIRS($configdirs)
0cb7d01d 686AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
5436fc65
C
687[
688dnl Autoconf doesn't provide a mechanism for modifying definitions
689dnl provided by makefile fragments.
690dnl
691if test "${nativefile}" = ""; then
7bd1f0c5 692sed -e '/^NATDEPFILES[[ ]]*=[[ ]]*/s//# NATDEPFILES=/' \
5436fc65
C
693 < Makefile > Makefile.tem
694mv -f Makefile.tem Makefile
33bc979d
SS
695fi
696
5436fc65 697changequote(,)dnl
94d4b713
JK
698sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
699/^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
700/^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
701mv -f Makefile.tmp Makefile
5436fc65
C
702changequote([,])dnl
703
31520669 704case x$CONFIG_HEADERS in
18ea4416 705xconfig.h:config.in)
31520669
FF
706echo > stamp-h ;;
707esac
0a5a1821
C
708],
709[
710gdb_host_cpu=$gdb_host_cpu
711gdb_target_cpu=$gdb_target_cpu
712nativefile=$nativefile
5436fc65 713])
5e711e7f
PS
714
715exit 0
b7f3b6d5 716
This page took 0.327455 seconds and 4 git commands to generate.