* sol-thread.c (ps_pstop, etc): different solaris versions have
[deliverable/binutils-gdb.git] / gdb / configure.in
CommitLineData
2f4973f8 1dnl Autoconf configure script for GDB, the GNU debugger.
87feff9d 2dnl Copyright 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
2f4973f8
SG
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 \
1dee2761 75 wchar.h wctype.h asm/debugreg.h)
9ed669cf 76
2b576293
C
77AC_HEADER_STAT
78
8501c742
SG
79AC_C_CONST
80
e3009a74
JM
81AC_CHECK_FUNCS(setpgid sbrk select poll sigaction isascii bzero bcopy \
82 memcpy btowc)
0aa3233e 83AC_FUNC_ALLOCA
72ae15f6 84
87feff9d
JM
85BFD_NEED_DECLARATION(malloc)
86BFD_NEED_DECLARATION(realloc)
87BFD_NEED_DECLARATION(free)
88BFD_NEED_DECLARATION(strerror)
89BFD_NEED_DECLARATION(strdup)
90
e3147bf2 91# If we are configured native on GNU/Linux, work around problems with sys/procfs.h
54225fd0
MA
92if test "${target}" = "${host}"; then
93 case "${host}" in
3435297a 94 i[[3456]]86-*-linux*)
0728afad 95 AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
54225fd0
MA
96 AC_DEFINE(sys_quotactl)
97 ;;
98 esac
99fi
100
4708ac65 101AC_MSG_CHECKING([for gregset_t type])
07b77f5c 102AC_CACHE_VAL(gdb_cv_have_gregset_t,
4708ac65 103[AC_TRY_LINK([#include <sys/procfs.h>],[gregset_t *gregsetp = 0],
07b77f5c
FF
104gdb_cv_have_gregset_t=yes, gdb_cv_have_gregset_t=no)])
105AC_MSG_RESULT($gdb_cv_have_gregset_t)
106if test $gdb_cv_have_gregset_t = yes; then
4708ac65
FF
107 AC_DEFINE(HAVE_GREGSET_T)
108fi
109
110AC_MSG_CHECKING([for fpregset_t type])
07b77f5c 111AC_CACHE_VAL(gdb_cv_have_fpregset_t,
4708ac65 112[AC_TRY_LINK([#include <sys/procfs.h>],[fpregset_t *fpregsetp = 0],
07b77f5c
FF
113gdb_cv_have_fpregset_t=yes, gdb_cv_have_fpregset_t=no)])
114AC_MSG_RESULT($gdb_cv_have_fpregset_t)
115if test $gdb_cv_have_fpregset_t = yes; then
4708ac65
FF
116 AC_DEFINE(HAVE_FPREGSET_T)
117fi
118
ef6c51d1
SG
119dnl See if host has libm. This is usually needed by simulators.
120AC_CHECK_LIB(m, main)
121
3f550b59
FF
122dnl See if compiler supports "long long" type.
123
124AC_MSG_CHECKING(for long long support in compiler)
125AC_CACHE_VAL(gdb_cv_c_long_long,
80f600a4 126[AC_TRY_COMPILE(, [
d538f9cf
FF
127 extern long long foo;
128 switch (foo & 2) { case 0: return 1; }
129],
3f550b59
FF
130gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])
131AC_MSG_RESULT($gdb_cv_c_long_long)
132if test $gdb_cv_c_long_long = yes; then
133 AC_DEFINE(CC_HAS_LONG_LONG)
134fi
135
136dnl See if the compiler and runtime support printing long long
137
138AC_MSG_CHECKING(for long long support in printf)
139AC_CACHE_VAL(gdb_cv_printf_has_long_long,
140[AC_TRY_RUN([
141int main () {
f7b8c9ce
AC
142 char buf[32];
143 long long l = 0;
144 l = (l << 16) + 0x0123;
145 l = (l << 16) + 0x4567;
146 l = (l << 16) + 0x89ab;
147 l = (l << 16) + 0xcdef;
148 sprintf (buf, "0x%016llx", l);
149 return (strcmp ("0x0123456789abcdef", buf));
3f550b59
FF
150}],
151gdb_cv_printf_has_long_long=yes,
152gdb_cv_printf_has_long_long=no,
153gdb_cv_printf_has_long_long=no)])
154if test $gdb_cv_printf_has_long_long = yes; then
155 AC_DEFINE(PRINTF_HAS_LONG_LONG)
156fi
157AC_MSG_RESULT($gdb_cv_printf_has_long_long)
158
aa220473
SG
159dnl See if compiler supports "long double" type. Can't use AC_C_LONG_DOUBLE
160dnl because autoconf complains about cross-compilation issues. However, this
161dnl code uses the same variables as the macro for compatibility.
162
07b77f5c 163AC_MSG_CHECKING(for long double support in compiler)
aa220473
SG
164AC_CACHE_VAL(ac_cv_c_long_double,
165[AC_TRY_COMPILE(, [long double foo;],
166ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])
167AC_MSG_RESULT($ac_cv_c_long_double)
168if test $ac_cv_c_long_double = yes; then
169 AC_DEFINE(HAVE_LONG_DOUBLE)
170fi
171
07b77f5c
FF
172dnl See if the compiler and runtime support printing long doubles
173
174AC_MSG_CHECKING(for long double support in printf)
175AC_CACHE_VAL(gdb_cv_printf_has_long_double,
176[AC_TRY_RUN([
177int main () {
178 char buf[16];
179 long double f = 3.141592653;
180 sprintf (buf, "%Lg", f);
181 return (strncmp ("3.14159", buf, 7));
182}],
183gdb_cv_printf_has_long_double=yes,
184gdb_cv_printf_has_long_double=no,
185gdb_cv_printf_has_long_double=no)])
186if test $gdb_cv_printf_has_long_double = yes; then
187 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE)
188fi
189AC_MSG_RESULT($gdb_cv_printf_has_long_double)
190
f7b8c9ce
AC
191dnl See if the compiler and runtime support scanning long doubles
192
193AC_MSG_CHECKING(for long double support in scanf)
194AC_CACHE_VAL(gdb_cv_scanf_has_long_double,
195[AC_TRY_RUN([
196int main () {
197 char *buf = "3.141592653";
198 long double f = 0;
199 sscanf (buf, "%Lg", &f);
200 return !(f > 3.14159 && f < 3.14160);
201}],
202gdb_cv_scanf_has_long_double=yes,
203gdb_cv_scanf_has_long_double=no,
204gdb_cv_scanf_has_long_double=no)])
205if test $gdb_cv_scanf_has_long_double = yes; then
206 AC_DEFINE(SCANF_HAS_LONG_DOUBLE)
207fi
208AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
209
2b576293 210AC_FUNC_MMAP
5436fc65 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
ba68ad57 281AC_ARG_ENABLE(warnings,
4817b408 282[ --enable-build-warnings Enable compiler warnings if gcc is used],
ba68ad57 283[case "${enableval}" in
4817b408
JM
284yes) enable_build_warnings=yes ;;
285no) enable_build_warnings=no ;;
ba68ad57
JM
286*) AC_MSG_ERROR(bad value ${enableval} given for warnings options) ;;
287esac])
288
4817b408 289if test "x$enable_build_warnings" = xyes -a "x$GCC" = xyes
ba68ad57 290then
e3009a74 291 WARN_CFLAGS="-Wall -Wstrict-prototypes -Wmissing-prototypes"
ba68ad57
JM
292else
293 WARN_CFLAGS=""
294fi
295AC_SUBST(WARN_CFLAGS)
296
0728afad
FF
297MMALLOC_CFLAGS=
298MMALLOC=
299AC_SUBST(MMALLOC_CFLAGS)
300AC_SUBST(MMALLOC)
301
302AC_ARG_WITH(mmalloc,
ba68ad57 303[ --with-mmalloc Use memory mapped malloc package],
0728afad
FF
304[case "${withval}" in
305 yes) want_mmalloc=true ;;
306 no) want_mmalloc=false;;
307 *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
308esac],[want_mmalloc=false])dnl
309
310if test x$want_mmalloc = xtrue; then
311 AC_DEFINE(USE_MMALLOC)
dd600735 312 AC_DEFINE(MMCHECK_FORCE)
0728afad
FF
313 MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
314 MMALLOC='../mmalloc/libmmalloc.a'
315fi
316
287026b7
AC
317# start-sanitize-carp
318# The below takes an educated guess at the targets that
319# should be built. It is an interum version that provides
320# significant backward compatibility.
321
322AC_ARG_ENABLE(carp,
323[ --enable-carp Configure alternative readaptive paradigm ],
324[case "${enableval}" in
325 yes) enable_carp=yes ;;
326 no) enable_carp=no ;;
327 *) AC_MSG_ERROR([bad value ${enableval} for carp option]) ;;
328esac],[enable_carp=no])dnl
329
330AC_ARG_ENABLE(targets,
331[ --enable-targets alternative target configurations],
332[case "${enableval}" in
333 yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
334 ;;
335 no) enable_targets= ;;
336 *) enable_targets="$enableval" ;;
337esac])dnl
338
339# Canonicalize the secondary target names.
340all_targets=false
341if test -n "$enable_targets" ; then
342 if test "$enable_targets" = all ; then
343 all_targets=true
344 else
345 for targ in `echo $enable_targets | sed 's/,/ /g'`
346 do
347 result=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $targ 2>/dev/null`
348 if test -n "$result" ; then
349 canon_targets="$canon_targets $result"
350 fi
351 done
352 fi
353fi
354
355# Convert the target names into GDB [*]-tdep.c names
356changequote(,)dnl
357selarchs=
358for targ in $target $canon_targets
359do
360 if test "x$targ" = "xall" ; then
361 all_targets=true
362 else
363 t_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
364 t_vendor=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
365 t_os=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
366 mt=`
367target=$targ
368target_cpu=$t_cpu
369target_vendor=$t_vendor
370target_os=$t_os
371. ${srcdir}/configure.tgt
372echo ${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt`
373 if test -r ${mt} ; then
374 # This gets confused over .mt files that have multiple -tdep.o
375 tdep=`sed -n '
376s/^.*[ =]\([^ ]*\)-tdep.o.*/\1/p
377' $mt`
378 selarchs="$selarchs $tdep"
379 fi
380 fi
381done
382changequote([,])dnl
383
384# We don't do any links based on the target system, just makefile config.
385
386if test x${all_targets} = xfalse ; then
387
388 # Target architecture .o files.
389 ta=
390
391 for arch in $selarchs
392 do
393 archdefs="$archdefs -DARCH_$arch"
394 ta="$ta ${arch}-tdep.o"
395 # Special cases
396 case "$arch" in
397 dvp) ta="$ta mips-tdep.o dvp-tdep.o" ;;
398 esac
399 done
400
401 # Weed out duplicate .o files.
402 f=""
403 for i in $ta ; do
404 case " $f " in
405 *" $i "*) ;;
406 *) f="$f $i" ;;
407 esac
408 done
409 ta="$f"
410
411 # And duplicate -D flags.
412 f=""
413 for i in $archdefs ; do
414 case " $f " in
415 *" $i "*) ;;
416 *) f="$f $i" ;;
417 esac
418 done
419 archdefs="$f"
420
421 MACHINE_OBS="$ta"
422
423else # all_targets is true
424 archdefs=-DARCH_all
425 MACHINE_OBS='$(ALL_MACHINES)'
426fi
427
428dnl Don't define an archdefs list
429dnl AC_SUBST(archdefs)
430dnl XXXX this name will change several more times
431if test "${enable_carp}" = yes ; then
432 gdb_target=carp
433 gdb_target_cpu=carp
434else
435 MACHINE_OBS="# $MACHINE_OBS"
436fi
437AC_SUBST(MACHINE_OBS)
438
439# end-sanitize-carp
5436fc65 440# start-sanitize-gdbtk
fa41e1a3 441# start-sanitize-ide
2476848a
MH
442ENABLE_IDE=
443AC_ARG_ENABLE(ide, [ --enable-ide Enable IDE support])
444if test "$enable_ide" = yes; then
445 enable_ide=yes
446 ENABLE_IDE=1
447else
448 enable_ide=no
449fi
450AC_SUBST(ENABLE_IDE)
451
c076f1ed 452AC_ARG_WITH(foundry-libs,
ba68ad57 453[ --with-foundry-libs=DIR Use the Foundry SDK in DIR],
c076f1ed
DM
454[FOUNDRY_LIB_BASE=${withval}])
455AC_SUBST(FOUNDRY_LIB_BASE)
456
457#
458# This is the Foundry SDK
459#
460# These variables are used to determine where the Foundry libs and
461# header files are located.
462#
463if test "$FOUNDRY_LIB_BASE" != ""; then
464 LIBGUI="${FOUNDRY_LIB_BASE}/lib/libgui.a"
465 GUI_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include"
466 if test x$enable_ide = xyes; then
467 IDE_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include -DIDE"
468 IDE_X="-L${FOUNDRY_LIB_BASE}/lib -lilu-Tk -lilu-c -lilu"
469 else
470 IDE_CFLAGS_X="-I${FOUNDRY_LIB_BASE}/include"
471 fi
472 LIBIDETCL="${FOUNDRY_LIB_BASE}/lib/libidetcl.a"
473 LIBIDE="${FOUNDRY_LIB_BASE}/lib/libide.a"
474 IDE_DEPS="${FOUNDRY_LIB_BASE}/lib/libilu-Tk.a ${FOUNDRY_LIB_BASE}/lib/libilu-c.a ${FOUNDRY_LIB_BASE}/lib/libilu.a"
475else
476 LIBGUI="../libgui/src/libgui.a"
477 GUI_CFLAGS_X="-I${srcdir}/../libgui/src"
478 if test x$enable_ide = xyes; then
479 IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src -DIDE -I${srcdir}/../ilu/runtime/mainloop"
480 IDE_X="-L../ilu/runtime/mainloop -lilu-Tk -L../ilu/runtime/c -lilu-c -L../ilu/runtime/kernel -lilu"
481 else
482 IDE_CFLAGS_X="-I${srcdir}/../libidetcl/src -I${srcdir}/../libide/src"
483 fi
484 LIBIDETCL="../libidetcl/src/libidetcl.a"
485 LIBIDE="../libide/src/libide.a"
486 IDE_DEPS="../ilu/runtime/mainloop/libilu-Tk.a ../ilu/runtime/c/libilu-c.a ../ilu/runtime/kernel/libilu.a"
487fi
488AC_SUBST(LIBGUI)
489AC_SUBST(GUI_CFLAGS_X)
490AC_SUBST(IDE_CFLAGS_X)
491AC_SUBST(IDE_X)
492AC_SUBST(LIBIDETCL)
493AC_SUBST(LIBIDE)
494AC_SUBST(IDE_DEPS)
fa41e1a3 495# end-sanitize-ide
c076f1ed 496
5436fc65
C
497ENABLE_GDBTK=
498
499AC_ARG_ENABLE(gdbtk,
ba68ad57 500[ --enable-gdbtk Enable GDBTK GUI front end],
5436fc65 501[case "${enableval}" in
0fe1522a
SG
502 yes)
503 case "$host" in
504 *go32*)
505 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
506 enable_gdbtk=no ;;
8a19b35a 507 *windows*)
b613bfbf
GN
508 AC_MSG_WARN([GDB does not support GDBtk on host ${host}. GDBtk will be disabled.])
509 enable_gdbtk=no ;;
0fe1522a
SG
510 *)
511 enable_gdbtk=yes ;;
512 esac ;;
513 no)
514 enable_gdbtk=no ;;
515 *)
516 AC_MSG_ERROR(bad value ${enableval} given for gdbtk option) ;;
517esac],
518[
b613bfbf 519# Default is on for everything but go32 and cygwin32
0fe1522a 520case "$host" in
8a19b35a 521 *go32* | *windows*)
b613bfbf 522 ;;
0fe1522a
SG
523 *)
524 enable_gdbtk=yes ;;
525 esac
526])
5436fc65 527
9b119644
ILT
528# In the cygwin32 environment, we need some additional flags.
529AC_CACHE_CHECK([for cygwin32], gdb_cv_os_cygwin32,
530[AC_EGREP_CPP(lose, [
531#ifdef __CYGWIN32__
532lose
533#endif],[gdb_cv_os_cygwin32=yes],[gdb_cv_os_cygwin32=no])])
534
535WIN32LIBS=
536WIN32LDAPP=
537AC_SUBST(WIN32LIBS)
538AC_SUBST(WIN32LDAPP)
539
929db6e5
EZ
540WINDRES=${WINDRES-windres}
541AC_SUBST(WINDRES)
542
9b119644
ILT
543if test x$gdb_cv_os_cygwin32 = xyes; then
544 if test x$enable_ide = xyes; then
545 WIN32LIBS="-ladvapi32"
546 fi
547fi
548
549configdir="unix"
8a19b35a 550
b177bf84 551GDBTKLIBS=
5436fc65 552if test "${enable_gdbtk}" = "yes"; then
0fe1522a 553
047465fd 554 CY_AC_PATH_TCLCONFIG
0cf433d9
ILT
555 if test -z "${no_tcl}"; then
556 CY_AC_LOAD_TCLCONFIG
557 CY_AC_PATH_TKCONFIG
047465fd 558
0cf433d9
ILT
559 # If $no_tk is nonempty, then we can't do Tk, and there is no
560 # point to doing Tcl.
561 if test -z "${no_tk}"; then
562 CY_AC_LOAD_TKCONFIG
563 CY_AC_PATH_TCLH
564 CY_AC_PATH_TKH
2476848a
MH
565 CY_AC_PATH_ITCLH
566 CY_AC_PATH_TIX
047465fd 567
6bc5b2fa 568 # now look for tix library stuff
1154b47a 569 TIXVERSION=4.1.8.0
6bc5b2fa
MH
570 . ${ac_cv_c_tclconfig}/tclConfig.sh
571 case "${host}" in
572 *-*-cygwin32*)
f1f6dd9c 573 tixdir=../tix/win/tcl8.0
6bc5b2fa
MH
574 ;;
575 *)
1154b47a 576 tixdir=../tix/unix/tk8.0
6bc5b2fa
MH
577 ;;
578 esac
bb3d9f43
KS
579 if test "${TCL_SHARED_BUILD}" = "1"; then
580 TIX_LIB_EXT="${TCL_SHLIB_SUFFIX}"
11f91b2b
KS
581
582 # Can't win them all: SunOS 4 (others?) appends a version
583 # number after the ".so"
584 case "${host}" in
585 *-*-sunos4*)
586 TIX_LIB_EXT="${TIX_LIB_EXT}.1.0" ;;
587 esac
588
bb3d9f43
KS
589 else
590 TIX_LIB_EXT=".a"
591 fi
11f91b2b 592
6bc5b2fa
MH
593 if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
594 TIXLIB="-L${tixdir} -ltix${TIXVERSION}"
bb3d9f43 595 TIX_DEPS="${tixdir}/libtix${TIXVERSION}${TIX_LIB_EXT}"
6bc5b2fa
MH
596 else
597 TIXLIB="-L${tixdir} -ltix`echo ${TIXVERSION} | tr -d .`"
bb3d9f43 598 TIX_DEPS="${tixdir}/libtix`echo ${TIXVERSION} | tr -d .`${TIX_LIB_EXT}"
6bc5b2fa
MH
599 fi
600
0cf433d9 601 ENABLE_GDBTK=1
509b70ac 602 ENABLE_CFLAGS="${ENABLE_CFLAGS} -DGDBTK"
1a57cd09 603
6c310da8 604 # Include some libraries that Tcl and Tk want.
2476848a 605 if test "${enable_ide}" = "yes"; then
8b5befef
ILT
606 TCL_LIBS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
607 CONFIG_DEPS='$(LIBIDETCL) $(LIBIDE) $(LIBGUI) $(IDE_DEPS) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
2476848a 608 else
dafec9dd
ILT
609 TCL_LIBS='$(LIBGUI) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)'
610 CONFIG_DEPS='$(LIBGUI) $(ITCL_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)'
2476848a 611 fi
46964086
TT
612 # Yes, the ordering seems wrong here. But it isn't.
613 # TK_LIBS is the list of libraries that need to be linked
b177bf84
TT
614 # after Tcl/Tk. Note that this isn't put into LIBS. If it
615 # were in LIBS then any link tests after this point would
616 # try to include things like `$(LIBGUI)', which wouldn't work.
617 GDBTKLIBS="${TCL_LIBS} ${TK_LIBS}"
f3b86a30 618 CONFIG_OBS="${CONFIG_OBS} gdbtk.o gdbtk-cmds.o gdbtk-hooks.o"
9b119644
ILT
619
620 if test x$gdb_cv_os_cygwin32 = xyes; then
018d76dd 621 WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32 -luser32"
47792960 622 WIN32LDAPP="-Wl,--subsystem,console"
929db6e5 623 CONFIG_OBS="${CONFIG_OBS} gdbres.o"
9b119644 624 fi
0cf433d9 625 fi
a2b63bbd 626 fi
5436fc65 627fi
a2b63bbd 628
5436fc65 629AC_SUBST(ENABLE_GDBTK)
9c0bc1da 630AC_SUBST(X_CFLAGS)
a2b63bbd
JM
631AC_SUBST(X_LDFLAGS)
632AC_SUBST(X_LIBS)
6bc5b2fa 633AC_SUBST(TIXLIB)
018d76dd 634AC_SUBST(TIX_DEPS)
b177bf84 635AC_SUBST(GDBTKLIBS)
5436fc65
C
636# end-sanitize-gdbtk
637
b236defa
FCE
638AC_PATH_X
639# start-sanitize-sky
640# Enable GPU2 library for MIPS simulator
641AC_ARG_WITH(sim-gpu2,
ba68ad57 642[ --with-sim-gpu2=DIR Use GPU2 library under given DIR],
bd5eafcd
FCE
643[case "${target}" in
644 mips*-sky-*)
645 if test -d "${withval}"
646 then
59bbabf5 647 LIBS="${LIBS} -L${withval}/lib -lgpu2 -L${x_libraries} -lX11 -lXext"
bd5eafcd
FCE
648 else
649 AC_MSG_WARN([Directory ${withval} does not exist.])
650 fi ;;
651 *) AC_MSG_WARN([--with-sim-gpu2 option invalid for target ${target}])
652esac])dnl
3e5fbf91
JL
653
654# Enable target accurate FP library
655AC_ARG_WITH(sim-funit,
ba68ad57 656[ --with-sim-funit=DIR Use target FP lib under given DIR],
3e5fbf91
JL
657[case "${target}" in
658 mips*-sky-*)
659 if test -d "${withval}"
660 then
661 LIBS="${LIBS} -L${withval}/lib -lfunit"
662 else
663 AC_MSG_WARN([Directory ${withval} does not exist.])
664 fi ;;
665 *) AC_MSG_WARN([--with-sim-funit option invalid for target ${target}])
666esac])dnl
b236defa
FCE
667# end-sanitize-sky
668
15125484
JM
669dnl Solaris puts wctype in /usr/lib/libw.a
670AC_CHECK_LIB(w, wctype, [LIBS="$LIBS -lw"])
671
5436fc65 672AC_SUBST(ENABLE_CFLAGS)
6c310da8
SG
673
674AC_SUBST(CONFIG_OBS)
018d76dd 675AC_SUBST(CONFIG_DEPS)
c7bb1531 676AC_SUBST(CONFIG_SRCS)
6ec7e4d3 677
1d5eb137
FF
678# Begin stuff to support --enable-shared
679AC_ARG_ENABLE(shared,
ba68ad57 680[ --enable-shared Use shared libraries],
1d5eb137
FF
681[case "${enableval}" in
682 yes) shared=true ;;
683 no) shared=false ;;
684 *) shared=true ;;
685esac])dnl
686
687HLDFLAGS=
688HLDENV=
689# If we have shared libraries, try to set rpath reasonably.
690if test "${shared}" = "true"; then
691 case "${host}" in
692 *-*-hpux*)
693 HLDFLAGS='-Wl,+s,+b,$(libdir)'
694 ;;
695 *-*-irix5* | *-*-irix6*)
696 HLDFLAGS='-Wl,-rpath,$(libdir)'
697 ;;
698 *-*-linux*aout*)
699 ;;
8ddf07a2 700 *-*-linux* | *-pc-linux-gnu)
1d5eb137
FF
701 HLDFLAGS='-Wl,-rpath,$(libdir)'
702 ;;
703 *-*-solaris*)
704 HLDFLAGS='-R $(libdir)'
705 ;;
706 *-*-sysv4*)
707 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;'
708 ;;
709 esac
710fi
711
712# On SunOS, if the linker supports the -rpath option, use it to
713# prevent ../bfd and ../opcodes from being included in the run time
714# search path.
715case "${host}" in
716 *-*-sunos*)
717 echo 'main () { }' > conftest.c
718 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
719 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
720 :
721 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
722 :
723 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
724 :
074d813d
PS
725 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
726 :
1d5eb137
FF
727 elif test "${shared}" = "true"; then
728 HLDFLAGS='-Wl,-rpath=$(libdir)'
729 else
730 HLDFLAGS='-Wl,-rpath='
731 fi
732 rm -f conftest.t conftest.c conftest
733 ;;
734esac
735AC_SUBST(HLDFLAGS)
736AC_SUBST(HLDENV)
737# End stuff to support --enable-shared
738
9c0bc1da
DE
739# target_subdir is used by the testsuite to find the target libraries.
740target_subdir=
741if test "${host}" != "${target}"; then
742 target_subdir="${target_alias}/"
743fi
744AC_SUBST(target_subdir)
bc028766 745
5f107900 746frags=
5436fc65
C
747host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
748if test ! -f ${host_makefile_frag}; then
749AC_MSG_ERROR("*** Gdb does not support host ${host}")
912e0732 750fi
5f107900 751frags="$frags $host_makefile_frag"
912e0732 752
5436fc65
C
753target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
754if test ! -f ${target_makefile_frag}; then
755AC_MSG_ERROR("*** Gdb does not support target ${target}")
912e0732 756fi
5f107900 757frags="$frags $target_makefile_frag"
912e0732 758
5436fc65
C
759AC_SUBST_FILE(host_makefile_frag)
760AC_SUBST_FILE(target_makefile_frag)
5f107900 761AC_SUBST(frags)
5436fc65 762
094fd4ae
C
763changequote(,)dnl
764hostfile=`sed -n '
765s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
766' ${host_makefile_frag}`
5436fc65 767
094fd4ae
C
768targetfile=`sed -n '
769s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
770' ${target_makefile_frag}`
79f68f0f
DZ
771
772# these really aren't orthogonal true/false values of the same condition,
773# but shells are slow enough that I like to reuse the test conditions
774# whenever possible
5436fc65 775if test "${target}" = "${host}"; then
094fd4ae
C
776nativefile=`sed -n '
777s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
778' ${host_makefile_frag}`
33ef0f93 779# else
5436fc65 780# GDBserver is only useful in a "native" enviroment
33ef0f93 781# configdirs=`echo $configdirs | sed 's/gdbserver//'`
d40309c7 782fi
094fd4ae 783changequote([,])
d40309c7 784
d40309c7 785# If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
6573c898 786# (NAT_FILE) is not set in config/*/*.m[ht] files, we don't make the
d40309c7
JG
787# corresponding links. But we have to remove the xm.h files and tm.h
788# files anyway, e.g. when switching from "configure host" to
789# "configure none".
790
bdf3621b
JG
791files=
792links=
dc0c3f64 793rm -f xm.h
5436fc65
C
794if test "${hostfile}" != ""; then
795files="${files} config/${gdb_host_cpu}/${hostfile}"
796links="${links} xm.h"
bdf3621b 797fi
dc0c3f64 798rm -f tm.h
5436fc65
C
799if test "${targetfile}" != ""; then
800files="${files} config/${gdb_target_cpu}/${targetfile}"
801links="${links} tm.h"
bdf3621b 802fi
1a0edbc7 803rm -f nm.h
5436fc65
C
804if test "${nativefile}" != ""; then
805files="${files} config/${gdb_host_cpu}/${nativefile}"
806links="${links} nm.h"
c9c23412 807else
5436fc65
C
808# A cross-only configuration.
809files="${files} config/nm-empty.h"
810links="${links} nm.h"
d40309c7 811fi
d3d75ec9 812# start-sanitize-gdbtk
99174711 813AC_PROG_LN_S
5436fc65 814# Make it possible to use the GUI without doing a full install
454e0c7d
AC
815if test "${enable_gdbtk}" = "yes" -a ! -d gdbtcl2 ; then
816 if test "$LN_S" = "ln -s" -a ! -f gdbtcl2 ; then
817 echo linking $srcdir/gdbtcl2 to gdbtcl2
818 $LN_S $srcdir/gdbtcl2 gdbtcl2
99174711 819 else
454e0c7d 820 echo Warning: Unable to link $srcdir/gdbtcl2 to gdbtcl2. You will need to do a
99174711
JM
821 echo " " make install before you are able to run the GUI.
822 fi
754e5da2 823fi
d3d75ec9 824# end-sanitize-gdbtk
754e5da2 825
5436fc65
C
826AC_LINK_FILES($files, $links)
827
98fa4ade
GN
828dnl Check for exe extension set on certain hosts (e.g. Win32)
829AM_EXEEXT
830
5436fc65 831AC_CONFIG_SUBDIRS($configdirs)
0cb7d01d 832AC_OUTPUT(Makefile .gdbinit:gdbinit.in,
5436fc65
C
833[
834dnl Autoconf doesn't provide a mechanism for modifying definitions
835dnl provided by makefile fragments.
836dnl
837if test "${nativefile}" = ""; then
7bd1f0c5 838sed -e '/^NATDEPFILES[[ ]]*=[[ ]]*/s//# NATDEPFILES=/' \
5436fc65
C
839 < Makefile > Makefile.tem
840mv -f Makefile.tem Makefile
33bc979d
SS
841fi
842
5436fc65 843changequote(,)dnl
94d4b713
JK
844sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
845/^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
846/^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
847mv -f Makefile.tmp Makefile
5436fc65
C
848changequote([,])dnl
849
31520669 850case x$CONFIG_HEADERS in
18ea4416 851xconfig.h:config.in)
31520669
FF
852echo > stamp-h ;;
853esac
0a5a1821
C
854],
855[
856gdb_host_cpu=$gdb_host_cpu
857gdb_target_cpu=$gdb_target_cpu
858nativefile=$nativefile
5436fc65 859])
5e711e7f
PS
860
861exit 0
b7f3b6d5 862
This page took 0.338012 seconds and 4 git commands to generate.