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