* acinclude.m4: Include ../config/zlib.m4.
[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 From Bruno Haible.
173
174 AC_DEFUN([AM_ICONV],
175 [
176 dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
177 dnl those with the standalone portable GNU libiconv installed).
178
179 AC_ARG_WITH([libiconv-prefix],
180 AS_HELP_STRING([--with-libiconv-prefix=DIR], [search for libiconv in DIR/include and DIR/lib]), [
181 for dir in `echo "$withval" | tr : ' '`; do
182 if test -d $dir/include; then LIBICONV_INCLUDE="-I$dir/include"; fi
183 if test -d $dir/lib; then LIBICONV_LIBDIR="-L$dir/lib"; fi
184 done
185 ])
186
187 BUILD_LIBICONV_LIBDIR="-L../libiconv/lib/.libs -L../libiconv/lib/_libs"
188 BUILD_LIBICONV_INCLUDE="-I../libiconv/include"
189
190 AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
191 am_cv_func_iconv="no, consider installing GNU libiconv"
192 am_cv_lib_iconv=no
193 am_cv_use_build_libiconv=no
194
195 # If libiconv is part of the build tree, then try using it over
196 # any system iconv.
197 if test -d ../libiconv; then
198 am_save_LIBS="$LIBS"
199 am_save_CPPFLAGS="$CPPFLAGS"
200 LIBS="$LIBS $BUILD_LIBICONV_LIBDIR -liconv"
201 CPPFLAGS="$CPPFLAGS $BUILD_LIBICONV_INCLUDE"
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_use_build_libiconv=yes
208 am_cv_lib_iconv=yes
209 am_cv_func_iconv=yes)
210 LIBS="$am_save_LIBS"
211 CPPFLAGS="$am_save_CPPFLAGS"
212 fi
213
214 # Next, try to find iconv in libc.
215 if test "$am_cv_func_iconv" != yes; then
216 AC_TRY_LINK([#include <stdlib.h>
217 #include <iconv.h>],
218 [iconv_t cd = iconv_open("","");
219 iconv(cd,NULL,NULL,NULL,NULL);
220 iconv_close(cd);],
221 am_cv_func_iconv=yes)
222 fi
223
224 # If iconv was not in libc, try -liconv. In this case, arrange to
225 # look in the libiconv prefix, if it was specified by the user.
226 if test "$am_cv_func_iconv" != yes; then
227 am_save_CPPFLAGS="$CPPFLAGS"
228 am_save_LIBS="$LIBS"
229 if test -n "$LIBICONV_INCLUDE"; then
230 CPPFLAGS="$CPPFLAGS $LIBICONV_INCLUDE"
231 LIBS="$LIBS $LIBICONV_LIBDIR"
232 fi
233 LIBS="$LIBS -liconv"
234 AC_TRY_LINK([#include <stdlib.h>
235 #include <iconv.h>],
236 [iconv_t cd = iconv_open("","");
237 iconv(cd,NULL,NULL,NULL,NULL);
238 iconv_close(cd);],
239 am_cv_lib_iconv=yes
240 am_cv_func_iconv=yes)
241 LIBS="$am_save_LIBS"
242 CPPFLAGS="$am_save_CPPFLAGS"
243 fi
244 ])
245
246 # Set the various flags based on the cache variables. We can't rely
247 # on the flags to remain set from the above code, due to caching.
248 LIBICONV=
249 if test "$am_cv_lib_iconv" = yes; then
250 LIBICONV="-liconv"
251 else
252 LIBICONV_LIBDIR=
253 LIBICONV_INCLUDE=
254 fi
255 if test "$am_cv_use_build_libiconv" = yes; then
256 LIBICONV_LIBDIR="$BUILD_LIBICONV_LIBDIR"
257 LIBICONV_INCLUDE="$BUILD_LIBICONV_INCLUDE"
258 fi
259 CPPFLAGS="$CPPFLAGS $LIBICONV_INCLUDE"
260 LIBS="$LIBS $LIBICONV_LIBDIR $LIBICONV"
261
262 if test "$am_cv_func_iconv" = yes; then
263 AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
264 AC_MSG_CHECKING([for iconv declaration])
265 AC_CACHE_VAL(am_cv_proto_iconv, [
266 AC_TRY_COMPILE([
267 #include <stdlib.h>
268 #include <iconv.h>
269 extern
270 #ifdef __cplusplus
271 "C"
272 #endif
273 #if defined(__STDC__) || defined(__cplusplus)
274 size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
275 #else
276 size_t iconv();
277 #endif
278 ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
279 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);"])
280 am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
281 AC_MSG_RESULT([$]{ac_t:-
282 }[$]am_cv_proto_iconv)
283 AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
284 [Define as const if the declaration of iconv() needs const.])
285 fi
286 ])
287
288 dnl written by Guido Draheim <guidod@gmx.de>, original by Alexandre Oliva
289 dnl Version 1.3 (2001/03/02)
290 dnl source http://www.gnu.org/software/ac-archive/Miscellaneous/ac_define_dir.html
291
292 AC_DEFUN([AC_DEFINE_DIR], [
293 test "x$prefix" = xNONE && prefix="$ac_default_prefix"
294 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
295 ac_define_dir=`eval echo [$]$2`
296 ac_define_dir=`eval echo [$]ac_define_dir`
297 ifelse($3, ,
298 AC_DEFINE_UNQUOTED($1, "$ac_define_dir"),
299 AC_DEFINE_UNQUOTED($1, "$ac_define_dir", $3))
300 ])
301
302 dnl See whether we need a declaration for a function.
303 dnl The result is highly dependent on the INCLUDES passed in, so make sure
304 dnl to use a different cache variable name in this macro if it is invoked
305 dnl in a different context somewhere else.
306 dnl gcc_AC_CHECK_DECL(SYMBOL,
307 dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, INCLUDES]]])
308 AC_DEFUN([gcc_AC_CHECK_DECL],
309 [AC_MSG_CHECKING([whether $1 is declared])
310 AC_CACHE_VAL(gcc_cv_have_decl_$1,
311 [AC_TRY_COMPILE([$4],
312 [#ifndef $1
313 char *(*pfn) = (char *(*)) $1 ;
314 #endif], eval "gcc_cv_have_decl_$1=yes", eval "gcc_cv_have_decl_$1=no")])
315 if eval "test \"`echo '$gcc_cv_have_decl_'$1`\" = yes"; then
316 AC_MSG_RESULT(yes) ; ifelse([$2], , :, [$2])
317 else
318 AC_MSG_RESULT(no) ; ifelse([$3], , :, [$3])
319 fi
320 ])dnl
321
322 dnl Check multiple functions to see whether each needs a declaration.
323 dnl Arrange to define HAVE_DECL_<FUNCTION> to 0 or 1 as appropriate.
324 dnl gcc_AC_CHECK_DECLS(SYMBOLS,
325 dnl [ACTION-IF-NEEDED [, ACTION-IF-NOT-NEEDED [, INCLUDES]]])
326 AC_DEFUN([gcc_AC_CHECK_DECLS],
327 [for ac_func in $1
328 do
329 changequote(, )dnl
330 ac_tr_decl=HAVE_DECL_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
331 changequote([, ])dnl
332 gcc_AC_CHECK_DECL($ac_func,
333 [AC_DEFINE_UNQUOTED($ac_tr_decl, 1) $2],
334 [AC_DEFINE_UNQUOTED($ac_tr_decl, 0) $3],
335 dnl It is possible that the include files passed in here are local headers
336 dnl which supply a backup declaration for the relevant prototype based on
337 dnl the definition of (or lack of) the HAVE_DECL_ macro. If so, this test
338 dnl will always return success. E.g. see libiberty.h's handling of
339 dnl `basename'. To avoid this, we define the relevant HAVE_DECL_ macro to
340 dnl 1 so that any local headers used do not provide their own prototype
341 dnl during this test.
342 #undef $ac_tr_decl
343 #define $ac_tr_decl 1
344 $4
345 )
346 done
347 dnl Automatically generate config.h entries via autoheader.
348 if test x = y ; then
349 patsubst(translit([$1], [a-z], [A-Z]), [\w+],
350 [AC_DEFINE([HAVE_DECL_\&], 1,
351 [Define to 1 if we found this declaration otherwise define to 0.])])dnl
352 fi
353 ])
354
355 dnl Find the location of the private Tcl headers
356 dnl When Tcl is installed, this is TCL_INCLUDE_SPEC/tcl-private/generic
357 dnl When Tcl is in the build tree, this is not needed.
358 dnl
359 dnl Note: you must use first use SC_LOAD_TCLCONFIG!
360 AC_DEFUN([CY_AC_TCL_PRIVATE_HEADERS], [
361 AC_MSG_CHECKING([for Tcl private headers])
362 private_dir=""
363 dir=`echo ${TCL_INCLUDE_SPEC}/tcl-private/generic | sed -e s/-I//`
364 if test -f ${dir}/tclInt.h ; then
365 private_dir=${dir}
366 fi
367
368 if test x"${private_dir}" = x; then
369 AC_ERROR(could not find private Tcl headers)
370 else
371 TCL_PRIVATE_INCLUDE="-I${private_dir}"
372 AC_MSG_RESULT(${private_dir})
373 fi
374 ])
375
376 dnl Find the location of the private Tk headers
377 dnl When Tk is installed, this is TK_INCLUDE_SPEC/tk-private/generic
378 dnl When Tk is in the build tree, this not needed.
379 dnl
380 dnl Note: you must first use SC_LOAD_TKCONFIG
381 AC_DEFUN([CY_AC_TK_PRIVATE_HEADERS], [
382 AC_MSG_CHECKING([for Tk private headers])
383 private_dir=""
384 dir=`echo ${TK_INCLUDE_SPEC}/tk-private/generic | sed -e s/-I//`
385 if test -f ${dir}/tkInt.h; then
386 private_dir=${dir}
387 fi
388
389 if test x"${private_dir}" = x; then
390 AC_ERROR(could not find Tk private headers)
391 else
392 TK_PRIVATE_INCLUDE="-I${private_dir}"
393 AC_MSG_RESULT(${private_dir})
394 fi
395 ])
396
397 dnl GDB_AC_WITH_DIR([VARIABLE], [ARG-NAME], [HELP], [DEFAULT])
398 dnl Add a new --with option that defines a directory.
399 dnl The result is stored in VARIABLE. AC_DEFINE_DIR is called
400 dnl on this variable, as is AC_SUBST.
401 dnl ARG-NAME is the base name of the argument (without "--with").
402 dnl HELP is the help text to use.
403 dnl If the user's choice is relative to the prefix, then the
404 dnl result is relocatable, then this will define the C macro
405 dnl VARIABLE_RELOCATABLE to 1; otherwise it is defined as 0.
406 dnl DEFAULT is the default value, which is used if the user
407 dnl does not specify the argument.
408 AC_DEFUN([GDB_AC_WITH_DIR], [
409 AC_ARG_WITH([$2], AS_HELP_STRING([--with-][$2][=PATH], [$3]), [
410 [$1]=$withval], [[$1]=[$4]])
411 AC_DEFINE_DIR([$1], [$1], [$3])
412 AC_SUBST([$1])
413 if test "x$exec_prefix" = xNONE || test "x$exec_prefix" = 'x${prefix}'; then
414 if test "x$prefix" = xNONE; then
415 test_prefix=/usr/local
416 else
417 test_prefix=$prefix
418 fi
419 else
420 test_prefix=$exec_prefix
421 fi
422 value=0
423 case ${ac_define_dir} in
424 "${test_prefix}"|"${test_prefix}/"*|\
425 '${exec_prefix}'|'${exec_prefix}/'*)
426 value=1
427 ;;
428 esac
429 AC_DEFINE_UNQUOTED([$1]_RELOCATABLE, $value, [Define if the $2 directory should be relocated when GDB is moved.])
430 ])
This page took 0.041042 seconds and 5 git commands to generate.