#
# Base qmake configuration for ICC on *nix-systems
#
# Before making changes to this file, please read the comment in
# icc-base.conf, to make sure the change goes in the right place.
#
# To verify that your change has the desired effect on the final configuration
# you can use the manual test in tests/manual/mkspecs.
#

MAKEFILE_GENERATOR      = UNIX
QMAKE_COMPILER_DEFINES += __GNUC__

QMAKE_COMPILER          = gcc intel_icc   # icc pretends to be gcc

QMAKE_CFLAGS_OPTIMIZE      = -O2
QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os

QMAKE_CC                = icc
QMAKE_LEX               = flex
QMAKE_LEXFLAGS          =
QMAKE_YACC              = yacc
QMAKE_YACCFLAGS         = -d
QMAKE_CFLAGS            =
QMAKE_CFLAGS_APP        = -fPIC
QMAKE_CFLAGS_DEPS       = -M
QMAKE_CFLAGS_WARN_ON    = -w1 -Wcheck -wd654,1572,411,873,1125,2259,2261,3280,3373
QMAKE_CFLAGS_WARN_OFF   = -w
QMAKE_CFLAGS_RELEASE    = $$QMAKE_CFLAGS_OPTIMIZE
QMAKE_CFLAGS_DEBUG      = -O0 -g
QMAKE_CFLAGS_SHLIB      = -fPIC
QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
QMAKE_CFLAGS_SPLIT_SECTIONS = -ffunction-sections -fdata-sections
QMAKE_CFLAGS_LTCG       = -ipo
QMAKE_CFLAGS_DISABLE_LTCG = -no-ipo

QMAKE_CFLAGS_SSE2      += -msse2
QMAKE_CFLAGS_SSE3      += -msse3
QMAKE_CFLAGS_SSSE3     += -mssse3
QMAKE_CFLAGS_SSE4_1    += -msse4.1
QMAKE_CFLAGS_SSE4_2    += -msse4.2
QMAKE_CFLAGS_AVX       += -march=core-avx
QMAKE_CFLAGS_AVX2      += -march=core-avx2
QMAKE_CFLAGS_AVX512F   += -march=broadwell -xCOMMON-AVX512
QMAKE_CFLAGS_AVX512CD  += -march=broadwell -xCOMMON-AVX512
QMAKE_CFLAGS_AVX512ER  += -march=knl
QMAKE_CFLAGS_AVX512PF  += -march=knl
QMAKE_CFLAGS_AVX512DQ  += -march=skylake-avx512
QMAKE_CFLAGS_AVX512BW  += -march=skylake-avx512
QMAKE_CFLAGS_AVX512VL  += -march=skylake-avx512
QMAKE_CFLAGS_AVX512VNNI += -march=cascadelake
QMAKE_CFLAGS_AVX512IFMA += -march=icelake-client    # technically, cannonlake
QMAKE_CFLAGS_AVX512VBMI += -march=icelake-client    # ditto
QMAKE_CFLAGS_AVX512VBMI2 += -march=icelake-client
QMAKE_CFLAGS_AVX512BITALG += -march=icelake-client
QMAKE_CFLAGS_AVX512POPCNTDQ += -march=icelake-client
QMAKE_CFLAGS_AESNI     += -maes
QMAKE_CFLAGS_F16C      += $$QMAKE_CFLAGS_AVX2
QMAKE_CFLAGS_RDRND     += -mrdrnd
QMAKE_CFLAGS_RDSEED    += -mrdseed
QMAKE_CFLAGS_SHANI     += -msha
QMAKE_CFLAGS_VAES      += -mvaes

QMAKE_CXX               = icpc
QMAKE_CXXFLAGS          = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS_APP      = $$QMAKE_CFLAGS_APP
QMAKE_CXXFLAGS_DEPS     = $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON  = $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_RELEASE  = $$QMAKE_CFLAGS_RELEASE
QMAKE_CXXFLAGS_DEBUG    = $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_SHLIB    = $$QMAKE_CFLAGS_SHLIB
QMAKE_CXXFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_STATIC_LIB
QMAKE_CXXFLAGS_SPLIT_SECTIONS = $$QMAKE_CFLAGS_SPLIT_SECTIONS
QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
QMAKE_CXXFLAGS_CXX11    = -std=c++11
QMAKE_CXXFLAGS_CXX14    = -std=c++1y
QMAKE_CXXFLAGS_CXX1Z    = -std=c++1z
QMAKE_CXXFLAGS_GNUCXX11 = -std=gnu++11
QMAKE_CXXFLAGS_GNUCXX14 = -std=gnu++1y
QMAKE_CXXFLAGS_GNUCXX1Z = -std=gnu++1z
QMAKE_CXXFLAGS_LTCG     = $$QMAKE_CFLAGS_LTCG
QMAKE_CXXFLAGS_DISABLE_LTCG = $$QMAKE_CFLAGS_DISABLE_LTCG

# pch support
CONFIG += icc_pch_style
QMAKE_PCH_OUTPUT_EXT = .pchi
QMAKE_CXXFLAGS_USE_PRECOMPILE = -pch-use ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PCH_INPUT}
QMAKE_CXXFLAGS_PRECOMPILE = -c -pch-create ${QMAKE_PCH_OUTPUT} -include ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_TEMP_OBJECT} ${QMAKE_PCH_TEMP_SOURCE}

# Symbol visibility control
QMAKE_CFLAGS_HIDESYMS   += -fvisibility=hidden
QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden

QMAKE_LINK              = icpc
QMAKE_LINK_SHLIB        = icpc
QMAKE_LFLAGS            =
QMAKE_LFLAGS_RELEASE    =
QMAKE_LFLAGS_DEBUG      =
QMAKE_LFLAGS_THREAD     =
QMAKE_LFLAGS_RPATH      = -Wl,-rpath,
QMAKE_LFLAGS_CXX11      =
QMAKE_LFLAGS_CXX14      =
QMAKE_LFLAGS_CXX1Z      =
QMAKE_LFLAGS_LTCG       = $$QMAKE_CFLAGS_LTCG

QMAKE_INCDIR            =
QMAKE_LIBDIR            =
QMAKE_INCDIR_X11        =
QMAKE_LIBDIR_X11        =
QMAKE_INCDIR_OPENGL     =
QMAKE_LIBDIR_OPENGL     =

QMAKE_CLEAN             = -r $(OBJECTS_DIR)/ti_files
