diff options
Diffstat (limited to 'src/corelib/global/global.pri')
-rw-r--r-- | src/corelib/global/global.pri | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/corelib/global/global.pri b/src/corelib/global/global.pri index eee01341a5..2b4fd6d661 100644 --- a/src/corelib/global/global.pri +++ b/src/corelib/global/global.pri @@ -9,6 +9,7 @@ HEADERS += \ global/qprocessordetection.h \ global/qnamespace.h \ global/qendian.h \ + global/qendian_p.h \ global/qnumeric_p.h \ global/qnumeric.h \ global/qfloat16_p.h \ @@ -21,6 +22,8 @@ HEADERS += \ global/qisenum.h \ global/qtypetraits.h \ global/qflags.h \ + global/qrandom.h \ + global/qrandom_p.h \ global/qhooks_p.h \ global/qversiontagging.h @@ -33,8 +36,30 @@ SOURCES += \ global/qfloat16.cpp \ global/qoperatingsystemversion.cpp \ global/qlogging.cpp \ + global/qrandom.cpp \ global/qhooks.cpp +# Only add global/qfloat16_f16c.c if qfloat16.cpp can't #include it. +# Any compiler: if it is already generating F16C code, let qfloat16.cpp do it +# Clang: ICE if not generating F16C code, so use qfloat16_f16c.c +# ICC: miscompiles if not generating F16C code, so use qfloat16_f16c.c +# GCC: if it can use F16C intrinsics, let qfloat16.cpp do it +# MSVC: if it is already generating AVX code, let qfloat16.cpp do it +# MSVC: otherwise, it generates poorly-performing code, so use qfloat16_f16c.c +contains(QT_CPU_FEATURES.$$QT_ARCH, f16c): \ + f16c_cxx = true +else: clang|intel_icl|intel_icc: \ + f16c_cxx = false +else: gcc:f16c:x86SimdAlways: \ + f16c_cxx = true +else: msvc:contains(QT_CPU_FEATURES.$$QT_ARCH, avx): \ + f16c_cxx = true +else: \ + f16c_cxx = false +$$f16c_cxx: DEFINES += QFLOAT16_INCLUDE_FAST +else: F16C_SOURCES += global/qfloat16_f16c.c +unset(f16c_cxx) + VERSIONTAGGING_SOURCES = global/qversiontagging.cpp darwin: SOURCES += global/qoperatingsystemversion_darwin.mm @@ -58,6 +83,23 @@ if(linux*|hurd*):!cross_compile:!static:!*-armcc* { DEFINES += ELF_INTERPRETER=\\\"$$system(LC_ALL=C readelf -l /bin/ls | perl -n -e \'$$prog\')\\\" } +linux:!static { + precompile_header { + # we'll get an error if we just use SOURCES += + no_pch_assembler.commands = $$QMAKE_CC -c $(CFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} + no_pch_assembler.dependency_type = TYPE_C + no_pch_assembler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} + no_pch_assembler.input = NO_PCH_ASM + no_pch_assembler.name = compiling[no_pch] ${QMAKE_FILE_IN} + silent: no_pch_assembler.commands = @echo compiling[no_pch] ${QMAKE_FILE_IN} && $$no_pch_assembler.commands + QMAKE_EXTRA_COMPILERS += no_pch_assembler + NO_PCH_ASM += global/minimum-linux.S + } else { + SOURCES += global/minimum-linux.S + } + HEADERS += global/minimum-linux_p.h +} + qtConfig(slog2): \ LIBS_PRIVATE += -lslog2 |