780dc2291b
Some distributions do not define MINGW_HAS_SECURE_API globally, resulting in methods like wgetenv_s not being declared in the headers. This is probably to keep compatibility with Windows XP. Anyhow, we don't support Windows XP anymore, so we can safely add the define. Note that this is not necessary for the mingw-builds distro, which is the only one we test and support. Anyhow, I don't see any risk in adding these for other distributions. Diff was provided by Philippe Dunski in the bug report. Task-number: QTBUG-67443 Change-Id: I3a64b11541fe95e527ed44bbf8ad94469d457d3d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
83 lines
2.7 KiB
Plaintext
83 lines
2.7 KiB
Plaintext
#
|
|
# This file is used as a basis for the following compilers, when targeting
|
|
# MinGW-w64:
|
|
#
|
|
# - GCC
|
|
# - Clang
|
|
#
|
|
# Compiler-specific settings go into win32-g++/qmake.conf and
|
|
# win32-clang-g++/qmake.conf
|
|
#
|
|
|
|
load(device_config)
|
|
include(gcc-base.conf)
|
|
include(g++-base.conf)
|
|
|
|
# modifications to gcc-base.conf and g++-base.conf
|
|
|
|
MAKEFILE_GENERATOR = MINGW
|
|
QMAKE_PLATFORM = win32 mingw
|
|
CONFIG += debug_and_release debug_and_release_target precompile_header
|
|
DEFINES += UNICODE _UNICODE WIN32 MINGW_HAS_SECURE_API=1
|
|
QMAKE_COMPILER_DEFINES += __GNUC__ _WIN32
|
|
# can't add 'DEFINES += WIN64' and 'QMAKE_COMPILER_DEFINES += _WIN64' defines for
|
|
# x86_64 platform similar to 'msvc-desktop.conf' toolchain, because, unlike for MSVC,
|
|
# 'QMAKE_TARGET.arch' is inherently unavailable.
|
|
|
|
QMAKE_LEX = flex
|
|
QMAKE_LEXFLAGS =
|
|
QMAKE_YACC = bison -y
|
|
QMAKE_YACCFLAGS = -d
|
|
|
|
QMAKE_CFLAGS_SSE2 += -mstackrealign
|
|
|
|
QMAKE_CXXFLAGS_RTTI_ON = -frtti
|
|
QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
|
|
QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
|
|
|
|
QMAKE_INCDIR =
|
|
|
|
QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
|
|
QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
|
|
QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
|
|
QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
|
|
|
|
QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads
|
|
QMAKE_LFLAGS_RELEASE = -Wl,-s
|
|
QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
|
|
QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
|
|
QMAKE_LFLAGS_DLL = -shared
|
|
QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections
|
|
equals(QMAKE_HOST.os, Windows) {
|
|
QMAKE_LINK_OBJECT_MAX = 10
|
|
QMAKE_LINK_OBJECT_SCRIPT = object_script
|
|
}
|
|
QMAKE_EXT_OBJ = .o
|
|
QMAKE_EXT_RES = _res.o
|
|
QMAKE_PREFIX_SHLIB =
|
|
QMAKE_EXTENSION_SHLIB = dll
|
|
QMAKE_PREFIX_STATICLIB = lib
|
|
QMAKE_EXTENSION_STATICLIB = a
|
|
QMAKE_LIB_EXTENSIONS = a dll.a
|
|
|
|
QMAKE_LIBS =
|
|
QMAKE_LIBS_GUI = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32
|
|
QMAKE_LIBS_NETWORK = -lws2_32
|
|
QMAKE_LIBS_OPENGL = -lglu32 -lopengl32 -lgdi32 -luser32
|
|
QMAKE_LIBS_OPENGL_ES2 = -lgdi32 -luser32
|
|
QMAKE_LIBS_OPENGL_ES2_DEBUG = -lgdi32 -luser32
|
|
QMAKE_LIBS_COMPAT = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
|
|
QMAKE_LIBS_QT_ENTRY = -lmingw32 -lqtmain
|
|
|
|
QMAKE_IDL = midl
|
|
QMAKE_LIB = $${CROSS_COMPILE}ar -rc
|
|
QMAKE_RC = $${CROSS_COMPILE}windres
|
|
|
|
QMAKE_STRIP = $${CROSS_COMPILE}strip
|
|
QMAKE_STRIPFLAGS_LIB += --strip-unneeded
|
|
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
|
|
QMAKE_NM = $${CROSS_COMPILE}nm -P
|
|
|
|
include(angle.conf)
|
|
include(windows-vulkan.conf)
|