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