1# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
2# file Copyright.txt or https://cmake.org/licensing for details.
3
4include(Compiler/SunPro)
5
6set(CMAKE_C_VERBOSE_FLAG "-#")
7
8set(CMAKE_C_COMPILE_OPTIONS_PIC -KPIC)
9set(CMAKE_C_COMPILE_OPTIONS_PIE "")
10set(_CMAKE_C_PIE_MAY_BE_SUPPORTED_BY_LINKER NO)
11set(CMAKE_C_LINK_OPTIONS_PIE "")
12set(CMAKE_C_LINK_OPTIONS_NO_PIE "")
13set(CMAKE_SHARED_LIBRARY_C_FLAGS "-KPIC")
14set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-G")
15set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-R")
16set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
17set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-h")
18
19string(APPEND CMAKE_C_FLAGS_INIT " ")
20string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " -g")
21string(APPEND CMAKE_C_FLAGS_MINSIZEREL_INIT " -xO2 -xspace -DNDEBUG")
22string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " -xO3 -DNDEBUG")
23string(APPEND CMAKE_C_FLAGS_RELWITHDEBINFO_INIT " -g -xO2 -DNDEBUG")
24
25set(CMAKE_DEPFILE_FLAGS_C "-xMD -xMF <DEP_FILE>")
26
27# Initialize C link type selection flags.  These flags are used when
28# building a shared library, shared module, or executable that links
29# to other libraries to select whether to use the static or shared
30# versions of the libraries.
31foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
32  set(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Bstatic")
33  set(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Bdynamic")
34endforeach()
35
36set(CMAKE_C_LINKER_WRAPPER_FLAG "-Qoption" "ld" " ")
37set(CMAKE_C_LINKER_WRAPPER_FLAG_SEP ",")
38
39if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 5.13)
40  set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c89")
41  set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=c89")
42  set(CMAKE_C90_STANDARD__HAS_FULL_SUPPORT ON)
43  set(CMAKE_C99_STANDARD_COMPILE_OPTION "-std=c99")
44  set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-std=c99")
45  set(CMAKE_C99_STANDARD__HAS_FULL_SUPPORT ON)
46  set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c11")
47  set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=c11")
48  set(CMAKE_C11_STANDARD__HAS_FULL_SUPPORT ON)
49elseif (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 5.11)
50  set(CMAKE_C90_STANDARD_COMPILE_OPTION "")
51  set(CMAKE_C90_EXTENSION_COMPILE_OPTION "")
52  set(CMAKE_C99_STANDARD_COMPILE_OPTION "-xc99")
53  set(CMAKE_C99_EXTENSION_COMPILE_OPTION "-xc99")
54endif()
55
56__compiler_check_default_language_standard(C 5.11 90 5.14 11)
57
58set(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
59set(CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
60