mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-01-01 13:58:06 +00:00
qmake2: import from OE
We want to have a seperate qmake for the time being, but eventually all tweaks should move into qt4-tools Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
This commit is contained in:
parent
5d5148b88b
commit
63057a32d7
91
classes/qmake_base.bbclass
Normal file
91
classes/qmake_base.bbclass
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
|
||||
OE_QMAKE_PLATFORM = "${TARGET_OS}-oe-g++"
|
||||
QMAKESPEC = "${QMAKE_MKSPEC_PATH}/${OE_QMAKE_PLATFORM}"
|
||||
|
||||
# We override this completely to eliminate the -e normally passed in
|
||||
EXTRA_OEMAKE = ' MAKEFLAGS= '
|
||||
|
||||
export OE_QMAKE_CC="${CC}"
|
||||
export OE_QMAKE_CFLAGS="${CFLAGS}"
|
||||
export OE_QMAKE_CXX="${CXX}"
|
||||
export OE_QMAKE_LDFLAGS="${LDFLAGS}"
|
||||
export OE_QMAKE_AR="${AR}"
|
||||
export OE_QMAKE_STRIP="echo"
|
||||
export OE_QMAKE_RPATH="-Wl,-rpath-link,"
|
||||
|
||||
# do not export STRIP to the environment
|
||||
STRIP[unexport] = "1"
|
||||
|
||||
# default to qte2 via bb.conf, inherit qt3x11 to configure for qt3x11
|
||||
|
||||
oe_qmake_mkspecs () {
|
||||
mkdir -p mkspecs/${OE_QMAKE_PLATFORM}
|
||||
for f in ${QMAKE_MKSPEC_PATH}/${OE_QMAKE_PLATFORM}/*; do
|
||||
if [ -L $f ]; then
|
||||
lnk=`readlink $f`
|
||||
if [ -f mkspecs/${OE_QMAKE_PLATFORM}/$lnk ]; then
|
||||
ln -s $lnk mkspecs/${OE_QMAKE_PLATFORM}/`basename $f`
|
||||
else
|
||||
cp $f mkspecs/${OE_QMAKE_PLATFORM}/
|
||||
fi
|
||||
else
|
||||
cp $f mkspecs/${OE_QMAKE_PLATFORM}/
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
qmake_base_do_configure() {
|
||||
case ${QMAKESPEC} in
|
||||
*linux-oe-g++|*linux-uclibc-oe-g++|*linux-gnueabi-oe-g++|*linux-uclibceabi-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
|
||||
1
recipes-qt/qt4/qmake2-sdk/linux-oe-qmake.conf
Normal file
1
recipes-qt/qt4/qmake2-sdk/linux-oe-qmake.conf
Normal file
|
|
@ -0,0 +1 @@
|
|||
include(../linux-g++/qmake.conf)
|
||||
69
recipes-qt/qt4/qmake2.inc
Normal file
69
recipes-qt/qt4/qmake2.inc
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
DESCRIPTION = "TrollTech Makefile Generator"
|
||||
PRIORITY = "optional"
|
||||
HOMEPAGE = "http://www.trolltech.com"
|
||||
SECTION = "devel"
|
||||
LICENSE = "GPL"
|
||||
PR = "r12"
|
||||
|
||||
# We call 'moc' during the build
|
||||
DEPENDS = "qt4-tools-native"
|
||||
|
||||
QTVER = "qt-embedded-linux-opensource-src-${QTVERSION}"
|
||||
|
||||
SRC_URI = "ftp://ftp.trolltech.com/qt/source/${QTVER}.tar.bz2 \
|
||||
file://0001-fix-mkspecs.patch \
|
||||
file://qt-config.patch \
|
||||
file://use-lflags-last.patch \
|
||||
file://linux-oe-qmake.conf"
|
||||
S = "${WORKDIR}/${QTVER}"
|
||||
|
||||
inherit autotools
|
||||
|
||||
CROSSHACK = "true"
|
||||
CROSSHACK_virtclass-native = ""
|
||||
CROSSHACK_virtclass-nativesdk = ""
|
||||
|
||||
export CROSSHACK
|
||||
export QTDIR = "${S}"
|
||||
EXTRA_OEMAKE = "-e"
|
||||
|
||||
TARGET_CC_ARCH += "${LDFLAGS}"
|
||||
|
||||
do_configure() {
|
||||
|
||||
# Make sure we regenerate all Makefiles
|
||||
find ${S} -name "Makefile" | xargs rm
|
||||
# Install the OE build templates
|
||||
for template in linux-oe-g++ linux-uclibc-oe-g++ linux-gnueabi-oe-g++ linux-uclibceabi-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
|
||||
|
||||
QMAKESPEC=
|
||||
PLATFORM=${HOST_OS}-oe-g++
|
||||
export PLATFORM
|
||||
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="${STRIP}"
|
||||
export OE_QMAKE_UIC="${STAGING_BINDIR_NATIVE}/uic4"
|
||||
export OE_QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc4"
|
||||
export QMAKE_MOC="${STAGING_BINDIR_NATIVE}/moc4"
|
||||
export OE_QMAKE_RCC="${STAGING_BINDIR_NATIVE}/rcc4"
|
||||
export QMAKE_RCC="${STAGING_BINDIR_NATIVE}/rcc4"
|
||||
export OE_QMAKE_QMAKE="${STAGING_BINDIR_NATIVE}/qmake"
|
||||
export OE_QMAKE_RPATH="-Wl,-rpath-link,"
|
||||
echo yes | ./configure -prefix ${STAGING_DIR_NATIVE}/qt4 ${EXTRA_OECONF} || die "Configuring qt failed"
|
||||
}
|
||||
|
||||
do_compile() {
|
||||
:
|
||||
}
|
||||
|
||||
FILES_${PN} += "${datadir}/qt4/"
|
||||
1
recipes-qt/qt4/qmake2/linux-oe-qmake.conf
Normal file
1
recipes-qt/qt4/qmake2/linux-oe-qmake.conf
Normal file
|
|
@ -0,0 +1 @@
|
|||
include(../linux-g++/qmake.conf)
|
||||
60
recipes-qt/qt4/qmake2_2.10a.bb
Normal file
60
recipes-qt/qt4/qmake2_2.10a.bb
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
QTVERSION="4.4.3"
|
||||
FILESDIR += "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/qmake2"
|
||||
|
||||
BBCLASSEXTEND = "native sdk"
|
||||
|
||||
require ${PN}.inc
|
||||
|
||||
SRC_URI += "file://qmake-hack.diff"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}/${bindir}
|
||||
install -m 0755 bin/qmake ${D}/${bindir}/qmake2
|
||||
install -m 0755 bin/qmake ${D}/${bindir}/qmake-qt4
|
||||
install -d ${D}/${datadir}/qt4
|
||||
install -d ${D}/${datadir}/qtopia
|
||||
|
||||
script="${D}/${datadir}/qtopia/environment-setup"
|
||||
touch $script
|
||||
echo 'export QT_DIR_NAME=qtopia' >> $script
|
||||
echo 'export QT_LIBINFIX=E' >> $script
|
||||
echo 'export OE_QMAKE_AR=ar' >> $script
|
||||
echo 'export OE_QMAKE_CC=gcc' >> $script
|
||||
echo 'export OE_QMAKE_CXX=g++' >> $script
|
||||
echo 'export OE_QMAKE_LINK=g++' >> $script
|
||||
echo 'export OE_QMAKE_LIBDIR_QT=${libdir}' >> $script
|
||||
echo 'export OE_QMAKE_INCDIR_QT=${includedir}/qtopia' >> $script
|
||||
echo 'export OE_QMAKE_MOC=${bindir}/moc' >> $script
|
||||
echo 'export OE_QMAKE_UIC=${bindir}/uic' >> $script
|
||||
echo 'export OE_QMAKE_UIC3=${bindir}/uic3' >> $script
|
||||
echo 'export OE_QMAKE_RCC=${bindir}/rcc' >> $script
|
||||
echo 'export OE_QMAKE_QDBUSCPP2XML=${bindir}/qdbuscpp2xml' >> $script
|
||||
echo 'export OE_QMAKE_QDBUSXML2CPP=${bindir}/qdbusxml2cpp' >> $script
|
||||
echo 'export OE_QMAKE_QT_CONFIG=${datadir}/qtopia/mkspecs/qconfig.pri' >> $script
|
||||
echo 'export QMAKESPEC=${datadir}/qtopia/mkspecs/linux-g++' >> $script
|
||||
|
||||
script="${D}/${datadir}/qt4/environment-setup"
|
||||
touch $script
|
||||
echo 'export OE_QMAKE_AR=ar' >> $script
|
||||
echo 'export OE_QMAKE_CC=gcc' >> $script
|
||||
echo 'export OE_QMAKE_CXX=g++' >> $script
|
||||
echo 'export OE_QMAKE_LINK=g++' >> $script
|
||||
echo 'export OE_QMAKE_LIBDIR_QT=${libdir}' >> $script
|
||||
echo 'export OE_QMAKE_INCDIR_QT=${includedir}/qt4' >> $script
|
||||
echo 'export OE_QMAKE_MOC=${bindir}/moc' >> $script
|
||||
echo 'export OE_QMAKE_UIC=${bindir}/uic' >> $script
|
||||
echo 'export OE_QMAKE_UIC3=${bindir}/uic3' >> $script
|
||||
echo 'export OE_QMAKE_RCC=${bindir}/rcc' >> $script
|
||||
echo 'export OE_QMAKE_QDBUSCPP2XML=${bindir}/qdbuscpp2xml' >> $script
|
||||
echo 'export OE_QMAKE_QDBUSXML2CPP=${bindir}/qdbusxml2cpp' >> $script
|
||||
echo 'export OE_QMAKE_QT_CONFIG=${datadir}/qt4/mkspecs/qconfig.pri' >> $script
|
||||
echo 'export QMAKESPEC=${datadir}/qt4/mkspecs/linux-g++' >> $script
|
||||
|
||||
chmod 0755 ${D}${datadir}/qt*/environment-setup
|
||||
}
|
||||
|
||||
FILES_${PN} += "${datadir}/qt*/environment-setup"
|
||||
|
||||
|
||||
SRC_URI[md5sum] = "9a639aec44a1e4c70040117183d247a3"
|
||||
SRC_URI[sha256sum] = "05d06b93f95092f1318634fca24f0c2d0a1252c9f1dc2fbb427b07e8ecbb4f39"
|
||||
Loading…
Reference in New Issue
Block a user