Fix cmake bug on x86 32-bit.
authorZhang Xianyi <traits.zhang@gmail.com>
Mon, 26 Oct 2015 18:54:53 +0000 (02:54 +0800)
committerZhang Xianyi <traits.zhang@gmail.com>
Mon, 26 Oct 2015 18:54:53 +0000 (02:54 +0800)
e.g. Build 32-bit on 64-bit Linux.
cmake -DBINARY=32

cmake/system.cmake
kernel/CMakeLists.txt

index 8ec738a..71bf5c2 100644 (file)
@@ -323,7 +323,13 @@ if (NOT DEFINED COMMON_OPT)
   set(COMMON_OPT "-O2")
 endif ()
 
+#For x86 32-bit
+if (DEFINED BINARY AND BINARY EQUAL 32)
+  set(COMMON_OPT "${COMMON_OPT} -m32")
+endif()
+
 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_OPT} ${CCOMMON_OPT}")
+set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} ${COMMON_OPT} ${CCOMMON_OPT}")
 # TODO: not sure what PFLAGS is -hpa
 set(PFLAGS "${PFLAGS} ${COMMON_OPT} ${CCOMMON_OPT} -I${TOPDIR} -DPROFILE ${COMMON_PROF}")
 
index 2156e39..43837a0 100644 (file)
@@ -165,9 +165,9 @@ foreach (float_type ${FLOAT_TYPES})
     GenerateNamedObjects("${KERNELDIR}/${TRMM_KERNEL}" "TRMMKERNEL;TRANSA;CONJ;NC" "trmm_kernel_RC" false "" "" false ${float_type})
 
     GenerateNamedObjects("${KERNELDIR}/${${float_char}TRSMKERNEL_LN}" "UPPER;LN;TRSMKERNEL;CONJ" "trsm_kernel_LR" false "" "" false ${float_type})
-    GenerateNamedObjects("${KERNELDIR}/${${float_char}TRSMKERNEL_LT}" "UPPER;LT;TRSMKERNEL;CONJ" "trsm_kernel_LC" false "" "" false ${float_type})
+    GenerateNamedObjects("${KERNELDIR}/${${float_char}TRSMKERNEL_LT}" "LT;TRSMKERNEL;CONJ" "trsm_kernel_LC" false "" "" false ${float_type})
     GenerateNamedObjects("${KERNELDIR}/${${float_char}TRSMKERNEL_RN}" "UPPER;RN;TRSMKERNEL;CONJ" "trsm_kernel_RR" false "" "" false ${float_type})
-    GenerateNamedObjects("${KERNELDIR}/${${float_char}TRSMKERNEL_RT}" "UPPER;RN;TRSMKERNEL;CONJ" "trsm_kernel_RC" false "" "" false ${float_type})
+    GenerateNamedObjects("${KERNELDIR}/${${float_char}TRSMKERNEL_RT}" "RT;TRSMKERNEL;CONJ" "trsm_kernel_RC" false "" "" false ${float_type})
 
 
     #hemm