1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/symbian/README.SYMBIAN

104 lines
2.8 KiB
Text
Raw Normal View History

=begin
= How to build ruby using Symbian SDK
== Requirement
(1) Nokia S60 SDK version 3.2 or later from http://www.forum.nokia.com/Resources_and_Information/Tools/Platforms/S60_Platform_SDKs/ with the latest 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).
(2) Run the following commands from symbian\group directory
'bldmake bldfiles'
'abld makefile gcce'
'abld build gcce urel ruby'
'abld freeze gcce ruby'
'abld build gcce urel'
(3) Run 'makesis ruby.pkg' from symbian\sis directory
This command will create unsigned installation file ruby.sis. To sign it follow the guidlines from www.symbiansigned.com
(4) In case dynamic extensions support was enabled repeat (3) for ruby_core_ext.pkg
== Known problems
Currently gems are not supported.
Currently signals are supported with reduced functionality (see OpenC release notes.)
Dynamic extensions could be installed only on internal drive "C".
=end