macro_name SUN_STUDIO
binary_name CC
output_to_option "-o "
add_include_dir_option -I
add_lib_dir_option -L
add_lib_option -l
compile_flags "-c"
debug_info_flags "-g"
optimization_flags "-xO2"
shared_flags "-KPIC"
warning_flags "+w -erroff=truncwarn,wnoretvalue"
lang_flags "-std=c++11 +p -features=extensions -D__FUNCTION__=__func__"
ar_command "CC -xar -o"
makefile_style gmake
default -> "$(CXX) -G -h$(SONAME_ABI)"
i386 -> "-xtarget=486"
i486 -> "-xtarget=486"
i586 -> "-xtarget=pentium"
k6 -> "-xtarget=pentium"
i686 -> "-xtarget=pentium_pro"
pentium3 -> "-xtarget=pentium3"
pentium4 -> "-xtarget=pentium4"
core2 -> "-xtarget=core2"
opteron -> "-xtarget=opteron"
nehalem -> "-xtarget=nehalem"
sparc32-v9 -> "-xchip=ultra -xarch=v8"
ultrasparc3 -> "-xchip=ultra3"
niagra1 -> "-xchip=ultraT1"
niagra2 -> "-xchip=ultraT2"
sparc32 -> "-xchip=ultra -xarch=SUBMODEL|sparc32-"
sparc64 -> "-xchip=generic"
# Needed on some Linux distros
linux -> "-library=stlport4"
sparc64 -> "-xarch=v9"
x86_64 -> "-m64"
# Botan needs C++11, and that requires Sun Studio 12.4 or above.
# Sun Studio 12.4 supports upto -xarch=avx2, but the processor must support it
# AESNI requires -xarch=aes, and RDRAND requires -xarch=avx_i.
# https://docs.oracle.com/cd/E37069_01/html/E37074/bjapp.html#OSSCGbkazd
sse2 -> "-xarch=sse2"
ssse3 -> "-xarch=ssse3"
sse4.1 -> "-xarch=sse4_1"
sse4.2 -> "-xarch=sse4_2"
aesni -> "-xarch=aes"
avx -> "-xarch=avx"
rdrand -> "-xarch=avx_i"
avx2 -> "-xarch=avx2"