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