summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/device_config.prf
blob: ccf13b5166fdb3707e6ed40f4d38576c612a4b6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Load generated qdevice.pri
exists($$_QMAKE_CACHE_) {
    # set in default_pre, so it's the first place to check for qdevice.pri
    DIR = $$fromfile($$_QMAKE_CACHE_, QT_BUILD_TREE)
    !isEmpty(DIR):DEVICE_PRI = $$DIR/mkspecs/qdevice.pri
}

isEmpty(DEVICE_PRI) {
    # OUTDIR environ is set by configure (arch detection) and compile.test
    DIR = $$(OUTDIR)
    !isEmpty(DIR):DEVICE_PRI = $$DIR/mkspecs/qdevice.pri
}

isEmpty(DEVICE_PRI) {
    DIR = $$[QT_HOST_DATA]
    !isEmpty(DIR):DEVICE_PRI = $$DIR/mkspecs/qdevice.pri
}

isEmpty(DEVICE_PRI) {
    error(Could not locate qdevice.pri)
}

exists($$DEVICE_PRI):include($$DEVICE_PRI)

isEmpty(CROSS_COMPILE) {
    #this variable can be persisted via qmake -set CROSS_COMPILE /foo
    CROSS_COMPILE = $$[CROSS_COMPILE]
}

unset(DEVICE_PRI)
unset(DIR)

# Provide a function to be used by mkspecs
defineTest(deviceSanityCheckCompiler) {
    # Check if the binary exists with an absolute path. Do this check
    # before the CROSS_COMPILE empty check below to allow the mkspec
    # to derive the compiler path from other device options.
    exists($$QMAKE_CXX):return()

    # Check for possible reasons of failure
    # check if CROSS_COMPILE device-option is set
    isEmpty(CROSS_COMPILE):error("CROSS_COMPILE needs to be set via -device-option CROSS_COMPILE=<path>")

    # Check if QMAKE_CXX points to an executable.
    system("which $$QMAKE_CXX > /dev/null"):return()

    # QMAKE_CXX does not point to a compiler.
    error("Compiler $$QMAKE_CXX not found. Check the value of CROSS_COMPILE -device-option")
}