Commit | Line | Data |
---|---|---|
bf41f30d NC |
1 | dnl |
2 | dnl Check if the assembler used supports disabling generation of hardware | |
3 | dnl capabilities. This is only supported by Solaris as at the moment. | |
4 | dnl | |
5 | dnl Defines: | |
6 | dnl HWCAP_CFLAGS='-Wa,-nH' if possible. | |
7 | dnl | |
8 | AC_DEFUN([GCC_CHECK_ASSEMBLER_HWCAP], [ | |
9 | test -z "$HWCAP_CFLAGS" && HWCAP_CFLAGS='' | |
10 | ||
11 | # Restrict the test to Solaris, other assemblers (e.g. AIX as) have -nH | |
12 | # with a different meaning. | |
13 | case ${target_os} in | |
14 | solaris2*) | |
15 | ac_save_CFLAGS="$CFLAGS" | |
16 | CFLAGS="$CFLAGS -Wa,-nH" | |
17 | ||
18 | AC_MSG_CHECKING([for as that supports -Wa,-nH]) | |
19 | AC_TRY_COMPILE([], [return 0;], [ac_hwcap_flags=yes],[ac_hwcap_flags=no]) | |
20 | if test "$ac_hwcap_flags" = "yes"; then | |
21 | HWCAP_CFLAGS="-Wa,-nH $HWCAP_CFLAGS" | |
22 | fi | |
23 | AC_MSG_RESULT($ac_hwcap_flags) | |
24 | ||
25 | CFLAGS="$ac_save_CFLAGS" | |
26 | ;; | |
27 | esac | |
28 | ||
29 | AC_SUBST(HWCAP_CFLAGS) | |
30 | ]) | |
31 | ||
32 | ||
33 | dnl | |
34 | dnl Check if the linker used supports linker maps to clear hardware | |
35 | dnl capabilities. This is only supported on Solaris at the moment. | |
36 | dnl | |
37 | dnl Defines: | |
38 | dnl HWCAP_LDFLAGS=-mclear-hwcap if possible | |
39 | dnl LD (as a side effect of testing) | |
40 | dnl | |
41 | AC_DEFUN([GCC_CHECK_LINKER_HWCAP], [ | |
42 | test -z "$HWCAP_LDFLAGS" && HWCAP_LDFLAGS='' | |
43 | AC_REQUIRE([AC_PROG_LD]) | |
44 | ||
45 | ac_save_LDFLAGS="$LDFLAGS" | |
46 | LDFLAGS="$LFLAGS -mclear-hwcap" | |
47 | ||
48 | AC_MSG_CHECKING([for -mclear-hwcap]) | |
49 | AC_TRY_LINK([], [return 0;], [ac_hwcap_ldflags=yes],[ac_hwcap_ldflags=no]) | |
50 | if test "$ac_hwcap_ldflags" = "yes"; then | |
51 | HWCAP_LDFLAGS="-mclear-hwcap $HWCAP_LDFLAGS" | |
52 | fi | |
53 | AC_MSG_RESULT($ac_hwcap_ldflags) | |
54 | ||
55 | LDFLAGS="$ac_save_LDFLAGS" | |
56 | ||
57 | AC_SUBST(HWCAP_LDFLAGS) | |
58 | ||
59 | AM_CONDITIONAL(HAVE_HWCAP, test $ac_hwcap_ldflags != no) | |
60 | ]) |