]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdb/acinclude.m4
Import strtok_r gnulib module
[thirdparty/binutils-gdb.git] / gdb / acinclude.m4
CommitLineData
c906108c
SS
1dnl written by Rob Savoye <rob@cygnus.com> for Cygnus Support
2dnl major rewriting for Tcl 7.5 by Don Libes <libes@nist.gov>
3
7d928dac
PA
4# Keep these includes in sync with the aclocal_m4_deps list in
5# Makefile.in.
6
c971b7fa
PA
7sinclude(acx_configure_dir.m4)
8
17ef446e
PA
9# This gets GDB_AC_LIBMCHECK.
10sinclude(libmcheck.m4)
11
f6a88844
JM
12# This gets GDB_AC_TRANSFORM.
13sinclude(transform.m4)
14
c906108c 15dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition.
85981d60 16sinclude(../bfd/bfd.m4)
c906108c 17
7d928dac 18dnl This gets the standard macros.
c906108c
SS
19sinclude(../config/acinclude.m4)
20
7d928dac
PA
21dnl This gets AC_PLUGINS, needed by ACX_LARGEFILE.
22sinclude(../config/plugins.m4)
23
24dnl For ACX_LARGEFILE.
25sinclude(../config/largefile.m4)
26
27dnl For AM_SET_LEADING_DOT.
28sinclude(../config/lead-dot.m4)
29
30dnl This gets autoconf bugfixes.
fdc59709
PB
31sinclude(../config/override.m4)
32
7d928dac 33dnl For ZW_GNU_GETTEXT_SISTER_DIR.
20e95c23 34sinclude(../config/gettext-sister.m4)
85981d60 35
7fa2210b
DJ
36dnl For AC_LIB_HAVE_LINKFLAGS.
37sinclude(../config/lib-ld.m4)
38sinclude(../config/lib-prefix.m4)
39sinclude(../config/lib-link.m4)
40
c16158bc
JM
41dnl For ACX_PKGVERSION and ACX_BUGURL.
42sinclude(../config/acx.m4)
43
5062cc19
KS
44dnl for TCL definitions
45sinclude(../config/tcl.m4)
46
a417dc56
RW
47dnl For dependency tracking macros.
48sinclude([../config/depstand.m4])
49
a8111142
TT
50dnl For AM_LC_MESSAGES
51sinclude([../config/lcmessage.m4])
52
6c7a06a3
TT
53dnl For AM_LANGINFO_CODESET.
54sinclude([../config/codeset.m4])
55
b040ad30
JB
56sinclude([../config/zlib.m4])
57
3266f10b
TT
58m4_include([common/common.m4])
59
07697489
PA
60dnl For libiberty_INIT.
61m4_include(libiberty.m4)
62
3bc3d82a
PA
63dnl For --enable-build-with-cxx and COMPILER.
64m4_include(build-with-cxx.m4)
65
56157b4a
AC
66## ----------------------------------------- ##
67## ANSIfy the C compiler whenever possible. ##
68## From Franc,ois Pinard ##
69## ----------------------------------------- ##
70
32d0add0 71# Copyright (C) 1996-2015 Free Software Foundation, Inc.
56157b4a
AC
72
73# This program is free software; you can redistribute it and/or modify
74# it under the terms of the GNU General Public License as published by
75# the Free Software Foundation; either version 2, or (at your option)
76# any later version.
77
78# This program is distributed in the hope that it will be useful,
79# but WITHOUT ANY WARRANTY; without even the implied warranty of
80# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
81# GNU General Public License for more details.
82
83# You should have received a copy of the GNU General Public License
7785b880 84# along with this program; if not, see <http://www.gnu.org/licenses/>.
56157b4a
AC
85
86# serial 1
87
88# @defmac AC_PROG_CC_STDC
89# @maindex PROG_CC_STDC
90# @ovindex CC
91# If the C compiler in not in ANSI C mode by default, try to add an option
92# to output variable @code{CC} to make it so. This macro tries various
93# options that select ANSI C on some system or another. It considers the
94# compiler to be in ANSI C mode if it handles function prototypes correctly.
95#
96# If you use this macro, you should check after calling it whether the C
97# compiler has been set to accept ANSI C; if not, the shell variable
98# @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source
99# code in ANSI C, you can make an un-ANSIfied copy of it by using the
100# program @code{ansi2knr}, which comes with Ghostscript.
101# @end defmac
102
103AC_DEFUN([AM_PROG_CC_STDC],
104[AC_REQUIRE([AC_PROG_CC])
105AC_BEFORE([$0], [AC_C_INLINE])
106AC_BEFORE([$0], [AC_C_CONST])
107dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require
108dnl a magic option to avoid problems with ANSI preprocessor commands
109dnl like #elif.
110dnl FIXME: can't do this because then AC_AIX won't work due to a
111dnl circular dependency.
112dnl AC_BEFORE([$0], [AC_PROG_CPP])
113AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C])
114AC_CACHE_VAL(am_cv_prog_cc_stdc,
115[am_cv_prog_cc_stdc=no
116ac_save_CC="$CC"
117# Don't try gcc -ansi; that turns off useful extensions and
118# breaks some systems' header files.
119# AIX -qlanglvl=ansi
120# Ultrix and OSF/1 -std1
121# HP-UX 10.20 and later -Ae
122# HP-UX older versions -Aa -D_HPUX_SOURCE
123# SVR4 -Xc -D__EXTENSIONS__
124for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
125do
126 CC="$ac_save_CC $ac_arg"
127 AC_TRY_COMPILE(
128[#include <stdarg.h>
129#include <stdio.h>
130#include <sys/types.h>
131#include <sys/stat.h>
132/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
133struct buf { int x; };
134FILE * (*rcsopen) (struct buf *, struct stat *, int);
135static char *e (p, i)
136 char **p;
137 int i;
138{
139 return p[i];
140}
141static char *f (char * (*g) (char **, int), char **p, ...)
142{
143 char *s;
144 va_list v;
145 va_start (v,p);
146 s = g (p, va_arg (v,int));
147 va_end (v);
148 return s;
149}
150int test (int i, double x);
151struct s1 {int (*f) (int a);};
152struct s2 {int (*f) (double a);};
153int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
154int argc;
155char **argv;
156], [
157return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
158],
159[am_cv_prog_cc_stdc="$ac_arg"; break])
160done
161CC="$ac_save_CC"
162])
163if test -z "$am_cv_prog_cc_stdc"; then
164 AC_MSG_RESULT([none needed])
165else
166 AC_MSG_RESULT([$am_cv_prog_cc_stdc])
167fi
168case "x$am_cv_prog_cc_stdc" in
169 x|xno) ;;
170 *) CC="$CC $am_cv_prog_cc_stdc" ;;
171esac
172])
234b45d4 173
03b952fd
JB
174dnl Originally from Bruno Haible, but with some modifications
175dnl for the GDB project.
234b45d4
KB
176
177AC_DEFUN([AM_ICONV],
178[
179 dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
180 dnl those with the standalone portable GNU libiconv installed).
181
182 AC_ARG_WITH([libiconv-prefix],
d2596e2e 183 AS_HELP_STRING([--with-libiconv-prefix=DIR], [search for libiconv in DIR/include and DIR/lib]), [
234b45d4 184 for dir in `echo "$withval" | tr : ' '`; do
94ae1714
TT
185 if test -d $dir/include; then LIBICONV_INCLUDE="-I$dir/include"; fi
186 if test -d $dir/lib; then LIBICONV_LIBDIR="-L$dir/lib"; fi
234b45d4
KB
187 done
188 ])
189
f18c4681 190 BUILD_LIBICONV_LIBDIRS="../libiconv/lib/.libs ../libiconv/lib/_libs"
6c7a06a3
TT
191 BUILD_LIBICONV_INCLUDE="-I../libiconv/include"
192
234b45d4
KB
193 AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
194 am_cv_func_iconv="no, consider installing GNU libiconv"
195 am_cv_lib_iconv=no
6c7a06a3 196 am_cv_use_build_libiconv=no
f0f20949 197 am_cv_build_libiconv_path=
94ae1714 198
4edb1e84
JB
199 # If libiconv is part of the build tree, then try using it over
200 # any system iconv.
201 if test -d ../libiconv; then
f18c4681
JB
202 for lib_dir in $BUILD_LIBICONV_LIBDIRS; do
203 am_save_LIBS="$LIBS"
204 am_save_CPPFLAGS="$CPPFLAGS"
205 LIBS="$LIBS $lib_dir/libiconv.a"
206 CPPFLAGS="$CPPFLAGS $BUILD_LIBICONV_INCLUDE"
207 AC_TRY_LINK([#include <stdlib.h>
234b45d4 208#include <iconv.h>],
f18c4681
JB
209 [iconv_t cd = iconv_open("","");
210 iconv(cd,NULL,NULL,NULL,NULL);
211 iconv_close(cd);],
212 am_cv_use_build_libiconv=yes
f0f20949 213 am_cv_build_libiconv_path=$lib_dir/libiconv.a
f18c4681
JB
214 am_cv_lib_iconv=yes
215 am_cv_func_iconv=yes)
216 LIBS="$am_save_LIBS"
217 CPPFLAGS="$am_save_CPPFLAGS"
218 if test "$am_cv_use_build_libiconv" = "yes"; then
f18c4681
JB
219 break
220 fi
221 done
234b45d4 222 fi
94ae1714 223
4edb1e84
JB
224 # Next, try to find iconv in libc.
225 if test "$am_cv_func_iconv" != yes; then
226 AC_TRY_LINK([#include <stdlib.h>
227#include <iconv.h>],
228 [iconv_t cd = iconv_open("","");
229 iconv(cd,NULL,NULL,NULL,NULL);
230 iconv_close(cd);],
231 am_cv_func_iconv=yes)
232 fi
233
234 # If iconv was not in libc, try -liconv. In this case, arrange to
235 # look in the libiconv prefix, if it was specified by the user.
236 if test "$am_cv_func_iconv" != yes; then
6c7a06a3 237 am_save_CPPFLAGS="$CPPFLAGS"
4edb1e84
JB
238 am_save_LIBS="$LIBS"
239 if test -n "$LIBICONV_INCLUDE"; then
240 CPPFLAGS="$CPPFLAGS $LIBICONV_INCLUDE"
241 LIBS="$LIBS $LIBICONV_LIBDIR"
242 fi
243 LIBS="$LIBS -liconv"
6c7a06a3
TT
244 AC_TRY_LINK([#include <stdlib.h>
245#include <iconv.h>],
246 [iconv_t cd = iconv_open("","");
247 iconv(cd,NULL,NULL,NULL,NULL);
248 iconv_close(cd);],
249 am_cv_lib_iconv=yes
250 am_cv_func_iconv=yes)
251 LIBS="$am_save_LIBS"
fc3b640d 252 CPPFLAGS="$am_save_CPPFLAGS"
6c7a06a3 253 fi
234b45d4 254 ])
94ae1714
TT
255
256 # Set the various flags based on the cache variables. We can't rely
257 # on the flags to remain set from the above code, due to caching.
fc3b640d
TT
258 LIBICONV=
259 if test "$am_cv_lib_iconv" = yes; then
260 LIBICONV="-liconv"
94ae1714
TT
261 else
262 LIBICONV_LIBDIR=
263 LIBICONV_INCLUDE=
fc3b640d
TT
264 fi
265 if test "$am_cv_use_build_libiconv" = yes; then
f0f20949 266 LIBICONV="$am_cv_build_libiconv_path"
f18c4681 267 LIBICONV_LIBDIR=""
fc3b640d
TT
268 LIBICONV_INCLUDE="$BUILD_LIBICONV_INCLUDE"
269 fi
270 CPPFLAGS="$CPPFLAGS $LIBICONV_INCLUDE"
271 LIBS="$LIBS $LIBICONV_LIBDIR $LIBICONV"
94ae1714 272
234b45d4
KB
273 if test "$am_cv_func_iconv" = yes; then
274 AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
275 AC_MSG_CHECKING([for iconv declaration])
276 AC_CACHE_VAL(am_cv_proto_iconv, [
277 AC_TRY_COMPILE([
278#include <stdlib.h>
279#include <iconv.h>
280extern
281#ifdef __cplusplus
282"C"
283#endif
284#if defined(__STDC__) || defined(__cplusplus)
285size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
286#else
287size_t iconv();
288#endif
289], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
290 am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
291 am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
292 AC_MSG_RESULT([$]{ac_t:-
293 }[$]am_cv_proto_iconv)
294 AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
295 [Define as const if the declaration of iconv() needs const.])
296 fi
234b45d4 297])
14abd0fb 298
5b5d99cf
JB
299dnl written by Guido Draheim <guidod@gmx.de>, original by Alexandre Oliva
300dnl Version 1.3 (2001/03/02)
301dnl source http://www.gnu.org/software/ac-archive/Miscellaneous/ac_define_dir.html
302
303AC_DEFUN([AC_DEFINE_DIR], [
304 test "x$prefix" = xNONE && prefix="$ac_default_prefix"
305 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
306 ac_define_dir=`eval echo [$]$2`
307 ac_define_dir=`eval echo [$]ac_define_dir`
308 ifelse($3, ,
309 AC_DEFINE_UNQUOTED($1, "$ac_define_dir"),
310 AC_DEFINE_UNQUOTED($1, "$ac_define_dir", $3))
311])
312
b9362cc7
AC
313dnl See whether we need a declaration for a function.
314dnl The result is highly dependent on the INCLUDES passed in, so make sure
315dnl to use a different cache variable name in this macro if it is invoked
316dnl in a different context somewhere else.
317dnl gcc_AC_CHECK_DECL(SYMBOL,
318dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, INCLUDES]]])
da78b0e7 319AC_DEFUN([gcc_AC_CHECK_DECL],
b9362cc7
AC
320[AC_MSG_CHECKING([whether $1 is declared])
321AC_CACHE_VAL(gcc_cv_have_decl_$1,
322[AC_TRY_COMPILE([$4],
323[#ifndef $1
324char *(*pfn) = (char *(*)) $1 ;
325#endif], eval "gcc_cv_have_decl_$1=yes", eval "gcc_cv_have_decl_$1=no")])
326if eval "test \"`echo '$gcc_cv_have_decl_'$1`\" = yes"; then
327 AC_MSG_RESULT(yes) ; ifelse([$2], , :, [$2])
328else
329 AC_MSG_RESULT(no) ; ifelse([$3], , :, [$3])
330fi
331])dnl
332
333dnl Check multiple functions to see whether each needs a declaration.
334dnl Arrange to define HAVE_DECL_<FUNCTION> to 0 or 1 as appropriate.
335dnl gcc_AC_CHECK_DECLS(SYMBOLS,
336dnl [ACTION-IF-NEEDED [, ACTION-IF-NOT-NEEDED [, INCLUDES]]])
da78b0e7 337AC_DEFUN([gcc_AC_CHECK_DECLS],
b9362cc7
AC
338[for ac_func in $1
339do
340changequote(, )dnl
341 ac_tr_decl=HAVE_DECL_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
342changequote([, ])dnl
343gcc_AC_CHECK_DECL($ac_func,
344 [AC_DEFINE_UNQUOTED($ac_tr_decl, 1) $2],
345 [AC_DEFINE_UNQUOTED($ac_tr_decl, 0) $3],
346dnl It is possible that the include files passed in here are local headers
347dnl which supply a backup declaration for the relevant prototype based on
348dnl the definition of (or lack of) the HAVE_DECL_ macro. If so, this test
349dnl will always return success. E.g. see libiberty.h's handling of
350dnl `basename'. To avoid this, we define the relevant HAVE_DECL_ macro to
351dnl 1 so that any local headers used do not provide their own prototype
352dnl during this test.
353#undef $ac_tr_decl
354#define $ac_tr_decl 1
355 $4
356)
357done
358dnl Automatically generate config.h entries via autoheader.
359if test x = y ; then
360 patsubst(translit([$1], [a-z], [A-Z]), [\w+],
361 [AC_DEFINE([HAVE_DECL_\&], 1,
362 [Define to 1 if we found this declaration otherwise define to 0.])])dnl
363fi
364])
365
5062cc19
KS
366dnl Find the location of the private Tcl headers
367dnl When Tcl is installed, this is TCL_INCLUDE_SPEC/tcl-private/generic
368dnl When Tcl is in the build tree, this is not needed.
369dnl
370dnl Note: you must use first use SC_LOAD_TCLCONFIG!
371AC_DEFUN([CY_AC_TCL_PRIVATE_HEADERS], [
372 AC_MSG_CHECKING([for Tcl private headers])
373 private_dir=""
374 dir=`echo ${TCL_INCLUDE_SPEC}/tcl-private/generic | sed -e s/-I//`
375 if test -f ${dir}/tclInt.h ; then
376 private_dir=${dir}
377 fi
378
379 if test x"${private_dir}" = x; then
380 AC_ERROR(could not find private Tcl headers)
381 else
382 TCL_PRIVATE_INCLUDE="-I${private_dir}"
383 AC_MSG_RESULT(${private_dir})
384 fi
385])
386
387dnl Find the location of the private Tk headers
388dnl When Tk is installed, this is TK_INCLUDE_SPEC/tk-private/generic
389dnl When Tk is in the build tree, this not needed.
390dnl
391dnl Note: you must first use SC_LOAD_TKCONFIG
392AC_DEFUN([CY_AC_TK_PRIVATE_HEADERS], [
393 AC_MSG_CHECKING([for Tk private headers])
394 private_dir=""
395 dir=`echo ${TK_INCLUDE_SPEC}/tk-private/generic | sed -e s/-I//`
396 if test -f ${dir}/tkInt.h; then
397 private_dir=${dir}
398 fi
399
400 if test x"${private_dir}" = x; then
401 AC_ERROR(could not find Tk private headers)
402 else
403 TK_PRIVATE_INCLUDE="-I${private_dir}"
404 AC_MSG_RESULT(${private_dir})
405 fi
406])
b14b1491 407
0c4a4063
DE
408dnl GDB_AC_DEFINE_RELOCATABLE([VARIABLE], [ARG-NAME], [SHELL-VARIABLE])
409dnl For use in processing directory values for --with-foo.
410dnl If the path in SHELL_VARIABLE is relative to the prefix, then the
b14b1491
TT
411dnl result is relocatable, then this will define the C macro
412dnl VARIABLE_RELOCATABLE to 1; otherwise it is defined as 0.
0c4a4063 413AC_DEFUN([GDB_AC_DEFINE_RELOCATABLE], [
b14b1491
TT
414 if test "x$exec_prefix" = xNONE || test "x$exec_prefix" = 'x${prefix}'; then
415 if test "x$prefix" = xNONE; then
416 test_prefix=/usr/local
417 else
418 test_prefix=$prefix
419 fi
420 else
421 test_prefix=$exec_prefix
422 fi
423 value=0
0c4a4063 424 case [$3] in
b14b1491
TT
425 "${test_prefix}"|"${test_prefix}/"*|\
426 '${exec_prefix}'|'${exec_prefix}/'*)
427 value=1
428 ;;
429 esac
430 AC_DEFINE_UNQUOTED([$1]_RELOCATABLE, $value, [Define if the $2 directory should be relocated when GDB is moved.])
0c4a4063
DE
431])
432
433dnl GDB_AC_WITH_DIR([VARIABLE], [ARG-NAME], [HELP], [DEFAULT])
434dnl Add a new --with option that defines a directory.
435dnl The result is stored in VARIABLE. AC_DEFINE_DIR is called
436dnl on this variable, as is AC_SUBST.
437dnl ARG-NAME is the base name of the argument (without "--with").
438dnl HELP is the help text to use.
439dnl If the user's choice is relative to the prefix, then the
440dnl result is relocatable, then this will define the C macro
441dnl VARIABLE_RELOCATABLE to 1; otherwise it is defined as 0.
442dnl DEFAULT is the default value, which is used if the user
443dnl does not specify the argument.
444AC_DEFUN([GDB_AC_WITH_DIR], [
445 AC_ARG_WITH([$2], AS_HELP_STRING([--with-][$2][=PATH], [$3]), [
446 [$1]=$withval], [[$1]=[$4]])
447 AC_DEFINE_DIR([$1], [$1], [$3])
448 AC_SUBST([$1])
449 GDB_AC_DEFINE_RELOCATABLE([$1], [$2], ${ac_define_dir})
b14b1491 450 ])
def63ff0
TT
451
452dnl GDB_AC_CHECK_BFD([MESSAGE], [CV], [CODE], [HEADER])
453dnl Check whether BFD provides a feature.
454dnl MESSAGE is the "checking" message to display.
455dnl CV is the name of the cache variable where the result is stored.
456dnl The result will be "yes" or "no".
457dnl CODE is some code to compile that checks for the feature.
458dnl A link test is run.
459dnl HEADER is the name of an extra BFD header to include.
460AC_DEFUN([GDB_AC_CHECK_BFD], [
461 OLD_CFLAGS=$CFLAGS
462 OLD_LDFLAGS=$LDFLAGS
463 OLD_LIBS=$LIBS
464 # Put the old CFLAGS/LDFLAGS last, in case the user's (C|LD)FLAGS
465 # points somewhere with bfd, with -I/foo/lib and -L/foo/lib. We
466 # always want our bfd.
467 CFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CFLAGS"
711a72d3 468 LDFLAGS="-L../bfd -L../libiberty $zlibdir $LDFLAGS"
def63ff0 469 intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'`
711a72d3 470 LIBS="-lbfd -liberty -lz $intl $LIBS"
def63ff0
TT
471 AC_CACHE_CHECK([$1], [$2],
472 [AC_TRY_LINK(
473 [#include <stdlib.h>
474 #include "bfd.h"
475 #include "$4"
476 ],
477 [return $3;], [[$2]=yes], [[$2]=no])])
478 CFLAGS=$OLD_CFLAGS
479 LDFLAGS=$OLD_LDFLAGS
480 LIBS=$OLD_LIBS])
e76c5d17
DE
481
482dnl GDB_GUILE_PROGRAM_NAMES([PKG-CONFIG], [VERSION])
483dnl
484dnl Define and substitute 'GUILD' to contain the absolute file name of
485dnl the 'guild' command for VERSION, using PKG-CONFIG. (This is
486dnl similar to Guile's 'GUILE_PROGS' macro.)
487AC_DEFUN([GDB_GUILE_PROGRAM_NAMES], [
488 AC_CACHE_CHECK([for the absolute file name of the 'guild' command],
489 [ac_cv_guild_program_name],
d342a0da 490 [ac_cv_guild_program_name="`$1 --variable guild $2`"
e76c5d17
DE
491
492 # In Guile up to 2.0.11 included, guile-2.0.pc would not define
493 # the 'guild' and 'bindir' variables. In that case, try to guess
494 # what the program name is, at the risk of getting it wrong if
495 # Guile was configured with '--program-suffix' or similar.
496 if test "x$ac_cv_guild_program_name" = "x"; then
d342a0da 497 guile_exec_prefix="`$1 --variable exec_prefix $2`"
e76c5d17
DE
498 ac_cv_guild_program_name="$guile_exec_prefix/bin/guild"
499 fi
500 ])
501
502 if ! "$ac_cv_guild_program_name" --version >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
503 AC_MSG_ERROR(['$ac_cv_guild_program_name' appears to be unusable])
504 fi
505
506 GUILD="$ac_cv_guild_program_name"
507 AC_SUBST([GUILD])
508])
509
510dnl GDB_GUILD_TARGET_FLAG
511dnl
512dnl Compute the value of GUILD_TARGET_FLAG.
513dnl For native builds this is empty.
514dnl For cross builds this is --target=<host>.
515AC_DEFUN([GDB_GUILD_TARGET_FLAG], [
516 if test "$cross_compiling" = no; then
517 GUILD_TARGET_FLAG=
518 else
519 GUILD_TARGET_FLAG="--target=$host"
520 fi
521 AC_SUBST(GUILD_TARGET_FLAG)
522])
523
524dnl GDB_TRY_GUILD([SRC-FILE])
525dnl
526dnl We precompile the .scm files and install them with gdb, so make sure
527dnl guild works for this host.
528dnl The .scm files are precompiled for several reasons:
529dnl 1) To silence Guile during gdb startup (Guile's auto-compilation output
530dnl is unnecessarily verbose).
531dnl 2) Make gdb developers see compilation errors/warnings during the build,
532dnl and not leave it to later when the user runs gdb.
533dnl 3) As a convenience for the user, so that one copy of the files is built
534dnl instead of one copy per user.
535dnl
536dnl Make sure guild can handle this host by trying to compile SRC-FILE, and
537dnl setting ac_cv_guild_ok to yes or no.
538dnl Note that guild can handle cross-compilation.
539dnl It could happen that guild can't handle the host, but guile would still
540dnl work. For the time being we're conservative, and if guild doesn't work
541dnl we punt.
542AC_DEFUN([GDB_TRY_GUILD], [
543 AC_REQUIRE([GDB_GUILD_TARGET_FLAG])
544 AC_CACHE_CHECK([whether guild supports this host],
545 [ac_cv_guild_ok],
546 [echo "$ac_cv_guild_program_name compile $GUILD_TARGET_FLAG -o conftest.go $1" >&AS_MESSAGE_LOG_FD
547 if "$ac_cv_guild_program_name" compile $GUILD_TARGET_FLAG -o conftest.go "$1" >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
548 ac_cv_guild_ok=yes
549 else
550 ac_cv_guild_ok=no
551 fi])
552])