import gdb-2000-02-04 snapshot
[deliverable/binutils-gdb.git] / gdb / configure.in
1 dnl Autoconf configure script for GDB, the GNU debugger.
2 dnl Copyright 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
3 dnl
4 dnl This file is part of GDB.
5 dnl
6 dnl This program is free software; you can redistribute it and/or modify
7 dnl it under the terms of the GNU General Public License as published by
8 dnl the Free Software Foundation; either version 2 of the License, or
9 dnl (at your option) any later version.
10 dnl
11 dnl This program is distributed in the hope that it will be useful,
12 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
13 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 dnl GNU General Public License for more details.
15 dnl
16 dnl You should have received a copy of the GNU General Public License
17 dnl along with this program; if not, write to the Free Software
18 dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19
20 dnl Process this file with autoconf to produce a configure script.
21
22 AC_PREREQ(2.13)dnl
23 AC_INIT(main.c)
24 AC_CONFIG_HEADER(config.h:config.in)
25
26 AC_PROG_CC
27 AC_AIX
28 AC_ISC_POSIX
29 AM_PROG_CC_STDC
30
31 AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
32 AC_CANONICAL_SYSTEM
33
34 dnl gdb doesn't use gettext, but bfd does. We call this to ensure we
35 dnl link with the correct libraries.
36 ALL_LINGUAS=
37 CY_GNU_GETTEXT
38
39 dnl List of object files added by configure.
40
41 CONFIG_OBS=
42 CONFIG_DEPS=
43 CONFIG_SRCS=
44 CONFIG_INIT=
45
46 configdirs="doc testsuite"
47
48 AC_ARG_ENABLE(multi-ice,
49 [ --enable-multi-ice Build the multi-ice-gdb-server],
50 [case "${enableval}" in
51 yes ) enable_multi_ice="yes" ;;
52 no) enable_multi_ice="no" ;;
53 *) AC_MSG_ERROR(Bad value for --enable-multi-ice: ${enableval}) ;;
54 esac
55 ])
56
57 if test "${enable_multi_ice}" = "yes"; then
58 configdirs="${configdirs} multi-ice"
59 fi
60
61 dnl
62 changequote(,)dnl
63
64 . ${srcdir}/configure.host
65
66 . ${srcdir}/configure.tgt
67
68 dnl
69 changequote([,])dnl
70
71 AC_PROG_AWK
72 AC_PROG_INSTALL
73 AC_CHECK_TOOL(AR, ar)
74 AC_CHECK_TOOL(RANLIB, ranlib, :)
75 AC_PROG_YACC
76
77 AC_ARG_PROGRAM
78
79 AC_TYPE_SIGNAL
80
81 AC_HEADER_STDC
82
83 AC_CHECK_HEADERS(ctype.h curses.h endian.h link.h thread_db.h proc_service.h \
84 memory.h objlist.h ptrace.h sgtty.h stddef.h stdlib.h \
85 string.h sys/procfs.h sys/ptrace.h sys/reg.h stdint.h \
86 term.h termio.h termios.h unistd.h wait.h sys/wait.h \
87 wchar.h wctype.h asm/debugreg.h sys/debugreg.h sys/select.h \
88 time.h sys/ioctl.h)
89 AC_HEADER_STAT
90
91 AC_C_CONST
92
93 AC_CHECK_FUNCS(setpgid sbrk sigaction isascii bzero bcopy btowc poll sigprocmask)
94 AC_FUNC_ALLOCA
95
96 dnl See if ptrace.h provides the PTRACE_GETXFPREGS request.
97 dnl PTRACE_GETXFPREGS is a Cygnus invention, since we wrote our own
98 dnl Linux kernel patch for SSE support. That patch may or may not
99 dnl actually make it into the official distribution. If you find that
100 dnl years have gone by since this configure test was added, and Linux
101 dnl isn't using PTRACE_GETXFPREGS, that means that our patch didn't
102 dnl make it, and you can delete this code.
103 AC_MSG_CHECKING(for PTRACE_GETXFPREGS)
104 AC_CACHE_VAL(gdb_cv_have_ptrace_getxfpregs,
105 [AC_TRY_COMPILE([#include <sys/ptrace.h>],
106 [PTRACE_GETXFPREGS;],
107 [gdb_cv_have_ptrace_getxfpregs=yes],
108 [gdb_cv_have_ptrace_getxfpregs=no])])
109 AC_MSG_RESULT($gdb_cv_have_ptrace_getxfpregs)
110 if test $gdb_cv_have_ptrace_getxfpregs = yes; then
111 AC_DEFINE(HAVE_PTRACE_GETXFPREGS)
112 fi
113
114 AC_CHECK_LIB(socket, socketpair)
115 AC_CHECK_FUNCS(socketpair)
116
117
118 BFD_NEED_DECLARATION(malloc)
119 BFD_NEED_DECLARATION(realloc)
120 BFD_NEED_DECLARATION(free)
121 BFD_NEED_DECLARATION(strerror)
122 BFD_NEED_DECLARATION(strdup)
123 BFD_NEED_DECLARATION(strstr)
124
125
126 # The following save_state_t checkery is only necessary for HPUX
127 # versions earlier than 10.20. When those fade from memory, this
128 # could be expunged. --jsm 1999-03-22
129
130 AC_MSG_CHECKING(for HPUX save_state structure)
131 AC_EGREP_HEADER(save_state_t, machine/save_state.h,
132 gdb_cv_hpux_savestate=yes, gdb_cv_hpux_savestate=no)
133 AC_EGREP_HEADER(ss_wide, machine/save_state.h, gdb_cv_hpux_sswide=yes,
134 gdb_cv_hpux_sswide=no)
135 if test $gdb_cv_hpux_savestate = yes
136 then
137 AC_DEFINE(HAVE_STRUCT_SAVE_STATE_T, 1)
138 fi
139 if test $gdb_cv_hpux_sswide = yes
140 then
141 AC_DEFINE(HAVE_STRUCT_MEMBER_SS_WIDE, 1)
142 fi
143 AC_MSG_RESULT($gdb_cv_hpux_sswide)
144
145
146 # If we are configured native on GNU/Linux, work around problems with
147 # sys/procfs.h
148 # Also detect which type of /proc is in use, such as for Unixware or Solaris.
149
150 if test "${target}" = "${host}"; then
151 case "${host}" in
152 i[[3456]]86-*-linux*)
153 AC_DEFINE(START_INFERIOR_TRAPS_EXPECTED,2)
154 AC_DEFINE(sys_quotactl)
155 ;;
156 *-*-unixware* | *-*-sysv4.2* | *-*-sysv5*)
157 AC_DEFINE(NEW_PROC_API)
158 ;;
159 # FIXME: we would like to define NEW_PROC_API for all versions of
160 # Solaris from 2.6 on... but it isn't quite working yet. Seems
161 # to work on sparc 2.6, so let's try it out there.
162 sparc-sun-solaris2.6)
163 AC_DEFINE(NEW_PROC_API)
164 ;;
165 esac
166 fi
167
168 if test "$ac_cv_header_sys_procfs_h" = yes; then
169 BFD_HAVE_SYS_PROCFS_TYPE(pstatus_t)
170 BFD_HAVE_SYS_PROCFS_TYPE(prrun_t)
171 BFD_HAVE_SYS_PROCFS_TYPE(gregset_t)
172 BFD_HAVE_SYS_PROCFS_TYPE(fpregset_t)
173
174 dnl Check for PIOCSET ioctl entry
175
176 AC_MSG_CHECKING(for PIOCSET ioctl entry in sys/procfs.h)
177 AC_CACHE_VAL(gdb_cv_have_procfs_piocset,
178 [AC_TRY_COMPILE([#include <unistd.h>
179 #include <sys/types.h>
180 #include <sys/procfs.h>
181 ], [
182 int dummy;;
183 dummy = ioctl(0, PIOCSET, &dummy);
184 ],
185 gdb_cv_have_procfs_piocset=yes, gdb_cv_have_procfs_piocset=no)])
186 AC_MSG_RESULT($gdb_cv_have_procfs_piocset)
187 if test $gdb_cv_have_procfs_piocset = yes; then
188 AC_DEFINE(HAVE_PROCFS_PIOCSET)
189 fi
190 fi
191
192 dnl See if host has libm. This is usually needed by simulators.
193 AC_CHECK_LIB(m, main)
194
195 dnl Solaris puts wctype in /usr/lib/libw.a before Solaris 2.6.
196 dnl
197 dnl A bug in GNU ld 2.9.1 causes a problem if we link in -lw
198 dnl under Solaris 2.6 because it is some funky empty library.
199 dnl So only link in libw if we have to.
200 AC_CHECK_LIB(c, wctype,: ,AC_CHECK_LIB(w, wctype))
201
202 dnl See if compiler supports "long long" type.
203
204 AC_MSG_CHECKING(for long long support in compiler)
205 AC_CACHE_VAL(gdb_cv_c_long_long,
206 [AC_TRY_COMPILE(, [
207 extern long long foo;
208 switch (foo & 2) { case 0: return 1; }
209 ],
210 gdb_cv_c_long_long=yes, gdb_cv_c_long_long=no)])
211 AC_MSG_RESULT($gdb_cv_c_long_long)
212 if test $gdb_cv_c_long_long = yes; then
213 AC_DEFINE(CC_HAS_LONG_LONG)
214 fi
215
216 dnl See if the compiler and runtime support printing long long
217
218 AC_MSG_CHECKING(for long long support in printf)
219 AC_CACHE_VAL(gdb_cv_printf_has_long_long,
220 [AC_TRY_RUN([
221 int main () {
222 char buf[32];
223 long long l = 0;
224 l = (l << 16) + 0x0123;
225 l = (l << 16) + 0x4567;
226 l = (l << 16) + 0x89ab;
227 l = (l << 16) + 0xcdef;
228 sprintf (buf, "0x%016llx", l);
229 return (strcmp ("0x0123456789abcdef", buf));
230 }],
231 gdb_cv_printf_has_long_long=yes,
232 gdb_cv_printf_has_long_long=no,
233 gdb_cv_printf_has_long_long=no)])
234 if test $gdb_cv_printf_has_long_long = yes; then
235 AC_DEFINE(PRINTF_HAS_LONG_LONG)
236 fi
237 AC_MSG_RESULT($gdb_cv_printf_has_long_long)
238
239 dnl See if compiler supports "long double" type. Can't use AC_C_LONG_DOUBLE
240 dnl because autoconf complains about cross-compilation issues. However, this
241 dnl code uses the same variables as the macro for compatibility.
242
243 AC_MSG_CHECKING(for long double support in compiler)
244 AC_CACHE_VAL(ac_cv_c_long_double,
245 [AC_TRY_COMPILE(, [long double foo;],
246 ac_cv_c_long_double=yes, ac_cv_c_long_double=no)])
247 AC_MSG_RESULT($ac_cv_c_long_double)
248 if test $ac_cv_c_long_double = yes; then
249 AC_DEFINE(HAVE_LONG_DOUBLE)
250 fi
251
252 dnl See if the compiler and runtime support printing long doubles
253
254 AC_MSG_CHECKING(for long double support in printf)
255 AC_CACHE_VAL(gdb_cv_printf_has_long_double,
256 [AC_TRY_RUN([
257 int main () {
258 char buf[16];
259 long double f = 3.141592653;
260 sprintf (buf, "%Lg", f);
261 return (strncmp ("3.14159", buf, 7));
262 }],
263 gdb_cv_printf_has_long_double=yes,
264 gdb_cv_printf_has_long_double=no,
265 gdb_cv_printf_has_long_double=no)])
266 if test $gdb_cv_printf_has_long_double = yes; then
267 AC_DEFINE(PRINTF_HAS_LONG_DOUBLE)
268 fi
269 AC_MSG_RESULT($gdb_cv_printf_has_long_double)
270
271 dnl See if the compiler and runtime support scanning long doubles
272
273 AC_MSG_CHECKING(for long double support in scanf)
274 AC_CACHE_VAL(gdb_cv_scanf_has_long_double,
275 [AC_TRY_RUN([
276 int main () {
277 char *buf = "3.141592653";
278 long double f = 0;
279 sscanf (buf, "%Lg", &f);
280 return !(f > 3.14159 && f < 3.14160);
281 }],
282 gdb_cv_scanf_has_long_double=yes,
283 gdb_cv_scanf_has_long_double=no,
284 gdb_cv_scanf_has_long_double=no)])
285 if test $gdb_cv_scanf_has_long_double = yes; then
286 AC_DEFINE(SCANF_HAS_LONG_DOUBLE)
287 fi
288 AC_MSG_RESULT($gdb_cv_scanf_has_long_double)
289
290 AC_FUNC_MMAP
291
292 dnl See if thread_db library is around for Solaris thread debugging. Note that
293 dnl we must explicitly test for version 1 of the library because version 0
294 dnl (present on Solaris 2.4 or earlier) doesn't have the same API.
295
296 dnl Note that we only want this if we are both native (host == target), and
297 dnl not doing a canadian cross build (build == host).
298
299 if test ${build} = ${host} -a ${host} = ${target} ; then
300 case ${host_os} in
301 hpux*)
302 AC_MSG_CHECKING(for HPUX/OSF thread support)
303 if test -f /usr/include/dce/cma_config.h ; then
304 if test "$GCC" = "yes" ; then
305 AC_MSG_RESULT(yes)
306 AC_DEFINE(HAVE_HPUX_THREAD_SUPPORT)
307 CONFIG_OBS="${CONFIG_OJS} hpux-thread.o"
308 CONFIG_SRCS="${CONFIG_SRCS} hpux-thread.c"
309 CONFIG_INITS="${CONFIG_INITS} hpux-thread.c"
310 else
311 AC_MSG_RESULT(no (suppressed because you are not using GCC))
312 fi
313 else
314 AC_MSG_RESULT(no)
315 fi
316 ;;
317 solaris*)
318 AC_MSG_CHECKING(for Solaris thread debugging library)
319 if test -f /usr/lib/libthread_db.so.1 ; then
320 AC_MSG_RESULT(yes)
321 AC_DEFINE(HAVE_THREAD_DB_LIB)
322 CONFIG_OBS="${CONFIG_OBS} sol-thread.o"
323 CONFIG_SRCS="${CONFIG_SRCS} sol-thread.c"
324 CONFIG_INITS="${CONFIG_INITS} sol-thread.c"
325 AC_CHECK_LIB(dl, dlopen)
326 if test "$GCC" = "yes" ; then
327 # The GNU linker requires the -export-dynamic option to make
328 # all symbols visible in the dynamic symbol table.
329 hold_ldflags=$LDFLAGS
330 AC_MSG_CHECKING(for the ld -export-dynamic flag)
331 LDFLAGS="${LDFLAGS} -Wl,-export-dynamic"
332 AC_TRY_LINK(, [int i;], found=yes, found=no)
333 LDFLAGS=$hold_ldflags
334 AC_MSG_RESULT($found)
335 if test $found = yes; then
336 CONFIG_LDFLAGS="${CONFIG_LDFLAGS} -Wl,-export-dynamic"
337 fi
338 fi
339 # Sun randomly tweaked the prototypes in <proc_service.h>
340 # at one point.
341 AC_MSG_CHECKING(if <proc_service.h> is old)
342 AC_CACHE_VAL(gdb_cv_proc_service_is_old,[
343 AC_TRY_COMPILE([
344 #include <proc_service.h>
345 ps_err_e ps_pdwrite
346 (struct ps_prochandle*, psaddr_t, const void*, size_t);
347 ],, gdb_cv_proc_service_is_old=no,
348 gdb_cv_proc_service_is_old=yes)
349 ])
350 AC_MSG_RESULT($gdb_cv_proc_service_is_old)
351 if test $gdb_cv_proc_service_is_old = yes; then
352 AC_DEFINE(PROC_SERVICE_IS_OLD)
353 fi
354 else
355 AC_MSG_RESULT(no)
356 fi
357 ;;
358 esac
359 AC_SUBST(CONFIG_LDFLAGS)
360 fi
361
362 dnl Handle optional features that can be enabled.
363 ENABLE_CFLAGS=
364
365 AC_ARG_ENABLE(tui,
366 [ --enable-tui Enable full-screen terminal user interface],
367 [
368 case "${enable_tui}" in
369 yes | no) ;;
370 "") enable_tui=yes ;;
371 *)
372 AC_MSG_ERROR(Bad value for --enable-tui: ${enableval})
373 ;;
374 esac
375 ])
376 case ${enable_tui} in
377 "yes" )
378 AC_DEFINE(TUI)
379 BUILD_TUI=all-tui
380 TUI_LIBRARY=tui/libtui.a
381 ;;
382 * )
383 BUILD_TUI=
384 TUI_LIBRARY=
385 ;;
386 esac
387 AC_SUBST(BUILD_TUI)
388 AC_SUBST(TUI_LIBRARY)
389
390 AC_ARG_ENABLE(netrom,
391 [ --enable-netrom Enable NetROM support],
392 [case "${enableval}" in
393 yes) enable_netrom=yes ;;
394 no) enable_netrom=no ;;
395 *) AC_MSG_ERROR(bad value ${enableval} given for netrom option) ;;
396 esac])
397
398 if test "${enable_netrom}" = "yes"; then
399 CONFIG_OBS="${CONFIG_OBS} remote-nrom.o"
400 CONFIG_SRCS="${CONFIG_SRCS} remote-nrom.c"
401 CONFIG_INITS="${CONFIG_INITS} remote-nrom.c"
402 fi
403
404 AC_ARG_ENABLE(build-warnings,
405 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
406 [build_warnings="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations"
407 case "${enableval}" in
408 yes) ;;
409 no) build_warnings="-w";;
410 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
411 build_warnings="${build_warnings} ${t}";;
412 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
413 build_warnings="${t} ${build_warnings}";;
414 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
415 esac
416 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
417 echo "Setting warning flags = $build_warnings" 6>&1
418 fi
419 WARN_CFLAGS=""
420 WERROR_CFLAGS=""
421 if test "x${build_warnings}" != x -a "x$GCC" = xyes
422 then
423 # Separate out the -Werror flag as some files just cannot be
424 # compiled with it enabled.
425 for w in ${build_warnings}; do
426 case $w in
427 -Werr*) WERROR_CFLAGS=-Werror ;;
428 *) WARN_CFLAGS="${WARN_CFLAGS} $w"
429 esac
430 done
431 fi],[build_warnings=""])dnl
432
433 AC_SUBST(WARN_CFLAGS)
434 AC_SUBST(WERROR_CFLAGS)
435
436 MMALLOC_CFLAGS=
437 MMALLOC=
438 AC_SUBST(MMALLOC_CFLAGS)
439 AC_SUBST(MMALLOC)
440
441 AC_ARG_WITH(mmalloc,
442 [ --with-mmalloc Use memory mapped malloc package],
443 [case "${withval}" in
444 yes) want_mmalloc=true ;;
445 no) want_mmalloc=false;;
446 *) AC_MSG_ERROR(bad value ${withval} for GDB with-mmalloc option) ;;
447 esac],[want_mmalloc=false])dnl
448
449 if test x$want_mmalloc = xtrue; then
450 AC_DEFINE(USE_MMALLOC)
451 AC_DEFINE(MMCHECK_FORCE)
452 MMALLOC_CFLAGS="-I$srcdir/../mmalloc"
453 MMALLOC='../mmalloc/libmmalloc.a'
454 fi
455
456
457 # In the Cygwin environment, we need some additional flags.
458 AC_CACHE_CHECK([for cygwin], gdb_cv_os_cygwin,
459 [AC_EGREP_CPP(lose, [
460 #if defined (__CYGWIN__) || defined (__CYGWIN32__)
461 lose
462 #endif],[gdb_cv_os_cygwin=yes],[gdb_cv_os_cygwin=no])])
463
464 DLLTOOL=${DLLTOOL-dlltool}
465 WINDRES=${WINDRES-windres}
466 AC_SUBST(DLLTOOL)
467 AC_SUBST(WINDRES)
468
469 dnl Figure out which term library to use.
470 if test x$gdb_host = xgo32; then
471 TERM_LIB=
472 else
473 if test x$gdb_cv_os_cygwin = xyes; then
474 TERM_LIB='`if test -r ../libtermcap/libtermcap.a; then echo ../libtermcap/libtermcap.a; else echo -ltermcap; fi`'
475 else
476 TERM_LIB=
477 AC_CHECK_LIB(ncurses, tgetent, TERM_LIB=-lncurses,
478 AC_CHECK_LIB(Hcurses, tgetent, TERM_LIB=-lHcurses,
479 AC_CHECK_LIB(termlib, tgetent, TERM_LIB=-ltermlib,
480 AC_CHECK_LIB(termcap, tgetent, TERM_LIB=-ltermcap,
481 AC_CHECK_LIB(curses, tgetent, TERM_LIB=-lcurses,
482 AC_CHECK_LIB(terminfo, tgetent, TERM_LIB=-lterminfo))))))
483
484 if test "x$TERM_LIB" = x
485 then
486 AC_MSG_ERROR(Could not find a term library, e.g. termcap or termlib!)
487 fi
488 fi
489 fi
490 AC_SUBST(TERM_LIB)
491
492 # libreadline needs libuser32.a in a cygwin environment
493 WIN32LIBS=
494 if test x$gdb_cv_os_cygwin = xyes; then
495 WIN32LIBS="-luser32"
496 case "${target}" in
497 *cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
498 ;;
499 esac
500 fi
501 AC_SUBST(WIN32LIBS)
502
503
504 AC_ARG_WITH(cpu,
505 [ --with-cpu=CPU Set the default CPU variant to debug],
506 [case "${target}" in
507 powerpc-* | powerpcle-* )
508 ## It would be nice to keep this table in sync with the one in
509 ## gcc/configure.
510 case "${with_cpu}" in
511 ppc-uisa | rs6000 | 403 | 403GC | 505 | 860 | 601 | 602 | 603 \
512 | 604 | 750 )
513 ## Those are all handled in variants in rs6000-tdep.c, so they're fine.
514 ;;
515 common | power | power2 | rios | rios1 | rios2 | rsc | rsc1 )
516 ## These are all RS6000 variants, as far as GDB is concerned.
517 with_cpu=rs6000
518 ;;
519 603e | ec603e )
520 with_cpu=603
521 ;;
522 604e )
523 with_cpu=604
524 ;;
525 * )
526 AC_MSG_WARN(GDB: unknown --with-cpu value: \`${with_cpu}'; using \`ppc-uisa'.)
527 with_cpu=ppc-uisa
528 ;;
529 esac
530 ;;
531 * )
532 AC_MSG_WARN(GDB may ignore the --with-cpu flag for ${target} targets)
533 ;;
534 esac
535 AC_DEFINE_UNQUOTED(TARGET_CPU_DEFAULT, "${with_cpu}")
536 ],)
537
538
539
540 AC_PATH_X
541
542
543 # Unlike the sim directory, whether a simulator is linked is controlled by
544 # presence of a SIM= and a SIM_OBS= definition in the target '.mt' file.
545 # This code just checks for a few cases where we'd like to ignore those
546 # definitions, even when they're present in the '.mt' file. These cases
547 # are when --disable-sim is specified, or if the simulator directory is
548 # not part of the soruce tree.
549 #
550 AC_ARG_ENABLE(sim,
551 [ --enable-sim Link gdb with simulator],
552 [echo "enable_sim = $enable_sim";
553 echo "enableval = ${enableval}";
554 case "${enableval}" in
555 yes) ignore_sim=false ;;
556 no) ignore_sim=true ;;
557 *) ignore_sim=false ;;
558 esac],
559 [ignore_sim=false])
560
561 if test ! -d "${srcdir}/../sim"; then
562 ignore_sim=true
563 fi
564
565 if test "${ignore_sim}" = "true"; then
566 IGNORE_SIM="SIM="
567 IGNORE_SIM_OBS="SIM_OBS="
568 else
569 IGNORE_SIM=""
570 IGNORE_SIM_OBS=""
571 AC_DEFINE(WITH_SIM)
572 fi
573 AC_SUBST(IGNORE_SIM)
574 AC_SUBST(IGNORE_SIM_OBS)
575
576 AC_SUBST(ENABLE_CFLAGS)
577
578 AC_SUBST(CONFIG_OBS)
579 AC_SUBST(CONFIG_DEPS)
580 AC_SUBST(CONFIG_SRCS)
581 AC_SUBST(CONFIG_INITS)
582
583 # Begin stuff to support --enable-shared
584 AC_ARG_ENABLE(shared,
585 [ --enable-shared Use shared libraries],
586 [case "${enableval}" in
587 yes) shared=true ;;
588 no) shared=false ;;
589 *) shared=true ;;
590 esac])dnl
591
592 HLDFLAGS=
593 HLDENV=
594 # If we have shared libraries, try to set rpath reasonably.
595 if test "${shared}" = "true"; then
596 case "${host}" in
597 *-*-hpux*)
598 HLDFLAGS='-Wl,+s,+b,$(libdir)'
599 ;;
600 *-*-irix5* | *-*-irix6*)
601 HLDFLAGS='-Wl,-rpath,$(libdir)'
602 ;;
603 *-*-linux*aout*)
604 ;;
605 *-*-linux* | *-pc-linux-gnu)
606 HLDFLAGS='-Wl,-rpath,$(libdir)'
607 ;;
608 *-*-solaris*)
609 HLDFLAGS='-R $(libdir)'
610 ;;
611 *-*-sysv4*)
612 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;'
613 ;;
614 esac
615 fi
616
617 # On SunOS, if the linker supports the -rpath option, use it to
618 # prevent ../bfd and ../opcodes from being included in the run time
619 # search path.
620 case "${host}" in
621 *-*-sunos*)
622 echo 'main () { }' > conftest.c
623 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
624 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
625 :
626 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
627 :
628 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
629 :
630 elif grep 'some text already loaded' conftest.t >/dev/null 2>&1; then
631 :
632 elif test "${shared}" = "true"; then
633 HLDFLAGS='-Wl,-rpath=$(libdir)'
634 else
635 HLDFLAGS='-Wl,-rpath='
636 fi
637 rm -f conftest.t conftest.c conftest
638 ;;
639 esac
640 AC_SUBST(HLDFLAGS)
641 AC_SUBST(HLDENV)
642 # End stuff to support --enable-shared
643
644 # target_subdir is used by the testsuite to find the target libraries.
645 target_subdir=
646 if test "${host}" != "${target}"; then
647 target_subdir="${target_alias}/"
648 fi
649 AC_SUBST(target_subdir)
650
651 frags=
652 host_makefile_frag=${srcdir}/config/${gdb_host_cpu}/${gdb_host}.mh
653 if test ! -f ${host_makefile_frag}; then
654 AC_MSG_ERROR("*** Gdb does not support host ${host}")
655 fi
656 frags="$frags $host_makefile_frag"
657
658 target_makefile_frag=${srcdir}/config/${gdb_target_cpu}/${gdb_target}.mt
659 if test ! -f ${target_makefile_frag}; then
660 AC_MSG_ERROR("*** Gdb does not support target ${target}")
661 fi
662 frags="$frags $target_makefile_frag"
663
664 AC_SUBST_FILE(host_makefile_frag)
665 AC_SUBST_FILE(target_makefile_frag)
666 AC_SUBST(frags)
667
668 changequote(,)dnl
669 hostfile=`sed -n '
670 s/XM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
671 ' ${host_makefile_frag}`
672
673 targetfile=`sed -n '
674 s/TM_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
675 ' ${target_makefile_frag}`
676
677 # these really aren't orthogonal true/false values of the same condition,
678 # but shells are slow enough that I like to reuse the test conditions
679 # whenever possible
680 if test "${target}" = "${host}"; then
681 nativefile=`sed -n '
682 s/NAT_FILE[ ]*=[ ]*\([^ ]*\)/\1/p
683 ' ${host_makefile_frag}`
684 # else
685 # GDBserver is only useful in a "native" enviroment
686 # configdirs=`echo $configdirs | sed 's/gdbserver//'`
687 fi
688 changequote([,])
689
690 SUBDIRS="doc testsuite nlm"
691 if test "${enable_multi_ice}" = "yes"; then
692 SUBDIRS="${SUBDIRS} multi-ice"
693 fi
694
695 AC_SUBST(SUBDIRS)
696
697 # If hostfile (XM_FILE) and/or targetfile (TM_FILE) and/or nativefile
698 # (NAT_FILE) is not set in config/*/*.m[ht] files, we don't make the
699 # corresponding links. But we have to remove the xm.h files and tm.h
700 # files anyway, e.g. when switching from "configure host" to
701 # "configure none".
702
703 files=
704 links=
705 rm -f xm.h
706 if test "${hostfile}" != ""; then
707 files="${files} config/${gdb_host_cpu}/${hostfile}"
708 links="${links} xm.h"
709 fi
710 rm -f tm.h
711 if test "${targetfile}" != ""; then
712 files="${files} config/${gdb_target_cpu}/${targetfile}"
713 links="${links} tm.h"
714 fi
715 rm -f nm.h
716 if test "${nativefile}" != ""; then
717 files="${files} config/${gdb_host_cpu}/${nativefile}"
718 links="${links} nm.h"
719 else
720 # A cross-only configuration.
721 files="${files} config/nm-empty.h"
722 links="${links} nm.h"
723 fi
724
725 AC_LINK_FILES($files, $links)
726
727 dnl Check for exe extension set on certain hosts (e.g. Win32)
728 AC_EXEEXT
729
730 AC_CONFIG_SUBDIRS($configdirs)
731 AC_OUTPUT(Makefile tui/Makefile .gdbinit:gdbinit.in,
732 [
733 dnl Autoconf doesn't provide a mechanism for modifying definitions
734 dnl provided by makefile fragments.
735 dnl
736 if test "${nativefile}" = ""; then
737 sed -e '/^NATDEPFILES[[ ]]*=[[ ]]*/s//# NATDEPFILES=/' \
738 < Makefile > Makefile.tem
739 mv -f Makefile.tem Makefile
740 fi
741
742 changequote(,)dnl
743 sed -e '/^TM_FILE[ ]*=/s,^TM_FILE[ ]*=[ ]*,&config/'"${gdb_target_cpu}"'/,
744 /^XM_FILE[ ]*=/s,^XM_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,
745 /^NAT_FILE[ ]*=/s,^NAT_FILE[ ]*=[ ]*,&config/'"${gdb_host_cpu}"'/,' <Makefile >Makefile.tmp
746 mv -f Makefile.tmp Makefile
747 changequote([,])dnl
748
749
750 case x$CONFIG_HEADERS in
751 xconfig.h:config.in)
752 echo > stamp-h ;;
753 esac
754 ],
755 [
756 gdb_host_cpu=$gdb_host_cpu
757 gdb_target_cpu=$gdb_target_cpu
758 nativefile=$nativefile
759 ])
760
761 exit 0
This page took 0.046795 seconds and 4 git commands to generate.