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