#
# Base qmake configuration for QCC on *nix-systems
#

include(qcc-base.conf)

QMAKE_PLATFORM          = qnx $$QMAKE_PLATFORM

QMAKE_LFLAGS_SHLIB     += -shared
QMAKE_LFLAGS_PLUGIN    += $$QMAKE_LFLAGS_SHLIB
QMAKE_LFLAGS_SONAME    += -Wl,-soname,
QMAKE_LFLAGS_THREAD    +=
QMAKE_LFLAGS_RPATH      = -Wl,-rpath,
QMAKE_LFLAGS_RPATHLINK  = -Wl,-rpath-link,

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

# Generic options for all QNX qcc mkspecs
QMAKE_CFLAGS_THREAD     = -D_REENTRANT
QMAKE_CXXFLAGS_THREAD   = $$QMAKE_CFLAGS_THREAD
QMAKE_COMPILER_DEFINES += __QNXNTO__

QMAKE_LIBS              = -lm
QMAKE_LIBS_NETWORK      = -lsocket

# OpenGL libraries have a dependency on libEGL
QMAKE_LIBS_OPENGL_ES2   = -lGLESv2 -lEGL
QMAKE_LIBS_EGL          = -lEGL

# When using this mkspec to build Qt apps (ie - not Qt itself) we want to build
# against the NDK's target directory which is referenced by the QNX_TARGET environment
# variable, and which is guaranteed by the NDK to be set.
QNX_DIR = $$(QNX_TARGET)
isEmpty(QNX_DIR) {
    error("QNX_TARGET environment variable not set")
}

QMAKE_INCDIR_POST       = $${QNX_DIR}/usr/include $${QNX_DIR}/usr/include/freetype2
QMAKE_LIBDIR_POST       = $${QNX_DIR}/$${QNX_CPUDIR}/lib $${QNX_DIR}/$${QNX_CPUDIR}/usr/lib
QMAKE_RPATHLINKDIR_POST += $${QNX_DIR}/$${QNX_CPUDIR}/lib $${QNX_DIR}/$${QNX_CPUDIR}/usr/lib

QMAKE_CXXFLAGS_CXX11    =
QMAKE_CXXFLAGS_CXX14    =
QMAKE_CXXFLAGS_CXX1Z    =

QMAKE_CXXFLAGS_GNUCXX11 = -Wc,-std=gnu++11
QMAKE_CXXFLAGS_GNUCXX14 = -Wc,-std=gnu++1y
QMAKE_CXXFLAGS_GNUCXX1Z = -Wc,-std=gnu++1z

QMAKE_LINK_C            = $$QMAKE_CC
QMAKE_LINK_C_SHLIB      = $$QMAKE_CC

QMAKE_LINK              = $$QMAKE_CXX
QMAKE_LINK_SHLIB        = $$QMAKE_CXX

QMAKE_STRIPFLAGS_LIB   += --strip-unneeded

equals(QMAKE_HOST.os, Windows) {
    isEmpty(QMAKE_SH): error("This mkspec requires an MSYS environment.")
    QMAKE_DIR_SEP       = /
    QMAKE_DIRLIST_SEP   = :
}
