This commit was generated by cvs2svn to track changes on a CVS vendor
[platform/upstream/binutils.git] / gas / aclocal.m4
1 dnl aclocal.m4 generated automatically by aclocal 1.2
2
3 dnl GAS_CHECK_DECL_NEEDED(name, typedefname, typedef, headers)
4 AC_DEFUN(GAS_CHECK_DECL_NEEDED,[
5 AC_MSG_CHECKING(whether declaration is required for $1)
6 AC_CACHE_VAL(gas_cv_decl_needed_$1,
7 AC_TRY_LINK([$4],
8 [
9 typedef $3;
10 $2 x;
11 x = ($2) $1;
12 ], gas_cv_decl_needed_$1=no, gas_cv_decl_needed_$1=yes))dnl
13 AC_MSG_RESULT($gas_cv_decl_needed_$1)
14 test $gas_cv_decl_needed_$1 = no || {
15  ifelse(index($1,[$]),-1,
16     [AC_DEFINE([NEED_DECLARATION_]translit($1, [a-z], [A-Z]))],
17     [gas_decl_name_upcase=`echo $1 | tr '[a-z]' '[A-Z]'`
18      AC_DEFINE_UNQUOTED(NEED_DECLARATION_$gas_decl_name_upcase)])
19 }
20 ])dnl
21 dnl
22 dnl Some non-ANSI preprocessors botch requoting inside strings.  That's bad
23 dnl enough, but on some of those systems, the assert macro relies on requoting
24 dnl working properly!
25 dnl GAS_WORKING_ASSERT
26 AC_DEFUN(GAS_WORKING_ASSERT,
27 [AC_MSG_CHECKING([for working assert macro])
28 AC_CACHE_VAL(gas_cv_assert_ok,
29 AC_TRY_LINK([#include <assert.h>
30 #include <stdio.h>], [
31 /* check for requoting problems */
32 static int a, b, c, d;
33 static char *s;
34 assert (!strcmp(s, "foo bar baz quux"));
35 /* check for newline handling */
36 assert (a == b
37         || c == d);
38 ], gas_cv_assert_ok=yes, gas_cv_assert_ok=no))dnl
39 AC_MSG_RESULT($gas_cv_assert_ok)
40 test $gas_cv_assert_ok = yes || AC_DEFINE(BROKEN_ASSERT)
41 ])dnl
42 dnl
43 dnl Since many Bourne shell implementations lack subroutines, use this
44 dnl hack to simplify the code in configure.in.
45 dnl GAS_UNIQ(listvar)
46 AC_DEFUN(GAS_UNIQ,
47 [_gas_uniq_list="[$]$1"
48 _gas_uniq_newlist=""
49 dnl Protect against empty input list.
50 for _gas_uniq_i in _gas_uniq_dummy [$]_gas_uniq_list ; do
51   case [$]_gas_uniq_i in
52   _gas_uniq_dummy) ;;
53   *) case " [$]_gas_uniq_newlist " in
54        *" [$]_gas_uniq_i "*) ;;
55        *) _gas_uniq_newlist="[$]_gas_uniq_newlist [$]_gas_uniq_i" ;;
56      esac ;;
57   esac
58 done
59 $1=[$]_gas_uniq_newlist
60 ])dnl
61
62 # Do all the work for Automake.  This macro actually does too much --
63 # some checks are only needed if your package does certain things.
64 # But this isn't really a big deal.
65
66 # serial 1
67
68 dnl Usage:
69 dnl AM_INIT_AUTOMAKE(package,version, [no-define])
70
71 AC_DEFUN(AM_INIT_AUTOMAKE,
72 [AC_REQUIRE([AM_PROG_INSTALL])
73 PACKAGE=[$1]
74 AC_SUBST(PACKAGE)
75 VERSION=[$2]
76 AC_SUBST(VERSION)
77 dnl test to see if srcdir already configured
78 if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
79   AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
80 fi
81 ifelse([$3],,
82 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
83 AC_DEFINE_UNQUOTED(VERSION, "$VERSION"))
84 AM_SANITY_CHECK
85 AC_ARG_PROGRAM
86 dnl FIXME This is truly gross.
87 missing_dir=`cd $ac_aux_dir && pwd`
88 AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
89 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
90 AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
91 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
92 AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
93 AC_PROG_MAKE_SET])
94
95
96 # serial 1
97
98 AC_DEFUN(AM_PROG_INSTALL,
99 [AC_REQUIRE([AC_PROG_INSTALL])
100 test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
101 AC_SUBST(INSTALL_SCRIPT)dnl
102 ])
103
104 #
105 # Check to make sure that the build environment is sane.
106 #
107
108 AC_DEFUN(AM_SANITY_CHECK,
109 [AC_MSG_CHECKING([whether build environment is sane])
110 # Just in case
111 sleep 1
112 echo timestamp > conftestfile
113 # Do `set' in a subshell so we don't clobber the current shell's
114 # arguments.  Must try -L first in case configure is actually a
115 # symlink; some systems play weird games with the mod time of symlinks
116 # (eg FreeBSD returns the mod time of the symlink's containing
117 # directory).
118 if (
119    set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
120    if test "$@" = "X"; then
121       # -L didn't work.
122       set X `ls -t $srcdir/configure conftestfile`
123    fi
124    test "[$]2" = conftestfile
125    )
126 then
127    # Ok.
128    :
129 else
130    AC_MSG_ERROR([newly created file is older than distributed files!
131 Check your system clock])
132 fi
133 rm -f conftest*
134 AC_MSG_RESULT(yes)])
135
136 dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
137 dnl The program must properly implement --version.
138 AC_DEFUN(AM_MISSING_PROG,
139 [AC_MSG_CHECKING(for working $2)
140 # Run test in a subshell; some versions of sh will print an error if
141 # an executable is not found, even if stderr is redirected.
142 # Redirect stdin to placate older versions of autoconf.  Sigh.
143 if ($2 --version) < /dev/null > /dev/null 2>&1; then
144    $1=$2
145    AC_MSG_RESULT(found)
146 else
147    $1="$3/missing $2"
148    AC_MSG_RESULT(missing)
149 fi
150 AC_SUBST($1)])
151
152
153 # serial 18 AM_PROG_LIBTOOL
154 AC_DEFUN(AM_PROG_LIBTOOL,
155 [AC_REQUIRE([AC_CANONICAL_HOST])
156 AC_REQUIRE([AC_PROG_RANLIB])
157 AC_REQUIRE([AC_PROG_CC])
158 AC_REQUIRE([AM_PROG_LD])
159 AC_REQUIRE([AM_PROG_NM])
160 AC_REQUIRE([AC_PROG_LN_S])
161
162 # Always use our own libtool.
163 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
164 AC_SUBST(LIBTOOL)
165
166 dnl CYGNUS LOCAL arguments to enable-shared
167 dnl Allow the --disable-shared flag to stop us from building shared libs.
168 AC_ARG_ENABLE(shared,
169 [  --enable-shared         build shared libraries [default=yes]],
170 [p=${PACKAGE-bogus-package-name}
171  case "$enableval" in
172   yes) libtool_enable_shared=yes ;;
173   no) libtool_enable_shared=no ;;
174   # The value of $p (aka $PACKAGE) is assumed to come from AM_INIT_AUTOMAKE.
175   # If it didn't, it'll be `bogus-package-name', thus making this condition
176   #  not be used.
177   *$p*) libtool_enable_shared=yes ;;
178   *) libtool_enable_shared=no ;;
179 esac])
180 test -n "$libtool_enable_shared" && enable_shared="$libtool_enable_shared"
181 libtool_shared=
182 test "$enable_shared" = no && libtool_shared=" --disable-shared"
183 dnl END CYGNUS LOCAL
184
185 dnl Allow the --disable-static flag to stop us from building static libs.
186 AC_ARG_ENABLE(static,
187 [  --enable-static         build static libraries [default=yes]],
188 [if test "$enableval" = no; then
189   libtool_enable_static=no
190 else
191   libtool_enable_static=yes
192 fi])
193 test -n "$libtool_enable_static" && enable_static="$libtool_enable_static"
194 libtool_static=
195 test "$enable_static" = no && libtool_static=" --disable-static"
196
197 libtool_flags="$libtool_shared$libtool_static"
198 test "$silent" = yes && libtool_flags="$libtool_flags --silent"
199 test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
200 test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
201
202 # Some flags need to be propagated to the compiler or linker for good
203 # libtool support.
204 [case "$host" in
205 *-*-irix6*)
206   ac_save_CFLAGS="$CFLAGS"
207   flag_passed=no
208   for f in -32 -64 -n32 ABI -cckr -mips1 -mips2 -mips3 -mips4; do
209     case "$f" in
210     ABI)
211       test -n "$SGI_ABI" && flag_passed=yes
212       if test "$flag_passed" = no && test "$ac_cv_prog_gcc" = yes; then
213         # Choose the ABI flag according to GCC's specs.
214         if $CC -dumpspecs 2>&1 | sed '/^\*link:$/,/^$/!d' | egrep -e '[         ]-32' >/dev/null; then
215           LD="${LD-ld} -32"
216         else
217           LD="${LD-ld} -n32"
218         fi
219       fi
220       ;;
221
222     *)
223       if echo " $CC $CFLAGS " | egrep -e "[     ]$f[     ]" > /dev/null; then
224         flag_passed=yes
225         LD="${LD-ld} $f"
226       fi
227       ;;
228     esac
229   done
230   CFLAGS="$ac_save_CFLAGS"
231   ;;
232
233 *-*-sco3.2v5*)
234   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
235   CFLAGS="$CFLAGS -belf"
236   ;;
237 esac]
238
239 # Actually configure libtool.  ac_aux_dir is where install-sh is found.
240 CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
241 LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
242 ${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \
243 $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
244 || AC_MSG_ERROR([libtool configure failed])
245 ])
246
247 # AM_PROG_LD - find the path to the GNU or non-GNU linker
248 AC_DEFUN(AM_PROG_LD,
249 [AC_ARG_WITH(gnu-ld,
250 [  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
251 test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
252 AC_REQUIRE([AC_PROG_CC])
253 ac_prog=ld
254 if test "$ac_cv_prog_gcc" = yes; then
255   # Check if gcc -print-prog-name=ld gives a path.
256   AC_MSG_CHECKING([for ld used by GCC])
257   ac_prog=`($CC -print-prog-name=ld) 2>&5`
258   case "$ac_prog" in
259   # Accept absolute paths.
260   /*)
261     test -z "$LD" && LD="$ac_prog"
262     ;;
263   "")
264     # If it fails, then pretend we aren't using GCC.
265     ac_prog=ld
266     ;;
267   *)
268     # If it is relative, then search for the first ld in PATH.
269     with_gnu_ld=unknown
270     ;;
271   esac
272 elif test "$with_gnu_ld" = yes; then
273   AC_MSG_CHECKING([for GNU ld])
274 else
275   AC_MSG_CHECKING([for non-GNU ld])
276 fi
277 AC_CACHE_VAL(ac_cv_path_LD,
278 [if test -z "$LD"; then
279   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
280   for ac_dir in $PATH; do
281     test -z "$ac_dir" && ac_dir=.
282     if test -f "$ac_dir/$ac_prog"; then
283       ac_cv_path_LD="$ac_dir/$ac_prog"
284       # Check to see if the program is GNU ld.  I'd rather use --version,
285       # but apparently some GNU ld's only accept -v.
286       # Break only if it was the GNU/non-GNU ld that we prefer.
287       if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
288         test "$with_gnu_ld" != no && break
289       else
290         test "$with_gnu_ld" != yes && break
291       fi
292     fi
293   done
294   IFS="$ac_save_ifs"
295 else
296   ac_cv_path_LD="$LD" # Let the user override the test with a path.
297 fi])
298 LD="$ac_cv_path_LD"
299 if test -n "$LD"; then
300   AC_MSG_RESULT($LD)
301 else
302   AC_MSG_RESULT(no)
303 fi
304 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
305 AC_SUBST(LD)
306 AM_PROG_LD_GNU
307 ])
308
309 AC_DEFUN(AM_PROG_LD_GNU,
310 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
311 [# I'd rather use --version here, but apparently some GNU ld's only accept -v.
312 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
313   ac_cv_prog_gnu_ld=yes
314 else
315   ac_cv_prog_gnu_ld=no
316 fi])
317 ])
318
319 # AM_PROG_NM - find the path to a BSD-compatible name lister
320 AC_DEFUN(AM_PROG_NM,
321 [AC_MSG_CHECKING([for BSD-compatible nm])
322 AC_CACHE_VAL(ac_cv_path_NM,
323 [case "$NM" in
324 /*)
325   ac_cv_path_NM="$NM" # Let the user override the test with a path.
326   ;;
327 *)
328   IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
329   for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
330     test -z "$ac_dir" && dir=.
331     if test -f $ac_dir/nm; then
332       # Check to see if the nm accepts a BSD-compat flag.
333       # Adding the `sed 1!d' prevents false positives on HP-UX, which says:
334       #   nm: unknown option "B" ignored
335       if ($ac_dir/nm -B /dev/null 2>&1 | sed '1!d'; exit 0) | egrep /dev/null >/dev/null; then
336         ac_cv_path_NM="$ac_dir/nm -B"
337       elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1!d'; exit 0) | egrep /dev/null >/dev/null; then
338         ac_cv_path_NM="$ac_dir/nm -p"
339       else
340         ac_cv_path_NM="$ac_dir/nm"
341       fi
342       break
343     fi
344   done
345   IFS="$ac_save_ifs"
346   test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
347   ;;
348 esac])
349 NM="$ac_cv_path_NM"
350 AC_MSG_RESULT([$NM])
351 AC_SUBST(NM)
352 ])
353
354 # Like AC_CONFIG_HEADER, but automatically create stamp file.
355
356 AC_DEFUN(AM_CONFIG_HEADER,
357 [AC_PREREQ([2.12])
358 AC_CONFIG_HEADER([$1])
359 dnl When config.status generates a header, we must update the stamp-h file.
360 dnl This file resides in the same directory as the config header
361 dnl that is generated.  We must strip everything past the first ":",
362 dnl and everything past the last "/".
363 AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
364 ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
365 <<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
366 <<am_indx=1
367 for am_file in <<$1>>; do
368   case " <<$>>CONFIG_HEADERS " in
369   *" <<$>>am_file "*<<)>>
370     echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
371     ;;
372   esac
373   am_indx=`expr "<<$>>am_indx" + 1`
374 done<<>>dnl>>)
375 changequote([,]))])
376
377 # Add --enable-maintainer-mode option to configure.
378 # From Jim Meyering
379
380 # serial 1
381
382 AC_DEFUN(AM_MAINTAINER_MODE,
383 [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
384   dnl maintainer-mode is disabled by default
385   AC_ARG_ENABLE(maintainer-mode,
386 [  --enable-maintainer-mode enable make rules and dependencies not useful
387                           (and sometimes confusing) to the casual installer],
388       USE_MAINTAINER_MODE=$enableval,
389       USE_MAINTAINER_MODE=no)
390   AC_MSG_RESULT($USE_MAINTAINER_MODE)
391   if test $USE_MAINTAINER_MODE = yes; then
392     MAINT=
393   else
394     MAINT='#M#'
395   fi
396   AC_SUBST(MAINT)dnl
397 ]
398 )
399
400 # Check to see if we're running under Cygwin32, without using
401 # AC_CANONICAL_*.  If so, set output variable CYGWIN32 to "yes".
402 # Otherwise set it to "no".
403
404 dnl AM_CYGWIN32()
405 AC_DEFUN(AM_CYGWIN32,
406 [AC_CACHE_CHECK(for Cygwin32 environment, am_cv_cygwin32,
407 [AC_TRY_COMPILE(,[return __CYGWIN32__;],
408 am_cv_cygwin32=yes, am_cv_cygwin32=no)
409 rm -f conftest*])
410 CYGWIN32=
411 test "$am_cv_cygwin32" = yes && CYGWIN32=yes])
412
413 # Check to see if we're running under Win32, without using
414 # AC_CANONICAL_*.  If so, set output variable EXEEXT to ".exe".
415 # Otherwise set it to "".
416
417 dnl AM_EXEEXT()
418 dnl This knows we add .exe if we're building in the Cygwin32
419 dnl environment. But if we're not, then it compiles a test program
420 dnl to see if there is a suffix for executables.
421 AC_DEFUN(AM_EXEEXT,
422 [AC_REQUIRE([AM_CYGWIN32])
423 AC_REQUIRE([AM_MINGW32])
424 AC_MSG_CHECKING([for executable suffix])
425 AC_CACHE_VAL(am_cv_exeext,[
426 if test "$CYGWIN32" = yes -o "$MINGW32" = yes; then
427 am_cv_exeext=.exe
428 else
429 cat > am_c_test.c << 'EOF'
430 int main() {
431 /* Nothing needed here */
432 }
433 EOF
434 ${CC-cc} -o am_c_test $CFLAGS $CPPFLAGS $LDFLAGS am_c_test.c $LIBS 1>&5
435 am_cv_exeext=`echo am_c_test.* | grep -v am_c_test.c | sed -e s/am_c_test//`
436 rm -f am_c_test*])
437 test x"${am_cv_exeext}" = x && am_cv_exeext=no
438 fi
439 EXEEXT=""
440 test x"${am_cv_exeext}" != xno && EXEEXT=${am_cv_exeext}
441 AC_MSG_RESULT(${am_cv_exeext})
442 AC_SUBST(EXEEXT)])
443
444 # Check to see if we're running under Mingw, without using
445 # AC_CANONICAL_*.  If so, set output variable MINGW32 to "yes".
446 # Otherwise set it to "no".
447
448 dnl AM_MINGW32()
449 AC_DEFUN(AM_MINGW32,
450 [AC_CACHE_CHECK(for Mingw32 environment, am_cv_mingw32,
451 [AC_TRY_COMPILE(,[return __MINGW32__;],
452 am_cv_mingw32=yes, am_cv_mingw32=no)
453 rm -f conftest*])
454 MINGW32=
455 test "$am_cv_mingw32" = yes && MINGW32=yes])
456