qtmobility/configure.bat
changeset 0 cfcbf08528c4
child 2 5822d84012fb
child 4 90517678cc4f
equal deleted inserted replaced
-1:000000000000 0:cfcbf08528c4
       
     1 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
       
     2 ::
       
     3 :: Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     4 :: All rights reserved.
       
     5 :: Contact: Nokia Corporation (qt-info@nokia.com)
       
     6 ::
       
     7 :: This file is part of the Qt Mobility Components.
       
     8 ::
       
     9 :: $QT_BEGIN_LICENSE:LGPL$
       
    10 :: No Commercial Usage
       
    11 :: This file contains pre-release code and may not be distributed.
       
    12 :: You may use this file in accordance with the terms and conditions
       
    13 :: contained in the Technology Preview License Agreement accompanying
       
    14 :: this package.
       
    15 ::
       
    16 :: GNU Lesser General Public License Usage
       
    17 :: Alternatively, this file may be used under the terms of the GNU Lesser
       
    18 :: General Public License version 2.1 as published by the Free Software
       
    19 :: Foundation and appearing in the file LICENSE.LGPL included in the
       
    20 :: packaging of this file.  Please review the following information to
       
    21 :: ensure the GNU Lesser General Public License version 2.1 requirements
       
    22 :: will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
       
    23 ::
       
    24 :: In addition, as a special exception, Nokia gives you certain additional
       
    25 :: rights.  These rights are described in the Nokia Qt LGPL Exception
       
    26 :: version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
       
    27 ::
       
    28 :: If you have questions regarding the use of this file, please contact
       
    29 :: Nokia at qt-info@nokia.com.
       
    30 ::
       
    31 ::
       
    32 ::
       
    33 ::
       
    34 ::
       
    35 ::
       
    36 ::
       
    37 ::
       
    38 :: $QT_END_LICENSE$
       
    39 ::
       
    40 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
       
    41 
       
    42 @echo off
       
    43 
       
    44 set QT_MOBILITY_PREFIX= C:\QtMobility
       
    45 set BUILD_PATH=%CD%
       
    46 set SOURCE_PATH= %~dp0
       
    47 cd /D %SOURCE_PATH%
       
    48 set SOURCE_PATH=%CD%
       
    49 cd /D %BUILD_PATH%
       
    50 
       
    51 set PROJECT_CONFIG= %BUILD_PATH%\config.in
       
    52 set PROJECT_LOG= %BUILD_PATH%\config.log
       
    53 set RELEASEMODE=release
       
    54 set WIN32_RELEASEMODE=debug_and_release build_all
       
    55 set QT_MOBILITY_LIB=
       
    56 set BUILD_UNITTESTS=no
       
    57 set BUILD_EXAMPLES=no
       
    58 set BUILD_DOCS=yes
       
    59 set MOBILITY_MODULES=bearer location contacts multimedia publishsubscribe versit messaging systeminfo serviceframework sensors
       
    60 set MOBILITY_MODULES_UNPARSED=
       
    61 set VC_TEMPLATE_OPTION=
       
    62 set QT_PATH=
       
    63 set QMAKE_CACHE=%BUILD_PATH%\.qmake.cache
       
    64 
       
    65 if exist "%QMAKE_CACHE%" del %QMAKE_CACHE%
       
    66 if exist "%PROJECT_LOG%" del %PROJECT_LOG%
       
    67 if exist "%PROJECT_CONFIG%" del %PROJECT_CONFIG%
       
    68 
       
    69 set MOD_SOURCE_PATH=%SOURCE_PATH:\=/%
       
    70 set MOD_BUILD_PATH=%BUILD_PATH:\=/%
       
    71 echo QT_MOBILITY_SOURCE_TREE = $${EPOCROOT}%MOD_SOURCE_PATH:~3%
       
    72 REM echo QT_MOBILITY_SOURCE_TREE = $${EPOCROOT}%MOD_SOURCE_PATH:~3% > %QMAKE_CACHE%
       
    73 echo QT_MOBILITY_BUILD_TREE = $${EPOCROOT}%MOD_BUILD_PATH:~3%
       
    74 REM echo QT_MOBILITY_BUILD_TREE = $${EPOCROOT}%MOD_BUILD_PATH:~3% >> %QMAKE_CACHE%
       
    75 set QMAKE_CACHE=
       
    76 
       
    77 :cmdline_parsing
       
    78 if "%1" == ""               goto startProcessing
       
    79 if "%1" == "-debug"         goto debugTag
       
    80 if "%1" == "-release"       goto releaseTag
       
    81 if "%1" == "-silent"        goto silentTag
       
    82 if "%1" == "-prefix"        goto prefixTag
       
    83 if "%1" == "-libdir"        goto libTag
       
    84 if "%1" == "-bindir"        goto binTag
       
    85 if "%1" == "-headerdir"     goto headerTag
       
    86 if "%1" == "-tests"         goto testTag
       
    87 if "%1" == "-examples"      goto exampleTag
       
    88 if "%1" == "-qt"            goto qtTag
       
    89 if "%1" == "-vc"            goto vcTag
       
    90 if "%1" == "-no-docs"       goto nodocsTag
       
    91 if "%1" == "-modules"       goto modulesTag
       
    92 if "%1" == "/?"             goto usage
       
    93 if "%1" == "-h"             goto usage
       
    94 if "%1" == "-help"          goto usage
       
    95 if "%1" == "--help"         goto usage
       
    96 
       
    97 
       
    98 echo Unknown option: "%1"
       
    99 goto usage
       
   100 
       
   101 :usage
       
   102 echo Usage: configure.bat [-prefix (dir)] [headerdir (dir)] [libdir (dir)]
       
   103     echo                  [-bindir (dir)] [-tests] [-examples]
       
   104     echo                  [-debug] [-release] [-silent]
       
   105     echo.
       
   106     echo Options:
       
   107     echo.
       
   108     echo -prefix (dir) ..... This will install everything relative to dir
       
   109     echo                     (default prefix: C:\QtMobility)
       
   110     echo -headerdir (dir) .. Header files will be installed to dir
       
   111     echo                     (default prefix: PREFIX/include)
       
   112     echo -libdir (dir) ..... Libraries will be installed to dir
       
   113     echo                     (default PREFIX/lib)
       
   114     echo -bindir (dir) ..... Executables will be installed to dir
       
   115     echo                     (default PREFIX/bin)
       
   116     echo -debug ............ Build with debugging symbols
       
   117     echo -release .......... Build without debugging symbols
       
   118     echo -silent ........... Reduces build output
       
   119     echo -tests ............ Build unit tests (not build by default)
       
   120     echo                     Note, this adds test symbols to all libraries 
       
   121     echo                     and should not be used for release builds.
       
   122     echo -examples ......... Build example applications
       
   123     echo -no-docs .......... Do not build documentation (build by default)
       
   124     echo -modules ^<list^> ... Build only the specified modules (default all)
       
   125     echo                     Choose from: bearer contacts location publishsubscribe
       
   126     echo                     messaging multimedia systeminfo serviceframework versit
       
   127     echo                     Modules should be separated by a space and surrounded
       
   128     echo                     by double quotation. If a
       
   129     echo                     selected module depends on other modules dependencies
       
   130     echo                     will automatically be enabled.
       
   131     echo -vc ............... Generate Visual Studio make files
       
   132 
       
   133 
       
   134 if exist "%PROJECT_CONFIG%" del %PROJECT_CONFIG%
       
   135 goto exitTag
       
   136 
       
   137 :qtTag
       
   138 shift
       
   139 set QT_PATH=%1\
       
   140 shift
       
   141 goto cmdline_parsing
       
   142 
       
   143 :debugTag
       
   144 if "%RELEASEMODE%" == "release" set RELEASEMODE=debug
       
   145 set WIN32_RELEASEMODE=
       
   146 shift
       
   147 goto cmdline_parsing
       
   148 
       
   149 :releaseTag
       
   150 if "%RELEASEMODE%" == "debug"   set RELEASEMODE=release
       
   151 set WIN32_RELEASEMODE=
       
   152 shift
       
   153 goto cmdline_parsing
       
   154 
       
   155 :silentTag
       
   156 echo CONFIG += silent > %PROJECT_CONFIG%
       
   157 shift
       
   158 goto cmdline_parsing
       
   159 
       
   160 :prefixTag
       
   161 shift
       
   162 set QT_MOBILITY_PREFIX=%1
       
   163 shift
       
   164 goto cmdline_parsing
       
   165 
       
   166 :libTag
       
   167 shift
       
   168 echo QT_MOBILITY_LIB = %1 >> %PROJECT_CONFIG%
       
   169 shift
       
   170 goto cmdline_parsing
       
   171 
       
   172 :binTag
       
   173 shift
       
   174 echo QT_MOBILITY_BIN = %1 >> %PROJECT_CONFIG%
       
   175 shift
       
   176 goto cmdline_parsing
       
   177 
       
   178 :headerTag
       
   179 shift
       
   180 echo QT_MOBILITY_INCLUDE = %1 >> %PROJECT_CONFIG%
       
   181 shift
       
   182 goto cmdline_parsing
       
   183 
       
   184 :testTag
       
   185 set BUILD_UNITTESTS=yes
       
   186 shift
       
   187 goto cmdline_parsing
       
   188 
       
   189 :exampleTag
       
   190 set BUILD_EXAMPLES=yes
       
   191 shift
       
   192 goto cmdline_parsing
       
   193 
       
   194 :vcTag
       
   195 shift
       
   196 set VC_TEMPLATE_OPTION=-tp vc
       
   197 goto cmdline_parsing
       
   198 
       
   199 :nodocsTag
       
   200 set BUILD_DOCS=no
       
   201 shift
       
   202 goto cmdline_parsing
       
   203 
       
   204 :modulesTag
       
   205 shift
       
   206 :: %1 can have leading/trailing quotes, so we can't use if "%1" == ""
       
   207 if xx%1xx == xxxx (
       
   208     echo. >&2
       
   209     echo >&2The -modules option requires a list of modules.
       
   210     echo. >&2
       
   211     goto usage
       
   212 )
       
   213 
       
   214 :: Remove leading/trailing quotes, if we have them
       
   215 set MOBILITY_MODULES_UNPARSED=xxx%1xxx
       
   216 set MOBILITY_MODULES_UNPARSED=%MOBILITY_MODULES_UNPARSED:"xxx=%
       
   217 set MOBILITY_MODULES_UNPARSED=%MOBILITY_MODULES_UNPARSED:xxx"=%
       
   218 set MOBILITY_MODULES_UNPARSED=%MOBILITY_MODULES_UNPARSED:xxx=%
       
   219 
       
   220 REM reset default modules as we expect a modules list
       
   221 set MOBILITY_MODULES=
       
   222 
       
   223 echo Checking selected modules:
       
   224 :modulesTag2
       
   225 
       
   226 for /f "tokens=1,*" %%a in ("%MOBILITY_MODULES_UNPARSED%") do ( 
       
   227     set FIRST=%%a 
       
   228     set REMAINING=%%b
       
   229 )
       
   230 
       
   231 : What we want is a switch as we need to check module name and only want to
       
   232 : distinguish between false and correct module names being passed
       
   233 if %FIRST% == bearer (
       
   234     echo     Bearer Management selected
       
   235 ) else if %FIRST% == contacts (
       
   236     echo     Contacts selected
       
   237 ) else if %FIRST% == location (
       
   238     echo     Location selected
       
   239 ) else if %FIRST% == messaging (
       
   240     echo     Messaging selected
       
   241 ) else if %FIRST% == multimedia (
       
   242     echo     Multimedia selected
       
   243 ) else if %FIRST% == publishsubscribe (
       
   244     echo     PublishSubscribe selected
       
   245 ) else if %FIRST% == systeminfo (
       
   246     echo     Systeminfo selected
       
   247 ) else if %FIRST% == serviceframework (
       
   248     echo     ServiceFramework selected
       
   249 ) else if %FIRST% == versit (
       
   250     echo     Versit selected ^(implies Contacts^)
       
   251 ) else if %FIRST% == sensors (
       
   252     echo     Sensors selected
       
   253 ) else (
       
   254     echo     Unknown module %FIRST%
       
   255     goto errorTag
       
   256 )
       
   257 
       
   258 set MOBILITY_MODULES=%MOBILITY_MODULES% %FIRST%
       
   259 if "%REMAINING%" == "" (
       
   260     shift
       
   261 ) else (
       
   262     set MOBILITY_MODULES_UNPARSED=%REMAINING%
       
   263     goto modulesTag2
       
   264 )
       
   265 
       
   266 SET REMAINING=
       
   267 SET FIRST=
       
   268 goto cmdline_parsing
       
   269 
       
   270 :startProcessing
       
   271 
       
   272 echo CONFIG += %RELEASEMODE% >> %PROJECT_CONFIG%
       
   273 echo CONFIG_WIN32 += %WIN32_RELEASEMODE% %RELEASEMODE% >> %PROJECT_CONFIG%
       
   274 set RELEASEMODE=
       
   275 set WIN32_RELEASEMODE=
       
   276 
       
   277 set CURRENTDIR=%CD%
       
   278 echo %CURRENTDIR%
       
   279 if exist %QT_MOBILITY_PREFIX% goto prefixExists
       
   280 mkdir %QT_MOBILITY_PREFIX%
       
   281 if errorlevel 1 goto invalidPrefix
       
   282 cd /D %QT_MOBILITY_PREFIX%
       
   283 set QT_MOBILITY_PREFIX=%CD%
       
   284 cd /D %CURRENTDIR%
       
   285 rd /S /Q %QT_MOBILITY_PREFIX%
       
   286 goto endprefixProcessing
       
   287 
       
   288 :invalidPrefix
       
   289 echo "%QT_MOBILITY_PREFIX%" is not a valid directory path.
       
   290 goto :exitTag
       
   291 
       
   292 :prefixExists
       
   293 set MOD_QT_MOBILITY_PREFIX=%QT_MOBILITY_PREFIX:/=\%
       
   294 cd /D %MOD_QT_MOBILITY_PREFIX%
       
   295 set QT_MOBILITY_PREFIX=%CD%
       
   296 cd /D %CURRENTDIR%
       
   297 
       
   298 :endprefixProcessing
       
   299 echo QT_MOBILITY_SOURCE_TREE = $${EPOCROOT}%MOD_SOURCE_PATH:~3% > %PROJECT_CONFIG%
       
   300 echo QT_MOBILITY_BUILD_TREE = $${EPOCROOT}%MOD_BUILD_PATH:~3% >> %PROJECT_CONFIG%
       
   301 set MOD_QT_MOBILITY_PREFIX=%QT_MOBILITY_PREFIX:\=/%
       
   302 echo QT_MOBILITY_PREFIX = $${EPOCROOT}%MOD_QT_MOBILITY_PREFIX:~3%
       
   303 echo QT_MOBILITY_PREFIX = $${EPOCROOT}%MOD_QT_MOBILITY_PREFIX:~3% >> %PROJECT_CONFIG%
       
   304 
       
   305 echo build_unit_tests = %BUILD_UNITTESTS% >> %PROJECT_CONFIG%
       
   306 set BUILD_UNITTESTS=
       
   307 
       
   308 echo build_examples = %BUILD_EXAMPLES% >> %PROJECT_CONFIG%
       
   309 set BUILD_EXAMPLES=
       
   310 
       
   311 echo build_docs = %BUILD_DOCS% >> %PROJECT_CONFIG%
       
   312 set BUILD_DOCS=
       
   313 
       
   314 echo qmf_enabled = no >> %PROJECT_CONFIG%
       
   315 
       
   316 echo isEmpty($$QT_MOBILITY_INCLUDE):QT_MOBILITY_INCLUDE=$$QT_MOBILITY_PREFIX/include >> %PROJECT_CONFIG%
       
   317 echo isEmpty($$QT_MOBILITY_LIB):QT_MOBILITY_LIB=$$QT_MOBILITY_PREFIX/lib >> %PROJECT_CONFIG%
       
   318 echo isEmpty($$QT_MOBILITY_BIN):QT_MOBILITY_BIN=$$QT_MOBILITY_PREFIX/bin >> %PROJECT_CONFIG%
       
   319 
       
   320 echo mobility_modules = %MOBILITY_MODULES%  >> %PROJECT_CONFIG%
       
   321 REM no Sysinfo support on Maemo yet
       
   322 echo maemo5^|maemo6:mobility_modules -= systeminfo >> %PROJECT_CONFIG%
       
   323 echo contains(mobility_modules,versit): mobility_modules *= contacts  >> %PROJECT_CONFIG%
       
   324 
       
   325 REM echo Checking available Qt
       
   326 REM call %QT_PATH%qmake -v >> %PROJECT_LOG% 2>&1
       
   327 REM if errorlevel 1 goto qmakeNotFound
       
   328 goto qmakeFound
       
   329 :qmakeNotFound
       
   330 echo ... Not found  >> %PROJECT_LOG% 2>&1
       
   331 if "%QT_PATH%" == "" (
       
   332     echo >&2Cannot find 'qmake' in your PATH.
       
   333     echo >&2Your PATH is: %PATH%
       
   334 ) else (
       
   335     echo >&2Cannot find 'qmake' in %QT_PATH%.
       
   336 )
       
   337 echo >&2Aborting.
       
   338 goto errorTag
       
   339 
       
   340 :qmakeFound
       
   341 REM call %QT_PATH%qmake -query QT_VERSION
       
   342 
       
   343 goto checkMake
       
   344 
       
   345 :makeTest
       
   346 setlocal
       
   347     set CURRENT_PWD=%CD%
       
   348 
       
   349     if %BUILD_PATH% == %SOURCE_PATH% (
       
   350         cd %SOURCE_PATH%\config.tests\make
       
   351         if exist make del make
       
   352     ) else (
       
   353         rmdir /S /Q config.tests\make
       
   354         mkdir config.tests\make
       
   355         cd config.tests\make
       
   356     )
       
   357 
       
   358     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
       
   359 
       
   360     if %BUILDSYSTEM% == symbian-abld (
       
   361         call make -h >> %PROJECT_LOG% 2>&1
       
   362         if not errorlevel 1 (
       
   363             echo ... Symbian abld make found.
       
   364             set MAKE=make
       
   365         )
       
   366     ) else if %BUILDSYSTEM% == symbian-sbsv2 (
       
   367         call make -h >> %PROJECT_LOG% 2>&1
       
   368         if not errorlevel 1 (
       
   369             echo ... Symbian sbsv2 make found.
       
   370             set MAKE=make
       
   371         )
       
   372     ) else if %BUILDSYSTEM% == win32-nmake (
       
   373         call nmake /? >> %PROJECT_LOG% 2>&1
       
   374         if not errorlevel 1 (
       
   375             echo ... nmake found.
       
   376             set MAKE=nmake
       
   377         )
       
   378     ) else if %BUILDSYSTEM% == win32-mingw (
       
   379         call mingw32-make -v >> %PROJECT_LOG% 2>&1
       
   380         if not errorlevel 1 (
       
   381             echo ... mingw32-make found.
       
   382             set MAKE=mingw32-make
       
   383         )
       
   384     ) else (
       
   385         echo ... Unknown target environment %BUILDSYSTEM%.
       
   386     )
       
   387     call cd %CURRENT_PWD%
       
   388 call endlocal&set %1=%MAKE%&set %2=%BUILDSYSTEM%&goto :EOF
       
   389 
       
   390 :checkMake
       
   391 REM echo Checking make
       
   392 REM call :makeTest MOBILITY_MAKE MOBILITY_BUILDSYSTEM
       
   393 REM if not "%MOBILITY_MAKE%" == "" goto compileTests
       
   394 goto compileTests
       
   395 
       
   396 echo >&2Cannot find 'nmake', 'mingw32-make' or 'make' in your PATH
       
   397 echo >&2Aborting.
       
   398 goto errorTag
       
   399 
       
   400 :compileTest
       
   401 setlocal
       
   402     echo Checking %1
       
   403     set CURRENT_PWD=%CD%
       
   404 
       
   405     if %BUILD_PATH% == %SOURCE_PATH% (
       
   406         cd %SOURCE_PATH%\config.tests\%2
       
   407         if exist %2 del %2
       
   408     ) else (
       
   409         rmdir /S /Q config.tests\%2
       
   410         mkdir config.tests\%2
       
   411         cd config.tests\%2
       
   412     )
       
   413 
       
   414     call %QT_PATH%qmake %SOURCE_PATH%\config.tests\%2\%2.pro >> %PROJECT_LOG% 2>&1
       
   415     call %MOBILITY_MAKE% clean >> %PROJECT_LOG% 2>&1
       
   416     call %MOBILITY_MAKE% >> %PROJECT_LOG% 2>&1
       
   417 
       
   418     set FAILED=0
       
   419     if %MOBILITY_BUILDSYSTEM% == symbian-sbsv2 (
       
   420         for /f "tokens=2" %%i in ('%MOBILITY_MAKE% SBS^="@sbs --check"') do set FAILED=1
       
   421     ) else if %MOBILITY_BUILDSYSTEM% == symbian-abld (
       
   422         for /f "tokens=2" %%i in ('%MOBILITY_MAKE% ABLD^="@ABLD.BAT -c" 2^>^&1') do if not %%i == bldfiles set FAILED=1
       
   423     ) else if errorlevel 1 (
       
   424         set FAILED=1
       
   425     )
       
   426 
       
   427     if %FAILED% == 0 (
       
   428         echo ... OK
       
   429         echo %2_enabled = yes >> %PROJECT_CONFIG%
       
   430     ) else (
       
   431         echo ... Not Found
       
   432         echo %2_enabled = no >> %PROJECT_CONFIG%
       
   433     )
       
   434 
       
   435     cd %CURRENT_PWD%
       
   436 endlocal&goto :EOF
       
   437 
       
   438 :compileTests
       
   439 
       
   440 echo.
       
   441 echo Start of compile tests
       
   442 REM compile tests go here.
       
   443 REM call :compileTest LBT lbt
       
   444 echo lbt_enabled = yes >> %PROJECT_CONFIG%
       
   445 REM call :compileTest SNAP snap
       
   446 echo snap_enabled = yes >> %PROJECT_CONFIG%
       
   447 REM call :compileTest SymbianContactSIM symbiancntsim
       
   448 echo symbiancntsim_enabled = yes >> %PROJECT_CONFIG%
       
   449 echo End of compile tests
       
   450 echo.
       
   451 echo.
       
   452 
       
   453 REM we could skip generating headers if a module is not enabled
       
   454 if not exist "%BUILD_PATH%\features" mkdir %BUILD_PATH%\features
       
   455 copy %SOURCE_PATH%\features\strict_flags.prf %BUILD_PATH%\features
       
   456 echo Generating Mobility Headers...
       
   457 if exist "%BUILD_PATH%\include" rd /s /q %BUILD_PATH%\include
       
   458 mkdir %BUILD_PATH%\include
       
   459 perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\global
       
   460 
       
   461 set MODULES_TEMP=%MOBILITY_MODULES%
       
   462 
       
   463 :generateHeaders
       
   464 
       
   465 for /f "tokens=1,*" %%a in ("%MODULES_TEMP%") do ( 
       
   466     set FIRST=%%a 
       
   467     set REMAINING=%%b
       
   468 )
       
   469 
       
   470 if %FIRST% == bearer (
       
   471     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\bearer
       
   472 ) else if %FIRST% == contacts (
       
   473     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\contacts
       
   474     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\contacts\requests
       
   475     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\contacts\filters
       
   476     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\contacts\details
       
   477 ) else if %FIRST% == location (
       
   478     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\location
       
   479 ) else if %FIRST% == messaging (
       
   480     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\messaging
       
   481 ) else if %FIRST% == multimedia (
       
   482     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\multimedia
       
   483     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\multimedia\experimental
       
   484 ) else if %FIRST% == publishsubscribe (
       
   485     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\publishsubscribe
       
   486 ) else if %FIRST% == systeminfo (
       
   487     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\systeminfo
       
   488 ) else if %FIRST% == serviceframework (
       
   489     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\serviceframework
       
   490 ) else if %FIRST% == versit (
       
   491     REM versit implies contacts
       
   492     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\versit
       
   493     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\contacts
       
   494     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\contacts\requests
       
   495     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\contacts\filters
       
   496     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\contacts\details
       
   497 ) else if %FIRST% == sensors (
       
   498     perl -S %SOURCE_PATH%\bin\syncheaders %BUILD_PATH%\include %SOURCE_PATH%\src\sensors
       
   499 )
       
   500 
       
   501 if "%REMAINING%" == "" (
       
   502     shift
       
   503 ) else (
       
   504     set MODULES_TEMP=%REMAINING%
       
   505     goto generateHeaders
       
   506 )
       
   507 
       
   508 SET REMAINING=
       
   509 SET FIRST=
       
   510 SET MODULES_TEMP=
       
   511 
       
   512 if exist config.pri del config.pri
       
   513 ren %PROJECT_CONFIG% config.pri
       
   514 
       
   515 echo.
       
   516 REM echo Running qmake...
       
   517 REM call %QT_PATH%qmake -recursive %VC_TEMPLATE_OPTION% %SOURCE_PATH%\qtmobility.pro
       
   518 REM if errorlevel 1 goto qmakeRecError
       
   519 REM echo.
       
   520 echo configure has finished. 
       
   521 REM You may run %MOBILITY_MAKE% to build the project now.
       
   522 goto exitTag
       
   523 
       
   524 :qmakeRecError
       
   525 echo.
       
   526 echo configure failed.
       
   527 goto errorTag
       
   528 
       
   529 :errorTag
       
   530 set BUILD_PATH=
       
   531 set CURRENTDIR=
       
   532 set MOBILITY_MAKE=
       
   533 set MOBILITY_BUILDSYSTEM=
       
   534 set PROJECT_CONFIG=
       
   535 set PROJECT_LOG=
       
   536 set QT_MOBILITY_PREFIX=
       
   537 set QT_PATH=
       
   538 set SOURCE_PATH=
       
   539 set MOBILITY_MODULES=
       
   540 set MOBILITY_MODULES_UNPARSED=
       
   541 SET REMAINING=
       
   542 SET FIRST=
       
   543 SET MODULES_TEMP=
       
   544 exit /b 1
       
   545 
       
   546 :exitTag
       
   547 set BUILD_PATH=
       
   548 set CURRENTDIR=
       
   549 set MOBILITY_MAKE=
       
   550 set MOBILITY_BUILDSYSTEM=
       
   551 set PROJECT_CONFIG=
       
   552 set PROJECT_LOG=
       
   553 set QT_MOBILITY_PREFIX=
       
   554 set QT_PATH=
       
   555 set SOURCE_PATH=
       
   556 set MOBILITY_MODULES=
       
   557 set MOBILITY_MODULES_UNPARSED=
       
   558 SET REMAINING=
       
   559 SET FIRST=
       
   560 SET MODULES_TEMP=
       
   561 exit /b 0