aboutsummaryrefslogtreecommitdiffstats
path: root/packages/qmake/qmake2-native.inc
blob: f6713a9dceef9af129533ccb8a0fad4f673e3482 (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
DESCRIPTION = "TrollTech Makefile Generator"
PRIORITY = "optional"
HOMEPAGE = "http://www.trolltech.com"
SECTION = "devel"
LICENSE = "GPL"
FILE_PR = "r4"

# We call 'moc' during the build 
DEPENDS = "uicmoc4-native"

QTVER = "qt-embedded-linux-opensource-src-${QTVERSION}"

SRC_URI = "ftp://ftp.trolltech.com/qt/source/${QTVER}.tar.bz2 \
           file://0001-fix-mkspecs.patch;patch=1 \
           file://qt-config.patch;patch=1 \
           file://use-lflags-last.patch;patch=1 \
           file://linux-oe-qmake.conf"
S = "${WORKDIR}/${QTVER}"

# we need the real target system here
CROSS_SYS := "${MULTIMACH_TARGET_SYS}"

inherit autotools  

export QTDIR = "${S}"
EXTRA_OEMAKE = "-e"

do_configure() {
    # Make sure we regenerate all Makefiles 
    find ${S} -name "Makefile" | xargs rm
    # Install the OE build templates
    for template in linux-oe-g++ linux-uclibc-oe-g++ linux-gnueabi-oe-g++
    do
        install -d ${S}/mkspecs/$template
        install -m 0644 ${WORKDIR}/linux-oe-qmake.conf ${S}/mkspecs/$template/qmake.conf
        ln -sf ../linux-g++/qplatformdefs.h ${S}/mkspecs/$template/qplatformdefs.h
    done

    QMAKESPEC=
    PLATFORM=${HOST_OS}-oe-g++
    export PLATFORM
    # yes, TARGET_SYS is correct, because this is a 'cross'-qmake-native :) :M:
    export OE_QMAKE_CC="${CC}"
    export OE_QMAKE_CFLAGS="${CFLAGS}"
    export OE_QMAKE_CXX="${CXX}"
    export OE_QMAKE_CXXFLAGS="-fno-exceptions -fno-rtti ${CXXFLAGS}"
    export OE_QMAKE_LDFLAGS="${LDFLAGS}"
    export OE_QMAKE_LINK="${CCLD}"
    export OE_QMAKE_AR="${AR}"
    export OE_QMAKE_STRIP="${STRIP}"
    export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic4"
    export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc4"
    export QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc4"
    export OE_QMAKE_RCC="non-existant"
    export OE_QMAKE_QMAKE="${STAGING_BINDIR_NATIVE}/qmake"
    export OE_QMAKE_RPATH="-Wl,-rpath-link,"
    echo yes | ./configure -prefix ${STAGING_DIR_TARGET}/qt4 ${EXTRA_OECONF} || die "Configuring qt failed"
}

do_compile() {
    :
}

do_stage() {
	install -d ${STAGING_BINDIR_NATIVE}	
	install -m 0755 bin/qmake ${STAGING_BINDIR_NATIVE}/qmake2
    install -m 0755 bin/qmake ${STAGING_BINDIR_NATIVE}/qmake-qt4

    install -d ${CROSS_DATADIR}/qt4
    cp -PfR mkspecs ${CROSS_DATADIR}/qt4/
}