qtmobility/configure.bat
changeset 14 6fbed849b4f4
parent 11 06b8e2af4411
child 15 1f895d8a5b2b
equal deleted inserted replaced
11:06b8e2af4411 14:6fbed849b4f4
    46 set SOURCE_PATH= %~dp0
    46 set SOURCE_PATH= %~dp0
    47 cd /D %SOURCE_PATH%
    47 cd /D %SOURCE_PATH%
    48 set SOURCE_PATH=%CD%
    48 set SOURCE_PATH=%CD%
    49 cd /D %BUILD_PATH%
    49 cd /D %BUILD_PATH%
    50 
    50 
    51 set PROJECT_CONFIG= %BUILD_PATH%\config.in
    51 set PROJECT_CONFIG=%BUILD_PATH%\config.in
    52 set PROJECT_LOG= %BUILD_PATH%\config.log
    52 set PROJECT_LOG=%BUILD_PATH%\config.log
    53 set RELEASEMODE=release
    53 set RELEASEMODE=release
    54 set WIN32_RELEASEMODE=debug_and_release build_all
    54 set WIN32_RELEASEMODE=debug_and_release build_all
    55 set QT_MOBILITY_LIB=
    55 set QT_MOBILITY_LIB=
    56 set BUILD_UNITTESTS=no
    56 set BUILD_UNITTESTS=no
    57 set BUILD_EXAMPLES=no
    57 set BUILD_EXAMPLES=no
    58 set BUILD_DOCS=yes
    58 set BUILD_DOCS=yes
    59 set BUILD_TOOLS=yes
    59 set BUILD_TOOLS=yes
    60 set MOBILITY_MODULES=bearer location contacts multimedia publishsubscribe versit messaging systeminfo serviceframework sensors
    60 set MOBILITY_MODULES=bearer location contacts multimedia publishsubscribe versit messaging systeminfo serviceframework sensors
    61 set MOBILITY_MODULES_UNPARSED=
    61 set MOBILITY_MODULES_UNPARSED=
       
    62 set MOBILITY_MULTIMEDIA=yes
    62 set VC_TEMPLATE_OPTION=
    63 set VC_TEMPLATE_OPTION=
    63 set QT_PATH=
    64 set QT_PATH=
    64 set QMAKE_CACHE=%BUILD_PATH%\.qmake.cache
    65 set QMAKE_CACHE=%BUILD_PATH%\.qmake.cache
    65 
    66 
    66 if exist "%QMAKE_CACHE%" del %QMAKE_CACHE%
    67 if exist "%QMAKE_CACHE%" del /Q %QMAKE_CACHE%
    67 if exist "%PROJECT_LOG%" del %PROJECT_LOG%
    68 if exist "%PROJECT_LOG%" del /Q %PROJECT_LOG%
    68 if exist "%PROJECT_CONFIG%" del %PROJECT_CONFIG%
    69 if exist "%PROJECT_CONFIG%" del /Q %PROJECT_CONFIG%
    69 
    70 
    70 echo QT_MOBILITY_SOURCE_TREE = %SOURCE_PATH% > %QMAKE_CACHE%
    71 echo QT_MOBILITY_SOURCE_TREE = %SOURCE_PATH% > %QMAKE_CACHE%
    71 echo QT_MOBILITY_BUILD_TREE = %BUILD_PATH% >> %QMAKE_CACHE%
    72 echo QT_MOBILITY_BUILD_TREE = %BUILD_PATH% >> %QMAKE_CACHE%
    72 set QMAKE_CACHE=
    73 set QMAKE_CACHE=
       
    74 
       
    75 if %BUILD_PATH% == %SOURCE_PATH% (
       
    76     cd %SOURCE_PATH%\config.tests\qtmultimedia
       
    77     if exist make del qtmultimedia
       
    78 ) else (
       
    79     rmdir /S /Q config.tests\qtmultimedia
       
    80     mkdir config.tests\qtmultimedia
       
    81     cd config.tests\qtmultimedia
       
    82 )
       
    83 for /f "tokens=3" %%i in ('call %QT_PATH%qmake %SOURCE_PATH%\config.tests\qtmultimedia\qtmultimedia.pro 2^>^&1 1^>NUL') do set QTMULTIMEDIA=%%i 
       
    84 if %QTMULTIMEDIA% == no-multimedia (
       
    85     set MOBILITY_MULTIMEDIA=yes
       
    86 ) else (
       
    87     set MOBILITY_MULTIMEDIA=no
       
    88 )
       
    89 cd /D %BUILD_PATH%
    73 
    90 
    74 :cmdline_parsing
    91 :cmdline_parsing
    75 if "%1" == ""                   goto startProcessing
    92 if "%1" == ""                   goto startProcessing
    76 if "%1" == "-debug"             goto debugTag
    93 if "%1" == "-debug"             goto debugTag
    77 if "%1" == "-release"           goto releaseTag
    94 if "%1" == "-release"           goto releaseTag
   117     echo                     (default PREFIX/plugins)
   134     echo                     (default PREFIX/plugins)
   118     echo -debug ............ Build with debugging symbols
   135     echo -debug ............ Build with debugging symbols
   119     echo -release .......... Build without debugging symbols
   136     echo -release .......... Build without debugging symbols
   120     echo -silent ........... Reduces build output
   137     echo -silent ........... Reduces build output
   121     echo -tests ............ Build unit tests (not build by default)
   138     echo -tests ............ Build unit tests (not build by default)
   122     echo                     Note, this adds test symbols to all libraries 
   139     echo                     Note, this adds test symbols to all libraries
   123     echo                     and should not be used for release builds.
   140     echo                     and should not be used for release builds.
   124     echo -examples ......... Build example applications
   141     echo -examples ......... Build example applications
   125     echo -no-docs .......... Do not build documentation (build by default)
   142     echo -no-docs .......... Do not build documentation (build by default)
   126     echo -modules ^<list^> ... Build only the specified modules (default all)
   143     echo -modules ^<list^> ... Build only the specified modules (default all)
   127     echo                     Choose from: bearer contacts location publishsubscribe
   144     echo                     Choose from: bearer contacts location publishsubscribe
   191 echo
   208 echo
   192 goto cmdline_parsing
   209 goto cmdline_parsing
   193 
   210 
   194 :unfrozenTag
   211 :unfrozenTag
   195 REM Should never be used in release builds
   212 REM Should never be used in release builds
   196 REM Some SDK's seem to exclude Q_AUTOTEST_EXPORT symbols if the 
   213 REM Some SDK's seem to exclude Q_AUTOTEST_EXPORT symbols if the
   197 REM libraries are frozen. This breaks unit tests relying on the auto test exports
   214 REM libraries are frozen. This breaks unit tests relying on the auto test exports
   198 REM This flag unfreezes the SYMBIAN libraries for the purpose of unit test building.
   215 REM This flag unfreezes the SYMBIAN libraries for the purpose of unit test building.
   199 REM Ideally this should be connected to '-tests' option but that would prevent 
   216 REM Ideally this should be connected to '-tests' option but that would prevent
   200 REM integration testing for frozen symbols as the CI system should test unit tests
   217 REM integration testing for frozen symbols as the CI system should test unit tests
   201 REM and frozen symbol compliance.
   218 REM and frozen symbol compliance.
   202 echo symbian_symbols_unfrozen = 1 >> %PROJECT_CONFIG%
   219 echo symbian_symbols_unfrozen = 1 >> %PROJECT_CONFIG%
   203 shift
   220 shift
   204 goto cmdline_parsing
   221 goto cmdline_parsing
   248 set MOBILITY_MODULES=
   265 set MOBILITY_MODULES=
   249 
   266 
   250 echo Checking selected modules:
   267 echo Checking selected modules:
   251 :modulesTag2
   268 :modulesTag2
   252 
   269 
   253 for /f "tokens=1,*" %%a in ("%MOBILITY_MODULES_UNPARSED%") do ( 
   270 for /f "tokens=1,*" %%a in ("%MOBILITY_MODULES_UNPARSED%") do (
   254     set FIRST=%%a 
   271     set FIRST=%%a
   255     set REMAINING=%%b
   272     set REMAINING=%%b
   256 )
   273 )
   257 
   274 
   258 : What we want is a switch as we need to check module name and only want to
   275 : What we want is a switch as we need to check module name and only want to
   259 : distinguish between false and correct module names being passed
   276 : distinguish between false and correct module names being passed
   280 ) else (
   297 ) else (
   281     echo     Unknown module %FIRST%
   298     echo     Unknown module %FIRST%
   282     goto errorTag
   299     goto errorTag
   283 )
   300 )
   284 
   301 
   285 set MOBILITY_MODULES=%MOBILITY_MODULES% %FIRST%
   302 if %FIRST% == multimedia (
       
   303     if %MOBILITY_MULTIMEDIA% == yes (
       
   304         set MOBILITY_MODULES=%MOBILITY_MODULES% %FIRST%
       
   305     ) else (
       
   306         echo "Only one multimedia module allowed, please rebuild Qt with -no-multimedia"
       
   307     )
       
   308 ) else (
       
   309     set MOBILITY_MODULES=%MOBILITY_MODULES% %FIRST%
       
   310 )
       
   311 
   286 if "%REMAINING%" == "" (
   312 if "%REMAINING%" == "" (
   287     shift
   313     shift
   288 ) else (
   314 ) else (
   289     set MOBILITY_MODULES_UNPARSED=%REMAINING%
   315     set MOBILITY_MODULES_UNPARSED=%REMAINING%
   290     goto modulesTag2
   316     goto modulesTag2
   292 
   318 
   293 SET REMAINING=
   319 SET REMAINING=
   294 SET FIRST=
   320 SET FIRST=
   295 goto cmdline_parsing
   321 goto cmdline_parsing
   296 
   322 
       
   323 :removeMultimedia
       
   324 set MOBILITY_MODULES_TEMP=%MOBILITY_MODULES%
       
   325 set MOBILITY_MODULES=
       
   326 
       
   327 :removeMultimedia2
       
   328 
       
   329 for /f "tokens=1,*" %%a in ("%MOBILITY_MODULES_TEMP%") do (
       
   330     set FIRST=%%a
       
   331     set REMAINING=%%b
       
   332 )
       
   333 if NOT %FIRST% == multimedia (
       
   334     set MOBILITY_MODULES=%MOBILITY_MODULES% %FIRST%
       
   335 )
       
   336 if "%REMAINING%" == "" (
       
   337     goto startProcessing2
       
   338 ) else (
       
   339     set MOBILITY_MODULES_TEMP=%REMAINING%
       
   340     goto removeMultimedia2
       
   341 )
       
   342 
       
   343 goto startProcessing2
       
   344 
   297 :startProcessing
   345 :startProcessing
       
   346 
       
   347 for %%a in (%MOBILITY_MODULES%) do (
       
   348     if %%a == multimedia (
       
   349         if %MOBILITY_MULTIMEDIA% == no (
       
   350             echo "Only one multimedia module allowed, please rebuild Qt with -no-multimedia"
       
   351             goto removeMultimedia
       
   352         )
       
   353     )
       
   354 )
       
   355 
       
   356 :startProcessing2
   298 
   357 
   299 echo CONFIG += %RELEASEMODE% >> %PROJECT_CONFIG%
   358 echo CONFIG += %RELEASEMODE% >> %PROJECT_CONFIG%
   300 echo CONFIG_WIN32 += %WIN32_RELEASEMODE% %RELEASEMODE% >> %PROJECT_CONFIG%
   359 echo CONFIG_WIN32 += %WIN32_RELEASEMODE% %RELEASEMODE% >> %PROJECT_CONFIG%
   301 set RELEASEMODE=
   360 set RELEASEMODE=
   302 set WIN32_RELEASEMODE=
   361 set WIN32_RELEASEMODE=
   384     for /f "tokens=2,3" %%a in ('call %QT_PATH%qmake %SOURCE_PATH%\config.tests\make\make.pro 2^>^&1 1^>NUL') do (
   443     for /f "tokens=2,3" %%a in ('call %QT_PATH%qmake %SOURCE_PATH%\config.tests\make\make.pro 2^>^&1 1^>NUL') do (
   385         if "%%a" == "MESSAGE:" (
   444         if "%%a" == "MESSAGE:" (
   386             set BUILDSYSTEM=%%b)
   445             set BUILDSYSTEM=%%b)
   387     )
   446     )
   388 
   447 
   389     if %BUILDSYSTEM% == symbian-abld (
   448     if "%BUILDSYSTEM%" == "symbian-abld" (
   390         call make -h >> %PROJECT_LOG% 2>&1
   449         call make -h >> %PROJECT_LOG% 2>&1
   391         if not errorlevel 1 (
   450         if not errorlevel 1 (
   392             echo ... Symbian abld make found.
   451             echo ... Symbian abld make found.
   393             set MAKE=make
   452             set MAKE=make
   394         )
   453         )
   395     ) else if %BUILDSYSTEM% == symbian-sbsv2 (
   454     ) else if "%BUILDSYSTEM%" == "symbian-sbsv2" (
   396         call make -h >> %PROJECT_LOG% 2>&1
   455         call make -h >> %PROJECT_LOG% 2>&1
   397         if not errorlevel 1 (
   456         if not errorlevel 1 (
   398             echo ... Symbian sbsv2 make found.
   457             echo ... Symbian sbsv2 make found.
   399             set MAKE=make
   458             set MAKE=make
   400         )
   459         )
   401     ) else if %BUILDSYSTEM% == win32-nmake (
   460     ) else if "%BUILDSYSTEM%" == "win32-nmake" (
   402         call nmake /? >> %PROJECT_LOG% 2>&1
   461         call nmake /? >> %PROJECT_LOG% 2>&1
   403         if not errorlevel 1 (
   462         if not errorlevel 1 (
   404             echo ... nmake found.
   463             echo ... nmake found.
   405             set MAKE=nmake
   464             set MAKE=nmake
   406         )
   465         )
   407     ) else if %BUILDSYSTEM% == win32-mingw (
   466     ) else if "%BUILDSYSTEM%" == "win32-mingw" (
   408         call mingw32-make -v >> %PROJECT_LOG% 2>&1
   467         call mingw32-make -v >> %PROJECT_LOG% 2>&1
   409         if not errorlevel 1 (
   468         if not errorlevel 1 (
   410             echo ... mingw32-make found.
   469             echo ... mingw32-make found.
   411             set MAKE=mingw32-make
   470             set MAKE=mingw32-make
   412         )
   471         )
   425 echo >&2Aborting.
   484 echo >&2Aborting.
   426 goto errorTag
   485 goto errorTag
   427 
   486 
   428 :compileTest
   487 :compileTest
   429 setlocal
   488 setlocal
       
   489     @echo off
   430     echo Checking %1
   490     echo Checking %1
   431     set CURRENT_PWD=%CD%
   491     set CURRENT_PWD=%CD%
   432 
   492 
   433     if %BUILD_PATH% == %SOURCE_PATH% (
   493     if %BUILD_PATH% == %SOURCE_PATH% (
   434         cd %SOURCE_PATH%\config.tests\%2
   494         cd %SOURCE_PATH%\config.tests\%2
   438         mkdir config.tests\%2
   498         mkdir config.tests\%2
   439         cd config.tests\%2
   499         cd config.tests\%2
   440     )
   500     )
   441 
   501 
   442     call %QT_PATH%qmake %SOURCE_PATH%\config.tests\%2\%2.pro >> %PROJECT_LOG% 2>&1
   502     call %QT_PATH%qmake %SOURCE_PATH%\config.tests\%2\%2.pro >> %PROJECT_LOG% 2>&1
   443     call %MOBILITY_MAKE% clean >> %PROJECT_LOG% 2>&1
       
   444     call %MOBILITY_MAKE% >> %PROJECT_LOG% 2>&1
       
   445 
   503 
   446     set FAILED=0
   504     set FAILED=0
   447     if %MOBILITY_BUILDSYSTEM% == symbian-sbsv2 (
   505     if "%MOBILITY_BUILDSYSTEM%" == "symbian-sbsv2" (
   448         for /f "tokens=2" %%i in ('%MOBILITY_MAKE% SBS^="@sbs --check"') do set FAILED=1
   506         call %MOBILITY_MAKE% release-armv5 >> %PROJECT_LOG% 2>&1
   449     ) else if %MOBILITY_BUILDSYSTEM% == symbian-abld (
   507         for /f "tokens=2" %%i in ('%MOBILITY_MAKE% release-armv5 SBS^="@sbs --check"') do set FAILED=1
   450         for /f "tokens=2" %%i in ('%MOBILITY_MAKE% ABLD^="@ABLD.BAT -c" 2^>^&1') do if not %%i == bldfiles set FAILED=1
   508     ) else if "%MOBILITY_BUILDSYSTEM%" == "symbian-abld" (
   451     ) else if errorlevel 1 (
   509         call %MOBILITY_MAKE% release-gcce >> %PROJECT_LOG% 2>&1
   452         set FAILED=1
   510         for /f "tokens=2" %%i in ('%MOBILITY_MAKE% release-gcce ABLD^="@ABLD.BAT -c" 2^>^&1') do if not %%i == bldfiles set FAILED=1
       
   511     ) else {
       
   512         REM Make for other builds
       
   513         call %MOBILITY_MAKE% >> %PROJECT_LOG% 2>&1
       
   514         REM have to check error level for windows / other builds to be sure.
       
   515         if errorlevel 1 (
       
   516            set FAILED=1
       
   517         )
   453     )
   518     )
   454 
   519 
   455     if %FAILED% == 0 (
   520     if %FAILED% == 0 (
   456         echo ... OK
   521         echo ... OK
   457         echo %2_enabled = yes >> %PROJECT_CONFIG%
   522         echo %2_enabled = yes >> %PROJECT_CONFIG%
   466 :compileTests
   531 :compileTests
   467 
   532 
   468 echo.
   533 echo.
   469 echo Start of compile tests
   534 echo Start of compile tests
   470 REM compile tests go here.
   535 REM compile tests go here.
       
   536 for /f "tokens=3" %%i in ('call %QT_PATH%qmake %SOURCE_PATH%\config.tests\make\make.pro 2^>^&1 1^>NUL') do set BUILDSYSTEM=%%i
       
   537 if "%BUILDSYSTEM%" == "symbian-abld" goto symbianTests
       
   538 if "%BUILDSYSTEM%" == "symbian-sbsv2" goto symbianTests
       
   539 goto noTests
       
   540 
       
   541 :symbianTests
   471 call :compileTest LBT lbt
   542 call :compileTest LBT lbt
   472 call :compileTest SNAP snap
   543 call :compileTest SNAP snap
   473 call :compileTest OCC occ
   544 call :compileTest OCC occ
   474 call :compileTest SymbianContactSIM symbiancntsim
   545 call :compileTest SymbianContactSIM symbiancntsim
   475 call :compileTest S60_Sensor_API sensors_s60_31
   546 call :compileTest S60_Sensor_API sensors_s60_31
   476 call :compileTest Symbian_Sensor_Framework sensors_symbian
   547 call :compileTest Symbian_Sensor_Framework sensors_symbian
       
   548 call :compileTest Audiorouting_s60 audiorouting_s60
       
   549 call :compileTest Tunerlibrary_for_3.1 tunerlib_s60
       
   550 call :compileTest RadioUtility_for_post_3.1 radioutility_s60
       
   551 call :compileTest OpenMaxAl_support openmaxal_symbian
       
   552 call :compileTest Surfaces_s60 surfaces_s60
       
   553 
       
   554 :noTests
       
   555 
   477 echo End of compile tests
   556 echo End of compile tests
   478 echo.
   557 echo.
   479 echo.
   558 echo.
   480 
   559 
   481 REM we could skip generating headers if a module is not enabled
   560 REM we could skip generating headers if a module is not enabled
   488 
   567 
   489 set MODULES_TEMP=%MOBILITY_MODULES%
   568 set MODULES_TEMP=%MOBILITY_MODULES%
   490 
   569 
   491 :generateHeaders
   570 :generateHeaders
   492 
   571 
   493 for /f "tokens=1,*" %%a in ("%MODULES_TEMP%") do ( 
   572 for /f "tokens=1,*" %%a in ("%MODULES_TEMP%") do (
   494     set FIRST=%%a 
   573     set FIRST=%%a
   495     set REMAINING=%%b
   574     set REMAINING=%%b
   496 )
   575 )
   497 
   576 
   498 if %FIRST% == bearer (
   577 if %FIRST% == bearer (
   499     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include\QtmBearer %SOURCE_PATH%\src\bearer
   578     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include\QtmBearer %SOURCE_PATH%\src\bearer
   505 ) else if %FIRST% == location (
   584 ) else if %FIRST% == location (
   506     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include\QtmLocation %SOURCE_PATH%\src\location
   585     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include\QtmLocation %SOURCE_PATH%\src\location
   507 ) else if %FIRST% == messaging (
   586 ) else if %FIRST% == messaging (
   508     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include\QtmMessaging %SOURCE_PATH%\src\messaging
   587     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include\QtmMessaging %SOURCE_PATH%\src\messaging
   509 ) else if %FIRST% == multimedia (
   588 ) else if %FIRST% == multimedia (
   510     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include\QtmMedia %SOURCE_PATH%\src\multimedia
   589     if %MOBILITY_MULTIMEDIA% == yes (
       
   590         perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include\QtMultimedia %SOURCE_PATH%\src\multimedia
       
   591         perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include\QtMultimedia %SOURCE_PATH%\src\multimedia\audio
       
   592         perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include\QtMultimedia %SOURCE_PATH%\src\multimedia\video
       
   593     )
   511 ) else if %FIRST% == publishsubscribe (
   594 ) else if %FIRST% == publishsubscribe (
   512     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include\QtmPubSub %SOURCE_PATH%\src\publishsubscribe
   595     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include\QtmPubSub %SOURCE_PATH%\src\publishsubscribe
   513 ) else if %FIRST% == systeminfo (
   596 ) else if %FIRST% == systeminfo (
   514     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include\QtmSystemInfo %SOURCE_PATH%\src\systeminfo
   597     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include\QtmSystemInfo %SOURCE_PATH%\src\systeminfo
   515 ) else if %FIRST% == serviceframework (
   598 ) else if %FIRST% == serviceframework (