qtmobility/configure
changeset 4 90517678cc4f
parent 0 cfcbf08528c4
child 5 453da2cfceef
equal deleted inserted replaced
1:2b40d63a9c3d 4:90517678cc4f
    37 ##
    37 ##
    38 ##
    38 ##
    39 ## $QT_END_LICENSE$
    39 ## $QT_END_LICENSE$
    40 ##
    40 ##
    41 #############################################################################
    41 #############################################################################
       
    42 
       
    43 # return status of 1 if absolute path as first argument
       
    44 # also prints the return status
       
    45 function isAbsPath() {
       
    46     slash=$(echo $1 | cut -c 1)
       
    47     if [ "$slash" != "/" ]; then
       
    48         echo 0
       
    49         return 0
       
    50     fi
       
    51     echo 1
       
    52     return 1
       
    53 }
       
    54 
       
    55 # Returns the absolute path for $1 for target $2
       
    56 # as an example $2 might have value "maemo5".
       
    57 # This is required because when building in scratchbox for
       
    58 # maemo we do not want to follow symbolic links that are 
       
    59 # introduced by scratchbox
       
    60 function absPath() {
       
    61     
       
    62     if [ "$2" = "maemo5" -o "$2" = "maemo6" ]; then
       
    63         if [ `isAbsPath $1` = '1' ]; then
       
    64             echo $1;
       
    65         else
       
    66             echo "Relative prefix paths are not supported for Maemo"
       
    67             exit 1;
       
    68         fi
       
    69     else
       
    70         RESULT=`(cd "$1"; /bin/pwd)`
       
    71         echo $RESULT
       
    72     fi
       
    73 }
       
    74 
    42 
    75 
    43 # the current directory (shadow build dir)
    76 # the current directory (shadow build dir)
    44 shadowpath=`/bin/pwd`
    77 shadowpath=`/bin/pwd`
    45 # the name of this script
    78 # the name of this script
    46 relconf=`basename $0`
    79 relconf=`basename $0`
   207     rm 1.pro
   240     rm 1.pro
   208 }
   241 }
   209 
   242 
   210 findframeworks
   243 findframeworks
   211 
   244 
       
   245 findUniversal()
       
   246 {
       
   247     if [ -e "mac.inc" ]; then 
       
   248         rm mac.inc
       
   249     fi
       
   250     echo "contains(QT_CONFIG,x86): system(echo CONFIG+=x86 >> mac.inc)" > 2.pro
       
   251     echo "contains(QT_CONFIG,ppc): system(echo CONFIG+=ppc >> mac.inc)" >> 2.pro
       
   252     echo "contains(QT_CONFIG,ppc64): system(echo CONFIG+=ppc64 >> mac.inc)" >> 2.pro
       
   253     echo "contains(QT_CONFIG,x86_64): system(echo CONFIG+=x86_64 >> mac.inc)" >> 2.pro
       
   254     SOMETIME=`qmake 2.pro 2>&1`
       
   255     rm 2.pro
       
   256     if [ -e "mac.inc" ]; then 
       
   257          echo "exists(mac.inc): include(mac.inc)" >> "$CONFIG_IN"
       
   258     fi
       
   259 }
       
   260 
       
   261 
   212 if [ -n "$BUILD_SILENT" ]; then
   262 if [ -n "$BUILD_SILENT" ]; then
   213     echo "CONFIG += silent"  > "$CONFIG_IN"
   263     echo "CONFIG += silent"  > "$CONFIG_IN"
   214 fi
   264 fi
       
   265 
       
   266 findUniversal
   215 
   267 
   216 if [ -z "$RELEASEMODE" ]; then
   268 if [ -z "$RELEASEMODE" ]; then
   217     RELEASEMODE="debug"
   269     RELEASEMODE="debug"
   218 fi
   270 fi
   219 echo "CONFIG += $RELEASEMODE" >> "$CONFIG_IN"
   271 echo "CONFIG += $RELEASEMODE" >> "$CONFIG_IN"
   227     fi
   279     fi
   228 fi
   280 fi
   229 
   281 
   230 #process PREFIX
   282 #process PREFIX
   231 if [ -d "$QT_MOBILITY_PREFIX" ]; then
   283 if [ -d "$QT_MOBILITY_PREFIX" ]; then
   232     QT_MOBILITY_PREFIX=`(cd "$QT_MOBILITY_PREFIX"; /bin/pwd)`
   284     QT_MOBILITY_PREFIX=`absPath $QT_MOBILITY_PREFIX $LINUX_TARGET`
   233 else
   285 else
   234     mkdir -p "$QT_MOBILITY_PREFIX"
   286     mkdir -p "$QT_MOBILITY_PREFIX"
   235     absPath=`(cd "$QT_MOBILITY_PREFIX"; /bin/pwd)`
   287     QT_MOBILITY_PREFIX=`absPath $QT_MOBILITY_PREFIX $LINUX_TARGET`
   236     rm -rf "$QT_MOBILITY_PREFIX"
   288     rm -rf "$QT_MOBILITY_PREFIX"
   237     QT_MOBILITY_PREFIX="$absPath"
       
   238 fi
   289 fi
   239 echo "QT_MOBILITY_PREFIX = $QT_MOBILITY_PREFIX" >> "$CONFIG_IN"
   290 echo "QT_MOBILITY_PREFIX = $QT_MOBILITY_PREFIX" >> "$CONFIG_IN"
   240 
   291 
   241 #process include path
   292 #process include path
   242 if [ -z "$QT_MOBILITY_INCLUDE" ]; then
   293 if [ -z "$QT_MOBILITY_INCLUDE" ]; then
   243     QT_MOBILITY_INCLUDE="$QT_MOBILITY_PREFIX/include"
   294     QT_MOBILITY_INCLUDE="$QT_MOBILITY_PREFIX/include"
   244 elif [ -d "$QT_MOBILITY_INCLUDE" ]; then
   295 elif [ -d "$QT_MOBILITY_INCLUDE" ]; then
   245     QT_MOBILITY_INCLUDE=`(cd "$QT_MOBILITY_INCLUDE"; /bin/pwd)`
   296     QT_MOBILITY_INCLUDE=`absPath $QT_MOBILITY_INCLUDE $LINUX_TARGET`
   246 else
   297 else
   247     mkdir -p "$QT_MOBILITY_INCLUDE"
   298     mkdir -p "$QT_MOBILITY_INCLUDE"
   248     absPath=`(cd "$QT_MOBILITY_INCLUDE"; /bin/pwd)`
   299     QT_MOBILITY_INCLUDE=`absPath $QT_MOBILITY_INCLUDE $LINUX_TARGET`
   249     rm -rf "$QT_MOBILITY_INCLUDE"
   300     rm -rf "$QT_MOBILITY_INCLUDE"
   250     QT_MOBILITY_INCLUDE="$absPath"
       
   251 fi
   301 fi
   252 echo "QT_MOBILITY_INCLUDE = $QT_MOBILITY_INCLUDE" >> "$CONFIG_IN"
   302 echo "QT_MOBILITY_INCLUDE = $QT_MOBILITY_INCLUDE" >> "$CONFIG_IN"
   253 
   303 
   254 
   304 
   255 #process library path
   305 #process library path
   256 if [ -z "$QT_MOBILITY_LIB" ]; then
   306 if [ -z "$QT_MOBILITY_LIB" ]; then
   257     QT_MOBILITY_LIB="$QT_MOBILITY_PREFIX/$LIB_PATH"
   307     QT_MOBILITY_LIB="$QT_MOBILITY_PREFIX/$LIB_PATH"
   258 elif [ -d "$QT_MOBILITY_LIB" ]; then
   308 elif [ -d "$QT_MOBILITY_LIB" ]; then
   259     QT_MOBILITY_LIB=`(cd "$QT_MOBILITY_LIB"; /bin/pwd)`
   309     QT_MOBILITY_LIB=`absPath $QT_MOBILITY_LIB $LINUX_TARGET`
   260 else
   310 else
   261     mkdir -p "$QT_MOBILITY_LIB"
   311     mkdir -p "$QT_MOBILITY_LIB"
   262     absPath=`(cd "$QT_MOBILITY_LIB"; /bin/pwd)`
   312     QT_MOBILITY_LIB=`absPath $QT_MOBILITY_LIB $LINUX_TARGET`
   263     rm -rf "$QT_MOBILITY_LIB"
   313     rm -rf "$QT_MOBILITY_LIB"
   264     QT_MOBILITY_LIB="$absPath"
       
   265 fi
   314 fi
   266 echo "QT_MOBILITY_LIB = $QT_MOBILITY_LIB" >> "$CONFIG_IN"
   315 echo "QT_MOBILITY_LIB = $QT_MOBILITY_LIB" >> "$CONFIG_IN"
   267 
   316 
   268 #process binary path
   317 #process binary path
   269 if [ -z "$QT_MOBILITY_BIN" ]; then
   318 if [ -z "$QT_MOBILITY_BIN" ]; then
   270     QT_MOBILITY_BIN="$QT_MOBILITY_PREFIX/$BIN_PATH"
   319     QT_MOBILITY_BIN="$QT_MOBILITY_PREFIX/$BIN_PATH"
   271 elif [ -d "$QT_MOBILITY_BIN" ]; then
   320 elif [ -d "$QT_MOBILITY_BIN" ]; then
   272     QT_MOBILITY_BIN=`(cd "$QT_MOBILITY_BIN"; /bin/pwd)`
   321     QT_MOBILITY_BIN=`absPath $QT_MOBILITY_BIN $LINUX_TARGET`
   273 else
   322 else
   274     mkdir -p "$QT_MOBILITY_BIN"
   323     mkdir -p "$QT_MOBILITY_BIN"
   275     absPath=`(cd "$QT_MOBILITY_BIN"; /bin/pwd)`
   324     QT_MOBILITY_BIN=`absPath $QT_MOBILITY_BIN $LINUX_TARGET`
   276     rm -rf "$QT_MOBILITY_BIN"
   325     rm -rf "$QT_MOBILITY_BIN"
   277     QT_MOBILITY_BIN="$absPath"
       
   278 fi
   326 fi
   279 echo "QT_MOBILITY_BIN = $QT_MOBILITY_BIN" >> "$CONFIG_IN"
   327 echo "QT_MOBILITY_BIN = $QT_MOBILITY_BIN" >> "$CONFIG_IN"
   280 
   328 
   281 echo "QT_MOBILITY_SOURCE_TREE = $relpath" >> "$QMAKE_CACHE"
   329 echo "QT_MOBILITY_SOURCE_TREE = $relpath" >> "$QMAKE_CACHE"
   282 echo "QT_MOBILITY_BUILD_TREE = $shadowpath" >> "$QMAKE_CACHE"
   330 echo "QT_MOBILITY_BUILD_TREE = $shadowpath" >> "$QMAKE_CACHE"
   346         rm -rf config.tests/$2
   394         rm -rf config.tests/$2
   347         mkdir -p config.tests/$2
   395         mkdir -p config.tests/$2
   348         cd config.tests/$2
   396         cd config.tests/$2
   349     fi
   397     fi
   350 
   398 
   351     qmake "$relpath/config.tests/$2/$2.pro" >> "$CONFIG_LOG"
   399     qmake "$relpath/config.tests/$2/$2.pro" 2>> "$CONFIG_LOG" >> "$CONFIG_LOG"
   352     printf  " ."
   400     printf  " ."
   353     "$MAKE" clean >> "$CONFIG_LOG"
   401     "$MAKE" clean >> "$CONFIG_LOG"
   354     printf "."
   402     printf "."
   355     "$MAKE" >> "$CONFIG_LOG" 2>&1
   403     "$MAKE" >> "$CONFIG_LOG" 2>&1
   356     printf ". "
   404     printf ". "
   366 
   414 
   367 #compile tests
   415 #compile tests
   368 compileTest QMF qmf
   416 compileTest QMF qmf
   369 compileTest NetworkManager networkmanager
   417 compileTest NetworkManager networkmanager
   370 compileTest "CoreWLAN (MacOS 10.6)" corewlan
   418 compileTest "CoreWLAN (MacOS 10.6)" corewlan
       
   419 compileTest "Maemo ICD" maemo-icd
       
   420 compileTest "Maemo ICD WLAN" maemo-icd-network-wlan
   371 
   421 
   372 # Now module selection
   422 # Now module selection
   373 # using 'expr match ....' should help a bit
   423 # using 'expr match ....' should help a bit
   374 #if [ -n "$MOBILITY_MODULES_UNPARSED" ]; then
   424 #if [ -n "$MOBILITY_MODULES_UNPARSED" ]; then
   375     # In theory we should do some sanity checking here.
   425     # In theory we should do some sanity checking here.
   377 #fi
   427 #fi
   378 
   428 
   379 # It's a lot easier to make qmake do the dependency checking...
   429 # It's a lot easier to make qmake do the dependency checking...
   380 echo "mobility_modules = $MOBILITY_MODULES" >> "$CONFIG_IN"
   430 echo "mobility_modules = $MOBILITY_MODULES" >> "$CONFIG_IN"
   381 echo "contains(mobility_modules,versit): mobility_modules *= contacts" >> "$CONFIG_IN"
   431 echo "contains(mobility_modules,versit): mobility_modules *= contacts" >> "$CONFIG_IN"
       
   432 echo "maemo5|maemo6:contains(maemo-icd_enabled, no): mobility_modules -= bearer" >> "$CONFIG_IN"
       
   433 
       
   434 # If libicd-network-wlan-dev.h is not present, use own copy.
       
   435 # At time of writing, libicd-network-wlan-dev is not released for maemo5.
       
   436 echo "maemo5:contains(maemo-icd-network-wlan_enabled, no): INCLUDEPATH += $relpath/src/3rdparty/icd-network-wlan" >> "$CONFIG_IN"
   382 
   437 
   383 # Ideally we'd skip generating headers for modules that are not enabled
   438 # Ideally we'd skip generating headers for modules that are not enabled
   384 echo "Generating Mobility Headers..."
   439 echo "Generating Mobility Headers..."
   385 #remove old headers
   440 #remove old headers
   386 rm -rf $shadowpath/include
   441 rm -rf $shadowpath/include
   408             $relpath/bin/syncheaders $shadowpath/include $relpath/src/contacts/requests
   463             $relpath/bin/syncheaders $shadowpath/include $relpath/src/contacts/requests
   409             $relpath/bin/syncheaders $shadowpath/include $relpath/src/contacts/filters
   464             $relpath/bin/syncheaders $shadowpath/include $relpath/src/contacts/filters
   410             ;;
   465             ;;
   411         multimedia)
   466         multimedia)
   412             $relpath/bin/syncheaders $shadowpath/include $relpath/src/multimedia
   467             $relpath/bin/syncheaders $shadowpath/include $relpath/src/multimedia
   413             $relpath/bin/syncheaders $shadowpath/include $relpath/src/multimedia/experimental
       
   414             ;;
   468             ;;
   415         messaging)
   469         messaging)
   416             $relpath/bin/syncheaders $shadowpath/include $relpath/src/messaging
   470             $relpath/bin/syncheaders $shadowpath/include $relpath/src/messaging
   417             ;;
   471             ;;
   418         versit)
   472         versit)
   432     esac
   486     esac
   433 done
   487 done
   434 
   488 
   435 mv "$CONFIG_IN" config.pri
   489 mv "$CONFIG_IN" config.pri
   436 mkdir -p "$shadowpath/features"
   490 mkdir -p "$shadowpath/features"
   437 cp -f "$relpath/features/strict_flags.prf" "$shadowpath/features"
   491 if [ "$shadowpath" != "$relpath" ]; then 
       
   492     cp -f "$relpath/features/strict_flags.prf" "$shadowpath/features"
       
   493 fi
   438 
   494 
   439 echo "Running qmake..."
   495 echo "Running qmake..."
   440 if qmake -recursive "$relpath/qtmobility.pro"; then
   496 if qmake -recursive "$relpath/qtmobility.pro"; then
   441     echo ""
   497     echo ""
   442     echo "configure has finished. You may run make or gmake to build the project now."
   498     echo "configure has finished. You may run make or gmake to build the project now."
   443 else
   499 else
   444     echo ""
   500     echo ""
   445     echo "configure failed."
   501     echo "configure failed."
   446 fi
   502 fi
       
   503