[oe-commits] org.oe.dev packages/qt4/qt4-x11-free, qtopia-core: Unify configure and compile of Qt4

freyther commit openembedded-commits at lists.openembedded.org
Wed Dec 26 12:16:42 UTC 2007


packages/qt4/qt4-x11-free,qtopia-core: Unify configure and compile of Qt4
    Adjust packaging to look into the directories we configured.

Author: freyther at openembedded.org
Branch: org.openembedded.dev
Revision: 63730890168eb9b6eef1166d414533f7eada62aa
ViewMTN: http://monotone.openembedded.org/revision/info/63730890168eb9b6eef1166d414533f7eada62aa
Files:
1
packages/qt4/qt_configuration.inc
packages/qt4/qt4-x11-free.inc
packages/qt4/qt4-x11-free_4.3.3.bb
packages/qt4/qt4_arch.inc
packages/qt4/qt_depends.inc
packages/qt4/qt_packaging.inc
packages/qt4/qtopia-core.inc
packages/qt4/qtopia-core_4.3.3.bb
Diffs:

#
# mt diff -rdb92c83dc2c0021ebc1ec1e9bc8a21580d7644ec -r63730890168eb9b6eef1166d414533f7eada62aa
#
# 
# 
# add_file "packages/qt4/qt_configuration.inc"
#  content [9d2731589de2bc5f5195ba4f88afc63bee8eda96]
# 
# patch "packages/qt4/qt4-x11-free.inc"
#  from [d061ee4924dec8a374a58096f368c1e22518520c]
#    to [a99292831252f324b8e9815bd93e9b728528f091]
# 
# patch "packages/qt4/qt4-x11-free_4.3.3.bb"
#  from [58d3f52356899445c4479f629c68d99d58176926]
#    to [1b9ee1d15bc6a358c4697210a08c117eb527619e]
# 
# patch "packages/qt4/qt4_arch.inc"
#  from [4e96b7a8318aafe3d9e79c303157567a964d1242]
#    to [66bd102114f50fe3120367af2f65157b737db929]
# 
# patch "packages/qt4/qt_depends.inc"
#  from [69c5d5bf5ded1a90dcdffee3945ef05d9ec091d3]
#    to [2fd4202201d2ae2c8c52f8b9c4ac142e55516259]
# 
# patch "packages/qt4/qt_packaging.inc"
#  from [db57354c5a87bcf250e71b707217e74179ebb4a2]
#    to [18b270dda2139ab49d6215c82bbee98a233c2e4c]
# 
# patch "packages/qt4/qtopia-core.inc"
#  from [c0e79050b94daa220ff3f331e140dff5028037af]
#    to [57d672ef83c4f26319865a5d79fde5f082d55be0]
# 
# patch "packages/qt4/qtopia-core_4.3.3.bb"
#  from [d7f1a4086fb76c236836ccc83f0af34b0167d0a9]
#    to [a8b51c0290334a4ffcc351751b0391c9f4952502]
# 
============================================================
--- packages/qt4/qt_configuration.inc	9d2731589de2bc5f5195ba4f88afc63bee8eda96
+++ packages/qt4/qt_configuration.inc	9d2731589de2bc5f5195ba4f88afc63bee8eda96
@@ -0,0 +1,67 @@
+require qt4_arch.inc
+QT_ARCH := "${@qt_arch(d)}"
+QT_ENDIAN = "${@qt_endian(d)}"
+
+QT_CONFIG_FLAGS = "-release -no-cups -no-accessibility -reduce-relocations \
+                   -shared -no-nas-sound -no-sm -no-nis \
+                   -qt-gif -system-libjpeg -system-libpng -system-zlib \
+                    -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 \
+                   -pch -qdbus -stl -glib"
+
+PARALLEL_MAKE = ""
+EXTRA_OEMAKE = "-e"
+
+EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake2 -after \
+             INCPATH+=${STAGING_INCDIR}/freetype2 LIBS+=-L${STAGING_LIBDIR}" \
+             QMAKESPEC="${QMAKESPEC}" LINK="${CXX} -Wl,-rpath-link,${STAGING_LIBDIR}" \
+             AR="${TARGET_PREFIX}ar cqs" \
+             MOC="${STAGING_BINDIR_NATIVE}/moc4" UIC="${STAGING_BINDIR_NATIVE}/uic4" MAKE="make -e"'
+
+do_configure() {
+    unset QMAKESPEC
+    ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
+    ln -s linux-g++ mkspecs/${TARGET_OS}-oe-g++
+
+    echo yes | ./configure -v \
+            -prefix ${prefix} \
+            -bindir ${bindir} \
+            -libdir ${libdir} \
+            -datadir ${datadir} \
+            -sysconfdir ${sysconfdir} \
+            -docdir ${docdir}/${QT_DIR_NAME} \
+            -headerdir ${includedir} \
+            -plugindir ${libdir}/${QT_DIR_NAME}/plugins \
+            -translationdir ${datadir}/${QT_DIR_NAME}/translations \
+            -examplesdir ${bindir}/${QT_DIR_NAME}/examples \
+            -demosdir ${bindir}/${QT_DIR_NAME}/demos \
+            -platform ${TARGET_OS}-oe-g++ \
+            -xplatform ${TARGET_OS}-oe-g++ \
+            -embedded ${QT_ARCH} ${QT_ENDIAN} -fast \
+            -crossarch ${QT_ARCH}
+            ${QT_CONFIG_FLAGS} -fast \
+            -L${STAGING_LIBDIR} -I${STAGING_INCDIR}
+            -I${STAGING_INCDIR}/freetype2
+}
+
+do_compile() {
+    unset CFLAGS CXXFLAGS
+    install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${S}/bin/rcc
+    install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${S}/bin/moc
+    install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${S}/bin/uic
+
+    oe_runmake ${EXTRA_ENV}
+}
+
+#
+# Fixup some pkgconfig files
+# moc_location=/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/bin/moc
+# uic_location=/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/bin/uic
+#
+# Libs: -L${libdir} -lQtNetwork -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/staging/arm-angstrom-linux/lib -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/lib  $(LIBS_EXTRA) -lQtCore -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/staging/arm-angstrom-linux/lib -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/lib -lm -lrt -lpthread -ldl
+#
+do_compile_append() {
+    cd ${S}/lib/pkgconfig
+    sed -i s#"-L${S}/lib"##g *.pc
+    sed -i s#"moc_location=${S}/bin/moc"#moc_location=${STAGING_BINDIR}/moc4# *.pc
+    sed -i s#"uic_location=${S}/bin/uic"#uic_location=${STAGING_BINDIR}/uic4# *.pc
+}
============================================================
--- packages/qt4/qt4-x11-free.inc	d061ee4924dec8a374a58096f368c1e22518520c
+++ packages/qt4/qt4-x11-free.inc	a99292831252f324b8e9815bd93e9b728528f091
@@ -18,6 +18,7 @@ QT_LIBRARY_NAME = "libQt"
 QT_BASE_NAME = "qt4"
 QT_BASE_LIB  = "libqt"
 QT_LIBRARY_NAME = "libQt"
+QT_DIR_NAME = "qt4"
 require qt_packaging.inc
 require qt_depends.inc
 
============================================================
--- packages/qt4/qt4-x11-free_4.3.3.bb	58d3f52356899445c4479f629c68d99d58176926
+++ packages/qt4/qt4-x11-free_4.3.3.bb	1b9ee1d15bc6a358c4697210a08c117eb527619e
@@ -1,51 +1,12 @@
-PARALLEL_MAKE = ""
-export QTDIR = "${S}"
 STAGING_QT_DIR = "${STAGING_DIR}/${TARGET_SYS}/qt4"
-EXTRA_OEMAKE = "-e"
 
-require qt4_arch.inc
 
-QT_ARCH := "${@qt_arch(d)}"
 
 # FIXME:
 # * add missing options
-QT_CONFIG_FLAGS = "-release -shared -qt-zlib -system-libjpeg -no-nas-sound -no-sm -no-libmng -qt-libpng -no-gif -no-xinerama \
-                   -no-tablet -no-xkb -no-nis -no-cups -no-opengl \
-                   -no-sse -no-sse2 -no-mmx -no-3dnow \
-                   -no-sql-ibase -no-sql-mysql -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 \
-                   -qdbus \
-                   -verbose -stl -no-accessibility \
-                   -pch -no-glib"
+QT_CONFIG_FLAGS += "-no-xinerama -no-tablet -no-xkb -no-opengl"
 
-EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake2 -after DEFINES+=QT_NO_XIM INCPATH+=${STAGING_INCDIR} \
-             INCPATH+=${STAGING_INCDIR}/freetype2 LIBS+=-L${STAGING_LIBDIR}" \
-             QMAKESPEC="${QMAKESPEC}" LINK="${CXX} -Wl,-rpath-link,${STAGING_LIBDIR}" \
-             AR="${TARGET_PREFIX}ar cqs" \
-             MOC="${STAGING_BINDIR_NATIVE}/moc4" UIC="${STAGING_BINDIR_NATIVE}/uic4" MAKE="make -e"'
 
-do_configure() {
-	echo "DEFINES -= QT_NO_CAST_TO_ASCII" >>src/qbase.pri
-	echo "DEFINES += QT_NO_XIM" >>src/qbase.pri
-	unset QMAKESPEC
-	ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 bin/qmake
-	ln -s linux-g++ mkspecs/${TARGET_OS}-oe-g++
-	#export QMAKESPEC="linux-oe-g++"
-	#rm -rf ./mkspecs
-	#ln -sf ${QMAKE_MKSPEC_PATH} ./mkspecs
-	echo yes | ./configure -prefix / -platform ${TARGET_OS}-oe-g++ -crossarch ${QT_ARCH} ${QT_CONFIG_FLAGS} -fast \
-		-L${STAGING_LIBDIR} -I${STAGING_INCDIR} -I${STAGING_INCDIR}/freetype2 -I${STAGING_INCDIR}/mysql
-}
-
-# FIXME: Might want to compile the cross tools for the -dev packages as well...
-do_compile() {
-	unset CFLAGS CXXFLAGS
-	install -m 0755 ${STAGING_BINDIR_NATIVE}/rcc4 ${S}/bin/rcc
-	install -m 0755 ${STAGING_BINDIR_NATIVE}/moc4 ${S}/bin/moc
-	install -m 0755 ${STAGING_BINDIR_NATIVE}/uic4 ${S}/bin/uic
-
-	oe_runmake ${EXTRA_ENV}
-}
-
 PARTS = "3Support AssistantClient Core DBus Designer DesignerComponents Gui Network Script Sql Svg Test Xml"
 
 do_stage() {
============================================================
--- packages/qt4/qt4_arch.inc	4e96b7a8318aafe3d9e79c303157567a964d1242
+++ packages/qt4/qt4_arch.inc	66bd102114f50fe3120367af2f65157b737db929
@@ -1,3 +1,5 @@
+inherit siteinfo
+
 def qt_arch(d):
     import bb, re
     arch = bb.data.getVar('TARGET_ARCH', d, 1)
@@ -11,3 +13,11 @@ def qt_arch(d):
         arch = "mips"
     return arch
 
+def qt_endian(d):
+    import bb
+    if bb.data.getVar('SITEINFO_ENDIANESS', d, True) == "le":
+        return "-little-endian"
+    elif bb.data.getVar('SITEINFO_ENDIANESS', d, True) == "be":
+        return "-big-endian"
+    else:
+        assert False
============================================================
--- packages/qt4/qt_depends.inc	69c5d5bf5ded1a90dcdffee3945ef05d9ec091d3
+++ packages/qt4/qt_depends.inc	2fd4202201d2ae2c8c52f8b9c4ac142e55516259
@@ -1,3 +1,3 @@ inherit pkgconfig qmake_base
 inherit pkgconfig qmake_base
 
+DEPENDS += " uicmoc4-native qmake2-native freetype jpeg libpng zlib dbus openssl glib-2.0"
-DEPENDS += " uicmoc4-native qmake2-native freetype jpeg dbus openssl"
============================================================
--- packages/qt4/qt_packaging.inc	db57354c5a87bcf250e71b707217e74179ebb4a2
+++ packages/qt4/qt_packaging.inc	18b270dda2139ab49d6215c82bbee98a233c2e4c
@@ -81,17 +81,14 @@ FILES_${QT_BASE_LIB}dbus4-dbg           
 FILES_${QT_BASE_LIB}dbus4-dev               = "${libdir}/${QT_LIBRARY_NAME}DBus.so"
 FILES_${QT_BASE_LIB}dbus4-dbg               = "${libdir}/.debug/${QT_LIBRARY_NAME}DBus*"
 
-FILES_${QT_BASE_NAME}-plugins-accessible   = "${libdir}/plugins/accessible/*.so"
-FILES_${QT_BASE_NAME}-plugins-codecs       = "${libdir}/plugins/codecs/*.so"
-FILES_${QT_BASE_NAME}-plugins-designer     = "${libdir}/plugins/designer/*.so"
-FILES_${QT_BASE_NAME}-plugins-imageformats = "${libdir}/plugins/imageformats/*.so"
-FILES_${QT_BASE_NAME}-plugins-sqldrivers   = "${libdir}/plugins/sqldrivers/*.so"
-FILES_${QT_BASE_NAME}-plugins-inputmethods = "${libdir}/plugins/inputmethods/*.so"
-FILES_${QT_BASE_NAME}-plugins-iconengines  = "${libdir}/plugins/iconengines/*.so"
+FILES_${QT_BASE_NAME}-plugins-accessible   = "${libdir}/${QT_DIR_NAME}/plugins/accessible/*.so"
+FILES_${QT_BASE_NAME}-plugins-codecs       = "${libdir}/${QT_DIR_NAME}/plugins/codecs/*.so"
+FILES_${QT_BASE_NAME}-plugins-designer     = "${libdir}/${QT_DIR_NAME}/plugins/designer/*.so"
+FILES_${QT_BASE_NAME}-plugins-imageformats = "${libdir}/${QT_DIR_NAME}/plugins/imageformats/*.so"
+FILES_${QT_BASE_NAME}-plugins-sqldrivers   = "${libdir}/${QT_DIR_NAME}/plugins/sqldrivers/*.so"
+FILES_${QT_BASE_NAME}-plugins-inputmethods = "${libdir}/${QT_DIR_NAME}/plugins/inputmethods/*.so"
+FILES_${QT_BASE_NAME}-plugins-iconengines  = "${libdir}/${QT_DIR_NAME}/plugins/iconengines/*.so"
 
-FILES_${QT_BASE_NAME}-plugins += "${datadir}/qtopia/plugins/*/*.so"
-FILES_${QT_BASE_NAME}-plugins-dbg += "${datadir}/qtopia/plugins/*/.debug/*.so"
-
 FILES_${QT_BASE_NAME}-assistant            = "${bindir}/*assistant*"
 FILES_${QT_BASE_NAME}-designer             = "${bindir}/*designer*"
 FILES_${QT_BASE_NAME}-linguist             = "${bindir}/*linguist* ${bindir}/lrelease ${bindir}/lupdate ${bindir}/qm2ts"
============================================================
--- packages/qt4/qtopia-core.inc	c0e79050b94daa220ff3f331e140dff5028037af
+++ packages/qt4/qtopia-core.inc	57d672ef83c4f26319865a5d79fde5f082d55be0
@@ -13,6 +13,7 @@ QT_LIBRARY_NAME = "libQt"
 QT_BASE_NAME = "qtopiacore"
 QT_BASE_LIB  = "libqtopiacore"
 QT_LIBRARY_NAME = "libQt"
+QT_DIR_NAME = "qtopia"
 require qt_packaging.inc
 require qt_depends.inc
 
============================================================
--- packages/qt4/qtopia-core_4.3.3.bb	d7f1a4086fb76c236836ccc83f0af34b0167d0a9
+++ packages/qt4/qtopia-core_4.3.3.bb	a8b51c0290334a4ffcc351751b0391c9f4952502
@@ -1,99 +1,7 @@
-# Qmake gets confused by environment variables, as it builds both HOST
-# and TARGET objects. The correct compiler settings come from the mkspec
-# and are set with the OE_QMAKE_ variables
-PARALLEL_MAKE = ""
-EXTRA_OEMAKE = " MAKEFLAGS= "
-
-# This stuff could also be done by inheriting qmake, but I didn't want to
-# bother with the qmake separation from the Qtopia configure. This separation
-# is probably nothing more than a patch on the configure and setting some
-# environment variables to use our own qmake/moc/uic, but that's something
-# to figure out later.
-export OE_QMAKE_CC="${CC}"
-export OE_QMAKE_CFLAGS="${CFLAGS}"
-export OE_QMAKE_CXX="${CXX}"
-export OE_QMAKE_CXXFLAGS="-fno-exceptions ${CXXFLAGS}"
-export OE_QMAKE_LDFLAGS="${LDFLAGS}"
-export OE_QMAKE_LINK="${CXX}"
-export OE_QMAKE_AR="${AR}"
-export OE_QMAKE_RANLIB="${RANLIB}"
-export OE_QMAKE_STRIP="echo"
-export OE_QMAKE_RPATH="-Wl,-rpath-link,"
-export OE_QMAKE_INCDIR_QT="${QTDIR}/include"
-export OE_QMAKE_LIBDIR_QT="${QTDIR}/lib"
-export OE_QMAKE_INCDIR_QTOPIA="${QTOPIADIR}/include"
-export OE_QMAKE_LIBDIR_QTOPIA="${QTOPIADIR}/lib"
-
-require qt4_arch.inc
-QT_ARCH := "${@qte_arch(d)}"
-
-# FIXME use info.bbclass once it has been commited
-QT_ENDIAN = "-little-endian"
-
-# We don't build the examples and demos atm. They're quite big and not used
-# frequently, only for testing maybe. Feel free to change and to package
-# them separately.
-QT_CONFIG_FLAGS = "-release \
-    -no-cups -no-accessibility \
-    -nomake demos -nomake examples -nomake tools -reduce-relocations \
+QT_CONFIG_FLAGS += " \
+    -nomake demos -nomake examples -nomake tools \
     -qt-mouse-tslib -qt-gfx-transformed -embedded ${QT_ARCH}"
 
-do_configure() {
-    # Hack to honor our compiler flags
-    sed -i s/-O2//g ${S}/mkspecs/*/qmake.conf
-    sed -i s/-O2//g ${S}/mkspecs/*/*/qmake.conf
-
-
-    # Install the OE build templates (something which might be done
-    # by inheriting qmake)
-    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
-
-    # The Qmake Makefile generation doesn't like these environment
-    # variables, as they mess up the HOST tools builds
-    unset CC
-    unset CXX
-    unset CFLAGS
-    unset CXXFLAGS
-    unset LDFLAGS
-
-    # For rationale behind the installation locations, see remark above
-    echo yes | ./configure -v \
-        -prefix ${prefix} \
-        -bindir ${bindir} \
-        -libdir ${libdir} \
-        -docdir ${docdir}/qtopia \
-        -headerdir ${includedir} \
-        -plugindir ${datadir}/qtopia/plugins \
-        -datadir ${datadir} \
-        -translationdir ${datadir}/qtopia/translations \
-        -sysconfdir ${sysconfdir} \
-        -examplesdir ${bindir}/qtopia/examples \
-        -demosdir ${bindir}/qtopia/demos \
-        -embedded ${QT_ARCH} ${QT_ENDIAN} -fast \
-        -xplatform linux-oe-g++ \
-        ${QT_CONFIG_FLAGS} \
-        -L${STAGING_LIBDIR} -I${STAGING_INCDIR}
-}
-
-#
-# Fixup some pkgconfig files
-# moc_location=/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/bin/moc
-# uic_location=/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/bin/uic
-#
-# Libs: -L${libdir} -lQtNetwork -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/staging/arm-angstrom-linux/lib -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/lib  $(LIBS_EXTRA) -lQtCore -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/staging/arm-angstrom-linux/lib -L/home/zecke/gmit/dela_build/git/openembedded-gmit.zecke/build/oetmp/work/arm-oabi-angstrom-linux/qtopia-core-4.3.0-r2/qtopia-core-opensource-src-4.3.0/lib -lm -lrt -lpthread -ldl
-#
-do_compile_append() {
-    cd ${S}/lib/pkgconfig
-    sed -i s#"-L${S}/lib"##g *.pc
-    sed -i s#"moc_location=${S}/bin/moc"#moc_location=${STAGING_BINDIR}/moc4# *.pc
-    sed -i s#"uic_location=${S}/bin/uic"#uic_location=${STAGING_BINDIR}/uic4# *.pc
-}
-
 do_stage_append() {
     echo "Fixing up Qt"
     cd ${STAGING_LIBDIR}/pkgconfig






More information about the Openembedded-commits mailing list