summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/gas/acinclude.m4
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.25/gas/acinclude.m4')
-rw-r--r--binutils-2.25/gas/acinclude.m494
1 files changed, 94 insertions, 0 deletions
diff --git a/binutils-2.25/gas/acinclude.m4 b/binutils-2.25/gas/acinclude.m4
new file mode 100644
index 00000000..40722c68
--- /dev/null
+++ b/binutils-2.25/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