make: try a different way to detect 32bit neon
authornotaz <notasas@gmail.com>
Fri, 7 Jul 2023 18:27:15 +0000 (21:27 +0300)
committernotaz <notasas@gmail.com>
Fri, 7 Jul 2023 18:27:15 +0000 (21:27 +0300)
Makefile.libretro
include/arm_features.h

index bd26d00..cf8e080 100644 (file)
@@ -530,7 +530,7 @@ ARCH = $(ARCH_DETECTED)
 endif
 ifndef HAVE_NEON_ASM
 # asm for 32bit only
-HAVE_NEON_ASM = $(shell $(CC) -E -dD $(CFLAGS) - < /dev/null 2> /dev/null | grep -q __ARM_NEON__ && echo 1 || echo 0)
+HAVE_NEON_ASM = $(shell $(CC) -E -dD $(CFLAGS) include/arm_features.h | grep -q HAVE_NEON32 && echo 1 || echo 0)
 endif
 ifeq ($(NO_UNDEF_CHECK)$(shell ld -v 2> /dev/null | awk '{print $$1}'),GNU)
 MAIN_LDFLAGS += -Wl,--no-undefined
index 7c82ff3..4f216a3 100644 (file)
 
 #endif
 
-/* no need for HAVE_NEON - GCC defines __ARM_NEON__ consistently */
+/* gcc defines __ARM_NEON__ consistently for 32bit, but apple clang defines it for 64bit also... */
+#if defined(HAVE_ARMV7) && defined(__ARM_NEON__)
+#define HAVE_NEON32
+#endif
 
 /* global function/external symbol */
 #ifndef __MACH__