diff -r 2b40d63a9c3d -r 90517678cc4f qtmobility/configure --- a/qtmobility/configure Fri Apr 16 15:51:22 2010 +0300 +++ b/qtmobility/configure Mon May 03 13:18:40 2010 +0300 @@ -40,6 +40,39 @@ ## ############################################################################# +# return status of 1 if absolute path as first argument +# also prints the return status +function isAbsPath() { + slash=$(echo $1 | cut -c 1) + if [ "$slash" != "/" ]; then + echo 0 + return 0 + fi + echo 1 + return 1 +} + +# Returns the absolute path for $1 for target $2 +# as an example $2 might have value "maemo5". +# This is required because when building in scratchbox for +# maemo we do not want to follow symbolic links that are +# introduced by scratchbox +function absPath() { + + if [ "$2" = "maemo5" -o "$2" = "maemo6" ]; then + if [ `isAbsPath $1` = '1' ]; then + echo $1; + else + echo "Relative prefix paths are not supported for Maemo" + exit 1; + fi + else + RESULT=`(cd "$1"; /bin/pwd)` + echo $RESULT + fi +} + + # the current directory (shadow build dir) shadowpath=`/bin/pwd` # the name of this script @@ -209,10 +242,29 @@ findframeworks +findUniversal() +{ + if [ -e "mac.inc" ]; then + rm mac.inc + fi + echo "contains(QT_CONFIG,x86): system(echo CONFIG+=x86 >> mac.inc)" > 2.pro + echo "contains(QT_CONFIG,ppc): system(echo CONFIG+=ppc >> mac.inc)" >> 2.pro + echo "contains(QT_CONFIG,ppc64): system(echo CONFIG+=ppc64 >> mac.inc)" >> 2.pro + echo "contains(QT_CONFIG,x86_64): system(echo CONFIG+=x86_64 >> mac.inc)" >> 2.pro + SOMETIME=`qmake 2.pro 2>&1` + rm 2.pro + if [ -e "mac.inc" ]; then + echo "exists(mac.inc): include(mac.inc)" >> "$CONFIG_IN" + fi +} + + if [ -n "$BUILD_SILENT" ]; then echo "CONFIG += silent" > "$CONFIG_IN" fi +findUniversal + if [ -z "$RELEASEMODE" ]; then RELEASEMODE="debug" fi @@ -229,12 +281,11 @@ #process PREFIX if [ -d "$QT_MOBILITY_PREFIX" ]; then - QT_MOBILITY_PREFIX=`(cd "$QT_MOBILITY_PREFIX"; /bin/pwd)` + QT_MOBILITY_PREFIX=`absPath $QT_MOBILITY_PREFIX $LINUX_TARGET` else mkdir -p "$QT_MOBILITY_PREFIX" - absPath=`(cd "$QT_MOBILITY_PREFIX"; /bin/pwd)` + QT_MOBILITY_PREFIX=`absPath $QT_MOBILITY_PREFIX $LINUX_TARGET` rm -rf "$QT_MOBILITY_PREFIX" - QT_MOBILITY_PREFIX="$absPath" fi echo "QT_MOBILITY_PREFIX = $QT_MOBILITY_PREFIX" >> "$CONFIG_IN" @@ -242,12 +293,11 @@ if [ -z "$QT_MOBILITY_INCLUDE" ]; then QT_MOBILITY_INCLUDE="$QT_MOBILITY_PREFIX/include" elif [ -d "$QT_MOBILITY_INCLUDE" ]; then - QT_MOBILITY_INCLUDE=`(cd "$QT_MOBILITY_INCLUDE"; /bin/pwd)` + QT_MOBILITY_INCLUDE=`absPath $QT_MOBILITY_INCLUDE $LINUX_TARGET` else mkdir -p "$QT_MOBILITY_INCLUDE" - absPath=`(cd "$QT_MOBILITY_INCLUDE"; /bin/pwd)` + QT_MOBILITY_INCLUDE=`absPath $QT_MOBILITY_INCLUDE $LINUX_TARGET` rm -rf "$QT_MOBILITY_INCLUDE" - QT_MOBILITY_INCLUDE="$absPath" fi echo "QT_MOBILITY_INCLUDE = $QT_MOBILITY_INCLUDE" >> "$CONFIG_IN" @@ -256,12 +306,11 @@ if [ -z "$QT_MOBILITY_LIB" ]; then QT_MOBILITY_LIB="$QT_MOBILITY_PREFIX/$LIB_PATH" elif [ -d "$QT_MOBILITY_LIB" ]; then - QT_MOBILITY_LIB=`(cd "$QT_MOBILITY_LIB"; /bin/pwd)` + QT_MOBILITY_LIB=`absPath $QT_MOBILITY_LIB $LINUX_TARGET` else mkdir -p "$QT_MOBILITY_LIB" - absPath=`(cd "$QT_MOBILITY_LIB"; /bin/pwd)` + QT_MOBILITY_LIB=`absPath $QT_MOBILITY_LIB $LINUX_TARGET` rm -rf "$QT_MOBILITY_LIB" - QT_MOBILITY_LIB="$absPath" fi echo "QT_MOBILITY_LIB = $QT_MOBILITY_LIB" >> "$CONFIG_IN" @@ -269,12 +318,11 @@ if [ -z "$QT_MOBILITY_BIN" ]; then QT_MOBILITY_BIN="$QT_MOBILITY_PREFIX/$BIN_PATH" elif [ -d "$QT_MOBILITY_BIN" ]; then - QT_MOBILITY_BIN=`(cd "$QT_MOBILITY_BIN"; /bin/pwd)` + QT_MOBILITY_BIN=`absPath $QT_MOBILITY_BIN $LINUX_TARGET` else mkdir -p "$QT_MOBILITY_BIN" - absPath=`(cd "$QT_MOBILITY_BIN"; /bin/pwd)` + QT_MOBILITY_BIN=`absPath $QT_MOBILITY_BIN $LINUX_TARGET` rm -rf "$QT_MOBILITY_BIN" - QT_MOBILITY_BIN="$absPath" fi echo "QT_MOBILITY_BIN = $QT_MOBILITY_BIN" >> "$CONFIG_IN" @@ -348,7 +396,7 @@ cd config.tests/$2 fi - qmake "$relpath/config.tests/$2/$2.pro" >> "$CONFIG_LOG" + qmake "$relpath/config.tests/$2/$2.pro" 2>> "$CONFIG_LOG" >> "$CONFIG_LOG" printf " ." "$MAKE" clean >> "$CONFIG_LOG" printf "." @@ -368,6 +416,8 @@ compileTest QMF qmf compileTest NetworkManager networkmanager compileTest "CoreWLAN (MacOS 10.6)" corewlan +compileTest "Maemo ICD" maemo-icd +compileTest "Maemo ICD WLAN" maemo-icd-network-wlan # Now module selection # using 'expr match ....' should help a bit @@ -379,6 +429,11 @@ # It's a lot easier to make qmake do the dependency checking... echo "mobility_modules = $MOBILITY_MODULES" >> "$CONFIG_IN" echo "contains(mobility_modules,versit): mobility_modules *= contacts" >> "$CONFIG_IN" +echo "maemo5|maemo6:contains(maemo-icd_enabled, no): mobility_modules -= bearer" >> "$CONFIG_IN" + +# If libicd-network-wlan-dev.h is not present, use own copy. +# At time of writing, libicd-network-wlan-dev is not released for maemo5. +echo "maemo5:contains(maemo-icd-network-wlan_enabled, no): INCLUDEPATH += $relpath/src/3rdparty/icd-network-wlan" >> "$CONFIG_IN" # Ideally we'd skip generating headers for modules that are not enabled echo "Generating Mobility Headers..." @@ -410,7 +465,6 @@ ;; multimedia) $relpath/bin/syncheaders $shadowpath/include $relpath/src/multimedia - $relpath/bin/syncheaders $shadowpath/include $relpath/src/multimedia/experimental ;; messaging) $relpath/bin/syncheaders $shadowpath/include $relpath/src/messaging @@ -434,7 +488,9 @@ mv "$CONFIG_IN" config.pri mkdir -p "$shadowpath/features" -cp -f "$relpath/features/strict_flags.prf" "$shadowpath/features" +if [ "$shadowpath" != "$relpath" ]; then + cp -f "$relpath/features/strict_flags.prf" "$shadowpath/features" +fi echo "Running qmake..." if qmake -recursive "$relpath/qtmobility.pro"; then @@ -444,3 +500,4 @@ echo "" echo "configure failed." fi +