[oe-commits] org.oe.dev classes/{qmake*, qt4x11}.bbclass: Add a qmake2.bbclass to use qmake version two

freyther commit openembedded-commits at lists.openembedded.org
Mon Sep 3 14:03:41 UTC 2007


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.

Author: freyther at openembedded.org
Branch: org.openembedded.dev
Revision: 862b21d8f8b53f723771b71216302b89245e8b8a
ViewMTN: http://monotone.openembedded.org/revision.psp?id=862b21d8f8b53f723771b71216302b89245e8b8a
Files:
1
classes/qmake2.bbclass
classes/qmake-base.bbclass
classes/qmake.bbclass
classes/qt4x11.bbclass
packages/webkit/webkit-gtk_svn.bb
Diffs:

#
# mt diff -rd0071324068f8eb2dc24e8f306006303df784ca8 -r862b21d8f8b53f723771b71216302b89245e8b8a
#
# 
# 
# add_file "classes/qmake2.bbclass"
#  content [a1af56cd2193e33f5e44f6c7781760386a74d850]
# 
# patch "classes/qmake-base.bbclass"
#  from [a489a220fe2b3f37bb01107cc1365e48bea86430]
#    to [ad812ccb8f270d4c422cc80258d173e249f04f12]
# 
# patch "classes/qmake.bbclass"
#  from [17ebd03d219366c0e1c20d75ad8cb8d3274b99e4]
#    to [3ef973d2c334ac644e2f124902ea399136985ee5]
# 
# patch "classes/qt4x11.bbclass"
#  from [c1c773af617672d8ff38e8bd5f5d04d6773ae67c]
#    to [dadca92eaa92ca965bfe00bf480dffb806e1d45c]
# 
# patch "packages/webkit/webkit-gtk_svn.bb"
#  from [cb5b674496bc18948802b1c9b8f634d574e64268]
#    to [d4502d16a5835c6b6f743bd4033bb0c4d66e43de]
# 
============================================================
--- classes/qmake2.bbclass	a1af56cd2193e33f5e44f6c7781760386a74d850
+++ classes/qmake2.bbclass	a1af56cd2193e33f5e44f6c7781760386a74d850
@@ -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"
============================================================
--- classes/qmake-base.bbclass	a489a220fe2b3f37bb01107cc1365e48bea86430
+++ classes/qmake-base.bbclass	ad812ccb8f270d4c422cc80258d173e249f04f12
@@ -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 @@ export OE_QMAKE_CXX="${CXX}"
 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
============================================================
--- classes/qmake.bbclass	17ebd03d219366c0e1c20d75ad8cb8d3274b99e4
+++ classes/qmake.bbclass	3ef973d2c334ac644e2f124902ea399136985ee5
@@ -1,57 +1,14 @@ inherit qmake-base
 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 "
 
-		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
+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=""
 
-	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
============================================================
--- classes/qt4x11.bbclass	c1c773af617672d8ff38e8bd5f5d04d6773ae67c
+++ classes/qt4x11.bbclass	dadca92eaa92ca965bfe00bf480dffb806e1d45c
@@ -1,18 +1,3 @@
-DEPENDS_prepend = "qmake2-native "
 DEPENDS_prepend = "${@["qt4x11 ", ""][(bb.data.getVar('PN', d, 1) == 'qt4-x11-free')]}"
+
+inherit qmake2
-#
-# 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"
============================================================
--- packages/webkit/webkit-gtk_svn.bb	cb5b674496bc18948802b1c9b8f634d574e64268
+++ packages/webkit/webkit-gtk_svn.bb	d4502d16a5835c6b6f743bd4033bb0c4d66e43de
@@ -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 @@ S = "${WORKDIR}/"
 "
 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






More information about the Openembedded-commits mailing list