aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtbase-native.inc
blob: 0f196e4ea12d6d63092875cc6ad46be4298aeaef (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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
DESCRIPTION = "Native version of Qt/[X11|Mac|Embedded]"
DEPENDS = "zlib-native dbus-native"
SECTION = "libs"
HOMEPAGE = "http://qt-project.org"

INC_PR = "r1"

inherit native

QT_MODULE = "qtbase"

SSTATE_SCAN_FILES += "*.pri *.prl"
QT_DIR_NAME ?= "qt5"

SRC_URI += " \
  file://0001-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \
  file://0001-Always-build-uic.patch \
  file://qmake.conf \
"

EXTRA_ENV = 'MAKE="make -e ${PARALLEL_MAKE}"'
EXTRA_OEMAKE = " MAKEFLAGS='${PARALLEL_MAKE}'"

EXTRA_OECONF = " \
  -prefix ${prefix} \
  -L ${STAGING_LIBDIR_NATIVE} \
  -I ${STAGING_INCDIR_NATIVE} \
  -system-zlib \
  -no-libjpeg \
  -no-libpng \
  -no-gif \
  -no-accessibility \
  -no-cups \
  -no-nis \
  -no-gui \
  -no-qml-debug \
  -no-sql-mysql \
  -no-sql-sqlite \
  -no-opengl \
  -no-openssl \
  -no-xcb \
  -verbose -release \
  -prefix ${prefix} \
  -bindir ${bindir}/${QT_DIR_NAME} \
  -headerdir ${includedir}/${QT_DIR_NAME} \
  -archdatadir ${libdir}/${QT_DIR_NAME} \
  -datadir ${datadir}/${QT_DIR_NAME} \
  -docdir ${docdir}/${QT_DIR_NAME} \
  -hostdatadir ${datadir}/${QT_DIR_NAME} \
  -hostbindir ${bindir}/${QT_DIR_NAME} \
  -no-glib \
  -no-iconv \
  -silent \
  -nomake examples \
  -nomake tests \
  -nomake demos \
  -no-rpath \
"

# qtbase is exception, we need to use mkspecs from ${S}
QMAKE_MKSPEC_PATH_NATIVE = "${S}/mkspecs"

do_configure_prepend() {
    if [ ! -e ${OE_QMAKESPEC} ]; then
        mkdir -p ${OE_QMAKESPEC}
    fi
    # use default qplatformdefs.h from linux-g++
    cp -va ${QMAKE_MKSPEC_PATH_NATIVE}/linux-g++/qplatformdefs.h ${OE_QMAKESPEC}/
    # use modified qmake.conf which is using OE_QMAKE_* shell variables
    # exported from qmake5_base.bbclass to define toolchain and flags
    cp -va ${WORKDIR}/qmake.conf ${OE_QMAKESPEC}/
}

do_configure() {
	# Avoid setting QMAKE_LINK from LD (since we want the linker to be g++)
	unset LD

	(echo o; echo yes) | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
}

do_install() {
	oe_runmake install INSTALL_ROOT=${D}
}