mySQL 5.0.11 sources for tomato
[tomato.git] / release / src / router / mysql / config / ac-macros / compiler_flag.m4
blobce2ce6cbdfad6acd00434faa6750b92046a9b075
1 # option, cache_name, variable,
2 # code to execute if yes, code to exectute if fail
3 AC_DEFUN([AC_SYS_COMPILER_FLAG],
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  ])
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
25 # arch, option, cache_name, variable
26 AC_DEFUN([AC_SYS_CPU_COMPILER_FLAG],
28  if test "`uname -m 2>/dev/null`" = "$1" ; then
29     AC_SYS_COMPILER_FLAG($2,$3,$4)
30  fi
33 # os, option, cache_name, variable
34 AC_DEFUN([AC_SYS_OS_COMPILER_FLAG],
36  if test "x$mysql_cv_sys_os" = "x$1" ; then
37     AC_SYS_COMPILER_FLAG($2,$3,$4)
38  fi
41 AC_DEFUN([AC_CHECK_NOEXECSTACK],
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