Skip to content

Commit 5725662

Browse files
committed
fc.cmake: Add support for LLVM Flang.
1 parent 8a17135 commit 5725662

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

cmake/fc.cmake

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
## Description: Ported from portion of OpenBLAS/Makefile.system
44
## Sets Fortran related variables.
55

6-
if (${F_COMPILER} STREQUAL "FLANG")
6+
if (${F_COMPILER} STREQUAL "FLANG" AND NOT CMAKE_Fortran_COMPILER_ID STREQUAL "LLVMFlang")
7+
# This is for classic Flang. LLVM Flang is handled with gfortran below.
78
set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_FLANG")
89
if (BINARY64 AND INTERFACE64)
910
set(FCOMMON_OPT "${FCOMMON_OPT} -i8")
@@ -38,15 +39,17 @@ if (${F_COMPILER} STREQUAL "G95")
3839
endif ()
3940
endif ()
4041

41-
if (${F_COMPILER} STREQUAL "GFORTRAN" OR ${F_COMPILER} STREQUAL "F95")
42+
if (${F_COMPILER} STREQUAL "GFORTRAN" OR ${F_COMPILER} STREQUAL "F95" OR CMAKE_Fortran_COMPILER_ID STREQUAL "LLVMFlang")
4243
set(CCOMMON_OPT "${CCOMMON_OPT} -DF_INTERFACE_GFORT")
43-
# ensure reentrancy of lapack codes
44-
set(FCOMMON_OPT "${FCOMMON_OPT} -Wall -frecursive")
45-
# work around ABI violation in passing string arguments from C
46-
set(FCOMMON_OPT "${FCOMMON_OPT} -fno-optimize-sibling-calls")
47-
#Don't include -lgfortran, when NO_LAPACK=1 or lsbcc
48-
if (NOT NO_LAPACK)
49-
set(EXTRALIB "${EXTRALIB} -lgfortran")
44+
if (NOT CMAKE_Fortran_COMPILER_ID STREQUAL "LLVMFlang")
45+
# ensure reentrancy of lapack codes
46+
set(FCOMMON_OPT "${FCOMMON_OPT} -Wall -frecursive")
47+
# work around ABI violation in passing string arguments from C
48+
set(FCOMMON_OPT "${FCOMMON_OPT} -fno-optimize-sibling-calls")
49+
if (NOT NO_LAPACK)
50+
# Don't include -lgfortran, when NO_LAPACK=1 or lsbcc
51+
set(EXTRALIB "${EXTRALIB} -lgfortran")
52+
endif ()
5053
endif ()
5154
if (NO_BINARY_MODE)
5255
if (MIPS64)

0 commit comments

Comments
 (0)