According to the documentation at https://github.com/loongson/la-abi-specs/blob/release/lapcs.adoc#the-base-abi-variants, valid -mabi parameters are lp64s, lp64f, lp64d, ilp32s, ilp32f and ilp32d.tags/v0.3.26
| @@ -36,9 +36,19 @@ if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU" OR ${CMAKE_C_COMPILER_ID} STREQUAL "LS | |||||
| if (LOONGARCH64) | if (LOONGARCH64) | ||||
| if (BINARY64) | if (BINARY64) | ||||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp64") | |||||
| CHECK_CXX_COMPILER_FLAG("-mabi=lp64d" COMPILER_SUPPORT_LP64D_ABI) | |||||
| if(COMPILER_SUPPORT_LP64D_ABI) | |||||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp64d") | |||||
| else() | |||||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp64") | |||||
| endif () | |||||
| else () | else () | ||||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp32") | |||||
| CHECK_CXX_COMPILER_FLAG("-mabi=ilp32d" COMPILER_SUPPORT_ILP32D_ABI) | |||||
| if(COMPILER_SUPPORT_ILP32D_ABI) | |||||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=ilp32d") | |||||
| else() | |||||
| set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp32") | |||||
| endif () | |||||
| endif () | endif () | ||||
| set(BINARY_DEFINED 1) | set(BINARY_DEFINED 1) | ||||
| endif () | endif () | ||||
| @@ -61,9 +61,19 @@ if (${F_COMPILER} STREQUAL "GFORTRAN" OR ${F_COMPILER} STREQUAL "F95" OR CMAKE_F | |||||
| endif () | endif () | ||||
| if (LOONGARCH64) | if (LOONGARCH64) | ||||
| if (BINARY64) | if (BINARY64) | ||||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp64") | |||||
| CHECK_CXX_COMPILER_FLAG("-mabi=lp64d" COMPILER_SUPPORT_LP64D_ABI) | |||||
| if(COMPILER_SUPPORT_LP64D_ABI) | |||||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp64d") | |||||
| else() | |||||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp64") | |||||
| endif () | |||||
| else () | else () | ||||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp32") | |||||
| CHECK_CXX_COMPILER_FLAG("-mabi=ilp32d" COMPILER_SUPPORT_ILP32D_ABI) | |||||
| if(COMPILER_SUPPORT_ILP32D_ABI) | |||||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=ilp32d") | |||||
| else() | |||||
| set(FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp32") | |||||
| endif () | |||||
| endif () | endif () | ||||
| endif () | endif () | ||||
| if (RISCV64) | if (RISCV64) | ||||