mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	Several m4 macros have been retired in autoconf 2.70. Update the the build system to use the new macros provided to replace them. * Replaced AC_HELP_STRING with AS_HELP_STRING. * Replaced AC_TRY_COMPILE with AC_COMPILE_IFELSE/AC_LANG_PROGRAM. * Replaced AC_CANONICAL_SYSTEM with AC_CANONICAL_TARGET * Replaced AC_PROG_LIBTOOL with LT_INIT * $CPP is not defined in ZFS_AC_KERNEL and really shouldn't be directly used like this. Replace it with an $AWK command to extract the kernel source version. Reviewed-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Issue #11413 Closes #11419
		
			
				
	
	
		
			106 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
dnl #
 | 
						|
dnl # ZFS_AC_PYTHON_MODULE(module_name, [action-if-true], [action-if-false])
 | 
						|
dnl #
 | 
						|
dnl # Checks for Python module. Freely inspired by AX_PYTHON_MODULE
 | 
						|
dnl # https://www.gnu.org/software/autoconf-archive/ax_python_module.html
 | 
						|
dnl # Required by ZFS_AC_CONFIG_ALWAYS_PYZFS.
 | 
						|
dnl #
 | 
						|
AC_DEFUN([ZFS_AC_PYTHON_MODULE], [
 | 
						|
	PYTHON_NAME=$(basename $PYTHON)
 | 
						|
	AC_MSG_CHECKING([for $PYTHON_NAME module: $1])
 | 
						|
	AS_IF([$PYTHON -c "import $1" 2>/dev/null], [
 | 
						|
		AC_MSG_RESULT(yes)
 | 
						|
		m4_ifvaln([$2], [$2])
 | 
						|
	], [
 | 
						|
		AC_MSG_RESULT(no)
 | 
						|
		m4_ifvaln([$3], [$3])
 | 
						|
	])
 | 
						|
])
 | 
						|
 | 
						|
dnl #
 | 
						|
dnl # Determines if pyzfs can be built, requires Python 2.7 or later.
 | 
						|
dnl #
 | 
						|
AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_PYZFS], [
 | 
						|
	AC_ARG_ENABLE([pyzfs],
 | 
						|
		AS_HELP_STRING([--enable-pyzfs],
 | 
						|
		[install libzfs_core python bindings @<:@default=check@:>@]),
 | 
						|
		[enable_pyzfs=$enableval],
 | 
						|
		[enable_pyzfs=check])
 | 
						|
 | 
						|
	dnl #
 | 
						|
	dnl # Packages for pyzfs specifically enabled/disabled.
 | 
						|
	dnl #
 | 
						|
	AS_IF([test "x$enable_pyzfs" != xcheck], [
 | 
						|
		AS_IF([test "x$enable_pyzfs" = xyes], [
 | 
						|
			DEFINE_PYZFS='--with pyzfs'
 | 
						|
		], [
 | 
						|
			DEFINE_PYZFS='--without pyzfs'
 | 
						|
		])
 | 
						|
	], [
 | 
						|
		AS_IF([test "$PYTHON" != :], [
 | 
						|
			DEFINE_PYZFS=''
 | 
						|
		], [
 | 
						|
			enable_pyzfs=no
 | 
						|
			DEFINE_PYZFS='--without pyzfs'
 | 
						|
		])
 | 
						|
	])
 | 
						|
	AC_SUBST(DEFINE_PYZFS)
 | 
						|
 | 
						|
	dnl #
 | 
						|
	dnl # Require python-devel libraries
 | 
						|
	dnl #
 | 
						|
	AS_IF([test "x$enable_pyzfs" = xcheck  -o "x$enable_pyzfs" = xyes], [
 | 
						|
		AS_CASE([$PYTHON_VERSION],
 | 
						|
			[3.*], [PYTHON_REQUIRED_VERSION=">= '3.4.0'"],
 | 
						|
			[2.*], [PYTHON_REQUIRED_VERSION=">= '2.7.0'"],
 | 
						|
			[AC_MSG_ERROR("Python $PYTHON_VERSION unknown")]
 | 
						|
		)
 | 
						|
 | 
						|
		AX_PYTHON_DEVEL([$PYTHON_REQUIRED_VERSION], [
 | 
						|
			AS_IF([test "x$enable_pyzfs" = xyes], [
 | 
						|
				AC_MSG_ERROR("Python $PYTHON_REQUIRED_VERSION development library is not installed")
 | 
						|
			], [test "x$enable_pyzfs" != xno], [
 | 
						|
				enable_pyzfs=no
 | 
						|
			])
 | 
						|
		])
 | 
						|
	])
 | 
						|
 | 
						|
	dnl #
 | 
						|
	dnl # Python "setuptools" module is required to build and install pyzfs
 | 
						|
	dnl #
 | 
						|
	AS_IF([test "x$enable_pyzfs" = xcheck -o "x$enable_pyzfs" = xyes], [
 | 
						|
		ZFS_AC_PYTHON_MODULE([setuptools], [], [
 | 
						|
			AS_IF([test "x$enable_pyzfs" = xyes], [
 | 
						|
				AC_MSG_ERROR("Python $PYTHON_VERSION setuptools is not installed")
 | 
						|
			], [test "x$enable_pyzfs" != xno], [
 | 
						|
				enable_pyzfs=no
 | 
						|
			])
 | 
						|
		])
 | 
						|
	])
 | 
						|
 | 
						|
	dnl #
 | 
						|
	dnl # Python "cffi" module is required to run pyzfs
 | 
						|
	dnl #
 | 
						|
	AS_IF([test "x$enable_pyzfs" = xcheck -o "x$enable_pyzfs" = xyes], [
 | 
						|
		ZFS_AC_PYTHON_MODULE([cffi], [], [
 | 
						|
			AS_IF([test "x$enable_pyzfs" = xyes], [
 | 
						|
				AC_MSG_ERROR("Python $PYTHON_VERSION cffi is not installed")
 | 
						|
			], [test "x$enable_pyzfs" != xno], [
 | 
						|
				enable_pyzfs=no
 | 
						|
			])
 | 
						|
		])
 | 
						|
	])
 | 
						|
 | 
						|
	dnl #
 | 
						|
	dnl # Set enable_pyzfs to 'yes' if every check passed
 | 
						|
	dnl #
 | 
						|
	AS_IF([test "x$enable_pyzfs" = xcheck], [enable_pyzfs=yes])
 | 
						|
 | 
						|
	AM_CONDITIONAL([PYZFS_ENABLED], [test "x$enable_pyzfs" = xyes])
 | 
						|
	AC_SUBST([PYZFS_ENABLED], [$enable_pyzfs])
 | 
						|
	AC_SUBST(pythonsitedir, [$PYTHON_SITE_PKG])
 | 
						|
 | 
						|
	AC_MSG_CHECKING([whether to enable pyzfs: ])
 | 
						|
	AC_MSG_RESULT($enable_pyzfs)
 | 
						|
])
 |