mirror of
https://github.com/php/php-src.git
synced 2025-08-15 13:38:49 +02:00
Wrap aligning segments checks in AC_CACHE_CHECK (#14450)
This enables cross-compiling edge cases to override checks with php_cv_have_common_page_size and php_cv_have_max_page_size cache variables when target matches one of the conditions in case pattern. Not done as link check yet due to Clang 9 bug and similar issues: https://github.com/php/php-src/pull/5123
This commit is contained in:
parent
df481ef941
commit
6a14730d20
1 changed files with 23 additions and 32 deletions
55
configure.ac
55
configure.ac
|
@ -1127,40 +1127,31 @@ dnl Extensions post-config.
|
||||||
dnl ----------------------------------------------------------------------------
|
dnl ----------------------------------------------------------------------------
|
||||||
|
|
||||||
dnl Align segments on huge page boundary
|
dnl Align segments on huge page boundary
|
||||||
case $host_alias in
|
AS_CASE([$host_alias], [[i[3456]86-*-linux-* | x86_64-*-linux-*]],
|
||||||
i[[3456]]86-*-linux-* | x86_64-*-linux-*)
|
[AC_CACHE_CHECK([linker support for -zcommon-page-size=2097152],
|
||||||
AC_MSG_CHECKING(linker support for -zcommon-page-size=2097152)
|
[php_cv_have_common_page_size], [
|
||||||
save_LDFLAGS=$LDFLAGS
|
save_LDFLAGS=$LDFLAGS
|
||||||
LDFLAGS="$LDFLAGS -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152"
|
LDFLAGS="$LDFLAGS -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152"
|
||||||
AC_RUN_IFELSE(
|
AC_RUN_IFELSE([AC_LANG_PROGRAM()],
|
||||||
[AC_LANG_PROGRAM()],
|
[php_cv_have_common_page_size=yes],
|
||||||
[ac_cv_common_page_size=yes],
|
[php_cv_have_common_page_size=no],
|
||||||
[ac_cv_common_page_size=no],
|
[php_cv_have_common_page_size=no])
|
||||||
[ac_cv_common_page_size=no])
|
LDFLAGS=$save_LDFLAGS])
|
||||||
LDFLAGS=$save_LDFLAGS
|
AS_VAR_IF([php_cv_have_common_page_size], [yes],
|
||||||
if test "$ac_cv_common_page_size" = "yes"; then
|
[EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152"],
|
||||||
AC_MSG_RESULT([yes])
|
[AC_CACHE_CHECK([linker support for -zmax-page-size=2097152],
|
||||||
EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152"
|
[php_cv_have_max_page_size], [
|
||||||
else
|
save_LDFLAGS=$LDFLAGS
|
||||||
AC_MSG_RESULT([no])
|
LDFLAGS="$LDFLAGS -Wl,-zmax-page-size=2097152"
|
||||||
AC_MSG_CHECKING(linker support for -zmax-page-size=2097152)
|
AC_RUN_IFELSE([AC_LANG_PROGRAM()],
|
||||||
save_LDFLAGS=$LDFLAGS
|
[php_cv_have_max_page_size=yes],
|
||||||
LDFLAGS="$LDFLAGS -Wl,-zmax-page-size=2097152"
|
[php_cv_have_max_page_size=no],
|
||||||
AC_RUN_IFELSE(
|
[php_cv_have_max_page_size=no])
|
||||||
[AC_LANG_PROGRAM()],
|
LDFLAGS=$save_LDFLAGS])
|
||||||
[ac_cv_max_page_size=yes],
|
AS_VAR_IF([php_cv_have_max_page_size], [yes],
|
||||||
[ac_cv_max_page_size=no],
|
[EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zmax-page-size=2097152"])
|
||||||
[ac_cv_max_page_size=no])
|
])
|
||||||
LDFLAGS=$save_LDFLAGS
|
])
|
||||||
if test "$ac_cv_max_page_size" = "yes"; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zmax-page-size=2097152"
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
enable_shared=yes
|
enable_shared=yes
|
||||||
enable_static=yes
|
enable_static=yes
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue