Mobile/Symbian/NSPR

From MozillaWiki
Jump to: navigation, search
Ambox outdated.png THIS PAGE MAY BE OUTDATED
This article is in parts, or in its entirety, outdated. Hence, the information presented on this page may be incorrect, and should be treated with due caution until this flag has been lifted. Help by editing the article, or discuss its contents on the talk page.

What's Up

In short: Building NSPR for Symbian.

Complete one: Building NSPR with source from http://mozilla-symbian.googlecode.com for Symbian OS/S60 3rd Edition FP1 platform by using gnu-make/msys.


Prerequisites

Procedures

  • Install all prerequisites, I recommend installing everything on Drive C, default path.
  • Add paths to environment variable $PATH, some of them are added by tools installation:
    • c:\mingw\bin (MUST be the first, or at least earlier than any Symbian build tool chain related path)
    • c:\program files\csl arm toolchain\bin (this should be added by GCCE tools installation)
    • c:\symbian\9.2\s60_3rd_fp1\epoc32\tools (MUST place this earlier than "c:\program files\common\symbian\tools" which is added by SDK installation)
    • c:\mozilla-build\svn-win32-1.4.2\bin
    • c:\mozilla-build\moztools\bin
  • Add environment variables:
 SYMBIAN_SDK_PATH = /c/symbian/9.2/S60_3rd_FP1/
 ACTIVE_PERL = /c/perl/bin/perl.exe
 CC_INSTALL_PATH = /c/program\ files/CSL\ ARM\ Toolchain/
 static const char* const KSuppressPlatSecDiagnostic =
   KSuppressPlatSecDiagnosticMagicValue;

into

 #if defined(__cplusplus) 
 static const char* const KSuppressPlatSecDiagnostic =
   KSuppressPlatSecDiagnosticMagicValue; 
 #endif
  • Deal with header files
c:
cd \symbian\9.2\s60_3rd_fp1\epoc32\include
move prtypes.h prtypes.h.orig
cd variant
copy Symbian_OS_v9.2.hrh Symbian_OS.hrh
  • Checkout source from google code
 svn checkout http://mozilla-symbian.googlecode.com/svn/trunk/ mozilla-symbian
  • Start msys by invoking c:\mozilla-build\msys\msys.bat, assuming your source is checked out at c:\mozilla-symbian then:

For device(GCCE) build:

 cd /c/
 mkdir gobj
 cd gobj
 ../mozilla-symbian/nsprpub/configure --target=arm-none-symbianelf
 --enable-symbian-target=GCCE --disable-debug
 make
 cd pr/tests
 make

For emulator(WINSCW) build:

 cd /c/
 mkdir wobj
 cd wobj
 ../mozilla-symbian/nsprpub/configure --target=arm-none-symbianelf
 --enable-symbian-target=WINSCW
 make
 cd pr/tests
 make


More

The procedures above are also verified on S60 SDK 3rd Edition MR.