classes/{qmake*,qt4x11}.bbclass: Add a qmake2.bbclass to use qmake version two
authorHolger Freyther <zecke@selfish.org>
Mon, 3 Sep 2007 12:22:20 +0000 (12:22 +0000)
committerHolger Freyther <zecke@selfish.org>
Mon, 3 Sep 2007 12:22:20 +0000 (12:22 +0000)
    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.

classes/qmake-base.bbclass
classes/qmake.bbclass
classes/qmake2.bbclass [new file with mode: 0644]
classes/qt4x11.bbclass
packages/webkit/webkit-gtk_svn.bb

index b623b34..52f6d83 100644 (file)
@@ -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
index 4f2fcef..b45e54c 100644 (file)
@@ -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 (file)
index 0000000..86f1439
--- /dev/null
@@ -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"
index 7046ef1..76a45c3 100644 (file)
@@ -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
index 8a6480d..112c45c 100644 (file)
@@ -1,10 +1,10 @@
-DEPENDS = "flex-native gperf-native gperf perl-native curl icu uicmoc4-native qmake2-native libxml2 sqlite3 cairo libxslt libidn gnutls gtk+"
+DEPENDS = "flex-native gperf-native gperf perl-native curl icu libxml2 sqlite3 cairo libxslt libidn gnutls gtk+"
 
 # Yes, this is wrong...
 PV = "0.0+svn${SRCDATE}"
 PR = "r1"
 
-inherit qmake qt4x11 pkgconfig
+inherit qmake2 pkgconfig
 
 SRC_URI = "\
   svn://svn.webkit.org/repository/webkit/trunk/;module=JavaScriptCore;proto=http \
@@ -21,7 +21,7 @@ SRC_URI = "\
 "
 S = "${WORKDIR}/"
 
-do_configure_append() {
+do_configure() {
        qmake2 -spec ${QMAKESPEC} CONFIG+=gdk-port CONFIG-=qt CONFIG-=release CONFIG+=debug
        mkdir -p WebKitBuilds/Debug
        cd WebKitBuilds/Debug