#!/bin/bash # This script will help you in compiling qtopia-x11 using the OM-Toolchain. # # Usage: # . /usr/local/openmoko/set_env # mkdir qtopia-build # cd qtopia-build # qtopia-env qtopia-path/configure # make # make install # # Based on qtopia-phone-x11_git.bb # (c) 2008 - Marco Trevisan (TreviƱo) if [ -z "$1" ] || [ "$(basename "$1")" != "configure" ]; then echo "You should provide a valid configure file as parameter" exit 1 elif [ -n "$OMTOOL_DIR" ]; then QTOPIA_CONFIGURE="$1" QTOPIA_PATH=$(dirname "$1") else echo "You must configure Openmoko Toolchain setting the \$OMTOOL_DIR path" exit 1 fi QT_ARCH="arm" #QT_ENDIAN="-little-endian" PLATFORM="linux-oe-g++" OE_QT_PREFIX="/opt/Qtopia" TARGET_DEVICE="ficgta01" HOST_SYS="arm-angstrom-linux-gnueabi" OM_INCDIR="${OMTOOL_DIR}/arm/arm-angstrom-linux-gnueabi/usr/include" OM_LIBIR="${OMTOOL_DIR}/arm/arm-angstrom-linux-gnueabi/usr/lib" export CFLAGS="${CFLAGS/-Os/-O2} -fomit-frame-pointer -finline-functions -falign-functions=2 -falign-loops=2 -falign-jumps=2 -march=armv4t -mtune=arm920t -msoft-float" export CXXFLAGS="${CXXFLAGS/-Os/-O2} -fomit-frame-pointer -finline-functions -falign-functions=2 -falign-loops=2 -falign-jumps=2 -march=armv4t -mtune=arm920t -msoft-float" export OE_QMAKE_CC="$(echo ${CC/ccache/} | cut -d' ' -f1)" export OE_QMAKE_CFLAGS="${CFLAGS}" export OE_QMAKE_CXX="$(echo ${CXX/ccache/} | cut -d' ' -f1)" export OE_QMAKE_LDFLAGS="${LDFLAGS}" export OE_QMAKE_AR="$(echo ${AR/ccache/} | cut -d' ' -f1)" export OE_QMAKE_STRIP="$STRIP" export OE_QMAKE_RPATH="-Wl,-rpath-link," sed -i s%$\(OE_QMAKE_CC\)%"${CC}"%g ${QTOPIA_PATH}/devices/${TARGET_DEVICE}/mkspecs/qws/$PLATFORM/qmake.conf sed -i s%$\(OE_QMAKE_CFLAGS\)%"${CFLAGS}"%g ${QTOPIA_PATH}/devices/${TARGET_DEVICE}/mkspecs/qws/$PLATFORM/qmake.conf sed -i s%$\(OE_QMAKE_CXX\)%"${CXX}"%g ${QTOPIA_PATH}/devices/${TARGET_DEVICE}/mkspecs/qws/$PLATFORM/qmake.conf sed -i s%$\(OE_QMAKE_CXXFLAGS\)%"${CXXFLAGS}"%g ${QTOPIA_PATH}/devices/${TARGET_DEVICE}/mkspecs/qws/$PLATFORM/qmake.conf sed -i s%$\(OE_QMAKE_LINK\)%"${CXX}"%g ${QTOPIA_PATH}/devices/${TARGET_DEVICE}/mkspecs/qws/$PLATFORM/qmake.conf sed -i s%$\(OE_QMAKE_LDFLAGS\)%"${LDFLAGS}"%g ${QTOPIA_PATH}/devices/${TARGET_DEVICE}/mkspecs/qws/$PLATFORM/qmake.conf sed -i s%$\(OE_QMAKE_AR\)%"${AR}"%g ${QTOPIA_PATH}/devices/${TARGET_DEVICE}/mkspecs/qws/$PLATFORM/qmake.conf sed -i s%$\(OE_QMAKE_STRIP\)%"${STRIP}"%g ${QTOPIA_PATH}/devices/${TARGET_DEVICE}/mkspecs/qws/$PLATFORM/qmake.conf sed -i "s%^TOOLCHAIN=.*%#\0%" ${QTOPIA_PATH}/devices/${TARGET_DEVICE}/environment unset CC unset CXX unset CFLAGS unset CXXFLAGS unset LDFLAGS unset STRIP #echo "now you can configure qtopia-x11 with: $QTOPIA_CONFIGURE -xplatform $PLATFORM -arch ${QT_ARCH} ${QT_ENDIAN} \ -prefix ${OE_QT_PREFIX} -device ${TARGET_DEVICE} -verbose -no-drm \ -no-sxe -displaysize 480x640-640x480 -dbus -release -no-test \ -extra-qtopiacore-config "-qt-libjpeg -qt-zlib -qt-libpng -no-iconv \ -no-sm -fontconfig -xrender -xrandr" -mediaengines gstreamer \ -buildkey ${HOST_SYS} \ -I${OM_INCDIR} \ -I${OM_INCDIR}/freetype2 -I${OM_INCDIR}/fontconfig \ -I${OM_INCDIR}/dbus-1.0 \ -I${OM_INCDIR}/c++/4.1.2 \ -I${OM_INCDIR}/c++/4.1.2/arm-angstrom-linux-gnueabi \ -L${OM_LIBIR}