From 670706d1d3e3b16636818584fec0441f70b793d9 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Tue, 3 Jan 2012 13:41:33 +0000 Subject: qt4: add version 4.8.0 Version 4.8.0 makes a few minor changes in the internal build system - the following issues had to be worked around: * The -qt-gif configure option has been removed. This is actually the default and has been for some time, so remove it from qt4.inc. * The mkspecs have been refactored requiring us to copy our g++.conf file over the top of g++-unix.conf instead. Some modifications to this file were also necessary to remove some settings that are now in other conf files (and we don't modify those values in any case). * The LD environment variable needs to be unset during configure, or else the configure script overrides our value of QMAKE_LINK which selects ${CXX} as our linker. * QMAKE_CXX contains a reference to OE_QMAKE_CXX which the configure script does not expect and cannot expand and this results in webkit being disabled, so add a workaround for this. (From OE-Core rev: 6b2a5d15ad20573502142b635e6cab9bcfb3b40a) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- meta/recipes-qt/qt4/qt-4.8.0.inc | 61 ++++++++++++++++++++ .../0001-Added-Openembedded-crossarch-option.patch | 47 +++++++++++++++ .../recipes-qt/qt4/qt-4.8.0/fix-translations.patch | 32 +++++++++++ meta/recipes-qt/qt4/qt-4.8.0/g++.conf | 56 ++++++++++++++++++ .../qt4/qt-4.8.0/hack-out-pg2-4.7.0.patch | 31 ++++++++++ meta/recipes-qt/qt4/qt-4.8.0/linux.conf | 66 ++++++++++++++++++++++ meta/recipes-qt/qt4/qt-4.8.0/qmake_cxx_eval.patch | 20 +++++++ meta/recipes-qt/qt4/qt4-embedded_4.8.0.bb | 13 +++++ meta/recipes-qt/qt4/qt4-native.inc | 13 ++++- meta/recipes-qt/qt4/qt4-native_4.8.0.bb | 14 +++++ meta/recipes-qt/qt4/qt4-tools-nativesdk.inc | 2 +- meta/recipes-qt/qt4/qt4-tools-nativesdk_4.8.0.bb | 8 +++ meta/recipes-qt/qt4/qt4-x11-free_4.8.0.bb | 13 +++++ meta/recipes-qt/qt4/qt4.inc | 12 +++- 14 files changed, 382 insertions(+), 6 deletions(-) create mode 100644 meta/recipes-qt/qt4/qt-4.8.0.inc create mode 100644 meta/recipes-qt/qt4/qt-4.8.0/0001-Added-Openembedded-crossarch-option.patch create mode 100644 meta/recipes-qt/qt4/qt-4.8.0/fix-translations.patch create mode 100644 meta/recipes-qt/qt4/qt-4.8.0/g++.conf create mode 100644 meta/recipes-qt/qt4/qt-4.8.0/hack-out-pg2-4.7.0.patch create mode 100644 meta/recipes-qt/qt4/qt-4.8.0/linux.conf create mode 100644 meta/recipes-qt/qt4/qt-4.8.0/qmake_cxx_eval.patch create mode 100644 meta/recipes-qt/qt4/qt4-embedded_4.8.0.bb create mode 100644 meta/recipes-qt/qt4/qt4-native_4.8.0.bb create mode 100644 meta/recipes-qt/qt4/qt4-tools-nativesdk_4.8.0.bb create mode 100644 meta/recipes-qt/qt4/qt4-x11-free_4.8.0.bb (limited to 'meta/recipes-qt') diff --git a/meta/recipes-qt/qt4/qt-4.8.0.inc b/meta/recipes-qt/qt4/qt-4.8.0.inc new file mode 100644 index 0000000000..2addbb211f --- /dev/null +++ b/meta/recipes-qt/qt4/qt-4.8.0.inc @@ -0,0 +1,61 @@ +LICENSE = "LGPLv2.1 | GPLv3" +LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \ + file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \ + file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354" + +FILESPATH =. "${FILE_DIRNAME}/qt-${PV}:" + +SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \ + file://0004-no-qmake.patch \ + file://hack-out-pg2-4.7.0.patch \ + file://0006-freetype-host-includes.patch \ + file://0009-support-2bpp.patch \ + file://0001-Added-Openembedded-crossarch-option.patch \ + file://fix-translations.patch \ + file://add_nostrip_for_debug_packages.diff \ + file://qmake_cxx_eval.patch \ + file://g++.conf \ + file://linux.conf \ + " + +SRC_URI[md5sum] = "e8a5fdbeba2927c948d9f477a6abe904" +SRC_URI[sha256sum] = "9392b74e485e15f75a3e07a527547d4f6747eaf55ebce71ba0e863a9fd320b6e" + +S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}" + +FILES_${QT_BASE_NAME}-tools_append = " ${bindir}/qml ${bindir}/qmlplugindump" +FILES_${QT_BASE_NAME}-tools-dbg_append = " ${bindir}/.debug/qml ${bindir}/.debug/qmlplugindump" + +PACKAGES_append = " ${QT_BASE_NAME}-tests-dbg ${QT_BASE_NAME}-tests" +FILES_${QT_BASE_NAME}-tests-dbg = "/usr/tests/qt4/*/.debug" +FILES_${QT_BASE_NAME}-tests = "/usr/tests/qt4/*" + +do_configure_prepend() { + for pro in $(find ${S} -name "*.pro") ; do + sed -i \ + -e 's:$$QT_BUILD_TREE/bin/lrelease:${OE_QMAKE_LRELEASE}:g' \ + -e 's:qtPrepareTool(LRELEASE, lrelease):LRELEASE = ${OE_QMAKE_LRELEASE}:g' $pro + done + + sed -i s:SEDME:${S}: ${WORKDIR}/linux.conf + sed -i \ + -e /QMAKE_MOC\ /d \ + -e /QMAKE_UIC\ /d \ + -e /QMAKE_UIC3\ /d \ + -e /QMAKE_RCC\ /d \ + ${S}/configure + + # Avoid problems with Qt 4.8.0 configure setting QMAKE_LINK from LD (since we want the linker to be g++) + unset LD +} + +do_compile() { + # Fixup missing wsegl header in some SGX SDKs + if ! [ -e ${STAGING_INCDIR}/wsegl.h ] ; then + cp src/3rdparty/powervr/wsegl.h src/plugins/gfxdrivers/powervr/QWSWSEGL/ + fi + + unset CFLAGS CXXFLAGS + + oe_runmake ${EXTRA_ENV} +} diff --git a/meta/recipes-qt/qt4/qt-4.8.0/0001-Added-Openembedded-crossarch-option.patch b/meta/recipes-qt/qt4/qt-4.8.0/0001-Added-Openembedded-crossarch-option.patch new file mode 100644 index 0000000000..f302c5bd61 --- /dev/null +++ b/meta/recipes-qt/qt4/qt-4.8.0/0001-Added-Openembedded-crossarch-option.patch @@ -0,0 +1,47 @@ +From b1ba119f6a824dc01bd42ee00dba4a1653867b72 Mon Sep 17 00:00:00 2001 +From: Matthias Günther +Date: Wed, 12 May 2010 16:52:45 +0200 +Subject: [PATCH 1/9] Added Openembedded "-crossarch" option + +Original Author: Michael Lauer +Upstream-Status: Pending + +--- + configure | 7 ++++++- + 1 files changed, 6 insertions(+), 1 deletions(-) + +diff --git a/configure b/configure +index facd192..9d15136 100755 +--- a/configure ++++ b/configure +@@ -954,7 +954,7 @@ while [ "$#" -gt 0 ]; do + shift + VAL=$1 + ;; +- -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config) ++ -prefix|-docdir|-headerdir|-plugindir|-importdir|-datadir|-libdir|-bindir|-translationdir|-sysconfdir|-examplesdir|-demosdir|-depths|-make|-nomake|-platform|-xplatform|-buildkey|-sdk|-arch|-host-arch|-mysql_config|-crossarch) + VAR=`echo $1 | sed "s,^-\(.*\),\1,"` + shift + VAL="$1" +@@ -1443,6 +1443,9 @@ while [ "$#" -gt 0 ]; do + xplatform) + XPLATFORM="$VAL" + ;; ++ crossarch) ++ CROSSARCH="$VAL" ++ ;; + debug-and-release) + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then + CFG_DEBUG_RELEASE="$VAL" +@@ -2918,6 +2921,8 @@ elif [ "$PLATFORM_MAC" = "yes" ] || [ -z "$CFG_ARCH" ]; then + CFG_ARCH=$CFG_HOST_ARCH + fi + ++CFG_ARCH="$CROSSARCH" ++ + if [ -d "$relpath/src/corelib/arch/$CFG_ARCH" ]; then + if [ "$OPT_VERBOSE" = "yes" ]; then + echo " '$CFG_ARCH' is supported" +-- +1.7.0.4 + diff --git a/meta/recipes-qt/qt4/qt-4.8.0/fix-translations.patch b/meta/recipes-qt/qt4/qt-4.8.0/fix-translations.patch new file mode 100644 index 0000000000..906d4e312f --- /dev/null +++ b/meta/recipes-qt/qt4/qt-4.8.0/fix-translations.patch @@ -0,0 +1,32 @@ +fix phony translation linking error + + | .../usr/lib/crt1.o: In function `_start': + | .../../sysdeps/i386/elf/start.S:115: undefined reference to `main' + | collect2: ld returned 1 exit status + +Upstream-Status: Pending + +Signed-off-by: Otavio Salvador + +diff --git a/translations/translations.pro b/translations/translations.pro +index cdaf04a..24fa668 100644 +--- a/translations/translations.pro ++++ b/translations/translations.pro +@@ -20,7 +20,7 @@ updateqm.name = LRELEASE ${QMAKE_FILE_IN} + updateqm.CONFIG += no_link + QMAKE_EXTRA_COMPILERS += updateqm + +-isEmpty(vcproj) { ++!isEmpty(vcproj) { + QMAKE_LINK = @: IGNORE THIS LINE + OBJECTS_DIR = + win32:CONFIG -= embed_manifest_exe +@@ -30,7 +30,7 @@ isEmpty(vcproj) { + phony_src.input = PHONY_DEPS + phony_src.output = phony.c + phony_src.variable_out = GENERATED_SOURCES +- phony_src.commands = echo int main() { return 0; } > phony.c ++ phony_src.commands = echo \"int main() { return 0; }\" > phony.c + phony_src.name = CREATE phony.c + phony_src.CONFIG += combine + QMAKE_EXTRA_COMPILERS += phony_src diff --git a/meta/recipes-qt/qt4/qt-4.8.0/g++.conf b/meta/recipes-qt/qt4/qt-4.8.0/g++.conf new file mode 100644 index 0000000000..e58fb15718 --- /dev/null +++ b/meta/recipes-qt/qt4/qt-4.8.0/g++.conf @@ -0,0 +1,56 @@ +# +# qmake configuration for common gcc +# + +QMAKE_CC = $(OE_QMAKE_CC) +QMAKE_CFLAGS += -pipe $(OE_QMAKE_CFLAGS) +QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS) +QMAKE_CFLAGS_DEPS += -M +QMAKE_CFLAGS_WARN_ON += -Wall -W +QMAKE_CFLAGS_WARN_OFF += -w +QMAKE_CFLAGS_RELEASE += +QMAKE_CFLAGS_DEBUG += -g +QMAKE_CFLAGS_SHLIB += -fPIC +QMAKE_CFLAGS_STATIC_LIB += -fPIC +QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses +QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden +QMAKE_CFLAGS_PRECOMPILE += -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_CFLAGS_USE_PRECOMPILE += -include ${QMAKE_PCH_OUTPUT_BASE} + +QMAKE_CXX = $(OE_QMAKE_CXX) +QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $(OE_QMAKE_CXXFLAGS) +QMAKE_CXXFLAGS_DEPS += $$QMAKE_CFLAGS_DEPS +QMAKE_CXXFLAGS_WARN_ON += $$QMAKE_CFLAGS_WARN_ON +QMAKE_CXXFLAGS_WARN_OFF += $$QMAKE_CFLAGS_WARN_OFF +QMAKE_CXXFLAGS_RELEASE += $$QMAKE_CFLAGS_RELEASE +QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO +QMAKE_CXXFLAGS_DEBUG += $$QMAKE_CFLAGS_DEBUG +QMAKE_CXXFLAGS_SHLIB += $$QMAKE_CFLAGS_SHLIB +QMAKE_CXXFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_STATIC_LIB +QMAKE_CXXFLAGS_YACC += $$QMAKE_CFLAGS_YACC +QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden +QMAKE_CXXFLAGS_PRECOMPILE += -x c++-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT} +QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE + +QMAKE_LINK = $(OE_QMAKE_LINK) +QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK) +QMAKE_LINK_C = $(OE_QMAKE_LINK) +QMAKE_LINK_C_SHLIB = $(OE_QMAKE_LINK) +QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS) +QMAKE_LFLAGS_RELEASE += +QMAKE_LFLAGS_DEBUG += +QMAKE_LFLAGS_APP += +QMAKE_LFLAGS_NOUNDEF += -Wl,--no-undefined +QMAKE_LFLAGS_RPATH = -Wl,-rpath-link, + +QMAKE_PCH_OUTPUT_EXT = .gch + +# -Bsymbolic-functions (ld) support +QMAKE_LFLAGS_BSYMBOLIC_FUNC = -Wl,-Bsymbolic-functions +QMAKE_LFLAGS_DYNAMIC_LIST = -Wl,--dynamic-list, + +# some linking helper... +CONFIG += rpath_libdirs + +# for the SDK +isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG) diff --git a/meta/recipes-qt/qt4/qt-4.8.0/hack-out-pg2-4.7.0.patch b/meta/recipes-qt/qt4/qt-4.8.0/hack-out-pg2-4.7.0.patch new file mode 100644 index 0000000000..39c5f4a32c --- /dev/null +++ b/meta/recipes-qt/qt4/qt-4.8.0/hack-out-pg2-4.7.0.patch @@ -0,0 +1,31 @@ +Hack to not use the pg_config of the host system which will add /usr/include + +pg_config is a native binary so using that when cross compiling +will always fail. The commented out fix would do, but for OE +our -platform and -xplatform is the same so we are actually not +really cross compiling. Just comment out the test, we are passing +the location to the postgres headers and if they are okay we +will pad. + +Original Author: Holger Hans Peter Freyther +Upstream-Status: Inappropriate [configuration] + +Index: qt-everywhere-opensource-src-4.7.0/configure +=================================================================== +--- qt-everywhere-opensource-src-4.7.0.orig/configure 2010-09-22 15:43:51.191162141 -0400 ++++ qt-everywhere-opensource-src-4.7.0/configure 2010-09-22 15:44:35.179981232 -0400 +@@ -4921,10 +4921,10 @@ + psql) + if [ "$CFG_SQL_psql" != "no" ]; then + # Be careful not to use native pg_config when cross building. +- if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then +- QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null` +- QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null` +- fi ++# if [ "$XPLATFORM_MINGW" != "yes" ] && "$WHICH" pg_config >/dev/null 2>&1; then ++# QT_CFLAGS_PSQL=`pg_config --includedir 2>/dev/null` ++# QT_LFLAGS_PSQL=`pg_config --libdir 2>/dev/null` ++# fi + [ -z "$QT_CFLAGS_PSQL" ] || QT_CFLAGS_PSQL="-I$QT_CFLAGS_PSQL" + [ -z "$QT_LFLAGS_PSQL" ] || QT_LFLAGS_PSQL="-L$QT_LFLAGS_PSQL" + # But, respect PSQL_LIBS if set diff --git a/meta/recipes-qt/qt4/qt-4.8.0/linux.conf b/meta/recipes-qt/qt4/qt-4.8.0/linux.conf new file mode 100644 index 0000000000..a54135513b --- /dev/null +++ b/meta/recipes-qt/qt4/qt-4.8.0/linux.conf @@ -0,0 +1,66 @@ +# +# qmake configuration for common linux +# + +QMAKE_CFLAGS_THREAD += -D_REENTRANT +QMAKE_CXXFLAGS_THREAD += $$QMAKE_CFLAGS_THREAD + +QMAKE_INCDIR = +QMAKE_LIBDIR = +QMAKE_INCDIR_X11 = +QMAKE_LIBDIR_X11 = +QMAKE_INCDIR_QT = $(OE_QMAKE_INCDIR_QT) +QMAKE_LIBDIR_QT = $(OE_QMAKE_LIBDIR_QT) +QMAKE_INCDIR_OPENGL = +QMAKE_LIBDIR_OPENGL = +QMAKE_INCDIR_OPENGL_ES1 = $$QMAKE_INCDIR_OPENGL +QMAKE_LIBDIR_OPENGL_ES1 = $$QMAKE_LIBDIR_OPENGL +QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL +QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL +QMAKE_INCDIR_EGL = +QMAKE_LIBDIR_EGL = +QMAKE_INCDIR_OPENVG = +QMAKE_LIBDIR_OPENVG = + + +QMAKE_LIBS = +QMAKE_LIBS_DYNLOAD = -ldl +QMAKE_LIBS_X11 = $(OE_QMAKE_LIBS_X11) +QMAKE_LIBS_X11SM = $(OE_QMAKE_LIBS_X11SM) +QMAKE_LIBS_NIS = -lnsl +QMAKE_LIBS_EGL = -lEGL +QMAKE_LIBS_OPENGL = -lGLU -lGL +QMAKE_LIBS_OPENGL_QT = -lGL +QMAKE_LIBS_OPENGL_ES1 = -lGLES_CM +QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 +QMAKE_LIBS_OPENVG = -lOpenVG +QMAKE_LIBS_THREAD = -lpthread + +QMAKE_MOC = $(OE_QMAKE_MOC) +QMAKE_UIC = $(OE_QMAKE_UIC) +QMAKE_UIC3 = $(OE_QMAKE_UIC3) +QMAKE_RCC = $(OE_QMAKE_RCC) +QMAKE_QDBUSCPP2XML = $(OE_QMAKE_QDBUSCPP2XML) +QMAKE_QDBUSXML2CPP = $(OE_QMAKE_QDBUSXML2CPP) + +QMAKE_AR = $(OE_QMAKE_AR) cqs +QMAKE_OBJCOPY = objcopy +QMAKE_RANLIB = + +QMAKE_TAR = tar -cf +QMAKE_GZIP = gzip -9f + +QMAKE_COPY = cp -f +QMAKE_COPY_FILE = $(COPY) +QMAKE_COPY_DIR = $(COPY) -r +QMAKE_MOVE = mv -f +QMAKE_DEL_FILE = rm -f +QMAKE_DEL_DIR = rmdir +QMAKE_STRIP = $(OE_QMAKE_STRIP) +QMAKE_STRIPFLAGS_LIB += --strip-unneeded +QMAKE_CHK_DIR_EXISTS = test -d +QMAKE_MKDIR = mkdir -p +QMAKE_INSTALL_FILE = install -m 644 -p +QMAKE_INSTALL_PROGRAM = install -m 755 -p + +include(unix.conf) diff --git a/meta/recipes-qt/qt4/qt-4.8.0/qmake_cxx_eval.patch b/meta/recipes-qt/qt4/qt-4.8.0/qmake_cxx_eval.patch new file mode 100644 index 0000000000..a82f0ff9d1 --- /dev/null +++ b/meta/recipes-qt/qt4/qt-4.8.0/qmake_cxx_eval.patch @@ -0,0 +1,20 @@ +Allow expansion of $(...) references in QMAKE_CXX (currently its value +is $(OE_QMAKE_CXX)) in order to allow compiler version check to succeed +which allows WebKit to be enabled. + +Signed-off-by: Paul Eggleton + +Index: qt-everywhere-opensource-src-4.8.0/configure +=================================================================== +--- qt-everywhere-opensource-src-4.8.0.orig/configure ++++ qt-everywhere-opensource-src-4.8.0/configure +@@ -3322,7 +3322,8 @@ else + CFG_FRAMEWORK=no + fi + +-QMAKE_CONF_COMPILER=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_CXX[^_A-Z0-9]" | sed "s,.* *= *\(.*\)$,\1," | tail -1` ++QMAKE_CONF_COMPILER=`getQMakeConf "$XQMAKESPEC" | grep "^QMAKE_CXX[^_A-Z0-9]" | sed "s,.* *= *\(.*\)$,\1," | sed -n 's/$[(]\([0-9a-zA-Z_]*\)[)]/$\1/pg' | tail -1` ++QMAKE_CONF_COMPILER=`eval "echo $QMAKE_CONF_COMPILER"` + TEST_COMPILER="$CXX" + + [ -z "$TEST_COMPILER" ] && TEST_COMPILER=$QMAKE_CONF_COMPILER diff --git a/meta/recipes-qt/qt4/qt4-embedded_4.8.0.bb b/meta/recipes-qt/qt4/qt4-embedded_4.8.0.bb new file mode 100644 index 0000000000..5c1c97eeac --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-embedded_4.8.0.bb @@ -0,0 +1,13 @@ +require qt-${PV}.inc +require qt4-embedded.inc + +PR = "${INC_PR}.0" + +DEFAULT_PREFERENCE = "-1" + +QT_CONFIG_FLAGS_append_armv6 = " -no-neon " + +QT_CONFIG_FLAGS += " \ + -exceptions \ +" + diff --git a/meta/recipes-qt/qt4/qt4-native.inc b/meta/recipes-qt/qt4/qt4-native.inc index 8a6eb4b69b..86f2440375 100644 --- a/meta/recipes-qt/qt4/qt4-native.inc +++ b/meta/recipes-qt/qt4/qt4-native.inc @@ -22,7 +22,7 @@ S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}" EXTRA_OECONF = "-prefix ${prefix} \ -L ${STAGING_LIBDIR_NATIVE} \ -I ${STAGING_INCDIR_NATIVE} \ - -qt-libjpeg -qt-gif -system-zlib \ + -qt-libjpeg -system-zlib \ -no-libjpeg -no-libpng -no-libmng -no-libtiff \ -no-accessibility \ -no-cups \ @@ -39,6 +39,9 @@ EXTRA_OECONF = "-prefix ${prefix} \ EXTRA_OEMAKE = " " do_configure() { + # Avoid problems with Qt 4.8.0 configure setting QMAKE_LINK from LD (since we want the linker to be g++) + unset LD + (echo o; echo yes) | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}" } @@ -78,7 +81,13 @@ do_install() { install -d ${D}${datadir}/qt4/ cp -PfR mkspecs ${D}${datadir}/qt4/ ln -sf linux-g++ ${D}${datadir}/qt4/mkspecs/${BUILD_OS}-oe-g++ - cp -f ${WORKDIR}/g++.conf ${WORKDIR}/linux.conf ${D}${datadir}/qt4/mkspecs/common/ + if [ -f ${D}${datadir}/qt4/mkspecs/common/g++-unix.conf ] ; then + # mkspecs were refactored for 4.8.0 + cp -f ${WORKDIR}/g++.conf ${D}${datadir}/qt4/mkspecs/common/g++-unix.conf + else + cp -f ${WORKDIR}/g++.conf ${D}${datadir}/qt4/mkspecs/common/g++.conf + fi + cp -f ${WORKDIR}/linux.conf ${D}${datadir}/qt4/mkspecs/common/ install -m 0644 tools/porting/src/q3porting.xml ${D}${datadir}/qt4/ diff --git a/meta/recipes-qt/qt4/qt4-native_4.8.0.bb b/meta/recipes-qt/qt4/qt4-native_4.8.0.bb new file mode 100644 index 0000000000..86c05007a4 --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-native_4.8.0.bb @@ -0,0 +1,14 @@ +require qt4-native.inc + +PR = "${INC_PR}.0" + +DEFAULT_PREFERENCE = "-1" + +# Find the g++.conf/linux.conf in the right directory. +FILESEXTRAPATHS =. "${FILE_DIRNAME}/qt-${PV}:" + +TOBUILD := "src/tools/bootstrap ${TOBUILD}" + +SRC_URI[md5sum] = "e8a5fdbeba2927c948d9f477a6abe904" +SRC_URI[sha256sum] = "9392b74e485e15f75a3e07a527547d4f6747eaf55ebce71ba0e863a9fd320b6e" + diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc index a71c3ae7b0..275fdcc68c 100644 --- a/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc +++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk.inc @@ -30,7 +30,7 @@ require qt4_arch.inc # FIXME: make it work with "${STAGING_BINDIR_NATIVE}/pkg-config --cflags dbus-1" EXTRA_OECONF = "-prefix ${prefix} \ - -qt-libjpeg -qt-gif -system-zlib \ + -qt-libjpeg -system-zlib \ -no-libjpeg -no-libpng -no-libmng -no-libtiff \ -no-accessibility \ -no-cups \ diff --git a/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.8.0.bb b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.8.0.bb new file mode 100644 index 0000000000..e615d364f0 --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-tools-nativesdk_4.8.0.bb @@ -0,0 +1,8 @@ +require qt4-tools-nativesdk.inc + +PR = "${INC_PR}.0" + +DEFAULT_PREFERENCE = "-1" + +SRC_URI[md5sum] = "e8a5fdbeba2927c948d9f477a6abe904" +SRC_URI[sha256sum] = "9392b74e485e15f75a3e07a527547d4f6747eaf55ebce71ba0e863a9fd320b6e" diff --git a/meta/recipes-qt/qt4/qt4-x11-free_4.8.0.bb b/meta/recipes-qt/qt4/qt4-x11-free_4.8.0.bb new file mode 100644 index 0000000000..edd3e0ebed --- /dev/null +++ b/meta/recipes-qt/qt4/qt4-x11-free_4.8.0.bb @@ -0,0 +1,13 @@ +require qt4-x11-free.inc +require qt-${PV}.inc + +PR = "${INC_PR}.0" + +DEFAULT_PREFERENCE = "-1" + +QT_CONFIG_FLAGS_append_armv6 = " -no-neon " + +QT_CONFIG_FLAGS += " \ + -no-embedded \ + -xrandr \ + -x11" diff --git a/meta/recipes-qt/qt4/qt4.inc b/meta/recipes-qt/qt4/qt4.inc index 87a12e6607..ea868ff23c 100644 --- a/meta/recipes-qt/qt4/qt4.inc +++ b/meta/recipes-qt/qt4/qt4.inc @@ -15,7 +15,7 @@ QT_GLFLAGS ?= "" QT_CONFIG_FLAGS += "-release -no-cups -reduce-relocations \ -shared -no-nas-sound -no-nis \ - -qt-gif -system-libjpeg -system-libpng -system-zlib \ + -system-libjpeg -system-libpng -system-zlib \ -no-pch -qdbus -stl -glib -phonon -webkit \ -xmlpatterns -no-rpath -qt3support -silent \ ${QT_SQL_DRIVER_FLAGS} \ @@ -160,7 +160,7 @@ FILES_${QT_BASE_NAME}-fonts-ttf-vera = "${libdir}/fonts/Vera*.ttf" FILES_${QT_BASE_NAME}-fonts-ttf-dejavu = "${libdir}/fonts/DejaVu*.ttf" FILES_${QT_BASE_NAME}-fonts-pfa = "${libdir}/fonts/*.pfa" FILES_${QT_BASE_NAME}-fonts-pfb = "${libdir}/fonts/*.pfb" -FILES_${QT_BASE_NAME}-fonts-qpf = "${libdir}/fonts/*.qpf" +FILES_${QT_BASE_NAME}-fonts-qpf = "${libdir}/fonts/*.qpf*" FILES_${QT_BASE_NAME}-fonts = "${libdir}/fonts/README ${libdir}/fonts/fontdir" FILES_${QT_BASE_NAME}-linguist = "${bindir}/*linguist* ${bindir}/lrelease ${bindir}/lupdate ${bindir}/lconvert ${bindir}/qm2ts" FILES_${QT_BASE_NAME}-linguist-dbg = "${bindir}/.debug/*linguist* ${bindir}/.debug/lrelease ${bindir}/.debug/lupdate ${bindir}/.debug/lconvert ${bindir}/.debug/qm2ts" @@ -190,7 +190,13 @@ do_configure() { ln -sf linux-g++ mkspecs/${TARGET_OS}-oe-g++ fi - cp -f ${WORKDIR}/g++.conf ${WORKDIR}/linux.conf mkspecs/common/ + if [ -f mkspecs/common/g++-unix.conf ] ; then + # mkspecs were refactored for 4.8.0 + cp -f ${WORKDIR}/g++.conf mkspecs/common/g++-unix.conf + else + cp -f ${WORKDIR}/g++.conf mkspecs/common/g++.conf + fi + cp -f ${WORKDIR}/linux.conf mkspecs/common/ echo "[Paths]" > $QT_CONF_PATH echo "Prefix=${prefix}/" >> $QT_CONF_PATH -- cgit v1.2.3-54-g00ecf