File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -36,9 +36,19 @@ if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU" OR ${CMAKE_C_COMPILER_ID} STREQUAL "LS
3636
3737 if (LOONGARCH64)
3838 if (BINARY64)
39- set (CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp64" )
39+ CHECK_CXX_COMPILER_FLAG ("-mabi=lp64d" COMPILER_SUPPORT_LP64D_ABI )
40+ if (COMPILER_SUPPORT_LP64D_ABI)
41+ set (CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp64d" )
42+ else ()
43+ set (CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp64" )
44+ endif ()
4045 else ()
41- set (CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp32" )
46+ CHECK_CXX_COMPILER_FLAG ("-mabi=ilp32d" COMPILER_SUPPORT_ILP32D_ABI )
47+ if (COMPILER_SUPPORT_ILP32D_ABI)
48+ set (CCOMMON_OPT "${CCOMMON_OPT} -mabi=ilp32d" )
49+ else ()
50+ set (CCOMMON_OPT "${CCOMMON_OPT} -mabi=lp32" )
51+ endif ()
4252 endif ()
4353 set (BINARY_DEFINED 1)
4454 endif ()
Original file line number Diff line number Diff line change @@ -61,9 +61,19 @@ if (${F_COMPILER} STREQUAL "GFORTRAN" OR ${F_COMPILER} STREQUAL "F95" OR CMAKE_F
6161 endif ()
6262 if (LOONGARCH64)
6363 if (BINARY64)
64- set (FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp64" )
64+ CHECK_CXX_COMPILER_FLAG ("-mabi=lp64d" COMPILER_SUPPORT_LP64D_ABI )
65+ if (COMPILER_SUPPORT_LP64D_ABI)
66+ set (FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp64d" )
67+ else ()
68+ set (FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp64" )
69+ endif ()
6570 else ()
66- set (FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp32" )
71+ CHECK_CXX_COMPILER_FLAG ("-mabi=ilp32d" COMPILER_SUPPORT_ILP32D_ABI )
72+ if (COMPILER_SUPPORT_ILP32D_ABI)
73+ set (FCOMMON_OPT "${FCOMMON_OPT} -mabi=ilp32d" )
74+ else ()
75+ set (FCOMMON_OPT "${FCOMMON_OPT} -mabi=lp32" )
76+ endif ()
6777 endif ()
6878 endif ()
6979 if (RISCV64)
You can’t perform that action at this time.
0 commit comments