summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2020-01-17 12:40:09 -0800
committerGitHub <[email protected]>2020-01-17 12:40:09 -0800
commit70835c5b755e4fe1e16724e0a5d24e7e451f755c (patch)
tree9da58ece476b54ab6e0bda786f60c4da2dc2fc8d /config
parente5030fbc2846c347f58e3a0bae436da84b98ef16 (diff)
Unify target_cpu handling
Over the years several slightly different approaches were used in the Makefiles to determine the target architecture. This change updates both the build system and Makefile to handle this in a consistent fashion. TARGET_CPU is set to i386, x86_64, powerpc, aarch6 or sparc64 and made available in the Makefiles to be used as appropriate. Reviewed-by: Ryan Moeller <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #9848
Diffstat (limited to 'config')
-rw-r--r--config/always-arch.m447
1 files changed, 33 insertions, 14 deletions
diff --git a/config/always-arch.m4 b/config/always-arch.m4
index c3e6b4a97..eb8839b97 100644
--- a/config/always-arch.m4
+++ b/config/always-arch.m4
@@ -1,22 +1,41 @@
dnl #
-dnl # Set the target arch for libspl atomic implementation and the icp
+dnl # Set the target cpu architecture. This allows the
+dnl # following syntax to be used in a Makefile.am.
+dnl #
+dnl # ifeq ($(TARGET_CPU),x86_64)
+dnl # ...
+dnl # endif
+dnl #
+dnl # if TARGET_CPU_POWERPC
+dnl # ...
+dnl # else
+dnl # ...
+dnl # endif
dnl #
AC_DEFUN([ZFS_AC_CONFIG_ALWAYS_ARCH], [
- AC_MSG_CHECKING(for target asm dir)
- TARGET_ARCH=`echo ${target_cpu} | sed -e s/i.86/i386/`
-
- case $TARGET_ARCH in
- i386|x86_64)
- TARGET_ASM_DIR=asm-${TARGET_ARCH}
+ case $target_cpu in
+ i?86)
+ TARGET_CPU=i386
+ ;;
+ x86_64)
+ TARGET_CPU=x86_64
;;
- *)
- TARGET_ASM_DIR=asm-generic
+ powerpc*)
+ TARGET_CPU=powerpc
+ ;;
+ aarch64*)
+ TARGET_CPU=aarch64
+ ;;
+ sparc64)
+ TARGET_CPU=sparc64
;;
esac
- AC_SUBST([TARGET_ASM_DIR])
- AM_CONDITIONAL([TARGET_ASM_X86_64], test $TARGET_ASM_DIR = asm-x86_64)
- AM_CONDITIONAL([TARGET_ASM_I386], test $TARGET_ASM_DIR = asm-i386)
- AM_CONDITIONAL([TARGET_ASM_GENERIC], test $TARGET_ASM_DIR = asm-generic)
- AC_MSG_RESULT([$TARGET_ASM_DIR])
+ AC_SUBST(TARGET_CPU)
+
+ AM_CONDITIONAL([TARGET_CPU_I386], test $TARGET_CPU = i386)
+ AM_CONDITIONAL([TARGET_CPU_X86_64], test $TARGET_CPU = x86_64)
+ AM_CONDITIONAL([TARGET_CPU_POWERPC], test $TARGET_CPU = powerpc)
+ AM_CONDITIONAL([TARGET_CPU_AARCH64], test $TARGET_CPU = aarch64)
+ AM_CONDITIONAL([TARGET_CPU_SPARC64], test $TARGET_CPU = sparc64)
])