README.symbian raw

   1  Instructions for Symbian:
   2  1. Build: use libgc.mmp (the sample for s60v3 is provided below)
   3  2. Limitations
   4  2.1. No multi-threaded support yet
   5  2.2. Be careful with limitation that emulator introduces: Static roots are not
   6  dynamically accessible (there are Symbian APIs for this purpose but are just
   7  stubs, returning irrelevant values).
   8  Consequently, on emulator, you can only use dlls or exe, and retrieve static
   9  roots by calling global_init_static_root per dll (or exe).
  10  On target, only libs are supported, because static roots are retrieved by
  11  linker flags, by calling global_init_static_root in main exe.
  12  
  13  
  14  bld.inf sample contents:
  15  
  16  PRJ_PLATFORMS
  17  default armv5
  18  
  19  PRJ_MMPFILES
  20  libgc.mmp
  21  
  22  
  23  libgc.mmp sample contents:
  24  
  25  TARGET libgc.dll
  26  
  27  TARGETTYPE dll
  28  UID 0x1000008d 0x200107C2 // check uid
  29  
  30  EXPORTUNFROZEN
  31  EPOCALLOWDLLDATA
  32  
  33  CAPABILITY PowerMgmt ReadDeviceData ReadUserData WriteDeviceData WriteUserData SwEvent LocalServices NetworkServices UserEnvironment
  34  
  35  MACRO ALL_INTERIOR_POINTERS
  36  MACRO NO_EXECUTE_PERMISSION
  37  MACRO USE_MMAP
  38  MACRO GC_ATOMIC_UNCOLLECTABLE
  39  MACRO GC_DONT_REGISTER_MAIN_STATIC_DATA
  40  MACRO GC_DLL
  41  MACRO JAVA_FINALIZATION
  42  MACRO SYMBIAN
  43  MACRO ENABLE_DISCLAIM
  44  
  45  USERINCLUDE .\include
  46  USERINCLUDE .\include\private
  47  
  48  SYSTEMINCLUDE \epoc32\include
  49  SYSTEMINCLUDE \epoc32\include\stdapis
  50  
  51  SOURCEPATH .
  52  
  53  SOURCE extra/gc.c
  54  SOURCE extra/symbian.cpp
  55  
  56  SOURCE extra/symbian/global_end.cpp
  57  SOURCE extra/symbian/global_start.cpp
  58  SOURCE extra/symbian/init_global_static_roots.cpp
  59  
  60  STATICLIBRARY libcrt0.lib
  61  LIBRARY libc.lib
  62  LIBRARY euser.lib
  63  LIBRARY efsrv.lib
  64  LIBRARY avkon.lib
  65  LIBRARY eikcore.lib
  66