mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
99 lines
2.4 KiB
Text
99 lines
2.4 KiB
Text
|
=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
|
||
|
|