From f8b49133b7e3a93f06f7ec7d2602a52188d12402 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Thu, 23 Jul 2015 11:19:47 +0000 Subject: [PATCH] Macroize -m32/-mx32 configure checks Prepare for additional configure checks that would be needed for new multiple personalities support. * m4/mpers.m4: New file. * configure.ac: Use it. --- configure.ac | 29 ++--------------------------- m4/mpers.m4 | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 27 deletions(-) create mode 100644 m4/mpers.m4 diff --git a/configure.ac b/configure.ac index 40cdc0cd..85749399 100644 --- a/configure.ac +++ b/configure.ac @@ -852,33 +852,8 @@ if test "$arch" = mips && test "$no_create" != yes; then fi fi -have_m32=no -case "$arch" in - aarch64|powerpc64|sparc64|tile|x32|x86_64) - AC_MSG_CHECKING([for -m32 runtime support]) - saved_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -m32" - AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(){return 0;}]])], - [have_m32=yes],[have_m32=no],[have_m32=no]) - CFLAGS="$saved_CFLAGS" - AC_MSG_RESULT($have_m32) - ;; -esac -AM_CONDITIONAL([HAVE_M32_RUNTIME], [test "$have_m32" = yes]) - -have_mx32=no -case "$arch" in - x86_64) - AC_MSG_CHECKING([for -mx32 runtime support]) - saved_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -mx32" - AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(){return 0;}]])], - [have_mx32=yes],[have_mx32=no],[have_mx32=no]) - CFLAGS="$saved_CFLAGS" - AC_MSG_RESULT($have_mx32) - ;; -esac -AM_CONDITIONAL([HAVE_MX32_RUNTIME], [test "$have_mx32" = yes]) +st_MPERS([m32], [aarch64|powerpc64|sparc64|tile|x32|x86_64]) +st_MPERS([mx32], [x86_64]) AC_CONFIG_FILES([Makefile tests/Makefile tests-m32/Makefile tests-mx32/Makefile]) AC_OUTPUT diff --git a/m4/mpers.m4 b/m4/mpers.m4 new file mode 100644 index 00000000..6cb01de4 --- /dev/null +++ b/m4/mpers.m4 @@ -0,0 +1,42 @@ +AC_DEFUN([st_MPERS],[ + +pushdef([MPERS_NAME], translit([$1], [a-z], [A-Z])) +pushdef([HAVE_RUNTIME], [HAVE_]MPERS_NAME[_RUNTIME]) +pushdef([CFLAG], [-$1]) +pushdef([st_cv_cc], [st_cv_$1_cc]) +pushdef([st_cv_runtime], [st_cv_$1_runtime]) + +case "$arch" in + [$2]) + saved_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS CFLAG" + AC_CACHE_CHECK([for CFLAG compile support], [st_cv_cc], + [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include + int main(){return 0;}]])], + [st_cv_cc=yes], + [st_cv_cc=no])]) + if test $st_cv_cc = yes; then + AC_CACHE_CHECK([for CFLAG runtime support], [st_cv_runtime], + [AC_RUN_IFELSE([AC_LANG_SOURCE([[#include + int main(){return 0;}]])], + [st_cv_runtime=yes], + [st_cv_runtime=no], + [st_cv_runtime=no])]) + fi + CFLAGS="$saved_CFLAGS" + ;; + + *) + st_cv_runtime=no + ;; +esac + +AM_CONDITIONAL(HAVE_RUNTIME, [test "$st_cv_runtime" = yes]) + +popdef([st_cv_runtime]) +popdef([st_cv_cc]) +popdef([CFLAG]) +popdef([HAVE_RUNTIME]) +popdef([MPERS_NAME]) + +]) -- 2.40.0