#
# qmake configuration for common clang
#

QMAKE_CC		= clang
QMAKE_CFLAGS		+= -pipe
QMAKE_CFLAGS_DEPS	+= -M
QMAKE_CFLAGS_WARN_ON	+= -Wall -W
QMAKE_CFLAGS_WARN_OFF	+= -w
QMAKE_CFLAGS_RELEASE	+= -O2
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -g
QMAKE_CFLAGS_DEBUG	+= -g
QMAKE_CFLAGS_SHLIB	+= -fPIC
QMAKE_CFLAGS_STATIC_LIB	+= -fPIC
QMAKE_CFLAGS_YACC	+= -Wno-unused -Wno-parentheses
QMAKE_CFLAGS_HIDESYMS   += -fvisibility=hidden
QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE}

QMAKE_CXX		= clang++
QMAKE_CXXFLAGS		+= $$QMAKE_CFLAGS
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_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_CXXFLAGS_DEBUG	+= $$QMAKE_CFLAGS_DEBUG
QMAKE_CXXFLAGS_SHLIB	+= $$QMAKE_CFLAGS_SHLIB
QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB
QMAKE_CXXFLAGS_YACC	+= $$QMAKE_CFLAGS_YACC
QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE

QMAKE_LINK		= clang++
QMAKE_LINK_SHLIB	= clang++
QMAKE_LINK_C		= clang
QMAKE_LINK_C_SHLIB	= clang
QMAKE_LFLAGS		+=
QMAKE_LFLAGS_RELEASE	+= -Wl,-O1
QMAKE_LFLAGS_DEBUG	+=
QMAKE_LFLAGS_APP	+=
QMAKE_LFLAGS_SHLIB	+= -shared
QMAKE_LFLAGS_PLUGIN	+= $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME	+= -Wl,-soname,
QMAKE_LFLAGS_THREAD	+=
QMAKE_LFLAGS_NOUNDEF	+= -Wl,--no-undefined
QMAKE_LFLAGS_RPATH	= -Wl,-rpath,

QMAKE_PCH_OUTPUT_EXT    = .gch

# -Bsymbolic-functions (ld) support
QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions
QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list,
