Qt5-Maemo5/Development

(Adapting Qt5 to the N900)
(Adapting Qt5 to the N900 (using scratchbox))
Line 21: Line 21:
  #change if your host is not x86_64
  #change if your host is not x86_64
  ./configure -developer-build -opensource -nomake examples -nomake tests -no-gtkstyle -confirm-license -device linux-maemo-n900-g++ -device-option CROSS_COMPILE=${MADDEROOT}/toolchains/arm-2007q3-51sb6-gdb71-arm-none-linux-gnueabi_linux_x86_64/bin/arm-none-linux-gnueabi- -sysroot ${MADDEROOT}/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim -qt-xcb -make libs -prefix /opt/qt5
  ./configure -developer-build -opensource -nomake examples -nomake tests -no-gtkstyle -confirm-license -device linux-maemo-n900-g++ -device-option CROSS_COMPILE=${MADDEROOT}/toolchains/arm-2007q3-51sb6-gdb71-arm-none-linux-gnueabi_linux_x86_64/bin/arm-none-linux-gnueabi- -sysroot ${MADDEROOT}/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim -qt-xcb -make libs -prefix /opt/qt5
 +
make module-qtbase module-qtdeclarative
 +
 +
If you like to commit to the repository, create an account on gitorious.org and ask in this thread: http://talk.maemo.org/showthread.php?t=84782
 +
 +
= Adapting Qt5 to the N900 (using scratchbox) =
 +
 +
Prerequisites:
 +
* any scratchbox ARMEL target, tested with [[CSSU-thumb toolchain setup (gcc4.7.2-linaro)]]
 +
** We still run this build commands **outside** of scratchbox and only use the toolchain and sysroot (like with MADDE or for Raspberry Pi etc.)
 +
* Xlib-xcb.h and libX11-xcb.so build from http://maemo.org/packages/source/view/fremantle_sdk_free_source/libx11/1.1.99.6+0m5 (build with --with-xcb) moved to ${MADDEROOT}/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim/usr/include/X11/ (/usr/lib resp.)
 +
** Binaries available here: [http://repos.fuhlbrueck.net/qt5-maemo5/pool/main/libx/libx11/ repos.fuhlbrueck.net/qt5-maemo5/pool/main/libx/libx11/]
 +
 +
 +
 +
If you want to help porting Qt5 to Maemo5 do:
 +
USER=YourScratchboxUserName
 +
TARGET=FREMANTLE_ARMEL_GCC472
 +
COMPILER=linaro-4.7-2012.07-fremantle-armv7a
 +
rm /scratchbox/users/${USER}/targets/${TARGET}/usr/lib/libdl.so
 +
ln -s ../../libdl.so.2 /scratchbox/users/${USER}/targets/${TARGET}/usr/lib/libdl.so
 +
rm /scratchbox/users/${USER}/targets/${TARGET}/usr/lib/libm.so
 +
ln -s ../../libm.so.6 /scratchbox/users/${USER}/targets/${TARGET}/usr/lib/libm.so
 +
git clone git://gitorious.org/+qt5-maemo5/qt/qt5-maemo5.git
 +
cd qt5-maemo5 && git remote set-url --push origin git@gitorious.org:+qt5-maemo5/qt
 +
checkout maemo5
 +
git clone git://gitorious.org/+qt5-maemo5/qt/qt5-maemo5-qtbase.git qtbase
 +
git config --add submodule.qtbase.url git://gitorious.org/+qt5-maemo5/qt/qt5-maemo5-qtbase.git
 +
cd qtbase && checkout maemo5 && git remote set-url --push origin git@gitorious.org:+qt5-maemo5/qt/qt5-maemo5-qtbase.git && cd ..
 +
./init-repository -f
 +
 +
 +
Now it's time to configure:
 +
#change if your host is not x86_64
 +
./configure -developer-build -opensource -nomake examples -nomake tests -confirm-license -device linux-maemo-n900-g++ -device-option CROSS_COMPILE=/scratchbox/compilers/${COMPILER}/bin/arm-none-linux-gnueabi- -sysroot /scratchbox/users/${USER}/targets/${TARGET}/ -qt-xcb -make libs -prefix /opt/qt5
make module-qtbase module-qtdeclarative
make module-qtbase module-qtdeclarative

Revision as of 11:50, 15 July 2013

Adapting Qt5 to the N900 (using MADDE)

Prerequisites:

If you want to help porting Qt5 to Maemo5 do:

MADDEROOT=/opt/QtSDK/Maemo/4.6.2
git clone git://gitorious.org/+qt5-maemo5/qt/qt5-maemo5.git
cd qt5-maemo5 && git remote set-url --push origin git@gitorious.org:+qt5-maemo5/qt
checkout maemo5
git clone git://gitorious.org/+qt5-maemo5/qt/qt5-maemo5-qtbase.git qtbase
git config --add submodule.qtbase.url git://gitorious.org/+qt5-maemo5/qt/qt5-maemo5-qtbase.git
cd qtbase && checkout maemo5 && git remote set-url --push origin git@gitorious.org:+qt5-maemo5/qt/qt5-maemo5-qtbase.git && cd ..
./init-repository -f
#-sysroots redirects everything to a path under ${MADDEROOT}
ln -s `pwd` ${MADDEROOT}/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim`pwd`

Now it's time to configure:

#change if your host is not x86_64
./configure -developer-build -opensource -nomake examples -nomake tests -no-gtkstyle -confirm-license -device linux-maemo-n900-g++ -device-option CROSS_COMPILE=${MADDEROOT}/toolchains/arm-2007q3-51sb6-gdb71-arm-none-linux-gnueabi_linux_x86_64/bin/arm-none-linux-gnueabi- -sysroot ${MADDEROOT}/sysroots/fremantle-arm-sysroot-20.2010.36-2-slim -qt-xcb -make libs -prefix /opt/qt5

make module-qtbase module-qtdeclarative

If you like to commit to the repository, create an account on gitorious.org and ask in this thread: http://talk.maemo.org/showthread.php?t=84782

Adapting Qt5 to the N900 (using scratchbox)

Prerequisites:


If you want to help porting Qt5 to Maemo5 do:

USER=YourScratchboxUserName
TARGET=FREMANTLE_ARMEL_GCC472
COMPILER=linaro-4.7-2012.07-fremantle-armv7a
rm /scratchbox/users/${USER}/targets/${TARGET}/usr/lib/libdl.so
ln -s ../../libdl.so.2 /scratchbox/users/${USER}/targets/${TARGET}/usr/lib/libdl.so
rm /scratchbox/users/${USER}/targets/${TARGET}/usr/lib/libm.so
ln -s ../../libm.so.6 /scratchbox/users/${USER}/targets/${TARGET}/usr/lib/libm.so
git clone git://gitorious.org/+qt5-maemo5/qt/qt5-maemo5.git
cd qt5-maemo5 && git remote set-url --push origin git@gitorious.org:+qt5-maemo5/qt
checkout maemo5
git clone git://gitorious.org/+qt5-maemo5/qt/qt5-maemo5-qtbase.git qtbase
git config --add submodule.qtbase.url git://gitorious.org/+qt5-maemo5/qt/qt5-maemo5-qtbase.git
cd qtbase && checkout maemo5 && git remote set-url --push origin git@gitorious.org:+qt5-maemo5/qt/qt5-maemo5-qtbase.git && cd ..
./init-repository -f


Now it's time to configure:

#change if your host is not x86_64
./configure -developer-build -opensource -nomake examples -nomake tests -confirm-license -device linux-maemo-n900-g++ -device-option CROSS_COMPILE=/scratchbox/compilers/${COMPILER}/bin/arm-none-linux-gnueabi- -sysroot /scratchbox/users/${USER}/targets/${TARGET}/ -qt-xcb -make libs -prefix /opt/qt5

make module-qtbase module-qtdeclarative

If you like to commit to the repository, create an account on gitorious.org and ask in this thread: http://talk.maemo.org/showthread.php?t=84782

Testing Qt5 on the N900

# as root, e.g. with sudo gainroot
#not endless bandwidth, so use with care:
echo "deb http://repos.fuhlbrueck.net/qt5-maemo5 fremantle main" >> /etc/apt/sources.list.d/hildon-application-manager.list
#libX11-xcb1 is not optified, but tiny 
apt-get install libx11-xcb1 qt5-base qt5-declarative
#only for now:
ldconfig /opt/qt5/lib
# as a normal user
# get some example
wget http://repos.fuhlbrueck.net/qt5-maemo5-examples/EXAMPLE
chmod 755 EXAMPLE
./EXAMPLE
#don't be confused, if it shows some debug output