Revision control

Copy as Markdown

#
# qmake configuration for building Qt applications for VxWorks 7 RTPs
# with the Wind River LLVM toolchain (VxWorks 24.03 and later).
#
# The wr-cc/wr-c++ compiler drivers derive the target architecture, VSB
# configuration, include paths, startup files and linker scripts from the
# WIND_CC_SYSROOT environment variable. Run qmake and make from a Wind
# River environment (wrenv) with WIND_CC_SYSROOT pointing to the same VSB
# that Qt itself was built against.
#
MAKEFILE_GENERATOR = UNIX
QMAKE_PLATFORM += vxworks
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
QT_QPA_DEFAULT_PLATFORM = eglfs
include(../common/unix.conf)
include(../common/gcc-base-unix.conf)
include(../common/clang.conf)
QMAKE_COMPILER += vxworks_clang
QMAKE_CC = wr-cc
QMAKE_CXX = wr-c++
QMAKE_LINK = $$QMAKE_CXX
QMAKE_LINK_SHLIB = $$QMAKE_CXX
QMAKE_LINK_C = $$QMAKE_CC
QMAKE_LINK_C_SHLIB = $$QMAKE_CC
QMAKE_AR = wr-ar cqs
QMAKE_OBJCOPY = wr-objcopy
QMAKE_NM = wr-nm -P
QMAKE_RANLIB = wr-ranlib
QMAKE_STRIP = wr-strip
QMAKE_LIBS_NETWORK += -lnet
# The wr-c++ driver defaults to -std=c++14 (STDCXX in the VSB's
# cc-conf/default.conf). qmake only adds an explicit -std flag when the
# detected compiler default (QT_COMPILER_STDCXX, cached in .qmake.stash)
# is below C++17, so a stash created with a different compiler silently
# drops the flag and Qt headers fail with "Qt requires a C++17 compiler".
# Request C++17 unconditionally; projects can still select c++20 and up.
CONFIG += c++1z
# The wr-cc driver config (cc-conf/default.conf in the VSB) passes
# --as-needed to the linker for dynamic links. The VSB graphics libraries
# (e.g. the Vivante stack) lack DT_NEEDED entries for each other, so a
# provider library that appears on the command line before its consumer
# gets dropped and the link fails with undefined references. Applications
# cannot control the library order coming from the merged .prl files, so
# disable as-needed for application links.
QMAKE_LFLAGS += -Wl,--no-as-needed
load(qt_config)