diff options
author | Holger Freyther <zecke@selfish.org> | 2007-09-03 12:22:20 +0000 |
---|---|---|
committer | Holger Freyther <zecke@selfish.org> | 2007-09-03 12:22:20 +0000 |
commit | 7217b0c316ec2caacf1d1d7d8eeb539f86dc16e0 (patch) | |
tree | 0fd1771ffb85bd69d4d73cdbee29a3ba7f3289ba /classes | |
parent | 9f7aa9e4b86d68aa5a931d945299d25015e87390 (diff) |
classes/{qmake*,qt4x11}.bbclass: Add a qmake2.bbclass to use qmake version two
Add a qmake2.bbclass which currently takes over the role of qt4x11.bbclass
with setting the QTDIR, MOC, UIC properly. qmake2 and qmake now share
qmake-base.bbclass this is why some var assignments and functions have
been moved around.
Make webkit-gtk use qmake2 to eliminate the Qt3 and Qt4/X11 dependency.
Diffstat (limited to 'classes')
-rw-r--r-- | classes/qmake-base.bbclass | 66 | ||||
-rw-r--r-- | classes/qmake.bbclass | 65 | ||||
-rw-r--r-- | classes/qmake2.bbclass | 20 | ||||
-rw-r--r-- | classes/qt4x11.bbclass | 19 |
4 files changed, 88 insertions, 82 deletions
diff --git a/classes/qmake-base.bbclass b/classes/qmake-base.bbclass index b623b34aaa..52f6d830a0 100644 --- a/classes/qmake-base.bbclass +++ b/classes/qmake-base.bbclass @@ -1,4 +1,3 @@ -DEPENDS_prepend = "qmake-native " OE_QMAKE_PLATFORM = "${TARGET_OS}-oe-g++" QMAKESPEC := "${QMAKE_MKSPEC_PATH}/${OE_QMAKE_PLATFORM}" @@ -9,22 +8,12 @@ EXTRA_OEMAKE = ' MAKEFLAGS= ' 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="echo" -export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic" -export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc" -export OE_QMAKE_RCC="non-existant" -export OE_QMAKE_QMAKE="${STAGING_BINDIR_NATIVE}/qmake" export OE_QMAKE_RPATH="-Wl,-rpath-link," # default to qte2 via bb.conf, inherit qt3x11 to configure for qt3x11 -export OE_QMAKE_INCDIR_QT="${QTDIR}/include" -export OE_QMAKE_LIBDIR_QT="${QTDIR}/lib" -export OE_QMAKE_LIBS_QT="qte" -export OE_QMAKE_LIBS_X11="" oe_qmake_mkspecs () { mkdir -p mkspecs/${OE_QMAKE_PLATFORM} @@ -42,3 +31,58 @@ oe_qmake_mkspecs () { done } +qmake-base_do_configure() { + case ${QMAKESPEC} in + *linux-oe-g++|*linux-uclibc-oe-g++|*linux-gnueabi-oe-g++) + ;; + *-oe-g++) + die Unsupported target ${TARGET_OS} for oe-g++ qmake spec + ;; + *) + oenote Searching for qmake spec file + paths="${QMAKE_MKSPEC_PATH}/qws/${TARGET_OS}-${TARGET_ARCH}-g++" + paths="${QMAKE_MKSPEC_PATH}/${TARGET_OS}-g++ $paths" + + if (echo "${TARGET_ARCH}"|grep -q 'i.86'); then + paths="${QMAKE_MKSPEC_PATH}/qws/${TARGET_OS}-x86-g++ $paths" + fi + for i in $paths; do + if test -e $i; then + export QMAKESPEC=$i + break + fi + done + ;; + esac + + oenote "using qmake spec in ${QMAKESPEC}, using profiles '${QMAKE_PROFILES}'" + + if [ -z "${QMAKE_PROFILES}" ]; then + PROFILES="`ls *.pro`" + else + PROFILES="${QMAKE_PROFILES}" + fi + + if [ -z "$PROFILES" ]; then + die "QMAKE_PROFILES not set and no profiles found in $PWD" + fi + + if [ ! -z "${EXTRA_QMAKEVARS_POST}" ]; then + AFTER="-after" + QMAKE_VARSUBST_POST="${EXTRA_QMAKEVARS_POST}" + oenote "qmake postvar substitution: ${EXTRA_QMAKEVARS_POST}" + fi + + if [ ! -z "${EXTRA_QMAKEVARS_PRE}" ]; then + QMAKE_VARSUBST_PRE="${EXTRA_QMAKEVARS_PRE}" + oenote "qmake prevar substitution: ${EXTRA_QMAKEVARS_PRE}" + fi + +#oenote "Calling '${OE_QMAKE_QMAKE} -makefile -spec ${QMAKESPEC} -o Makefile $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST'" + unset QMAKESPEC || true + ${OE_QMAKE_QMAKE} -makefile -spec ${QMAKESPEC} -o Makefile $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST || die "Error calling ${OE_QMAKE_QMAKE} on $PROFILES" +} + +EXPORT_FUNCTIONS do_configure + +addtask configure after do_unpack do_patch before do_compile diff --git a/classes/qmake.bbclass b/classes/qmake.bbclass index 4f2fceff35..b45e54ca6a 100644 --- a/classes/qmake.bbclass +++ b/classes/qmake.bbclass @@ -1,57 +1,14 @@ inherit qmake-base -qmake_do_configure() { - case ${QMAKESPEC} in - *linux-oe-g++|*linux-uclibc-oe-g++|*linux-gnueabi-oe-g++) - ;; - *-oe-g++) - die Unsupported target ${TARGET_OS} for oe-g++ qmake spec - ;; - *) - oenote Searching for qmake spec file - paths="${QMAKE_MKSPEC_PATH}/qws/${TARGET_OS}-${TARGET_ARCH}-g++" - paths="${QMAKE_MKSPEC_PATH}/${TARGET_OS}-g++ $paths" +DEPENDS_prepend = "qmake-native " + +export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic" +export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc" +export OE_QMAKE_QMAKE="${STAGING_BINDIR_NATIVE}/qmake" +export OE_QMAKE_CXXFLAGS="-fno-exceptions -fno-rtti ${CXXFLAGS}" +export OE_QMAKE_LINK="${CCLD}" +export OE_QMAKE_INCDIR_QT="${QTDIR}/include" +export OE_QMAKE_LIBDIR_QT="${QTDIR}/lib" +export OE_QMAKE_LIBS_QT="qte" +export OE_QMAKE_LIBS_X11="" - if (echo "${TARGET_ARCH}"|grep -q 'i.86'); then - paths="${QMAKE_MKSPEC_PATH}/qws/${TARGET_OS}-x86-g++ $paths" - fi - for i in $paths; do - if test -e $i; then - export QMAKESPEC=$i - break - fi - done - ;; - esac - - oenote "using qmake spec in ${QMAKESPEC}, using profiles '${QMAKE_PROFILES}'" - - if [ -z "${QMAKE_PROFILES}" ]; then - PROFILES="`ls *.pro`" - else - PROFILES="${QMAKE_PROFILES}" - fi - - if [ -z "$PROFILES" ]; then - die "QMAKE_PROFILES not set and no profiles found in $PWD" - fi - - if [ ! -z "${EXTRA_QMAKEVARS_POST}" ]; then - AFTER="-after" - QMAKE_VARSUBST_POST="${EXTRA_QMAKEVARS_POST}" - oenote "qmake postvar substitution: ${EXTRA_QMAKEVARS_POST}" - fi - - if [ ! -z "${EXTRA_QMAKEVARS_PRE}" ]; then - QMAKE_VARSUBST_PRE="${EXTRA_QMAKEVARS_PRE}" - oenote "qmake prevar substitution: ${EXTRA_QMAKEVARS_PRE}" - fi - -#oenote "Calling '${OE_QMAKE_QMAKE} -makefile -spec ${QMAKESPEC} -o Makefile $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST'" - unset QMAKESPEC || true - ${OE_QMAKE_QMAKE} -makefile -spec ${QMAKESPEC} -o Makefile $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST || die "Error calling ${OE_QMAKE_QMAKE} on $PROFILES" -} - -EXPORT_FUNCTIONS do_configure - -addtask configure after do_unpack do_patch before do_compile diff --git a/classes/qmake2.bbclass b/classes/qmake2.bbclass new file mode 100644 index 0000000000..86f1439b30 --- /dev/null +++ b/classes/qmake2.bbclass @@ -0,0 +1,20 @@ +# +# QMake variables for Qt4 +# +inherit qmake-base + +DEPENDS_prepend = "qmake2-native uicmoc4-native " + +export QTDIR = "${STAGING_DIR}/${HOST_SYS}/qt4" +export QMAKESPEC = "${QTDIR}/mkspecs/${TARGET_OS}-oe-g++" +export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic4" +export OE_QMAKE_UIC3 = "${STAGING_BINDIR_NATIVE}/uic34" +export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc4" +export OE_QMAKE_RCC = "${STAGING_BINDIR_NATIVE}/rcc4" +export OE_QMAKE_QMAKE = "${STAGING_BINDIR_NATIVE}/qmake2" +export OE_QMAKE_LINK = "${CXX}" +export OE_QMAKE_CXXFLAGS = "${CXXFLAGS}" +export OE_QMAKE_INCDIR_QT = "${QTDIR}/include" +export OE_QMAKE_LIBDIR_QT = "${QTDIR}/lib" +export OE_QMAKE_LIBS_QT = "qt" +export OE_QMAKE_LIBS_X11 = "-lXext -lX11 -lm" diff --git a/classes/qt4x11.bbclass b/classes/qt4x11.bbclass index 7046ef1cb9..76a45c33cb 100644 --- a/classes/qt4x11.bbclass +++ b/classes/qt4x11.bbclass @@ -1,18 +1,3 @@ -DEPENDS_prepend = "qmake2-native " DEPENDS_prepend = "${@["qt4x11 ", ""][(bb.data.getVar('PN', d, 1) == 'qt4-x11-free')]}" -# -# override variables set by qmake-base to compile Qt4/X11 apps -# -export QTDIR = "${STAGING_DIR}/${HOST_SYS}/qt4" -export QMAKESPEC = "${QTDIR}/mkspecs/${TARGET_OS}-oe-g++" -export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic4" -export OE_QMAKE_UIC3 = "${STAGING_BINDIR_NATIVE}/uic34" -export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc4" -export OE_QMAKE_RCC = "${STAGING_BINDIR_NATIVE}/rcc4" -export OE_QMAKE_QMAKE = "${STAGING_BINDIR_NATIVE}/qmake2" -export OE_QMAKE_LINK = "${CXX}" -export OE_QMAKE_CXXFLAGS = "${CXXFLAGS}" -export OE_QMAKE_INCDIR_QT = "${QTDIR}/include" -export OE_QMAKE_LIBDIR_QT = "${QTDIR}/lib" -export OE_QMAKE_LIBS_QT = "qt" -export OE_QMAKE_LIBS_X11 = "-lXext -lX11 -lm" + +inherit qmake2 |