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