~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to config/ac-macros/compiler_flag.m4

  • Committer: brian
  • Date: 2008-06-25 05:29:13 UTC
  • Revision ID: brian@localhost.localdomain-20080625052913-6upwo0jsrl4lnapl
clean slate

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
])