diff options
author | David Herrmann <dh.herrmann@gmail.com> | 2013-09-13 12:42:12 +0200 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2013-09-16 09:59:16 -0500 |
commit | d8c8508bad097c5cc354b684866a5b7a83fce394 (patch) | |
tree | 7a696ae6d2e8e93f89261493d001358336ae9e93 | |
parent | 4b549144d82ea0f368321d149215f577049fffa6 (diff) |
build: check for build/link flags harder
Use AC_LINK_IFELSE instead of AC_COMPILE_IFELSE to test for flags that
might succeed during compilation but not during linking. An example is gcc
compiled with libssp support but gnu-ld without it. In this case
-fstack-protector works fine during compilation but fails during linking
as several internal helpers are missing.
-rw-r--r-- | m4/attributes.m4 | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/m4/attributes.m4 b/m4/attributes.m4 index 7e080da65d..aa53ef2380 100644 --- a/m4/attributes.m4 +++ b/m4/attributes.m4 @@ -42,9 +42,9 @@ AC_DEFUN([CC_CHECK_FLAG_APPEND], [ AS_TR_SH([cc_cv_$2_$3]), [eval "AS_TR_SH([cc_save_$2])='${$2}'" eval "AS_TR_SH([$2])='-Werror $3'" - AC_COMPILE_IFELSE([AC_LANG_SOURCE([int a = 0; int main(void) { return a; } ])], - [eval "AS_TR_SH([cc_cv_$2_$3])='yes'"], - [eval "AS_TR_SH([cc_cv_$2_$3])='no'"]) + AC_LINK_IFELSE([AC_LANG_SOURCE([int a = 0; int main(void) { return a; } ])], + [eval "AS_TR_SH([cc_cv_$2_$3])='yes'"], + [eval "AS_TR_SH([cc_cv_$2_$3])='no'"]) eval "AS_TR_SH([$2])='$cc_save_$2'"]) AS_IF([eval test x$]AS_TR_SH([cc_cv_$2_$3])[ = xyes], |