=begin = How to build ruby using Symbian SDK == Requirement (1) Nokia S60 SDK version 3.1 or later from http://www.forum.nokia.com/Resources_and_Information/Tools/Platforms/S60_Platform_SDKs/ with OpenC plugin installed. Note: if you want to build dynamic extensions support you need to install the latest version of GCC compiler from http://www.codesourcery.com/gnu_toolchains/arm/portal/release643. After that you need to apply a patch below to a header file (SDK_ROOT)\epoc32\include\gcce\gcce.h 11c11 < --- > @released 18a19 > 21a23 > 24a27,29 > #define IMPORT_D __declspec(dllimport) > #define EXPORT_D __declspec(dllexport) > 81,82c86,87 < #define __NAKED__ __asm < #define ____ONLY_USE_NAKED_IN_CIA____ __asm --- > #define __NAKED__ __declspec(naked) > #define ____ONLY_USE_NAKED_IN_CIA____ __declspec(naked) 92,96c97,98 < namespace std { < extern "C" { < #endif /* __cplusplus */ < < typedef struct __va_list { void *__ap; } va_list; --- > namespace std { extern "C" { > #endif 97a100,104 > #if __GNUC__ < 4 > typedef struct __va_list { void *__ap; } va_list; > #else > typedef __builtin_va_list va_list; > #endif 100,102c107 < } /* extern "C" */ < } /* namespace std */ < --- > } } 105a111 > #if __GNUC__ < 4 107,109c113,119 < #define va_arg(ap, type) __builtin_va_arg(ap.__ap, type) < #define va_end(ap) __builtin_va_end(ap.__ap) < --- > #define va_arg(ap, type) __builtin_va_arg(ap.__ap, type) > #define va_end(ap) __builtin_va_end(ap.__ap) > #else > #define va_start(ap, parmN) __builtin_va_start(ap, parmN) > #define va_arg(ap, type) __builtin_va_arg(ap, type) > #define va_end(ap) __builtin_va_end(ap) > #endif 140,141c150,152 < // Deal with operator new issues here < #include "../symcpp.h" --- > #ifndef __SYMBIAN_STDCPP_SUPPORT__ > #include "../symcpp.h" > #endif 151a163 > (2) If you want to build from SVN source, following command line binaries are required that are not a part of Symbain SDK. * sed * ruby 1.8 * svn == How to compile and install (1) Execute symbian\configure.bat on your build directory (symbian is default). (3) Run `bldmake bldfiles' (4) Run `abld build gcce urel' (5) Run `makesis ruby.pkg' This command will create unsigned installation file ruby.sis. To sign it follow the guidlines from www.symbiansigned.com == Known problems Currently gems are not supported. Currently signals are not supported. =end