# HG changeset patch # User Shabe Razvi # Date 1262602457 0 # Node ID 01e091b8794d9bc72c5e26ceda6b889fdf539adb # Parent 0d1c6e1b1453a545f6f18eac9a63f5635e4371ce Add PKG_Helium Package Build config to allow (re)build against Symbian^2 or Symbian^3 PDKs diff -r 0d1c6e1b1453 -r 01e091b8794d PKG_Helium/config.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PKG_Helium/config.xml Mon Jan 04 10:54:17 2010 +0000 @@ -0,0 +1,213 @@ + + + + <h3>Description</h3> +<li>The project will (re)build a specified package against the Symbian^2 or Symbian^3 Platform from source. +<li>The project will unzip any available source plus take source of the specified package from the web at the correct revision. +<br><br> +The Foundation Build Framework (FBF) is an Apache ANT-like configuration that can be used with the Helium tool, delivered in the <a href="https://developer.symbian.org/main/tools_and_kits/downloads/view.php?id=4"/>PDT</a>. + +<h3>Prerequisites</h3> +<li>Installation of mandatory <a href="http://developer.symbian.org/wiki/index.php/How_to_Build_a_Package#Installing_Build_Tools"/>build tools</a> +<li>Download of required (and recommended) <a href=" +http://developer.symbian.org/wiki/index.php/How_to_Build_a_Package#Getting_the_Baseline"/>zips </a> from the <a href="http://developer.symbian.org/main/tools_and_kits/">kits page.</a> + +<h3>Additional Information</h3> +Source for the FBF can be downloaded from the following Mercurial Repositories - +<br> +<li>FBF Configuration - <a href="https://developer.symbian.org/oss/FCL/interim/fbf/configs/default/"/>https://developer.symbian.org/oss/FCL/interim/fbf/configs/default/</a> +<li>FBF Package Projects - <a href="https://developer.symbian.org/oss/FCL/interim/fbf/projects/packages"/>https://developer.symbian.org/oss/FCL/interim/fbf/projects/packages</a> +<li>FBF Bootstrap - <a href="https://developer.symbian.org/oss/FCL/interim/fbf/bootstrap"/>https://developer.symbian.org/oss/FCL/interim/fbf/bootstrap</a> + + false + + + + + BUILD_DRIVE + Physical Build Drive + C: + + + SUBST_DRIVE + Subst'd EPOC drive + M: + + + RELEASE_ZIP_LOCATION + Location of <a href="http://developer.symbian.org/main/tools_and_kits/">release zipfiles</a> +<li>build_BOM.zip +<li>tools_epoc.zip + +e.g. C:\downloads + + + + HG_USERNAME + Enter your symbian developer web username <i>(required for download of packages from BOM, not needed when using source zip packages)</i> + + + + HG_PASSWORD + Enter your Mercurial symbian developer web password <i>(required for download of packages from BOM, not needed when using source zip packages)</i> +<br> + + + + FBF_REV + The tagged version of the FBF (Helium) to use to build the Platform. +<li>tip - is the latest revision from the web +<br><br> +<i>Unless you want the latest changes, its recommended to use the revision that matches the build_BOM.zip downloaded</i> + + + + tip + PDK_2.0.2 + PDK_2.0.1 + PDK_2.0.0 + PDK_3.0.d + PDK_3.0.c + PDK_3.0.b + PDK_3.0.a + + + + + CODELINE + + + + Symbian2 + Symbian3 + CompilerCompatability + + + + + PACKAGE + Layer and name of package e.g. os/kernelhwsrv + + + + TARGET + Comma separated list of target(s) to build. Building armv5 targets requires RVCT arm compiler installed. e.g. +<br><br> +<li>tools.whatlog,tools2.whatlog,winscw_udeb.whatlog +<li>winscw_udeb.whatlog, armv5_urel.whatlog +<li>armv5.whatlog,winscw.whatlog + winscw_udeb.whatlog + + + COMPILE_ONLY + Compile just the package. <b>Tick if -</b> + +<li> the build environment on the drive specified has been prepared already. + false + + + + + + true + false + false + + true + + + IF "%COMPILE_ONLY%"=="true" exit 0 +%BUILD_DRIVE% +cd\ +mkdir %TMP%\sf-bootstrap.%BUILD_NUMBER% +cd /d %TMP%\sf-bootstrap.%BUILD_NUMBER% +hg clone http://developer.symbian.org/oss/FCL/interim/fbf/bootstrap +cd bootstrap +hlm -f bootstrap.xml -Dsf.project.repo=https://developer.symbian.org/oss/FCL/interim/fbf/projects/packages/ -Dsf.config.repo=http://developer.symbian.org/oss/FCL/interim/fbf/configs/default -Dsf.target.dir=%TMP%\maintools_%JOB_NAME%.%BUILD_NUMBER% -Dsf.config.rev=%FBF_REV% -Dsf.project.rev=%FBF_REV% + + + IF "%COMPILE_ONLY%"=="true" exit 0 +%BUILD_DRIVE% +set HG_PASSWORD= +cd\ +cd /d %TMP%\maintools_%JOB_NAME%.%BUILD_NUMBER%\sf-config +hlm sf-prep -Dbuild.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%JOB_NAME%.%BUILD_NUMBER% -Dsf.spec.sbs.config="%TARGET%" -Dsf.spec.baseline.location=%RELEASE_ZIP_LOCATION% -Dsf.spec.job.rootdir=%BUILD_DRIVE% -Dsf.suppress.buildenv.check=true -Dsf.suppress.drive.space.check=true -Dsf.project.type=package -Dsf.subproject.path=%CODELINE%/%PACKAGE% -Dsf.spec.publish.enable=false + + + exit 0 +IF "%COMPILE_ONLY%"=="true" exit 0 +%BUILD_DRIVE% +set HG_PASSWORD= +cd\ +cd /d %TMP%\maintools_%JOB_NAME%.%BUILD_NUMBER%\sf-config +hlm sf-getenvs -Dbuild.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%JOB_NAME%.%BUILD_NUMBER% -Dsf.spec.sbs.config="%TARGET%" -Dsf.spec.baseline.location=%RELEASE_ZIP_LOCATION% -Dsf.spec.job.rootdir=%BUILD_DRIVE% -Dsf.suppress.buildenv.check=true -Dsf.suppress.drive.space.check=true -Dsf.project.type=package -Dsf.subproject.path=%CODELINE%/%PACKAGE% -Dsf.spec.publish.enable=false -Dsf.spec.baseline.getenv_options="-I rnd -I info -k" +exit 0 + + + rem exit 0 +IF "%COMPILE_ONLY%"=="true" exit 0 +%SUBST_DRIVE% +cd\ +mkdir tmp +copy %RELEASE_ZIP_LOCATION%\build_BOM.zip %SUBST_DRIVE%\tmp +copy %RELEASE_ZIP_LOCATION%\*bin*.zip %SUBST_DRIVE%\tmp +copy %RELEASE_ZIP_LOCATION%\src_*.zip %SUBST_DRIVE%\tmp +copy %RELEASE_ZIP_LOCATION%\tools_*.zip %SUBST_DRIVE%\tmp +%SUBST_DRIVE% +cd %SUBST_DRIVE%\tmp +dir +@ECHO OFF +7z x *.zip -o.. -y +cd.. +7z x *.zip -y +del *.zip +exit 0 + + + IF "%COMPILE_ONLY%"=="true" exit 0 +%SUBST_DRIVE% +cd \ +@ECHO OFF +IF NOT "%HG_USERNAME%" == "" GOTO USERNAME_OK +echo "You must enter a UserName and Password " +exit 1 +:USERNAME_OK +IF NOT "%HG_PASSWORD%" == "" GOTO HG_OK +echo "You must enter a UserName and Password" +exit 1 +:HG_OK +if exist sf\%PACKAGE% ( + ECHO Moving zip source of %PACKAGE% to %PACKAGE%.PDK + move sf\%PACKAGE% sf\%PACKAGE%.PDK +) +cd \tmp +hg clone http://developer.symbian.org/oss/MCL/utilities +cd\ +\tmp\utilities\clone_packages\clone_all_packages.pl -packagelist \build_info\logs\BOM\build-info.xml -username %HG_USERNAME% -password %HG_PASSWORD% -retries=7 -filter %PACKAGE% + + + IF "%COMPILE_ONLY%"=="true" exit 0 +%BUILD_DRIVE% +set HG_PASSWORD= +cd /d %TMP%\maintools_%JOB_NAME%.%BUILD_NUMBER%\sf-config +hlm sf-build-noprep -Dbuild.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%JOB_NAME%.%BUILD_NUMBER% -Dsf.spec.sbs.config="%TARGET%" -Dsf.spec.baseline.location=%RELEASE_ZIP_LOCATION% -Dsf.spec.job.rootdir=%BUILD_DRIVE% -Dsf.suppress.buildenv.check=true -Dsf.suppress.drive.space.check=true -Dsf.project.type=package -Dsf.subproject.path=%CODELINE%/%PACKAGE% -Dsf.spec.publish.enable=false + + + IF "%COMPILE_ONLY%"=="true" exit 0 +ECHO Copying FBF tools to build drive, %SUBST_DRIVE% +@ECHO OFF +cd /d %TMP% +xcopy /s /q maintools_%JOB_NAME%.%BUILD_NUMBER% %SUBST_DRIVE%\maintools\ + + + IF NOT "%COMPILE_ONLY%"=="true" exit 0 +%SUBST_DRIVE% +set HG_PASSWORD= +cd maintools\sf-config +hlm sf-build-noprep -Dbuild.drive=%SUBST_DRIVE% -Dsf.spec.job.number=%JOB_NAME%.%BUILD_NUMBER% -Dsf.spec.sbs.config="%TARGET%" -Dsf.spec.job.rootdir=%BUILD_DRIVE% -Dsf.project.type=package -Dsf.subproject.path=%CODELINE%/%PACKAGE% -Dsf.spec.publish.enable=false + + + + + D:\ + \ No newline at end of file