X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=m4%2Fpsi%2Fpsi.m4;h=ba869070d501cdf3c7f03559d978caf95b093e81;hp=d9dd4c44fac6d78ea604870727e1791f212efa47;hb=c9384515a81cb64d345b299908b2852f51bb8e6e;hpb=6d8fda8d1cd382e6d6626df5353d285176bd9bf2 diff --git a/m4/psi/psi.m4 b/m4/psi/psi.m4 index d9dd4c4..ba86907 100644 --- a/m4/psi/psi.m4 +++ b/m4/psi/psi.m4 @@ -7,6 +7,8 @@ AC_DEFUN(PSI_CONFIG_INIT, [ psi_save_LIBS=$LIBS LIBS= + ac_includes_default="AC_INCLUDES_DEFAULT" + AC_PROG_AWK AC_PATH_PROG(NM, nm) AC_CACHE_CHECK(for libc start main symbol, psi_cv_libc_main, [ @@ -16,6 +18,42 @@ AC_DEFUN(PSI_CONFIG_INIT, [ ]) psi_cv_libc_main=$psi_libc_main ]) + + AC_MSG_CHECKING(for preprocessor defaults) + psi_cpp_predef=`$CPP -Wp,-dM $CPPFLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 - &1 >/dev/null \ + | $AWK ' + /include.*search.*start/ { + capture = 1 + next + } + /@<:@Ee@:>@nd.*search/ { + capture = 0 + } + { + if (capture) + print $1 + } + ' \ + ` + psi_cpp_predef_count=`printf %s "$psi_cpp_predef" | wc -l` + psi_cpp_search_count=`printf %s "$psi_cpp_search" | wc -l` + AC_MSG_RESULT([$psi_cpp_predef_count predefined macros, and $psi_cpp_search_count search paths]) + PSI_CPP_PREDEF=`printf "%s\n" "$psi_cpp_predef" | \ + $AWK '{ + gsub(/"/, "\\\\\""); + printf "\"%s\\\n\"\n", $[]0 + }' \ + ` + PSI_CPP_SEARCH=`printf %s "$psi_cpp_search" | \ + $AWK '{ + if (i) printf ":"; + gsub(/^@<:@@<:@:space:@:>@@:>@+/,""); + gsub(/@<:@@<:@:space:@:>@@:>@+$/,""); + printf "%s", $[]0; + ++i + }' \ + ` if test "$PHP_PSI_MAINTAINER_MODE" = "yes"; then PSI_FAST_CONFIG=true @@ -46,6 +84,7 @@ AC_DEFUN(PSI_CONFIG_INIT, [ AC_CONFIG_FILES( [$PHP_PSI_BUILDDIR/php_psi_stdinc.h:$PHP_PSI_SRCDIR/php_psi_stdinc.h.in] [$PHP_PSI_BUILDDIR/php_psi_posix.h:$PHP_PSI_SRCDIR/php_psi_posix.h.in] + [$PHP_PSI_BUILDDIR/php_psi_cpp.h:$PHP_PSI_SRCDIR/php_psi_cpp.h.in] ) ]) @@ -67,7 +106,9 @@ AC_DEFUN(PSI_CONFIG_DONE, [ if $PSI_FAST_CONFIG; then for conf_env in $PSI_CONFIG_TMP/*/conf.env; do - source $conf_env + if test "$conf_env" != "$PSI_CONFIG_TMP/*/conf.env"; then + source $conf_env + fi done fi @@ -84,6 +125,8 @@ AC_DEFUN(PSI_CONFIG_DONE, [ AC_SUBST([PSI_REDIRS]) AC_SUBST([PSI_MACROS]) AC_SUBST([PSI_DECLS]) + AC_SUBST([PSI_CPP_SEARCH]) + AC_SUBST([PSI_CPP_PREDEF]) ]) dnl PSI_SH_CONFIG_POSIX_ENABLED(section) @@ -200,16 +243,15 @@ AC_DEFUN(PSI_PTHREAD, [ dnl PSI_INCLUDES() dnl Expands to a complete list of include statements including -dnl AC_INCLUDES_DEFAULT(). -AC_DEFUN(PSI_INCLUDES, [dnl -#define PSI_INCLUDES +dnl autoconf's defaults. +AC_DEFUN(PSI_INCLUDES, [ #ifndef _GNU_SOURCE # define _GNU_SOURCE #endif #ifndef _REENTRANT # define _REENTRANT #endif -AC_INCLUDES_DEFAULT() +$ac_includes_default #ifdef HAVE_STDBOOL_H # include #else @@ -383,7 +425,7 @@ AC_DEFUN(PSI_CHECK_OFFSETOF, [ [offset of $2 in $1], [AS_TR_SH([ac_cv_offsetof_$1_$2])], [(long int) (offsetof ($1, $2))], - [PSI_INCLUDES], + PSI_INCLUDES, [AC_MSG_FAILURE([cannot compute offsetof ($1, $2)])] ) AC_DEFINE_UNQUOTED(