diff --git a/meta/classes/sip.bbclass b/meta/classes/sip.bbclass
new file mode 100644
index 0000000..6ed2a13
--- /dev/null
+++ b/meta/classes/sip.bbclass
@@ -0,0 +1,61 @@
+# Build Class for Sip based Python Bindings
+# (C) Michael 'Mickey' Lauer <mickey@Vanille.de>
+#
+STAGING_SIPDIR ?= "${STAGING_DATADIR_NATIVE}/sip"
+
+DEPENDS  =+ "sip-native"
+RDEPENDS_${PN} += "python-sip"
+
+# default stuff, do not uncomment
+# EXTRA_SIPTAGS = "-tWS_X11 -tQt_4_3_0"
+
+# do_generate is before do_configure so ensure that sip_native is populated in sysroot before executing it
+do_generate[depends] += "sip-native:do_populate_sysroot"
+
+sip_do_generate() {
+	if [ -z "${SIP_MODULES}" ]; then 
+		MODULES="`ls sip/*mod.sip`"
+	else
+		MODULES="${SIP_MODULES}"
+	fi
+
+	if [ -z "$MODULES" ]; then
+		die "SIP_MODULES not set and no modules found in $PWD"
+        else
+		bbnote "using modules '${SIP_MODULES}' and tags '${EXTRA_SIPTAGS}'"
+	fi
+
+	if [ -z "${EXTRA_SIPTAGS}" ]; then
+		die "EXTRA_SIPTAGS needs to be set!"
+	else
+		SIPTAGS="${EXTRA_SIPTAGS}"
+	fi
+
+	if [ ! -z "${SIP_FEATURES}" ]; then
+		FEATURES="-z ${SIP_FEATURES}"
+		bbnote "sip feature file: ${SIP_FEATURES}"
+	fi
+
+	for module in $MODULES
+	do
+		install -d ${module}/
+		echo "calling 'sip4 -I sip -I ${STAGING_SIPDIR} ${SIPTAGS} ${FEATURES} -c ${module} -b ${module}/${module}.pro.in sip/${module}/${module}mod.sip'"
+		sip4 -I ${STAGING_SIPDIR} -I sip ${SIPTAGS} ${FEATURES} -c ${module} -b ${module}/${module}.sbf \
+			sip/${module}/${module}mod.sip || die "Error calling sip on ${module}"
+		sed -e 's,target,TARGET,' -e 's,sources,SOURCES,' -e 's,headers,HEADERS,' \
+			${module}/${module}.sbf | sed s,"moc_HEADERS =","HEADERS +=", \
+			>${module}/${module}.pro
+		echo "TEMPLATE=lib" >>${module}/${module}.pro
+		[ "${module}" = "qt" ] 		&& echo "" 		>>${module}/${module}.pro
+		[ "${module}" = "qtcanvas" ] 	&& echo ""		>>${module}/${module}.pro
+		[ "${module}" = "qttable" ] 	&& echo ""		>>${module}/${module}.pro
+		[ "${module}" = "qwt" ] 	&& echo ""		>>${module}/${module}.pro
+		[ "${module}" = "qtpe" ]        && echo ""		>>${module}/${module}.pro
+		[ "${module}" = "qtpe" ]        && echo "LIBS+=-lqpe"	>>${module}/${module}.pro
+		true
+	done
+}
+
+EXPORT_FUNCTIONS do_generate
+
+addtask generate after do_unpack do_patch before do_configure
