mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 6b2942688c
			
		
	
	
		6b2942688c
		
	
	
	
	
		
			
			git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			100 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| =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
 | |
| 
 | |
| == Known problems
 | |
| 
 | |
| Currently gems are not supported.
 | |
| Currently signals are supported with reduced functionality (see OpenC release notes.)
 | |
| 
 | |
| =end
 | |
| 
 |