diff --git a/configure.ac b/configure.ac index d9e6329314a31..77f12a55569a5 100644 --- a/configure.ac +++ b/configure.ac @@ -1273,6 +1273,11 @@ PHP_UNAME=${PHP_UNAME:-$UNAME} AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output]) PHP_OS=`uname | xargs` AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output]) +PHP_BUILD_SYSTEM=${PHP_BUILD_SYSTEM:-$PHP_UNAME} +AC_DEFINE_UNQUOTED(PHP_BUILD_SYSTEM,"$PHP_BUILD_SYSTEM",[builder uname output]) +if test -n "${PHP_BUILD_PROVIDER}"; then + AC_DEFINE_UNQUOTED(PHP_BUILD_PROVIDER,"$PHP_BUILD_PROVIDER",[build provider]) +fi PHP_SUBST_OLD(PHP_INSTALLED_SAPIS) diff --git a/ext/standard/info.c b/ext/standard/info.c index 262e95ae2731f..f652efd236574 100644 --- a/ext/standard/info.c +++ b/ext/standard/info.c @@ -798,6 +798,12 @@ PHPAPI ZEND_COLD void php_print_info(int flag) php_info_print_table_start(); php_info_print_table_row(2, "System", ZSTR_VAL(php_uname)); php_info_print_table_row(2, "Build Date", __DATE__ " " __TIME__); +#ifdef PHP_BUILD_SYSTEM + php_info_print_table_row(2, "Build System", PHP_BUILD_SYSTEM); +#endif +#ifdef PHP_BUILD_PROVIDER + php_info_print_table_row(2, "Build Provider", PHP_BUILD_PROVIDER); +#endif #ifdef COMPILER php_info_print_table_row(2, "Compiler", COMPILER); #endif diff --git a/win32/build/confutils.js b/win32/build/confutils.js index 5d6ba3baac0fa..2f2c01e47dc46 100644 --- a/win32/build/confutils.js +++ b/win32/build/confutils.js @@ -126,6 +126,17 @@ build_dirs = new Array(); extension_include_code = ""; extension_module_ptrs = ""; +(function () { + var wmiservice = GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\cimv2"); + var oss = wmiservice.ExecQuery("Select * from Win32_OperatingSystem"); + var os = oss.ItemIndex(0); + AC_DEFINE("PHP_BUILD_SYSTEM", os.Caption + " [" + os.Version + "]", "Windows build system version"); + var build_provider = WshShell.Environment("Process").Item("PHP_BUILD_PROVIDER"); + if (build_provider) { + AC_DEFINE("PHP_BUILD_PROVIDER", build_provider); + } +}()); + if (!MODE_PHPIZE) { get_version_numbers(); }