1
by brian
clean slate |
1 |
# option, cache_name, variable, |
2 |
# code to execute if yes, code to exectute if fail |
|
3 |
AC_DEFUN([AC_SYS_COMPILER_FLAG], |
|
4 |
[
|
|
5 |
AC_MSG_CHECKING($1)
|
|
6 |
OLD_CFLAGS="[$]CFLAGS" |
|
7 |
AC_CACHE_VAL(mysql_cv_option_$2,
|
|
8 |
[
|
|
9 |
CFLAGS="[$]OLD_CFLAGS $1" |
|
10 |
AC_TRY_LINK([int main(){exit(0);}],mysql_cv_option_$2=yes,mysql_cv_option_$2=no,mysql_cv_option_$2=no)
|
|
11 |
])
|
|
12 |
||
13 |
CFLAGS="[$]OLD_CFLAGS" |
|
14 |
|
|
15 |
if test x"[$]mysql_cv_option_$2" = "xyes" ; then |
|
16 |
$3="[$]$3 $1" |
|
17 |
AC_MSG_RESULT(yes)
|
|
18 |
$5
|
|
19 |
else
|
|
20 |
AC_MSG_RESULT(no)
|
|
21 |
$4
|
|
22 |
fi
|
|
23 |
])
|
|
24 |
||
25 |
# arch, option, cache_name, variable
|
|
26 |
AC_DEFUN([AC_SYS_CPU_COMPILER_FLAG],
|
|
27 |
[
|
|
28 |
if test "`uname -m 2>/dev/null`" = "$1" ; then |
|
29 |
AC_SYS_COMPILER_FLAG($2,$3,$4)
|
|
30 |
fi
|
|
31 |
])
|
|
32 |
||
33 |
# os, option, cache_name, variable
|
|
34 |
AC_DEFUN([AC_SYS_OS_COMPILER_FLAG],
|
|
35 |
[
|
|
36 |
if test "x$mysql_cv_sys_os" = "x$1" ; then |
|
37 |
AC_SYS_COMPILER_FLAG($2,$3,$4)
|
|
38 |
fi
|
|
39 |
])
|
|
40 |
||
41 |
AC_DEFUN([AC_CHECK_NOEXECSTACK],
|
|
42 |
[
|
|
43 |
AC_CACHE_CHECK(whether --noexecstack is desirable for .S files,
|
|
44 |
mysql_cv_as_noexecstack, [dnl
|
|
45 |
cat > conftest.c <<EOF
|
|
46 |
void foo (void) { }
|
|
47 |
EOF
|
|
48 |
if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS
|
|
49 |
-S -o conftest.s conftest.c 1>&AS_MESSAGE_LOG_FD]) \
|
|
50 |
&& grep .note.GNU-stack conftest.s >/dev/null \
|
|
51 |
&& AC_TRY_COMMAND([${CC-cc} $CCASFLAGS $CPPFLAGS -Wa,--noexecstack
|
|
52 |
-c -o conftest.o conftest.s 1>&AS_MESSAGE_LOG_FD])
|
|
53 |
then
|
|
54 |
mysql_cv_as_noexecstack=yes
|
|
55 |
else
|
|
56 |
mysql_cv_as_noexecstack=no
|
|
57 |
fi
|
|
58 |
rm -f conftest*])
|
|
59 |
if test $mysql_cv_as_noexecstack = yes; then
|
|
60 |
CCASFLAGS="$CCASFLAGS -Wa,--noexecstack" |
|
61 |
fi |
|
62 |
]) |