diff options
Diffstat (limited to 'binutils-2.21/gas/acinclude.m4')
-rw-r--r-- | binutils-2.21/gas/acinclude.m4 | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/binutils-2.21/gas/acinclude.m4 b/binutils-2.21/gas/acinclude.m4 new file mode 100644 index 0000000..40722c6 --- /dev/null +++ b/binutils-2.21/gas/acinclude.m4 @@ -0,0 +1,94 @@ +dnl GAS_CHECK_DECL_NEEDED(name, typedefname, typedef, headers) +AC_DEFUN([GAS_CHECK_DECL_NEEDED],[ +AC_MSG_CHECKING(whether declaration is required for $1) +AC_CACHE_VAL(gas_cv_decl_needed_$1, +AC_TRY_LINK([$4], +[ +typedef $3; +$2 x; +x = ($2) $1; +], gas_cv_decl_needed_$1=no, gas_cv_decl_needed_$1=yes))dnl +AC_MSG_RESULT($gas_cv_decl_needed_$1) +if test $gas_cv_decl_needed_$1 = yes; then + AC_DEFINE([NEED_DECLARATION_]translit($1, [a-z], [A-Z]), 1, + [Define if $1 is not declared in system header files.]) +fi +])dnl +dnl +dnl Some non-ANSI preprocessors botch requoting inside strings. That's bad +dnl enough, but on some of those systems, the assert macro relies on requoting +dnl working properly! +dnl GAS_WORKING_ASSERT +AC_DEFUN([GAS_WORKING_ASSERT], +[AC_MSG_CHECKING([for working assert macro]) +AC_CACHE_VAL(gas_cv_assert_ok, +AC_TRY_LINK([#include <assert.h> +#include <stdio.h>], [ +/* check for requoting problems */ +static int a, b, c, d; +static char *s; +assert (!strcmp(s, "foo bar baz quux")); +/* check for newline handling */ +assert (a == b + || c == d); +], gas_cv_assert_ok=yes, gas_cv_assert_ok=no))dnl +AC_MSG_RESULT($gas_cv_assert_ok) +test $gas_cv_assert_ok = yes || AC_DEFINE(BROKEN_ASSERT, 1, [assert broken?]) +])dnl +dnl +dnl Since many Bourne shell implementations lack subroutines, use this +dnl hack to simplify the code in configure.in. +dnl GAS_UNIQ(listvar) +AC_DEFUN([GAS_UNIQ], +[_gas_uniq_list="[$]$1" +_gas_uniq_newlist="" +dnl Protect against empty input list. +for _gas_uniq_i in _gas_uniq_dummy [$]_gas_uniq_list ; do + case [$]_gas_uniq_i in + _gas_uniq_dummy) ;; + *) case " [$]_gas_uniq_newlist " in + *" [$]_gas_uniq_i "*) ;; + *) _gas_uniq_newlist="[$]_gas_uniq_newlist [$]_gas_uniq_i" ;; + esac ;; + esac +done +$1=[$]_gas_uniq_newlist +])dnl +dnl +dnl Check for existence of member $2 in type $1 in time.h +dnl +AC_DEFUN([GAS_HAVE_TIME_TYPE_MEMBER], +[AC_MSG_CHECKING([for $1.$2 in time.h]) + AC_CACHE_VAL(gas_cv_have_time_type_member_$2, + [AC_TRY_COMPILE([ +#define _BSD_SOURCE 1 +#include <time.h>], + [$1 avar; void* aref = (void*) &avar.$2], + gas_cv_have_time_type_member_$2=yes, + gas_cv_have_time_type_member_$2=no + )]) + if test $gas_cv_have_time_type_member_$2 = yes; then + AC_DEFINE([HAVE_]translit($2, [a-z], [A-Z]), 1, + [Define if <time.h> has $1.$2.]) + fi + AC_MSG_RESULT($gas_cv_have_time_type_member_$2) +])dnl +dnl +dnl Check for existence of member $2.$3 in type $1 in sys/stat.h +dnl +AC_DEFUN([GAS_HAVE_SYS_STAT_TYPE_MEMBER], +[AC_MSG_CHECKING([for $1.$2.$3 in sys/stat.h]) + AC_CACHE_VAL(gas_cv_have_sys_stat_type_member_$2_$3, + [AC_TRY_COMPILE([ +#define _BSD_SOURCE 1 +#include <sys/stat.h>], + [$1 avar; void* aref = (void*) &avar.$2.$3], + gas_cv_have_sys_stat_type_member_$2_$3=yes, + gas_cv_have_sys_stat_type_member_$2_$3=no + )]) + if test $gas_cv_have_sys_stat_type_member_$2_$3 = yes; then + AC_DEFINE([HAVE_]translit($2, [a-z], [A-Z])[_]translit($3, [a-z], [A-Z]), 1, + [Define if <sys/stat.h> has $1.$2.$3]) + fi + AC_MSG_RESULT($gas_cv_have_sys_stat_type_member_$2_$3) +])dnl |