diff options
author | Jeremy Lainé <jeremy.laine@m4x.org> | 2009-03-26 15:03:02 +0100 |
---|---|---|
committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2009-03-26 15:03:02 +0100 |
commit | 613166bd06177b70d7b5f070144260f9d25544cb (patch) | |
tree | 6c7c31d2c8adea1b8e9b71bec25b7d136732489c /recipes/qt4/qt4.inc | |
parent | e91b799bcb19d8bee0d4dda8903e834d2b4b556c (diff) |
qt4: overhaul packaging and staging rules
Diffstat (limited to 'recipes/qt4/qt4.inc')
-rw-r--r-- | recipes/qt4/qt4.inc | 368 |
1 files changed, 132 insertions, 236 deletions
diff --git a/recipes/qt4/qt4.inc b/recipes/qt4/qt4.inc index 53abf563aa..8121b9f711 100644 --- a/recipes/qt4/qt4.inc +++ b/recipes/qt4/qt4.inc @@ -1,4 +1,4 @@ -inherit pkgconfig qmake_base +inherit qmake_base DEPENDS += " qt4-tools-native freetype jpeg libpng zlib dbus openssl glib-2.0 gstreamer gst-plugins-base" @@ -22,6 +22,68 @@ EXTRA_ENV = 'QMAKE="${STAGING_BINDIR_NATIVE}/qmake2 -after \ export QT_CONF_PATH="${WORKDIR}/qt.conf" +# Library packages +QT_LIB_NAMES = "Qt3Support QtAssistantClient QtCLucene QtCore QtDBus QtDesigner QtDesignerComponents QtGui QtHelp QtNetwork QtOpenGL QtScript QtSql QtSvg QtTest QtUiTools QtWebKit QtXml phonon" +python __anonymous () { + import bb + + lib_packages = [] + dev_packages = [] + dbg_packages = [] + for name in bb.data.getVar("QT_LIB_NAMES", d, 1).split(): + pkg = "${QT_BASE_LIB}"+ name.lower().replace("qt", "") + "4" + # NOTE: the headers for QtAssistantClient are different + incname = name.replace("QtAssistantClient", "QtAssistant") + bb.data.setVar("FILES_%s" % pkg, "%(pkg)s ${libdir}/lib%(name)s${QT_LIBINFIX}.so.*" % locals(), d) + bb.data.setVar("FILES_%s-dev" % pkg, """${libdir}/lib%(name)s${QT_LIBINFIX}.prl + ${libdir}/lib%(name)s${QT_LIBINFIX}.a + ${libdir}/lib%(name)s${QT_LIBINFIX}.la + ${libdir}/lib%(name)s${QT_LIBINFIX}.so + ${includedir}/${QT_DIR_NAME}/%(incname)s + ${libdir}/pkgconfig/%(name)s${QT_LIBINFIX}.pc""" % locals(), d) + bb.data.setVar("FILES_%s-dbg" % pkg, "${libdir}/.debug/lib%(name)s${QT_LIBINFIX}.so.*" % locals(), d) + lib_packages.append(pkg) + dev_packages.append("%s-dev" % pkg) + dbg_packages.append("%s-dbg" % pkg) + bb.data.setVar("LIB_PACKAGES", " ".join(lib_packages), d) + bb.data.setVar("DEV_PACKAGES", " ".join(dev_packages), d) + bb.data.setVar("DBG_PACKAGES", " ".join(dbg_packages), d) +} + +OTHER_PACKAGES = "\ + ${QT_BASE_NAME}-assistant \ + ${QT_BASE_NAME}-common \ + ${QT_BASE_NAME}-dbus \ + ${QT_BASE_NAME}-demos \ + ${QT_BASE_NAME}-designer \ + ${QT_BASE_NAME}-examples \ + ${QT_BASE_NAME}-fonts \ + ${QT_BASE_NAME}-linguist \ + ${QT_BASE_NAME}-pixeltool" + +PACKAGES += "${LIB_PACKAGES} ${DEV_PACKAGES} ${DBG_PACKAGES} ${OTHER_PACKAGES}" +PACKAGES_DYNAMIC = "${QT_BASE_NAME}-plugin-*" + +ALLOW_EMPTY_${PN} = "1" +ALLOW_EMPTY_${QT_BASE_LIB}uitools4 = "1" +FILES_${PN} = "" +FILES_${PN}-dev = " ${includedir}/${QT_DIR_NAME}/Qt/*" +FILES_${PN}-dbg = "${bindir}/*/.debug " +RRECOMMENDS_${PN} = "${LIB_PACKAGES} ${OTHER_PACKAGES}" +RRECOMMENDS_${PN}-dev = "${DEV_PACKAGES}" +RRECOMMENDS_${PN}-dbg = "${DBG_PACKAGES}" + +FILES_${QT_BASE_NAME}-assistant = "${bindir}/*assistant*" +FILES_${QT_BASE_NAME}-common = "${bindir}/qtconfig" +FILES_${QT_BASE_NAME}-dbus = "${bindir}/qdbus ${bindir}/qdbusxml2cpp ${bindir}/qdbuscpp2xml ${bindir}/qdbusviewer" +FILES_${QT_BASE_NAME}-demos = "${bindir}/qtdemo ${bindir}/${QT_DIR_NAME}/demos/*" +FILES_${QT_BASE_NAME}-designer = "${bindir}/*designer*" +FILES_${QT_BASE_NAME}-examples = "${bindir}/${QT_DIR_NAME}/examples/*" +FILES_${QT_BASE_NAME}-fonts = "${libdir}/fonts" +FILES_${QT_BASE_NAME}-linguist = "${bindir}/*linguist* ${bindir}/lrelease ${bindir}/lupdate ${bindir}/qm2ts" +FILES_${QT_BASE_NAME}-pixeltool = "${bindir}/pixeltool" + + do_configure() { unset QMAKESPEC unset QTDIR @@ -71,166 +133,6 @@ do_compile() { 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 -} - - -NONDEV_PACKAGES += "${QT_BASE_LIB}core4 ${QT_BASE_LIB}gui4 ${QT_BASE_LIB}network4 \ - ${QT_BASE_LIB}sql4 ${QT_BASE_LIB}svg4 ${QT_BASE_LIB}test4 ${QT_BASE_LIB}xml4 \ - ${QT_BASE_LIB}designer4 ${QT_BASE_LIB}designercomponents4 \ - ${QT_BASE_LIB}3support4 ${QT_BASE_LIB}assistantclient4 ${QT_BASE_LIB}script4 \ - ${QT_BASE_LIB}dbus4 ${QT_BASE_LIB}opengl4 \ - ${QT_BASE_LIB}help ${QT_BASE_LIB}clucene ${QT_BASE_LIB}webkit ${QT_BASE_LIB}phonon\ - ${QT_BASE_NAME}-assistant ${QT_BASE_NAME}-common \ - ${QT_BASE_NAME}-designer \ - ${QT_BASE_NAME}-demos ${QT_BASE_NAME}-examples \ - ${QT_BASE_NAME}-linguist \ - ${QT_BASE_NAME}-pixeltool ${QT_BASE_NAME}-dbus \ - ${QT_BASE_NAME}-fonts " - -DEV_PACKAGES += "${QT_BASE_LIB}core4-dev \ - ${QT_BASE_LIB}gui4-dev \ - ${QT_BASE_LIB}network4-dev \ - ${QT_BASE_LIB}sql4-dev \ - ${QT_BASE_LIB}svg4-dev \ - ${QT_BASE_LIB}test4-dev \ - ${QT_BASE_LIB}xml4-dev \ - ${QT_BASE_LIB}designer4-dev \ - ${QT_BASE_LIB}designercomponents4-dev \ - ${QT_BASE_LIB}3support4-dev \ - ${QT_BASE_LIB}assistantclient4-dev \ - ${QT_BASE_LIB}script4-dev \ - ${QT_BASE_LIB}dbus4-dev \ - ${QT_BASE_LIB}opengl4-dev \ - ${QT_BASE_LIB}uitools4-dev \ - ${QT_BASE_LIB}help-dev \ - ${QT_BASE_LIB}clucene-dev \ - ${QT_BASE_LIB}webkit-dev \ - ${QT_BASE_LIB}phonon-dev \ - " - -DBG_PACKAGES += "${QT_BASE_LIB}core4-dbg \ - ${QT_BASE_LIB}gui4-dbg \ - ${QT_BASE_LIB}network4-dbg \ - ${QT_BASE_LIB}sql4-dbg \ - ${QT_BASE_LIB}svg4-dbg \ - ${QT_BASE_LIB}test4-dbg \ - ${QT_BASE_LIB}xml4-dbg \ - ${QT_BASE_LIB}designer4-dbg \ - ${QT_BASE_LIB}designercomponents4-dbg \ - ${QT_BASE_LIB}3support4-dbg \ - ${QT_BASE_LIB}assistantclient4-dbg \ - ${QT_BASE_LIB}script4-dbg \ - ${QT_BASE_LIB}dbus4-dbg \ - ${QT_BASE_LIB}opengl4-dbg \ - ${QT_BASE_LIB}help-dbg \ - ${QT_BASE_LIB}clucene-dbg \ - ${QT_BASE_LIB}webkit-dbg \ - ${QT_BASE_LIB}phonon-dbg \ - " - -PACKAGES += "${DEV_PACKAGES} ${NONDEV_PACKAGES} ${DBG_PACKAGES}" -PACKAGES_DYNAMIC = "${QT_BASE_NAME}-plugin-*" - -ALLOW_EMPTY_${PN} = "1" -FILES_${PN} = "" -FILES_${PN}-dev = " ${includedir}/${QT_DIR_NAME}/Qt/*" -FILES_${PN}-dbg = "${bindir}/*/.debug " -RRECOMMENDS_${PN} = "${NONDEV_PACKAGES}" -RRECOMMENDS_${PN}-dev = "${DEV_PACKAGES}" -RRECOMMENDS_${PN}-dbg = "${DBG_PACKAGES}" - -def qt_default_dev(name): - return """${libdir}/libQt%(name)s${QT_LIBINFIX}.la - ${libdir}/libQt%(name)s${QT_LIBINFIX}.prl - ${libdir}/libQt%(name)s${QT_LIBINFIX}.so - ${includedir}/${QT_DIR_NAME}/Qt%(name)s* - ${libdir}/pkgconfig/Qt%(name)s${QT_LIBINFIX}.pc""" % locals() - - -FILES_${QT_BASE_LIB}core4 = "${libdir}/libQtCore${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}core4-dev = "${@qt_default_dev('Core')}" -FILES_${QT_BASE_LIB}core4-dbg = "${libdir}/.debug/libQtCore*" -FILES_${QT_BASE_LIB}gui4 = "${libdir}/libQtGui${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}gui4-dev = "${@qt_default_dev('Gui')}" -FILES_${QT_BASE_LIB}gui4-dbg = "${libdir}/.debug/libQtGui*" -FILES_${QT_BASE_LIB}network4 = "${libdir}/libQtNetwork${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}network4-dev = "${@qt_default_dev('Network')}" -FILES_${QT_BASE_LIB}network4-dbg = "${libdir}/.debug/libQtNetwork${QT_LIBINFIX}*" -FILES_${QT_BASE_LIB}sql4 = "${libdir}/libQtSql${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}sql4-dev = "${@qt_default_dev('Sql')}" -FILES_${QT_BASE_LIB}sql4-dbg = "${libdir}/.debug/libQtSql*" -FILES_${QT_BASE_LIB}svg4 = "${libdir}/libQtSvg${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}svg4-dev = "${@qt_default_dev('Svg')}" -FILES_${QT_BASE_LIB}svg4-dbg = "${libdir}/.debug/libQtSvg*" -FILES_${QT_BASE_LIB}test4 = "${libdir}/libQtTest${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}test4-dev = "${@qt_default_dev('Test')}" -FILES_${QT_BASE_LIB}test4-dbg = "${libdir}/.debug/libQtTest*" -FILES_${QT_BASE_LIB}xml4 = "${libdir}/libQtXml${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}xml4-dev = "${@qt_default_dev('Xml')}" -FILES_${QT_BASE_LIB}xml4-dbg = "${libdir}/.debug/libQtXml*" -FILES_${QT_BASE_LIB}designer4 = "${libdir}/libQtDesigner${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}designer4-dev = "${@qt_default_dev('Designer')}" -FILES_${QT_BASE_LIB}designer4-dbg = "${libdir}/.debug/libQtDesigner*" -FILES_${QT_BASE_LIB}designercomponents4 = "${libdir}/libQtDesignerComponents${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}designercomponents4-dev = "${@qt_default_dev('DesignerComponents')}" -FILES_${QT_BASE_LIB}designercomponents4-dbg = "${libdir}/.debug/libQtDesignerComponents*" -FILES_${QT_BASE_LIB}3support4 = "${libdir}/libQt3Support${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}3support4-dev = "${@qt_default_dev('3Support')}" -FILES_${QT_BASE_LIB}3support4-dbg = "${libdir}/.debug/libQt3Support*" -FILES_${QT_BASE_LIB}assistantclient4 = "${libdir}/libQtAssistantClient${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}assistantclient4-dev = "${@qt_default_dev('AssistantClient')} ${includedir}/${QT_DIR_NAME}/QtAssistant*" -FILES_${QT_BASE_LIB}assistantclient4-dbg = "${libdir}/.debug/libQtAssistantClient*" -FILES_${QT_BASE_LIB}script4 = "${libdir}/libQtScript${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}script4-dev = "${@qt_default_dev('Script')}" -FILES_${QT_BASE_LIB}script4-dbg = "${libdir}/.debug/libQtScript*" -FILES_${QT_BASE_LIB}dbus4 = "${libdir}/libQtDBus${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}dbus4-dev = "${@qt_default_dev('DBus')}" -FILES_${QT_BASE_LIB}dbus4-dbg = "${libdir}/.debug/libQtDBus*" -FILES_${QT_BASE_LIB}opengl4 = "${libdir}/libQtOpenGL${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}opengl4-dev = "${@qt_default_dev('OpenGL')}" -FILES_${QT_BASE_LIB}opengl4-dbg = "${libdir}/.debug/libQtOpenGL*" -FILES_${QT_BASE_LIB}uitools4-dev = "${libdir}/libQtUiTools* ${includedir}/${QT_DIR_NAME}/QtUiTools* ${libdir}/pkgconfig/QtUiTools${QT_LIBINFIX}.pc" -FILES_${QT_BASE_LIB}help = "${libdir}/libQtHelp${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}help-dev = "${@qt_default_dev('Help')}" -FILES_${QT_BASE_LIB}help-dbg = "${libdir}/.debug/libQtHelp*" -FILES_${QT_BASE_LIB}clucene = "${libdir}/libQtCLucene${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}clucene-dev = "${@qt_default_dev('CLucene')}" -FILES_${QT_BASE_LIB}clucene-dbg = "${libdir}/.debug/libQtCLucene*" -FILES_${QT_BASE_LIB}webkit = "${libdir}/libQtWebKit${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}webkit-dev = "${@qt_default_dev('WebKit')}" -FILES_${QT_BASE_LIB}webkit-dbg = "${libdir}/.debug/libQtWebKit*" -FILES_${QT_BASE_LIB}phonon = "${libdir}/libphonon${QT_LIBINFIX}.so.*" -FILES_${QT_BASE_LIB}phonon-dev = "${libdir}/libphonon${QT_LIBINFIX}.la \ - ${libdir}/libphonon${QT_LIBINFIX}.prl \ - ${libdir}/libphonon${QT_LIBINFIX}.so \ - ${includedir}/${QT_DIR_NAME}/phonon \ - ${libdir}/pkgconfig/phonon${QT_LIBINFIX}.pc" -FILES_${QT_BASE_LIB}phonon-dbg = "${libdir}/.debug/libphonon*" - -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" -FILES_${QT_BASE_NAME}-pixeltool = "${bindir}/pixeltool" -FILES_${QT_BASE_NAME}-dbus = "${bindir}/qdbus ${bindir}/qdbusxml2cpp ${bindir}/qdbuscpp2xml ${bindir}/qdbusviewer" - -FILES_${QT_BASE_NAME}-common = "${bindir}/qtconfig" -FILES_${QT_BASE_NAME}-examples = "${bindir}/${QT_DIR_NAME}/examples/*" -FILES_${QT_BASE_NAME}-demos = "${bindir}/qtdemo ${bindir}/${QT_DIR_NAME}/demos/*" - -FILES_${QT_BASE_NAME}-fonts = "${libdir}/fonts" - python populate_packages_prepend() { translation_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/translations/', d) translation_name = bb.data.expand('${QT_BASE_NAME}-translation-%s', d) @@ -243,29 +145,29 @@ python populate_packages_prepend() { # Package all the plugins and their -dbg version and create a meta package import os def qtopia_split(path, name, glob): - """ - Split the package into a normal and -dbg package and then add the - new packages to the meta package. - """ - plugin_dir = bb.data.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/' % path, d) - if not os.path.exists("%s%s" % (bb.data.expand('${D}',d), plugin_dir)): - bb.note("The path does not exist:", bb.data.expand('${D}', d), plugin_dir) - return - - plugin_name = bb.data.expand('${QT_BASE_NAME}-plugin-%s-%%s' % name, d) - dev_packages = [] - dev_hook = lambda file,pkg,b,c,d:dev_packages.append((file,pkg)) - do_split_packages(d, plugin_dir, glob, plugin_name, '${PN} %s for %%s' % name, extra_depends='', hook=dev_hook) - # Create a -dbg package as well - plugin_dir_dbg = bb.data.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/.debug' % path, d) - packages = bb.data.getVar('PACKAGES',d) - for (file,package) in dev_packages: - packages = "%s %s-dbg" % (packages, package) - file_name = os.path.join(plugin_dir_dbg, os.path.basename(file)) - bb.data.setVar("FILES_%s-dbg" % package, file_name, d) - bb.data.setVar("DESCRIPTION_%s-dbg" % package, "${PN} %s for %s" % (name, package), d) - - bb.data.setVar('PACKAGES', packages, d) + """ + Split the package into a normal and -dbg package and then add the + new packages to the meta package. + """ + plugin_dir = bb.data.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/' % path, d) + if not os.path.exists("%s%s" % (bb.data.expand('${D}',d), plugin_dir)): + bb.note("The path does not exist:", bb.data.expand('${D}', d), plugin_dir) + return + + plugin_name = bb.data.expand('${QT_BASE_NAME}-plugin-%s-%%s' % name, d) + dev_packages = [] + dev_hook = lambda file,pkg,b,c,d:dev_packages.append((file,pkg)) + do_split_packages(d, plugin_dir, glob, plugin_name, '${PN} %s for %%s' % name, extra_depends='', hook=dev_hook) + # Create a -dbg package as well + plugin_dir_dbg = bb.data.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/.debug' % path, d) + packages = bb.data.getVar('PACKAGES',d) + for (file,package) in dev_packages: + packages = "%s %s-dbg" % (packages, package) + file_name = os.path.join(plugin_dir_dbg, os.path.basename(file)) + bb.data.setVar("FILES_%s-dbg" % package, file_name, d) + bb.data.setVar("DESCRIPTION_%s-dbg" % package, "${PN} %s for %s" % (name, package), d) + + bb.data.setVar('PACKAGES', packages, d) qtopia_split('accessible', 'accessible', '^libq(.*)\.so$') qtopia_split('codecs', 'codec', '^libq(.*)\.so$') @@ -282,7 +184,6 @@ python populate_packages_prepend() { qtopia_split('phonon_backend', 'phonon-backend', '^libphonon_(.*)\.so$') } - do_install() { oe_runmake install INSTALL_ROOT=${D} @@ -293,14 +194,17 @@ do_install() { rm -rf ${D}/${bindir}/${QT_DIR_NAME} rm -rf ${D}/${datadir}/${QT_DIR_NAME}/mkspecs - # fix some .la and .pc files - sed -i s#"moc_location=${STAGING_BINDIR}/moc4$"#"moc_location=${bindir}/moc4"# ${D}/${libdir}/pkgconfig/Qt*.pc - sed -i s#"uic_location=${STAGING_BINDIR}/uic4$"#"uic_location=${bindir}/uic4"# ${D}/${libdir}/pkgconfig/Qt*.pc - sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g ${D}/${libdir}/pkgconfig/Qt*.pc - sed -i s#-L${STAGING_LIBDIR}##g ${D}${libdir}/pkgconfig/Qt*.pc + # fix pkgconfig, libtool and prl files + sed -i -e s#-L${S}/lib##g \ + -e s#-L${STAGING_LIBDIR}##g \ + -e s#-L${libdir}##g \ + -e s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g \ + ${D}${libdir}/*.la ${D}${libdir}/*.prl ${D}${libdir}/pkgconfig/*.pc - sed -i s#-L${STAGING_LIBDIR}#-L${libdir}#g ${D}${libdir}/libQt*.la - sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g ${D}/${libdir}/libQt*.la + # fix pkgconfig files + sed -i -e s#"moc_location=.*$"#"moc_location=${bindir}/moc4"# \ + -e s#"uic_location=.*$"#"uic_location=${bindir}/uic4"# \ + ${D}${libdir}/pkgconfig/*.pc install -d ${D}/${libdir}/fonts touch ${D}/${libdir}/fonts/fontdir @@ -312,57 +216,49 @@ do_stage() { mkdir -p ${STAGE_TEMP} oe_runmake install INSTALL_ROOT=${STAGE_TEMP} + # fix pkgconfig, libtool and prl files + sed -i -e s#-L${S}/lib##g \ + -e s#-L${STAGING_LIBDIR}##g \ + -e s#-L${libdir}##g \ + -e s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g \ + ${STAGE_TEMP}${libdir}/*.la ${STAGE_TEMP}${libdir}/*.prl ${STAGE_TEMP}${libdir}/pkgconfig/*.pc + + # fix pkgconfig files + sed -i -e s#"moc_location=.*$"## \ + -e s#"uic_location=.*$"## \ + ${STAGE_TEMP}/${libdir}/pkgconfig/*.pc + + # fix libtool files + sed -i -e s#installed=yes#installed=no#g ${STAGE_TEMP}/${libdir}/*.la + + # install headers install -d ${STAGING_INCDIR} - install -d ${STAGING_LIBDIR} cp -pPRf ${STAGE_TEMP}/${includedir}/* ${STAGING_INCDIR}/ - install -d ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs - cp -pPRf ${STAGE_TEMP}/${datadir}/${QT_DIR_NAME}/mkspecs/* ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/ - for i in ${STAGE_TEMP}/${libdir}/*.la - do - sed -i s,installed=yes,installed=no, $i - sed -i -e "/^dependency_libs=/s,-L${libdir},-L${STAGING_LIBDIR},g" $i - sed -i -e "s,-L${libdir},-L${STAGING_LIBDIR},g" ${STAGE_TEMP}/${libdir}/$(basename $i .la).prl - cp -fpPR $i ${STAGING_LIBDIR} - cp -fpPR ${STAGE_TEMP}/${libdir}/$(basename $i .la).prl ${STAGING_LIBDIR} - oe_libinstall -C ${STAGE_TEMP}/${libdir} -so $(basename $i .la) ${STAGING_LIBDIR} + # install libraries + install -d ${STAGING_LIBDIR} + for i in ${STAGE_TEMP}/${libdir}/*.prl; do + cp -pPRf $i ${STAGING_LIBDIR} + cp -pPRf ${STAGE_TEMP}/${libdir}/$(basename $i .prl).la ${STAGING_LIBDIR} || true + oe_libinstall -C ${STAGE_TEMP}/${libdir} -a $(basename $i .prl) ${STAGING_LIBDIR} || true + oe_libinstall -C ${STAGE_TEMP}/${libdir} -so $(basename $i .prl) ${STAGING_LIBDIR} || true done - for i in libQtAssistantClient${QT_LIBINFIX} libQtDesignerComponents${QT_LIBINFIX} libQtUiTools${QT_LIBINFIX} libQtDesigner${QT_LIBINFIX} - do - sed -i -e "s,-L${libdir},-L${STAGING_LIBDIR},g" $i.prl || true - cp ${STAGE_TEMP}/${libdir}/$i.prl ${STAGING_LIBDIR} || true - sed -i -e "/^dependency_libs=/s,-L${libdir},-L${STAGING_LIBDIR},g" $i.la || true - cp ${STAGE_TEMP}/${libdir}/$i.la ${STAGING_LIBDIR} || true - oe_libinstall -C ${STAGE_TEMP}/${libdir} -so $i ${STAGING_LIBDIR} || true - oe_libinstall -C ${STAGE_TEMP}/${libdir} -a $i ${STAGING_LIBDIR} || true - done + # install pkgconfig files + install -d ${STAGING_LIBDIR}/pkgconfig + cp -pPRf ${STAGE_TEMP}/${libdir}/pkgconfig/*.pc ${STAGING_LIBDIR}/pkgconfig/ + + # install mkspecs + install -d ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs + cp -pPRf ${STAGE_TEMP}/${datadir}/${QT_DIR_NAME}/mkspecs/* ${STAGING_DATADIR}/${QT_DIR_NAME}/mkspecs/ rm -rf ${STAGE_TEMP} -} -# Fixing up some Qt .pc files -do_stage_append() { - cd ${STAGING_LIBDIR}/pkgconfig - sed -i s#"-L${S}/lib"##g Qt*.pc - sed -i s#"moc_location=${STAGING_BINDIR}/moc4$"## Qt*.pc - sed -i s#"uic_location=${STAGING_BINDIR}/uic4$"## Qt*.pc - sed -i s#"-L${STAGING_LIBDIR}"##g Qt*.pc - sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g Qt*.pc - sed -i s#"-L${S}/lib"##g phonon*.pc - sed -i s#"moc_location=${STAGING_BINDIR}/moc4$"## phonon*.pc - sed -i s#"uic_location=${STAGING_BINDIR}/uic4$"## phonon*.pc - sed -i s#"-L${STAGING_LIBDIR}"##g phonon*.pc - sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g phonon*.pc - - cd ${STAGING_LIBDIR} - sed -i s#"-L${S}/lib"##g libQt*.la - sed -i s#'$(OE_QMAKE_LIBS_X11)'#"${OE_QMAKE_LIBS_X11}"#g libQt*.la - - install -d ${STAGING_DATADIR}/${QT_DIR_NAME}/bin - ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 ${STAGING_DATADIR}/${QT_DIR_NAME}/bin/qmake - for qttool in moc uic uic3 rcc lrelease lupdate; do - ln -sf ${STAGING_BINDIR_NATIVE}/${qttool}4 ${STAGING_DATADIR}/${QT_DIR_NAME}/bin/${qttool} - done + # FIXME: install symlinks to tools? + #install -d ${STAGING_DATADIR}/${QT_DIR_NAME}/bin + #ln -sf ${STAGING_BINDIR_NATIVE}/qmake2 ${STAGING_DATADIR}/${QT_DIR_NAME}/bin/qmake + #for qttool in moc uic uic3 rcc lrelease lupdate; do + # ln -sf ${STAGING_BINDIR_NATIVE}/${qttool}4 ${STAGING_DATADIR}/${QT_DIR_NAME}/bin/${qttool} + #done } |