diff options
-rw-r--r-- | classes/qmake5.bbclass | 5 | ||||
-rw-r--r-- | classes/qmake5_base.bbclass | 58 | ||||
-rw-r--r-- | recipes-qt/qt5/qt5.inc | 10 | ||||
-rw-r--r-- | recipes-qt/qt5/qtbase-native.inc | 31 | ||||
-rw-r--r-- | recipes-qt/qt5/qtbase.inc | 2 | ||||
-rw-r--r-- | recipes-qt/qt5/qtjsbackend-native.inc | 29 |
6 files changed, 63 insertions, 72 deletions
diff --git a/classes/qmake5.bbclass b/classes/qmake5.bbclass index 00d6c0ea..68c19f7f 100644 --- a/classes/qmake5.bbclass +++ b/classes/qmake5.bbclass | |||
@@ -6,11 +6,6 @@ inherit qmake5_base | |||
6 | QT5TOOLSDEPENDS ?= "qtbase-native " | 6 | QT5TOOLSDEPENDS ?= "qtbase-native " |
7 | DEPENDS_prepend = "${QT5TOOLSDEPENDS}" | 7 | DEPENDS_prepend = "${QT5TOOLSDEPENDS}" |
8 | 8 | ||
9 | export QMAKESPEC = "${STAGING_DATADIR}/qt5/mkspecs/${TARGET_OS}-oe-g++" | ||
10 | export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic" | ||
11 | export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc" | ||
12 | export OE_QMAKE_RCC = "${STAGING_BINDIR_NATIVE}/rcc" | ||
13 | export OE_QMAKE_QMAKE = "${STAGING_BINDIR_NATIVE}/qmake" | ||
14 | export OE_QMAKE_LINK = "${CXX}" | 9 | export OE_QMAKE_LINK = "${CXX}" |
15 | export OE_QMAKE_CXXFLAGS = "${CXXFLAGS}" | 10 | export OE_QMAKE_CXXFLAGS = "${CXXFLAGS}" |
16 | export OE_QMAKE_INCDIR_QT = "${STAGING_INCDIR}/qt5" | 11 | export OE_QMAKE_INCDIR_QT = "${STAGING_INCDIR}/qt5" |
diff --git a/classes/qmake5_base.bbclass b/classes/qmake5_base.bbclass index ee5ff780..b9279967 100644 --- a/classes/qmake5_base.bbclass +++ b/classes/qmake5_base.bbclass | |||
@@ -1,35 +1,51 @@ | |||
1 | QMAKE_MKSPEC_PATH ?= "${STAGING_DATADIR_NATIVE}/${QT_DIR_NAME}/mkspecs" | ||
2 | OE_QMAKE_PLATFORM = "${TARGET_OS}-oe-g++" | ||
3 | QMAKESPEC := "${QMAKE_MKSPEC_PATH}/${OE_QMAKE_PLATFORM}" | ||
1 | 4 | ||
2 | # We override this completely to eliminate the -e normally passed in | 5 | EXTRA_OEMAKE = ' MAKEFLAGS=${PARALLEL_MAKE} ' |
3 | EXTRA_OEMAKE = ' MAKEFLAGS= ' | ||
4 | 6 | ||
5 | export OE_QMAKE_CC="${CC}" | 7 | EXTRA_ENV = 'QMAKE="${OE_QMAKE_QMAKE} -d -after \ |
6 | export OE_QMAKE_CFLAGS="${CFLAGS}" | 8 | INCPATH+=${STAGING_INCDIR}/freetype2 LIBS+=-L${STAGING_LIBDIR}" \ |
7 | export OE_QMAKE_CXX="${CXX}" | 9 | LINK="${CXX} -Wl,-rpath-link,${STAGING_LIBDIR}" \ |
8 | export OE_QMAKE_LDFLAGS="${LDFLAGS}" | 10 | AR="${TARGET_PREFIX}ar cqs" \ |
9 | export OE_QMAKE_AR="${AR} cqs" | 11 | MOC="${OE_QMAKE_MOC}" \ |
10 | export OE_QMAKE_STRIP="echo" | 12 | UIC="${OE_QMAKE_UIC}" \ |
11 | export OE_QMAKE_RPATH="-Wl,-rpath-link," | 13 | RCC="${OE_QMAKE_RCC}" \ |
14 | MAKE="make -e ${PARALLEL_MAKE}"' | ||
15 | |||
16 | export QMAKESPEC = "${QMAKE_MKSPEC_PATH}/${TARGET_OS}-oe-g++" | ||
17 | export OE_QMAKE_QMAKE = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/qmake" | ||
18 | export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/uic" | ||
19 | export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/moc" | ||
20 | export OE_QMAKE_RCC = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/rcc" | ||
21 | export OE_QMAKE_CC = "${CC}" | ||
22 | export OE_QMAKE_CFLAGS = "${CFLAGS}" | ||
23 | export OE_QMAKE_CXX = "${CXX}" | ||
24 | export OE_QMAKE_LDFLAGS = "${LDFLAGS}" | ||
25 | export OE_QMAKE_AR = "${AR} cqs" | ||
26 | export OE_QMAKE_STRIP = "echo" | ||
27 | export OE_QMAKE_RPATH = "-Wl,-rpath-link," | ||
28 | export OE_QMAKE_CONF_COMPILER = "g++" | ||
29 | export QT_CONF_PATH = "${WORKDIR}/qt.conf" | ||
30 | export QT_DIR_NAME ?= "qt5" | ||
12 | 31 | ||
13 | # do not export STRIP to the environment | 32 | # do not export STRIP to the environment |
14 | STRIP[unexport] = "1" | 33 | STRIP[unexport] = "1" |
15 | 34 | ||
16 | do_generate_qt_config_file() { | 35 | do_generate_qt_config_file() { |
17 | |||
18 | export QT_CONF_PATH=${WORKDIR}/qt.conf | ||
19 | cat > ${WORKDIR}/qt.conf <<EOF | 36 | cat > ${WORKDIR}/qt.conf <<EOF |
20 | [Paths] | 37 | [Paths] |
21 | Binaries = ${bindir} | 38 | Binaries = ${bindir} |
22 | Headers = ${STAGING_INCDIR}/qt5 | 39 | Libraries = ${libdir} |
23 | Plugins = ${libdir}/qt5/plugins | 40 | Prefix = ${prefix} |
24 | Libraries = ${STAGING_LIBDIR} | 41 | Headers = ${includedir}/${QT_DIR_NAME} |
25 | Imports = ${datadir}/qt5/imports | 42 | Data = ${datadir}/${QT_DIR_NAME} |
26 | Qml2Imports = ${libdir}/qt5/qml | 43 | ArchData = ${libdir}/${QT_DIR_NAME} |
27 | Documentation=${docdir}/qt5 | 44 | Documentation = ${docdir}/${QT_DIR_NAME} |
28 | Data = ${datadir}/qt5 | 45 | HostData = ${STAGING_DATADIR}/${QT_DIR_NAME} |
29 | HostData = ${STAGING_DATADIR}/qt5 | 46 | HostSpecPath = ${QMAKE_MKSPEC_PATH} |
30 | HostBinaries = ${STAGING_BINDIR_NATIVE} | 47 | HostBinaries = ${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME} |
31 | EOF | 48 | EOF |
32 | |||
33 | } | 49 | } |
34 | 50 | ||
35 | addtask generate_qt_config_file after do_patch before do_configure | 51 | addtask generate_qt_config_file after do_patch before do_configure |
diff --git a/recipes-qt/qt5/qt5.inc b/recipes-qt/qt5/qt5.inc index 97f3ee17..8d5dd81e 100644 --- a/recipes-qt/qt5/qt5.inc +++ b/recipes-qt/qt5/qt5.inc | |||
@@ -55,19 +55,11 @@ QT_CONFIG_FLAGS += " \ | |||
55 | ${QT_DEMOS} \ | 55 | ${QT_DEMOS} \ |
56 | " | 56 | " |
57 | 57 | ||
58 | EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake -d -after \ | ||
59 | INCPATH+=${STAGING_INCDIR}/freetype2 LIBS+=-L${STAGING_LIBDIR}" \ | ||
60 | LINK="${CXX} -Wl,-rpath-link,${STAGING_LIBDIR}" \ | ||
61 | AR="${TARGET_PREFIX}ar cqs" \ | ||
62 | MOC="${STAGING_BINDIR_NATIVE}/moc" UIC="${STAGING_BINDIR_NATIVE}/uic" MAKE="make -e ${PARALLEL_MAKE}"' | ||
63 | |||
64 | export QT_CONF_PATH="${S}/qt.conf" | ||
65 | |||
66 | do_configure() { | 58 | do_configure() { |
67 | set_endian | 59 | set_endian |
68 | 60 | ||
69 | if [ ! -e bin/qmake ]; then | 61 | if [ ! -e bin/qmake ]; then |
70 | ln -sf ${STAGING_BINDIR_NATIVE}/qmake bin/qmake | 62 | ln -sf ${OE_QMAKE_QMAKE} bin/qmake |
71 | fi | 63 | fi |
72 | 64 | ||
73 | # Avoid problems with the linkers, since we want the linker to be g++ | 65 | # Avoid problems with the linkers, since we want the linker to be g++ |
diff --git a/recipes-qt/qt5/qtbase-native.inc b/recipes-qt/qt5/qtbase-native.inc index db1292cd..c401c7bd 100644 --- a/recipes-qt/qt5/qtbase-native.inc +++ b/recipes-qt/qt5/qtbase-native.inc | |||
@@ -3,18 +3,24 @@ DEPENDS = "zlib-native dbus-native" | |||
3 | SECTION = "libs" | 3 | SECTION = "libs" |
4 | HOMEPAGE = "http://qt-project.org" | 4 | HOMEPAGE = "http://qt-project.org" |
5 | 5 | ||
6 | INC_PR = "r0" | 6 | INC_PR = "r1" |
7 | 7 | ||
8 | inherit native | 8 | inherit native |
9 | 9 | ||
10 | QT_MODULE = "qtbase" | 10 | QT_MODULE = "qtbase" |
11 | 11 | ||
12 | SSTATE_SCAN_FILES += "*.pri *.prl" | ||
13 | QT_DIR_NAME ?= "qt5" | ||
14 | |||
12 | SRC_URI += " \ | 15 | SRC_URI += " \ |
13 | file://0001-qlibraryinfo-Allow-the-specification-of-where-to-loa.patch \ | 16 | file://0001-qlibraryinfo-Allow-the-specification-of-where-to-loa.patch \ |
14 | file://0003-qtbase-Allow-qt.conf-override-when-bootstrapping.patch \ | 17 | file://0003-qtbase-Allow-qt.conf-override-when-bootstrapping.patch \ |
15 | file://0001-Always-build-uic.patch \ | 18 | file://0001-Always-build-uic.patch \ |
16 | " | 19 | " |
17 | 20 | ||
21 | EXTRA_ENV = 'MAKE="make -e ${PARALLEL_MAKE}"' | ||
22 | EXTRA_OEMAKE = ' MAKEFLAGS=${PARALLEL_MAKE} ' | ||
23 | |||
18 | EXTRA_OECONF = " \ | 24 | EXTRA_OECONF = " \ |
19 | -prefix ${prefix} \ | 25 | -prefix ${prefix} \ |
20 | -L ${STAGING_LIBDIR_NATIVE} \ | 26 | -L ${STAGING_LIBDIR_NATIVE} \ |
@@ -34,9 +40,14 @@ EXTRA_OECONF = " \ | |||
34 | -no-openssl \ | 40 | -no-openssl \ |
35 | -no-xcb \ | 41 | -no-xcb \ |
36 | -verbose -release \ | 42 | -verbose -release \ |
37 | -headerdir ${includedir}/qt5 \ | 43 | -prefix ${prefix} \ |
38 | -datadir ${datadir}/qt5 \ | 44 | -bindir ${bindir}/${QT_DIR_NAME} \ |
39 | -docdir ${docdir}/qt5 \ | 45 | -headerdir ${includedir}/${QT_DIR_NAME} \ |
46 | -archdatadir ${libdir}/${QT_DIR_NAME} \ | ||
47 | -datadir ${datadir}/${QT_DIR_NAME} \ | ||
48 | -docdir ${docdir}/${QT_DIR_NAME} \ | ||
49 | -hostdatadir ${datadir}/${QT_DIR_NAME} \ | ||
50 | -hostbindir ${bindir}/${QT_DIR_NAME} \ | ||
40 | -no-glib \ | 51 | -no-glib \ |
41 | -no-iconv \ | 52 | -no-iconv \ |
42 | -silent \ | 53 | -silent \ |
@@ -54,10 +65,10 @@ do_configure() { | |||
54 | } | 65 | } |
55 | 66 | ||
56 | do_install() { | 67 | do_install() { |
57 | install -d ${D}${bindir}/ | 68 | oe_runmake install INSTALL_ROOT=${D} |
58 | for i in findtr fixqt4headers.pl moc qdoc qmake rcc qdbuscpp2xml qdbusxml2cpp syncqt uic; do | 69 | ln -sf linux-g++ ${D}${datadir}/${QT_DIR_NAME}/mkspecs/${BUILD_OS}-oe-g++ |
59 | install -v -m 0755 bin/${i} ${D}${bindir}/${i} | 70 | |
60 | done | 71 | # replace common files with our version |
61 | install -d ${D}${datadir}/qt5/ | 72 | cp -f ${WORKDIR}/g++.conf ${D}${datadir}/${QT_DIR_NAME}/mkspecs/common/g++-unix.conf |
62 | cp -PfR mkspecs ${D}${datadir}/qt5/ | 73 | cp -f ${WORKDIR}/linux.conf ${D}${datadir}/${QT_DIR_NAME}/mkspecs/common/linux.conf |
63 | } | 74 | } |
diff --git a/recipes-qt/qt5/qtbase.inc b/recipes-qt/qt5/qtbase.inc index f420d37a..d4a5652d 100644 --- a/recipes-qt/qt5/qtbase.inc +++ b/recipes-qt/qt5/qtbase.inc | |||
@@ -70,7 +70,7 @@ do_configure_append() { | |||
70 | echo "Translations=${datadir}/${QT_DIR_NAME}/translations" >> $QT_CONF_PATH | 70 | echo "Translations=${datadir}/${QT_DIR_NAME}/translations" >> $QT_CONF_PATH |
71 | echo "Settings=${sysconfdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH | 71 | echo "Settings=${sysconfdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH |
72 | echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH | 72 | echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH |
73 | echo "HostBinaries=${STAGING_BINDIR_NATIVE}" >> $QT_CONF_PATH | 73 | echo "HostBinaries=${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}" >> $QT_CONF_PATH |
74 | echo "HostData=${STAGING_DATADIR}/${QT_DIR_NAME}" >> $QT_CONF_PATH | 74 | echo "HostData=${STAGING_DATADIR}/${QT_DIR_NAME}" >> $QT_CONF_PATH |
75 | 75 | ||
76 | ./configure -v \ | 76 | ./configure -v \ |
diff --git a/recipes-qt/qt5/qtjsbackend-native.inc b/recipes-qt/qt5/qtjsbackend-native.inc index 37e2b80d..56bb854c 100644 --- a/recipes-qt/qt5/qtjsbackend-native.inc +++ b/recipes-qt/qt5/qtjsbackend-native.inc | |||
@@ -7,44 +7,21 @@ QT_MODULE = "qtjsbackend" | |||
7 | 7 | ||
8 | INC_PR = "r0" | 8 | INC_PR = "r0" |
9 | 9 | ||
10 | inherit native | 10 | inherit native qmake5_base |
11 | 11 | ||
12 | SRC_URI += "\ | 12 | SRC_URI += "\ |
13 | file://module_qmake.conf \ | ||
14 | file://0001-Install-the-mkv8snapshot-tool-to-the-native-side.patch \ | 13 | file://0001-Install-the-mkv8snapshot-tool-to-the-native-side.patch \ |
15 | " | 14 | " |
16 | 15 | ||
17 | # Bitbake will not respect the make order set by qmake and at times it will try to compile | 16 | # Bitbake will not respect the make order set by qmake and at times it will try to compile |
18 | # parts of the source tree with out the 'mkv8snapshot' tool if it is enabled and that will fail | 17 | # parts of the source tree with out the 'mkv8snapshot' tool if it is enabled and that will fail |
19 | PARALLEL_MAKE = "" | 18 | #PARALLEL_MAKE = "" |
20 | |||
21 | export QT_CONF_PATH="${WORKDIR}/qt.conf" | ||
22 | 19 | ||
23 | do_configure() { | 20 | do_configure() { |
24 | # Avoid setting QMAKE_LINK from LD (since we want the linker to be g++) | 21 | # Avoid setting QMAKE_LINK from LD (since we want the linker to be g++) |
25 | unset LD | 22 | unset LD |
26 | 23 | ||
27 | cat > ${WORKDIR}/qt.conf <<EOF | 24 | ${OE_QMAKE_QMAKE} -d -r |
28 | [Paths] | ||
29 | Prefix = ${prefix} | ||
30 | Binaries = ${bindir} | ||
31 | Headers = ${includedir}/qt5 | ||
32 | Plugins = ${libdir}/qt5/plugins | ||
33 | Libraries = ${libdir} | ||
34 | Imports = ${datadir}/qt5/imports | ||
35 | Qml2Imports = ${libdir}/qt5/qml | ||
36 | Documentation=${docdir}/qt5 | ||
37 | Data = ${datadir}/qt5 | ||
38 | HostPrefix = ${STAGING_DATADIR} | ||
39 | HostData = ${STAGING_DATADIR}/qt5 | ||
40 | HostBinaries = ${STAGING_BINDIR_NATIVE} | ||
41 | EOF | ||
42 | |||
43 | # This should not be needed. Perhaps the lack of this file is an indication | ||
44 | # of an error on the native recipe... | ||
45 | cp ${WORKDIR}/module_qmake.conf ${S}/.qmake.conf | ||
46 | |||
47 | ${STAGING_BINDIR_NATIVE}/qmake -d -r | ||
48 | } | 25 | } |
49 | 26 | ||
50 | do_install() { | 27 | do_install() { |