CPPFLAGS="${CPPFLAGS:-}" \
%{?__cc:CC="%{__cc}"} \
%{?__cxx:CXX="%{__cxx}"} \
+ --host=%{_target_platform} \
--build=%{_target_platform} \
--prefix=%{_prefix} \
--exec-prefix=%{_exec_prefix} \
%php_pear_dir %{_datadir}/pear
+# extract php/zend api versions
+%php_api_version %(awk '/#define PHP_API_VERSION/{print $3}' /usr/include/php/main/php.h)
+%zend_module_api %(awk '/#define ZEND_MODULE_API_NO/{print $3}' /usr/include/php/Zend/zend_modules.h)
+%zend_extension_api %(awk '/#define ZEND_EXTENSION_API_NO/{print $3}' /usr/include/php/Zend/zend_extensions.h)
+
+# directory where php includes are installed on system.
+%__php_includedir /usr/include/php
+%php_api_version %(awk '/#define PHP_API_VERSION/{print $3}' %{__php_includedir}/main/php.h 2>/dev/null || echo ERROR)
+%zend_module_api %(awk '/#define ZEND_MODULE_API_NO/{print $3}' %{__php_includedir}/Zend/zend_modules.h 2>/dev/null || echo ERROR)
+%zend_extension_api %(awk '/#define ZEND_EXTENSION_API_NO/{print $3}' %{__php_includedir}/Zend/zend_extensions.h 2>/dev/null || echo ERROR)
+
+# helper macro
+%__php_api_requires() Requires: php(%{expand:%1}) = %{expand:%{%{!?2:%{1}}%{?2}}}
+
+# macros for public use
+# for php extensions (php-pecl)
+%requires_php_extension %{__php_api_requires modules_api php_api_version}
+# for zend extensions
+%requires_zend_extension %{__php_api_requires zend_module_api} \
+%{__php_api_requires zend_extension_api}
+
# Python specific macro definitions.
# python main version
%py_ver %(echo `python -c "import sys; print sys.version[:3]"`)
}
# XMMS specific macros
-%xmms_prefix %(xmms-config --prefix)
-%xmms_exec_prefix %(xmms-config --exec-prefix)
-%xmms_version %(xmms-config --version)
-%xmms_datadir %(xmms-config --data-dir)
-%xmms_plugindir %(xmms-config --plugin-dir)
-%xmms_visualization_plugindir %(xmms-config --visualization-plugin-dir)
-%xmms_input_plugindir %(xmms-config --input-plugin-dir)
-%xmms_output_plugindir %(xmms-config --output-plugin-dir)
-%xmms_effect_plugindir %(xmms-config --effect-plugin-dir)
-%xmms_general_plugindir %(xmms-config --general-plugin-dir)
+%xmms_prefix %(xmms-config --prefix 2>/dev/null)
+%xmms_exec_prefix %(xmms-config --exec-prefix 2>/dev/null)
+%xmms_version %(xmms-config --version 2>/dev/null)
+%xmms_datadir %(xmms-config --data-dir 2>/dev/null)
+%xmms_plugindir %(xmms-config --plugin-dir 2>/dev/null)
+%xmms_visualization_plugindir %(xmms-config --visualization-plugin-dir 2>/dev/null)
+%xmms_input_plugindir %(xmms-config --input-plugin-dir 2>/dev/null)
+%xmms_output_plugindir %(xmms-config --output-plugin-dir 2>/dev/null)
+%xmms_effect_plugindir %(xmms-config --effect-plugin-dir 2>/dev/null)
+%xmms_general_plugindir %(xmms-config --general-plugin-dir 2>/dev/null)
%_target_base_arch %(echo %{_target_cpu} | sed 's/i.86/i386/;s/athlon/i386/;s/pentium./i386/;s/amd64/x86_64/;s/ia32e/x86_64/')
else \
CMD="cat%{-e: >&2}" \
fi \
-$CMD %2%{?3: %3} \
+eval $CMD %2%{?3: %3} \
%nil
# useradd/groupadd macros written by glen@pld-linux.org.