mips: implement MB and WMB
[platform/upstream/openblas.git] / cmake / cc.cmake
1 ##
2 ## Author: Hank Anderson <hank@statease.com>
3 ## Description: Ported from portion of OpenBLAS/Makefile.system
4 ##              Sets C related variables.
5
6 if (${CMAKE_C_COMPILER} STREQUAL "GNU" OR ${CMAKE_C_COMPILER} STREQUAL "LSB" OR ${CMAKE_C_COMPILER} STREQUAL "Clang")
7
8   set(CCOMMON_OPT "${CCOMMON_OPT} -Wall")
9   set(COMMON_PROF "${COMMON_PROF} -fno-inline")
10   set(NO_UNINITIALIZED_WARN "-Wno-uninitialized")
11
12   if (QUIET_MAKE)
13     set(CCOMMON_OPT "${CCOMMON_OPT} ${NO_UNINITIALIZED_WARN} -Wno-unused")
14   endif ()
15
16   if (NO_BINARY_MODE)
17
18     if (${ARCH} STREQUAL "mips64")
19       if (BINARY64)
20         set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=64")
21       else ()
22         set(CCOMMON_OPT "${CCOMMON_OPT} -mabi=n32")
23       endif ()
24       set(BINARY_DEFINED 1)
25     endif ()
26
27     if (${CORE} STREQUAL "LOONGSON3A")
28       set(CCOMMON_OPT "${CCOMMON_OPT} -march=mips64")
29       set(FCOMMON_OPT "${FCOMMON_OPT} -march=mips64")
30     endif ()
31
32     if (${CORE} STREQUAL "LOONGSON3B")
33       set(CCOMMON_OPT "${CCOMMON_OPT} -march=mips64")
34       set(FCOMMON_OPT "${FCOMMON_OPT} -march=mips64")
35     endif ()
36
37     if (${OSNAME} STREQUAL "AIX")
38       set(BINARY_DEFINED 1)
39     endif ()
40   endif ()
41
42   if (NOT BINARY_DEFINED)
43     if (BINARY64)
44       set(CCOMMON_OPT "${CCOMMON_OPT} -m64")
45     else ()
46       set(CCOMMON_OPT "${CCOMMON_OPT} -m32")
47     endif ()
48   endif ()
49 endif ()
50
51 if (${CMAKE_C_COMPILER} STREQUAL "PGI")
52   if (BINARY64)
53     set(CCOMMON_OPT "${CCOMMON_OPT} -tp p7-64")
54   else ()
55     set(CCOMMON_OPT "${CCOMMON_OPT} -tp p7")
56   endif ()
57 endif ()
58
59 if (${CMAKE_C_COMPILER} STREQUAL "PATHSCALE")
60   if (BINARY64)
61     set(CCOMMON_OPT "${CCOMMON_OPT} -m64")
62   else ()
63     set(CCOMMON_OPT "${CCOMMON_OPT} -m32")
64   endif ()
65 endif ()
66
67 if (${CMAKE_C_COMPILER} STREQUAL "OPEN64")
68
69   if (${ARCH} STREQUAL "mips64")
70
71     if (NOT BINARY64)
72       set(CCOMMON_OPT "${CCOMMON_OPT} -n32")
73     else ()
74       set(CCOMMON_OPT "${CCOMMON_OPT} -n64")
75     endif ()
76
77     if (${CORE} STREQUAL "LOONGSON3A")
78       set(CCOMMON_OPT "${CCOMMON_OPT} -loongson3 -static")
79     endif ()
80
81     if (${CORE} STREQUAL "LOONGSON3B")
82       set(CCOMMON_OPT "${CCOMMON_OPT} -loongson3 -static")
83     endif ()
84
85   else ()
86
87     if (BINARY64)
88       set(CCOMMON_OPT "${CCOMMON_OPT} -m32")
89     else ()
90       set(CCOMMON_OPT "${CCOMMON_OPT} -m64")
91     endif ()
92   endif ()
93 endif ()
94
95 if (${CMAKE_C_COMPILER} STREQUAL "SUN")
96   set(CCOMMON_OPT "${CCOMMON_OPT} -w")
97   if (${ARCH} STREQUAL "x86")
98     set(CCOMMON_OPT "${CCOMMON_OPT} -m32")
99   else ()
100     set(FCOMMON_OPT "${FCOMMON_OPT} -m64")
101   endif ()
102 endif ()
103