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