I tried your patch on both p7 and p8 (le).
It works on p7, but I get the following error on p8:
CMake Error at cmake/HelperFunctions.cmake:37 (message):
check_variable(): arch = ppc64le is unknown
That string name (“ppc64le”) is the default for p8 machines and we would like it to be distinguished from the p7 one (“ppc64”) in iomp.
Your patch has these lines in it:
-set(arch_possible_values 32e 32 arm ppc64)
+set(arch_possible_values 32e 32 arm ppc64 ppc64le)
So the problem above should be taken care of by this. The idea was to have my get_arch patch be independent of the recent architecture patches so that the commits can be in a logical order.
Ideally, the get_arch patch will be first, then the architecture ports are based off of that.
Some comments below on the ppc64le patch…
Below, the KMP_ARCH_PPC macro should be removed, then undelete these two lines:
-# undef KMP_ARCH_PPC64
-# define KMP_ARCH_PPC64 1
This way, there is generic KMP_ARCH_PPC64 and then the more specific KMP_ARCH_PPC64BE and KMP_ARCH_PPC64LE macros.
I think Jim wanted to get rid of the KMP_ARCH_PPC anyways because it might confuse between 32-bit and 64-bit.
@@ -75,7 +75,10 @@
#define KMP_ARCH_X86 0
#define KMP_ARCH_X86_64 0
-#define KMP_ARCH_PPC64 0
+#define KMP_ARCH_PPC64_BE 0
+#define KMP_ARCH_PPC64_LE 0