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

<so_link_commands>
default -> "$(CXX) -G -h$(SONAME_ABI)"
</so_link_commands>

<mach_opt>
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"
</mach_opt>

<mach_abi_linking>
# Needed on some Linux distros
linux      -> "-library=stlport4"

sparc64    -> "-xarch=v9"
x86_64     -> "-m64"
</mach_abi_linking>

<isa_flags>
# 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"
</isa_flags>
