diff --git a/dln.c b/dln.c
index e24d076..c3e767c 100644
--- a/dln.c
+++ b/dln.c
@@ -1268,6 +1268,16 @@ dln_load(const char *file)
 # define RTLD_GLOBAL 0
 #endif
 
+#if defined __SYMBIAN32__
+	{ /* Need backslash in the path again */
+		char *p;
+		for (p = (char *)file; *p; p++) {
+			if (*p == '/') {
+				*p = '\\';
+			}
+		}
+	}
+#endif
 	/* Load file */
 	if ((handle = (void*)dlopen(file, RTLD_LAZY|RTLD_GLOBAL)) == NULL) {
 	    error = dln_strerror();
@@ -1275,6 +1285,10 @@ dln_load(const char *file)
 	}
 
 	init_fct = (void(*)())dlsym(handle, buf);
+#if defined __SYMBIAN32__
+	if (init_fct == NULL)
+		init_fct = (void(*)())dlsym(handle, "1"); /* Some Symbian versions do not support symbol table in DLL, ordinal numbers only */
+#endif
 	if (init_fct == NULL) {
 	    error = DLN_ERROR();
 	    dlclose(handle);
diff --git a/file.c b/file.c
index 3890793..4cb231b 100644
--- a/file.c
+++ b/file.c
@@ -1989,7 +1989,7 @@ rb_file_chown(VALUE obj, VALUE owner, VALUE group)
     o = NIL_P(owner) ? -1 : NUM2INT(owner);
     g = NIL_P(group) ? -1 : NUM2INT(group);
     GetOpenFile(obj, fptr);
-#if defined(__CYGWIN32__) || defined(_WIN32) || defined(__EMX__)
+#if defined(__CYGWIN32__) || defined(_WIN32) || defined(__EMX__) || defined(__SYMBIAN32__)
     if (NIL_P(fptr->pathv)) return Qnil;
     if (chown(RSTRING_PTR(fptr->pathv), o, g) == -1)
 	rb_sys_fail_path(fptr->pathv);
diff --git a/io.c b/io.c
index 86aaec3..d228952 100644
--- a/io.c
+++ b/io.c
@@ -4440,10 +4440,12 @@ pipe_open(struct rb_exec_arg *eargp, VALUE prog, const char *modestr, int fmode,
 #if defined(HAVE_FORK)
     int status;
     struct popen_arg arg;
-#elif defined(_WIN32)
+#else    
+#if defined(_WIN32)
     int openmode = rb_io_modestr_oflags(modestr);
     const char *exename = NULL;
     volatile VALUE cmdbuf;
+#endif    
     struct rb_exec_arg sarg;
     int pair[2], write_pair[2];
 #endif
@@ -6128,7 +6130,11 @@ argf_next_argv(VALUE argf)
 		    chmod(fn, st.st_mode);
 #endif
 		    if (st.st_uid!=st2.st_uid || st.st_gid!=st2.st_gid) {
+#ifdef __SYMBIAN32__		    
+			chown(fn, st.st_uid, st.st_gid);
+#else			
 			fchown(fw, st.st_uid, st.st_gid);
+#endif			
 		    }
 #endif
 		    rb_stdout = prep_io(fw, FMODE_WRITABLE, rb_cFile, fn);
diff --git a/process.c b/process.c
index 80bd529..fa53183 100644
--- a/process.c
+++ b/process.c
@@ -1096,7 +1096,9 @@ rb_proc_exec(const char *str)
 		exit(status);
 #else
 	    before_exec();
+#ifndef __SYMBIAN32__	    
 	    execl("/bin/sh", "sh", "-c", str, (char *)NULL);
+#endif	    
 	    preserving_errno(after_exec());
 #endif
 	    return -1;
diff --git a/ruby.c b/ruby.c
index 1e4a539..177f5af 100644
--- a/ruby.c
+++ b/ruby.c
@@ -182,7 +182,7 @@ translate_char(char *p, int from, int to)
 }
 #endif
 
-#if defined _WIN32 || defined __CYGWIN__
+#if defined _WIN32 || defined __CYGWIN__ || defined __SYMBIAN32__
 static VALUE
 rubylib_mangled_path(const char *s, unsigned int l)
 {
@@ -325,7 +325,7 @@ ruby_incpush_expand(const char *path)
     ruby_push_include(path, expand_include_path);
 }
 
-#if defined DOSISH || defined __CYGWIN__
+#if (defined DOSISH || defined __CYGWIN__) && !defined __SYMBIAN32__
 #define LOAD_RELATIVE 1
 #endif
 
diff --git a/signal.c b/signal.c
index 45f4b38..3a77aca 100644
--- a/signal.c
+++ b/signal.c
@@ -409,7 +409,7 @@ static struct {
 #endif
 
 typedef RETSIGTYPE (*sighandler_t)(int);
-#ifdef SA_SIGINFO
+#if defined SA_SIGINFO && !defined __SYMBIAN32__
 typedef void ruby_sigaction_t(int, siginfo_t*, void*);
 #define SIGINFO_ARG , siginfo_t *info, void *ctx
 #else
@@ -529,7 +529,7 @@ static int trap_last_mask;
 void
 rb_disable_interrupt(void)
 {
-#ifndef _WIN32
+#if !defined(_WIN32) && !defined(__SYMBIAN32__)
     sigset_t mask;
     sigfillset(&mask);
     sigdelset(&mask, SIGVTALRM);
@@ -541,7 +541,7 @@ rb_disable_interrupt(void)
 void
 rb_enable_interrupt(void)
 {
-#ifndef _WIN32
+#if !defined(_WIN32) && !defined(__SYMBIAN32__)
     sigset_t mask;
     sigemptyset(&mask);
     pthread_sigmask(SIG_SETMASK, &mask, NULL);
diff --git a/symbian/README.SYMBIAN b/symbian/README.SYMBIAN
new file mode 100644
index 0000000..4a8f782
--- /dev/null
+++ b/symbian/README.SYMBIAN
@@ -0,0 +1,98 @@
+=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
+
diff --git a/symbian/configure.bat b/symbian/configure.bat
new file mode 100644
index 0000000..0650522
--- /dev/null
+++ b/symbian/configure.bat
@@ -0,0 +1,114 @@
+@echo off
+
+setlocal
+
+echo> ~tmp~.mak ####
+echo> ~ver~.mak ####
+
+:loop
+if "%1" == "" goto :end
+if "%1" == "--srcdir" goto :srcdir
+if "%1" == "srcdir" goto :srcdir
+if "%1" == "--target" goto :target
+if "%1" == "target" goto :target
+if "%1" == "--with-static-linked-ext" goto :extstatic
+if "%1" == "--extout" goto :extout
+if "%1" == "--with-baseruby" goto :baseruby
+if "%1" == "-h" goto :help
+if "%1" == "--help" goto :help
+  shift
+goto :loop
+:srcdir
+  echo>> ~tmp~.mak srcdir=%2
+  echo> ~ver~.mak srcdir=%2
+  set srcdir=%2
+  shift
+  shift
+goto :loop
+:target
+  echo>> ~tmp~.mak arch=%2
+  set arch=%2
+  shift
+  shift
+goto :loop
+:extstatic
+  echo>> ~tmp~.mak 	EXTSTATIC=static
+  shift
+goto :loop
+:extout
+  echo>> ~tmp~.mak 	EXTOUT=%2
+  set EXTOUT=%2
+  shift
+  shift
+goto :loop
+:baseruby
+  echo>> ~tmp~.mak 	BASERUBY=%2
+  set BASERUBY=%2
+  shift
+  shift
+goto :loop
+:help
+  echo Configuration:
+  echo   --help                    display this help
+  echo   --srcdir=DIR              find the sources in DIR [configure dir or ..']
+  echo System types:
+  echo   --target=TARGET           configure for TARGET [arm-symbianelf]
+  echo Optional Package:
+  echo   --with-baseruby=RUBY      use RUBY as baseruby [ruby]
+  echo   --with-static-linked-ext  link external modules statically
+  del ~tmp~.mak > nul
+goto :exit
+:end
+
+echo>> ~ver~.mak CC = arm-none-symbianelf-gcc
+echo>> ~ver~.mak CPP = $(CC) -E
+if "%srcdir%" == "" echo>> ~ver~.mak srcdir=..
+echo>> ~ver~.mak all:
+echo>> ~ver~.mak ^	@echo^>  ~tmp~.c #define RUBY_REVISION 0
+echo>> ~ver~.mak ^	@echo^>^> ~tmp~.c #include "version.h"
+echo>> ~ver~.mak ^	@echo^>^> ~tmp~.c MAJOR = RUBY_VERSION_MAJOR
+echo>> ~ver~.mak ^	@echo^>^> ~tmp~.c MINOR = RUBY_VERSION_MINOR
+echo>> ~ver~.mak ^	@echo^>^> ~tmp~.c TEENY = RUBY_VERSION_TEENY
+echo>> ~ver~.mak ^	@$(CPP) -I$(srcdir) ~tmp~.c ^| find "=" ^>^>~tmp~.mak
+echo>> ~ver~.mak ^	@del /Q ~tmp~.c
+
+make -f ~ver~.mak
+del /Q ~ver~.mak
+
+:: Defaults
+if "%srcdir%" == "" echo>> ~tmp~.mak srcdir=..
+if "%arch%" == "" echo>> ~tmp~.mak arch=arm-symbianelf
+if "%EXTOUT%" == "" echo>> ~tmp~.mak EXTOUT=$(srcdir)/.ext
+if "%BASERUBY%" == "" echo>> ~tmp~.mak BASERUBY=ruby
+::
+
+echo>> ~tmp~.mak arch_hdrdir = $(EXTOUT)/include/$(arch)
+echo>> ~tmp~.mak hdrdir = $(srcdir)/include
+
+echo>> ~tmp~.mak ifndef EXTSTATIC
+echo>> ~tmp~.mak EXT_LIST=stringio bigdecimal
+echo>> ~tmp~.mak endif
+
+echo>> ~tmp~.mak all:
+echo>> ~tmp~.mak ^	@if not exist $(subst /,\,$(arch_hdrdir))\ruby\nul md $(subst /,\,$(arch_hdrdir)\ruby)
+echo>> ~tmp~.mak ^	$(call config_h,$(subst /,\,$(arch_hdrdir))\ruby\config.h)
+echo>> ~tmp~.mak ^	$(call ruby_mmp,ruby.mmp,64000,2000000,16000000)
+echo>> ~tmp~.mak ifndef EXTSTATIC
+echo>> ~tmp~.mak ^	$(call ext_mmp,stringio,$(STRINGIO_UID))
+echo>> ~tmp~.mak ^	$(call ext_def,stringio)
+echo>> ~tmp~.mak ^	$(call ext_pkg,stringio,$(STRINGIO_UID))
+echo>> ~tmp~.mak ^	$(call ext_mmp,bigdecimal,$(BIGDECIMAL_UID),,libm.lib)
+echo>> ~tmp~.mak ^	$(call ext_def,bigdecimal)
+echo>> ~tmp~.mak ^	$(call ext_pkg,bigdecimal,$(BIGDECIMAL_UID))
+echo>> ~tmp~.mak ^	$(ext_bigdecimal_pkg_lib_append)
+echo>> ~tmp~.mak endif
+echo>> ~tmp~.mak ^	$(call pre_build_mk,pre-build.mk)
+echo>> ~tmp~.mak ^	$(call bld_inf,bld.inf)
+echo>> ~tmp~.mak ^	$(call ruby_pkg,ruby.pkg)
+
+echo>> ~tmp~.mak include setup
+
+make -f ~tmp~.mak
+del /Q ~tmp~.mak
+
+:exit
diff --git a/symbian/missing-aeabi.c b/symbian/missing-aeabi.c
new file mode 100644
index 0000000..f8d7a85
--- /dev/null
+++ b/symbian/missing-aeabi.c
@@ -0,0 +1,18 @@
+#if __GNUC__ > 3
+
+/* GCCE 4.3.2 generates these functions which are are missing from exports (they are simple aliases) */
+extern int __aeabi_uidivmod(unsigned int a, unsigned int b);
+extern int __aeabi_idivmod(int a, int b);
+int __aeabi_idiv(int a, int b)
+{
+	return __aeabi_idivmod(a, b);
+}
+
+int __aeabi_uidiv(unsigned int a, unsigned int b)
+{
+	return __aeabi_uidivmod(a, b);
+}
+
+#endif
+
+
diff --git a/symbian/missing-pips.c b/symbian/missing-pips.c
new file mode 100644
index 0000000..43ee8b5
--- /dev/null
+++ b/symbian/missing-pips.c
@@ -0,0 +1,101 @@
+//#include "symbian.h"
+#include <sys/signal.h>
+#include <sys/resource.h>
+#include <fcntl.h>
+#include <pthreadtypes.h>
+
+char **environ = 0;
+
+typedef void (*sighandler_t)(int);
+sighandler_t signal(int signum, sighandler_t handler);
+
+int sigfillset(sigset_t *set);
+int sigdelset(sigset_t *set, int signum);
+int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);
+int raise(int sig);
+int kill(pid_t pid, int sig);
+int pthread_sigmask(int how, const sigset_t *set, sigset_t *oset);
+int execv(const char *path, char *const argv[]);
+int pthread_kill(pthread_t thread, int sig);
+
+sighandler_t signal(int signum, sighandler_t handler)
+{
+	return (sighandler_t)0;
+}
+
+int sigfillset(sigset_t *set)
+{
+	return 0;
+}
+
+int sigdelset(sigset_t *set, int signum)
+{
+	return 0;
+}
+
+int sigprocmask(int how, const sigset_t *set, sigset_t *oldset)
+{
+	return 0;
+}
+
+int raise(int sig)
+{
+	return 0;
+}
+
+int kill(pid_t pid, int sig)
+{
+	return 0;
+}
+
+int pthread_sigmask(int how, const sigset_t *set, sigset_t *oset)
+{
+	return -1;
+}
+
+int execv(const char *path, char *const argv[])
+{
+	return 0;
+}
+
+int pthread_kill(pthread_t thread, int sig)
+{
+	return -1;
+}
+
+
+int sigmask(int signum) {
+	return -1;
+}
+
+int sigblock(int mask) {
+	return -1;
+}
+
+int sigsetmask(int mask) {
+	return -1;
+}
+
+sighandler_t posix_signal(int signum, sighandler_t handler)
+{
+    return signal((signum),(handler));
+}
+
+int getrlimit(int resource, struct rlimit *rlp)
+{
+    return 0;
+}
+
+int setrlimit(int resource, const struct rlimit *rlp)
+{
+    return 0;
+}
+
+int getrusage(int who, struct rusage *r_usage)
+{
+    return 0;
+}
+
+
+
+
diff --git a/symbian/pre-build b/symbian/pre-build
new file mode 100644
index 0000000..40d1992
--- /dev/null
+++ b/symbian/pre-build
@@ -0,0 +1,74 @@
+YACC = bison
+COMSPEC=cmd /C
+IFCHANGE = $(COMSPEC) $(srcdir)\win32\ifchange.bat
+RM = del
+MV = $(COMSPEC) move
+VCS=svn
+
+
+parse.c: $(srcdir)\parse.y $(srcdir)\tool\ytab.sed
+	$(YACC) -d $(YFLAGS) -o y.tab.c $(<:\\=/)
+	sed -f $(srcdir)/tool/ytab.sed -e "/^#/s!y\.tab\.c!$@!" y.tab.c > $@.new
+	@$(MV) $@.new $(@)
+	sed -e "/^#line.*y\.tab\.h/d;/^#line.*parse\.y/d" y.tab.h > $(@:.c=.h).new
+	@$(IFCHANGE) $(@:.c=.h) $(@:.c=.h).new
+	@$(RM) y.tab.c y.tab.h
+
+INSNS = optinsn.inc insns.inc insns_info.inc vmtc.inc vm.inc
+
+INSNS2VMOPT = --srcdir="$(srcdir)"
+
+$(INSNS): $(srcdir)/insns.def $(srcdir)/vm_opts.h $(srcdir)/defs/opt_operand.def $(srcdir)/defs/opt_insn_unif.def
+	$(BASERUBY) -Ks $(srcdir)/tool/insns2vm.rb $(INSNS2VMOPT) $@
+
+minsns.inc: $(srcdir)/template/minsns.inc.tmpl
+
+opt_sc.inc: $(srcdir)/template/opt_sc.inc.tmpl
+
+optinsn.inc: $(srcdir)/template/optinsn.inc.tmpl
+
+optunifs.inc: $(srcdir)/template/optunifs.inc.tmpl
+
+insns.inc: $(srcdir)/template/insns.inc.tmpl
+
+insns_info.inc: $(srcdir)/template/insns_info.inc.tmpl
+
+vmtc.inc: $(srcdir)/template/vmtc.inc.tmpl
+
+vm.inc: $(srcdir)/template/vm.inc.tmpl
+
+node_name.inc: $(srcdir)/node.h
+	$(BASERUBY) -n $(srcdir)/tool/node_name.rb $? > $@
+
+known_errors.inc: $(srcdir)/template/known_errors.inc.tmpl $(srcdir)/defs/known_errors.def
+	$(BASERUBY) $(srcdir)/tool/generic_erb.rb -c -o $@ $(srcdir)/template/known_errors.inc.tmpl $(srcdir)/defs/known_errors.def
+
+newline.c:
+	$(BASERUBY) "$(srcdir)/tool/transcode-tblgen.rb" -vo newline.c $(srcdir)/enc/trans/newline.trans
+
+miniprelude.c: $(srcdir)/tool/compile_prelude.rb $(srcdir)/prelude.rb
+	$(BASERUBY) -I$(srcdir) $(srcdir)/tool/compile_prelude.rb $(srcdir)/prelude.rb $@
+
+
+
+$(srcdir)/revision.h: $(srcdir)/version.h $(srcdir)/ChangeLog
+	@set LC_MESSAGES=C
+	-@$(SET_LC_MESSAGES) $(VCS) info "$(@D)" | \
+	sed -n "s/.*Rev:/#define RUBY_REVISION/p" > "$@.tmp"
+	@$(IFCHANGE) "$@" "$@.tmp"
+
+incs: $(srcdir)/revision.h $(INSNS) node_name.inc known_errors.inc
+
+srcs: parse.c newline.c lex.c miniprelude.c
+
+lex.c: $(srcdir)\lex.c.blt
+	copy $(?:/=\) $@
+
+MAKMAKE: incs srcs
+
+CLEAN :
+	del $(INSNS) node_name.inc known_errors.inc $(srcdir)\revision.h
+	$(RM) parse.c parse.h newline.c lex.c miniprelude.c
+
+BLD LIB CLEANLIB RESOURCE FREEZE SAVESPACE RELEASABLES FINAL :
+
diff --git a/symbian/rubyu.def b/symbian/rubyu.def
new file mode 100644
index 0000000..726ffdd
--- /dev/null
+++ b/symbian/rubyu.def
@@ -0,0 +1,1407 @@
+EXPORTS
+	Init_Array @ 1 NONAME
+	Init_BareVM @ 2 NONAME
+	Init_Bignum @ 3 NONAME
+	Init_Binding @ 4 NONAME
+	Init_Comparable @ 5 NONAME
+	Init_Complex @ 6 NONAME
+	Init_Cont @ 7 NONAME
+	Init_Continuation_body @ 8 NONAME
+	Init_Dir @ 9 NONAME
+	Init_Encoding @ 10 NONAME
+	Init_Enumerable @ 11 NONAME
+	Init_Enumerator @ 12 NONAME
+	Init_Exception @ 13 NONAME
+	Init_Fiber_as_Coroutine @ 14 NONAME
+	Init_File @ 15 NONAME
+	Init_GC @ 16 NONAME
+	Init_Hash @ 17 NONAME
+	Init_IO @ 18 NONAME
+	Init_ISeq @ 19 NONAME
+	Init_Math @ 20 NONAME
+	Init_Numeric @ 21 NONAME
+	Init_Object @ 22 NONAME
+	Init_Proc @ 23 NONAME
+	Init_Random @ 24 NONAME
+	Init_RandomSeed @ 25 NONAME
+	Init_Range @ 26 NONAME
+	Init_Rational @ 27 NONAME
+	Init_Regexp @ 28 NONAME
+	Init_String @ 29 NONAME
+	Init_Struct @ 30 NONAME
+	Init_Thread @ 31 NONAME
+	Init_Time @ 32 NONAME
+	Init_VM @ 33 NONAME
+	Init_eval @ 34 NONAME
+	Init_eval_method @ 35 NONAME
+	Init_ext @ 36 NONAME
+	Init_heap @ 37 NONAME
+	Init_jump @ 38 NONAME
+	Init_load @ 39 NONAME
+	Init_marshal @ 40 NONAME
+	Init_newline @ 41 NONAME
+	Init_pack @ 42 NONAME
+	Init_prelude @ 43 NONAME
+	Init_process @ 44 NONAME
+	Init_safe @ 45 NONAME
+	Init_signal @ 46 NONAME
+	Init_stack @ 47 NONAME
+	Init_sym @ 48 NONAME
+	Init_syserr @ 49 NONAME
+	Init_top_self @ 50 NONAME
+	Init_transcode @ 51 NONAME
+	Init_var_tables @ 52 NONAME
+	Init_version @ 53 NONAME
+	Init_vm_eval @ 54 NONAME
+	OnigAsciiLowerMap @ 55 NONAME DATA 208
+	OnigDefaultCaseFoldFlag @ 56 NONAME DATA 4
+	OnigDefaultSyntax @ 57 NONAME DATA 4
+	OnigEncAsciiCtypeTable @ 58 NONAME DATA 512
+	OnigEncAsciiToLowerCaseTable @ 59 NONAME DATA 256
+	OnigEncAsciiToUpperCaseTable @ 60 NONAME DATA 256
+	OnigEncDefaultCharEncoding @ 61 NONAME DATA 4
+	OnigEncISO_8859_1_ToLowerCaseTable @ 62 NONAME DATA 256
+	OnigEncISO_8859_1_ToUpperCaseTable @ 63 NONAME DATA 256
+	OnigEncodingASCII @ 64 NONAME DATA 68
+	OnigEncodingUS_ASCII @ 65 NONAME DATA 68
+	OnigEncodingUTF_8 @ 66 NONAME DATA 68
+	OnigSyntaxASIS @ 67 NONAME DATA 40
+	OnigSyntaxEmacs @ 68 NONAME DATA 40
+	OnigSyntaxGnuRegex @ 69 NONAME DATA 40
+	OnigSyntaxGrep @ 70 NONAME DATA 40
+	OnigSyntaxJava @ 71 NONAME DATA 40
+	OnigSyntaxPerl @ 72 NONAME DATA 40
+	OnigSyntaxPerl_NG @ 73 NONAME DATA 40
+	OnigSyntaxPosixBasic @ 74 NONAME DATA 40
+	OnigSyntaxPosixExtended @ 75 NONAME DATA 40
+	OnigSyntaxRuby @ 76 NONAME DATA 40
+	RUBY_FL_USER19 @ 77 NONAME DATA 4
+	__aeabi_idiv @ 78 NONAME
+	__aeabi_uidiv @ 79 NONAME
+	alloca @ 80 NONAME
+	crypt @ 81 NONAME
+	des_cipher @ 82 NONAME
+	des_setkey @ 83 NONAME
+	dln_find_exe @ 84 NONAME
+	dln_find_exe_r @ 85 NONAME
+	dln_find_file @ 86 NONAME
+	dln_find_file_r @ 87 NONAME
+	dln_load @ 88 NONAME
+	eaccess @ 89 NONAME
+	encrypt @ 90 NONAME
+	environ @ 91 NONAME DATA 4
+	execv @ 92 NONAME
+	flock @ 93 NONAME
+	getrlimit @ 94 NONAME
+	getrusage @ 95 NONAME
+	insn_make_insn_table @ 96 NONAME
+	insns_name_array @ 97 NONAME
+	invoke_Array_each_special_block @ 98 NONAME
+	invoke_Integer_times_special_block @ 99 NONAME
+	invoke_Range_each_special_block @ 100 NONAME
+	iseq_build_from_ary @ 101 NONAME
+	iseq_compile @ 102 NONAME
+	iseq_load @ 103 NONAME
+	iseq_translate_threaded_code @ 104 NONAME
+	kill @ 105 NONAME
+	log2 @ 106 NONAME
+	nodeline @ 107 NONAME
+	nodetype @ 108 NONAME
+	nucomp_canonicalize @ 109 NONAME
+	nurat_canonicalize @ 110 NONAME
+	onig_alloc_init @ 111 NONAME
+	onig_bbuf_init @ 112 NONAME
+	onig_chain_link_add @ 113 NONAME
+	onig_chain_reduce @ 114 NONAME
+	onig_compile @ 115 NONAME
+	onig_copy_encoding @ 116 NONAME
+	onig_copy_syntax @ 117 NONAME
+	onig_end @ 118 NONAME
+	onig_error_code_to_format @ 119 NONAME
+	onig_error_code_to_str @ 120 NONAME
+	onig_foreach_name @ 121 NONAME
+	onig_free @ 122 NONAME
+	onig_free_node_list @ 123 NONAME
+	onig_free_shared_cclass_table @ 124 NONAME
+	onig_get_case_fold_flag @ 125 NONAME
+	onig_get_default_case_fold_flag @ 126 NONAME
+	onig_get_encoding @ 127 NONAME
+	onig_get_match_stack_limit_size @ 128 NONAME
+	onig_get_options @ 129 NONAME
+	onig_get_syntax @ 130 NONAME
+	onig_get_syntax_behavior @ 131 NONAME
+	onig_get_syntax_op @ 132 NONAME
+	onig_get_syntax_op2 @ 133 NONAME
+	onig_get_syntax_options @ 134 NONAME
+	onig_init @ 135 NONAME
+	onig_is_code_in_cc @ 136 NONAME
+	onig_is_code_in_cc_len @ 137 NONAME
+	onig_is_in_code_range @ 138 NONAME
+	onig_match @ 139 NONAME
+	onig_name_to_backref_number @ 140 NONAME
+	onig_name_to_group_numbers @ 141 NONAME
+	onig_names_free @ 142 NONAME
+	onig_new @ 143 NONAME
+	onig_node_conv_to_str_node @ 144 NONAME
+	onig_node_free @ 145 NONAME
+	onig_node_list_add @ 146 NONAME
+	onig_node_new_alt @ 147 NONAME
+	onig_node_new_anchor @ 148 NONAME
+	onig_node_new_enclose @ 149 NONAME
+	onig_node_new_list @ 150 NONAME
+	onig_node_new_str @ 151 NONAME
+	onig_node_str_cat @ 152 NONAME
+	onig_node_str_clear @ 153 NONAME
+	onig_node_str_set @ 154 NONAME
+	onig_noname_group_capture_is_active @ 155 NONAME
+	onig_null_warn @ 156 NONAME
+	onig_number_of_capture_histories @ 157 NONAME
+	onig_number_of_captures @ 158 NONAME
+	onig_number_of_names @ 159 NONAME
+	onig_parse_make_tree @ 160 NONAME
+	onig_reduce_nested_quantifier @ 161 NONAME
+	onig_region_clear @ 162 NONAME
+	onig_region_copy @ 163 NONAME
+	onig_region_free @ 164 NONAME
+	onig_region_init @ 165 NONAME
+	onig_region_new @ 166 NONAME
+	onig_region_resize @ 167 NONAME
+	onig_region_set @ 168 NONAME
+	onig_renumber_name_table @ 169 NONAME
+	onig_scan_env_set_error_string @ 170 NONAME
+	onig_scan_unsigned_number @ 171 NONAME
+	onig_search @ 172 NONAME
+	onig_set_default_case_fold_flag @ 173 NONAME
+	onig_set_default_syntax @ 174 NONAME
+	onig_set_match_stack_limit_size @ 175 NONAME
+	onig_set_meta_char @ 176 NONAME
+	onig_set_syntax_behavior @ 177 NONAME
+	onig_set_syntax_op @ 178 NONAME
+	onig_set_syntax_op2 @ 179 NONAME
+	onig_set_syntax_options @ 180 NONAME
+	onig_set_verb_warn_func @ 181 NONAME
+	onig_set_warn_func @ 182 NONAME
+	onig_snprintf_with_pattern @ 183 NONAME
+	onig_st_init_strend_table_with_size @ 184 NONAME
+	onig_st_insert_strend @ 185 NONAME
+	onig_st_lookup_strend @ 186 NONAME
+	onig_strcpy @ 187 NONAME
+	onig_strncmp @ 188 NONAME
+	onig_transfer @ 189 NONAME
+	onigenc_always_false_is_allowed_reverse_match @ 190 NONAME
+	onigenc_always_true_is_allowed_reverse_match @ 191 NONAME
+	onigenc_apply_all_case_fold_with_map @ 192 NONAME
+	onigenc_ascii_apply_all_case_fold @ 193 NONAME
+	onigenc_ascii_get_case_fold_codes_by_str @ 194 NONAME
+	onigenc_ascii_is_code_ctype @ 195 NONAME
+	onigenc_ascii_mbc_case_fold @ 196 NONAME
+	onigenc_get_case_fold_codes_by_str_with_map @ 197 NONAME
+	onigenc_get_default_encoding @ 198 NONAME
+	onigenc_get_left_adjust_char_head @ 199 NONAME
+	onigenc_get_prev_char_head @ 200 NONAME
+	onigenc_get_right_adjust_char_head @ 201 NONAME
+	onigenc_get_right_adjust_char_head_with_prev @ 202 NONAME
+	onigenc_init @ 203 NONAME
+	onigenc_is_mbc_newline_0x0a @ 204 NONAME
+	onigenc_mb2_code_to_mbc @ 205 NONAME
+	onigenc_mb2_code_to_mbclen @ 206 NONAME
+	onigenc_mb2_is_code_ctype @ 207 NONAME
+	onigenc_mb4_code_to_mbc @ 208 NONAME
+	onigenc_mb4_code_to_mbclen @ 209 NONAME
+	onigenc_mb4_is_code_ctype @ 210 NONAME
+	onigenc_mbclen_approximate @ 211 NONAME
+	onigenc_mbn_mbc_case_fold @ 212 NONAME
+	onigenc_mbn_mbc_to_code @ 213 NONAME
+	onigenc_minimum_property_name_to_ctype @ 214 NONAME
+	onigenc_not_support_get_ctype_code_range @ 215 NONAME
+	onigenc_property_list_add_property @ 216 NONAME
+	onigenc_property_list_init @ 217 NONAME
+	onigenc_set_default_caseconv_table @ 218 NONAME
+	onigenc_set_default_encoding @ 219 NONAME
+	onigenc_single_byte_code_to_mbc @ 220 NONAME
+	onigenc_single_byte_code_to_mbclen @ 221 NONAME
+	onigenc_single_byte_left_adjust_char_head @ 222 NONAME
+	onigenc_single_byte_mbc_enc_len @ 223 NONAME
+	onigenc_single_byte_mbc_to_code @ 224 NONAME
+	onigenc_step @ 225 NONAME
+	onigenc_step_back @ 226 NONAME
+	onigenc_str_bytelen_null @ 227 NONAME
+	onigenc_strlen @ 228 NONAME
+	onigenc_strlen_null @ 229 NONAME
+	onigenc_unicode_apply_all_case_fold @ 230 NONAME
+	onigenc_unicode_ctype_code_range @ 231 NONAME
+	onigenc_unicode_get_case_fold_codes_by_str @ 232 NONAME
+	onigenc_unicode_is_code_ctype @ 233 NONAME
+	onigenc_unicode_mbc_case_fold @ 234 NONAME
+	onigenc_unicode_property_name_to_ctype @ 235 NONAME
+	onigenc_utf16_32_get_ctype_code_range @ 236 NONAME
+	onigenc_with_ascii_strncmp @ 237 NONAME
+	posix_signal @ 238 NONAME
+	pthread_kill @ 239 NONAME
+	pthread_sigmask @ 240 NONAME
+	raise @ 241 NONAME
+	rb_Array @ 242 NONAME
+	rb_Complex @ 243 NONAME
+	rb_Float @ 244 NONAME
+	rb_Integer @ 245 NONAME
+	rb_Rational @ 246 NONAME
+	rb_String @ 247 NONAME
+	rb_add_event_hook @ 248 NONAME
+	rb_add_method @ 249 NONAME
+	rb_alias @ 250 NONAME
+	rb_alias_variable @ 251 NONAME
+	rb_any_to_s @ 252 NONAME
+	rb_apply @ 253 NONAME
+	rb_argv0 @ 254 NONAME DATA 4
+	rb_ary_aref @ 255 NONAME
+	rb_ary_assoc @ 256 NONAME
+	rb_ary_clear @ 257 NONAME
+	rb_ary_cmp @ 258 NONAME
+	rb_ary_concat @ 259 NONAME
+	rb_ary_delete @ 260 NONAME
+	rb_ary_delete_at @ 261 NONAME
+	rb_ary_dup @ 262 NONAME
+	rb_ary_each @ 263 NONAME
+	rb_ary_entry @ 264 NONAME
+	rb_ary_free @ 265 NONAME
+	rb_ary_freeze @ 266 NONAME
+	rb_ary_includes @ 267 NONAME
+	rb_ary_join @ 268 NONAME
+	rb_ary_last @ 269 NONAME
+	rb_ary_new @ 270 NONAME
+	rb_ary_new2 @ 271 NONAME
+	rb_ary_new3 @ 272 NONAME
+	rb_ary_new4 @ 273 NONAME
+	rb_ary_plus @ 274 NONAME
+	rb_ary_pop @ 275 NONAME
+	rb_ary_push @ 276 NONAME
+	rb_ary_rassoc @ 277 NONAME
+	rb_ary_replace @ 278 NONAME
+	rb_ary_reverse @ 279 NONAME
+	rb_ary_shift @ 280 NONAME
+	rb_ary_sort @ 281 NONAME
+	rb_ary_sort_bang @ 282 NONAME
+	rb_ary_store @ 283 NONAME
+	rb_ary_subseq @ 284 NONAME
+	rb_ary_tmp_new @ 285 NONAME
+	rb_ary_to_ary @ 286 NONAME
+	rb_ary_to_s @ 287 NONAME
+	rb_ary_unshift @ 288 NONAME
+	rb_ascii8bit_encindex @ 289 NONAME
+	rb_ascii8bit_encoding @ 290 NONAME
+	rb_assoc_new @ 291 NONAME
+	rb_attr @ 292 NONAME
+	rb_attr_get @ 293 NONAME
+	rb_autoload @ 294 NONAME
+	rb_autoload_load @ 295 NONAME
+	rb_autoload_p @ 296 NONAME
+	rb_backref_get @ 297 NONAME
+	rb_backref_set @ 298 NONAME
+	rb_backtrace @ 299 NONAME
+	rb_barrier_destroy @ 300 NONAME
+	rb_barrier_new @ 301 NONAME
+	rb_barrier_release @ 302 NONAME
+	rb_barrier_wait @ 303 NONAME
+	rb_big2dbl @ 304 NONAME
+	rb_big2ll @ 305 NONAME
+	rb_big2long @ 306 NONAME
+	rb_big2str @ 307 NONAME
+	rb_big2str0 @ 308 NONAME
+	rb_big2ull @ 309 NONAME
+	rb_big2ulong @ 310 NONAME
+	rb_big2ulong_pack @ 311 NONAME
+	rb_big_2comp @ 312 NONAME
+	rb_big_and @ 313 NONAME
+	rb_big_clone @ 314 NONAME
+	rb_big_cmp @ 315 NONAME
+	rb_big_div @ 316 NONAME
+	rb_big_divmod @ 317 NONAME
+	rb_big_eq @ 318 NONAME
+	rb_big_idiv @ 319 NONAME
+	rb_big_lshift @ 320 NONAME
+	rb_big_minus @ 321 NONAME
+	rb_big_modulo @ 322 NONAME
+	rb_big_mul @ 323 NONAME
+	rb_big_norm @ 324 NONAME
+	rb_big_or @ 325 NONAME
+	rb_big_plus @ 326 NONAME
+	rb_big_pow @ 327 NONAME
+	rb_big_resize @ 328 NONAME
+	rb_big_rshift @ 329 NONAME
+	rb_big_xor @ 330 NONAME
+	rb_binding_new @ 331 NONAME
+	rb_block_call @ 332 NONAME
+	rb_block_given_p @ 333 NONAME
+	rb_block_lambda @ 334 NONAME
+	rb_block_proc @ 335 NONAME
+	rb_bug @ 336 NONAME
+	rb_cArray @ 337 NONAME DATA 4
+	rb_cBarrier @ 338 NONAME DATA 4
+	rb_cBasicObject @ 339 NONAME DATA 4
+	rb_cBignum @ 340 NONAME DATA 4
+	rb_cBinding @ 341 NONAME DATA 4
+	rb_cClass @ 342 NONAME DATA 4
+	rb_cComplex @ 343 NONAME DATA 4
+	rb_cData @ 344 NONAME DATA 4
+	rb_cDir @ 345 NONAME DATA 4
+	rb_cEncoding @ 346 NONAME DATA 4
+	rb_cEncodingConverter @ 347 NONAME DATA 4
+	rb_cEnumerator @ 348 NONAME DATA 4
+	rb_cEnv @ 349 NONAME DATA 4
+	rb_cFalseClass @ 350 NONAME DATA 4
+	rb_cFile @ 351 NONAME DATA 4
+	rb_cFixnum @ 352 NONAME DATA 4
+	rb_cFloat @ 353 NONAME DATA 4
+	rb_cHash @ 354 NONAME DATA 4
+	rb_cIO @ 355 NONAME DATA 4
+	rb_cISeq @ 356 NONAME DATA 4
+	rb_cInteger @ 357 NONAME DATA 4
+	rb_cMatch @ 358 NONAME DATA 4
+	rb_cMethod @ 359 NONAME DATA 4
+	rb_cModule @ 360 NONAME DATA 4
+	rb_cMutex @ 361 NONAME DATA 4
+	rb_cNameErrorMesg @ 362 NONAME DATA 4
+	rb_cNilClass @ 363 NONAME DATA 4
+	rb_cNumeric @ 364 NONAME DATA 4
+	rb_cObject @ 365 NONAME DATA 4
+	rb_cProc @ 366 NONAME DATA 4
+	rb_cRange @ 367 NONAME DATA 4
+	rb_cRational @ 368 NONAME DATA 4
+	rb_cRegexp @ 369 NONAME DATA 4
+	rb_cRubyVM @ 370 NONAME DATA 4
+	rb_cStat @ 371 NONAME DATA 4
+	rb_cString @ 372 NONAME DATA 4
+	rb_cStruct @ 373 NONAME DATA 4
+	rb_cSymbol @ 374 NONAME DATA 4
+	rb_cThread @ 375 NONAME DATA 4
+	rb_cTime @ 376 NONAME DATA 4
+	rb_cTrueClass @ 377 NONAME DATA 4
+	rb_cUnboundMethod @ 378 NONAME DATA 4
+	rb_call_end_proc @ 379 NONAME
+	rb_call_inits @ 380 NONAME
+	rb_call_super @ 381 NONAME
+	rb_catch @ 382 NONAME
+	rb_catch_obj @ 383 NONAME
+	rb_char_to_option_kcode @ 384 NONAME
+	rb_check_array_type @ 385 NONAME
+	rb_check_backtrace @ 386 NONAME
+	rb_check_convert_type @ 387 NONAME
+	rb_check_frozen @ 388 NONAME
+	rb_check_inheritable @ 389 NONAME
+	rb_check_regexp_type @ 390 NONAME
+	rb_check_safe_obj @ 391 NONAME
+	rb_check_safe_str @ 392 NONAME
+	rb_check_string_type @ 393 NONAME
+	rb_check_to_integer @ 394 NONAME
+	rb_check_type @ 395 NONAME
+	rb_class2name @ 396 NONAME
+	rb_class_boot @ 397 NONAME
+	rb_class_inherited @ 398 NONAME
+	rb_class_inherited_p @ 399 NONAME
+	rb_class_init_copy @ 400 NONAME
+	rb_class_instance_methods @ 401 NONAME
+	rb_class_name @ 402 NONAME
+	rb_class_new @ 403 NONAME
+	rb_class_new_instance @ 404 NONAME
+	rb_class_path @ 405 NONAME
+	rb_class_private_instance_methods @ 406 NONAME
+	rb_class_protected_instance_methods @ 407 NONAME
+	rb_class_public_instance_methods @ 408 NONAME
+	rb_class_real @ 409 NONAME
+	rb_class_tbl @ 410 NONAME DATA 4
+	rb_clear_cache @ 411 NONAME
+	rb_clear_cache_by_class @ 412 NONAME
+	rb_clear_trace_func @ 413 NONAME
+	rb_cmperr @ 414 NONAME
+	rb_cmpint @ 415 NONAME
+	rb_compile_bug @ 416 NONAME
+	rb_compile_cstr @ 417 NONAME
+	rb_compile_error @ 418 NONAME
+	rb_compile_error_append @ 419 NONAME
+	rb_compile_file @ 420 NONAME
+	rb_compile_string @ 421 NONAME
+	rb_compile_warn @ 422 NONAME
+	rb_compile_warning @ 423 NONAME
+	rb_complex_new @ 424 NONAME
+	rb_complex_polar @ 425 NONAME
+	rb_complex_raw @ 426 NONAME
+	rb_const_defined @ 427 NONAME
+	rb_const_defined_at @ 428 NONAME
+	rb_const_defined_from @ 429 NONAME
+	rb_const_get @ 430 NONAME
+	rb_const_get_at @ 431 NONAME
+	rb_const_get_from @ 432 NONAME
+	rb_const_list @ 433 NONAME
+	rb_const_set @ 434 NONAME
+	rb_convert_type @ 435 NONAME
+	rb_copy_generic_ivar @ 436 NONAME
+	rb_cstr2inum @ 437 NONAME
+	rb_cstr_to_dbl @ 438 NONAME
+	rb_cstr_to_inum @ 439 NONAME
+	rb_cv_get @ 440 NONAME
+	rb_cv_set @ 441 NONAME
+	rb_cvar_defined @ 442 NONAME
+	rb_cvar_get @ 443 NONAME
+	rb_cvar_set @ 444 NONAME
+	rb_data_object_alloc @ 445 NONAME
+	rb_dbl2big @ 446 NONAME
+	rb_dbl_cmp @ 447 NONAME
+	rb_declare_transcoder @ 448 NONAME
+	rb_default_external_encoding @ 449 NONAME
+	rb_default_internal_encoding @ 450 NONAME
+	rb_default_rs @ 451 NONAME DATA 4
+	rb_deferr @ 452 NONAME DATA 4
+	rb_define_alias @ 453 NONAME
+	rb_define_alloc_func @ 454 NONAME
+	rb_define_attr @ 455 NONAME
+	rb_define_class @ 456 NONAME
+	rb_define_class_id @ 457 NONAME
+	rb_define_class_under @ 458 NONAME
+	rb_define_class_variable @ 459 NONAME
+	rb_define_const @ 460 NONAME
+	rb_define_dummy_encoding @ 461 NONAME
+	rb_define_global_const @ 462 NONAME
+	rb_define_global_function @ 463 NONAME
+	rb_define_hooked_variable @ 464 NONAME
+	rb_define_method @ 465 NONAME
+	rb_define_method_id @ 466 NONAME
+	rb_define_module @ 467 NONAME
+	rb_define_module_function @ 468 NONAME
+	rb_define_module_id @ 469 NONAME
+	rb_define_module_under @ 470 NONAME
+	rb_define_private_method @ 471 NONAME
+	rb_define_protected_method @ 472 NONAME
+	rb_define_readonly_variable @ 473 NONAME
+	rb_define_singleton_method @ 474 NONAME
+	rb_define_variable @ 475 NONAME
+	rb_define_virtual_variable @ 476 NONAME
+	rb_detach_process @ 477 NONAME
+	rb_disable_interrupt @ 478 NONAME
+	rb_disable_super @ 479 NONAME
+	rb_during_gc @ 480 NONAME
+	rb_dvar_defined @ 481 NONAME
+	rb_eArgError @ 482 NONAME DATA 4
+	rb_eConverterNotFoundError @ 483 NONAME DATA 4
+	rb_eEOFError @ 484 NONAME DATA 4
+	rb_eEncCompatError @ 485 NONAME DATA 4
+	rb_eEncodingError @ 486 NONAME DATA 4
+	rb_eException @ 487 NONAME DATA 4
+	rb_eFatal @ 488 NONAME DATA 4
+	rb_eFloatDomainError @ 489 NONAME DATA 4
+	rb_eIOError @ 490 NONAME DATA 4
+	rb_eIndexError @ 491 NONAME DATA 4
+	rb_eInterrupt @ 492 NONAME DATA 4
+	rb_eInvalidByteSequenceError @ 493 NONAME DATA 4
+	rb_eKeyError @ 494 NONAME DATA 4
+	rb_eLoadError @ 495 NONAME DATA 4
+	rb_eLocalJumpError @ 496 NONAME DATA 4
+	rb_eNameError @ 497 NONAME DATA 4
+	rb_eNoMemError @ 498 NONAME DATA 4
+	rb_eNoMethodError @ 499 NONAME DATA 4
+	rb_eNotImpError @ 500 NONAME DATA 4
+	rb_eRangeError @ 501 NONAME DATA 4
+	rb_eRegexpError @ 502 NONAME DATA 4
+	rb_eRuntimeError @ 503 NONAME DATA 4
+	rb_eScriptError @ 504 NONAME DATA 4
+	rb_eSecurityError @ 505 NONAME DATA 4
+	rb_eSignal @ 506 NONAME DATA 4
+	rb_eStandardError @ 507 NONAME DATA 4
+	rb_eStopIteration @ 508 NONAME DATA 4
+	rb_eSyntaxError @ 509 NONAME DATA 4
+	rb_eSysStackError @ 510 NONAME DATA 4
+	rb_eSystemCallError @ 511 NONAME DATA 4
+	rb_eSystemExit @ 512 NONAME DATA 4
+	rb_eThreadError @ 513 NONAME DATA 4
+	rb_eTypeError @ 514 NONAME DATA 4
+	rb_eUndefinedConversionError @ 515 NONAME DATA 4
+	rb_eZeroDivError @ 516 NONAME DATA 4
+	rb_each @ 517 NONAME
+	rb_econv_asciicompat_encoding @ 518 NONAME
+	rb_econv_binmode @ 519 NONAME
+	rb_econv_check_error @ 520 NONAME
+	rb_econv_close @ 521 NONAME
+	rb_econv_convert @ 522 NONAME
+	rb_econv_decorate_at_first @ 523 NONAME
+	rb_econv_decorate_at_last @ 524 NONAME
+	rb_econv_encoding_to_insert_output @ 525 NONAME
+	rb_econv_has_convpath_p @ 526 NONAME
+	rb_econv_init_by_convpath_i @ 527 NONAME
+	rb_econv_insert_output @ 528 NONAME
+	rb_econv_open @ 529 NONAME
+	rb_econv_open_exc @ 530 NONAME
+	rb_econv_open_opts @ 531 NONAME
+	rb_econv_prepare_opts @ 532 NONAME
+	rb_econv_putback @ 533 NONAME
+	rb_econv_putbackable @ 534 NONAME
+	rb_econv_set_replacement @ 535 NONAME
+	rb_econv_str_append @ 536 NONAME
+	rb_econv_str_convert @ 537 NONAME
+	rb_econv_substr_append @ 538 NONAME
+	rb_econv_substr_convert @ 539 NONAME
+	rb_enable_interrupt @ 540 NONAME
+	rb_enable_super @ 541 NONAME
+	rb_enc_alias @ 542 NONAME
+	rb_enc_ascget @ 543 NONAME
+	rb_enc_associate @ 544 NONAME
+	rb_enc_associate_index @ 545 NONAME
+	rb_enc_check @ 546 NONAME
+	rb_enc_codelen @ 547 NONAME
+	rb_enc_codepoint @ 548 NONAME
+	rb_enc_compatible @ 549 NONAME
+	rb_enc_copy @ 550 NONAME
+	rb_enc_default_external @ 551 NONAME
+	rb_enc_default_internal @ 552 NONAME
+	rb_enc_find @ 553 NONAME
+	rb_enc_find_index @ 554 NONAME
+	rb_enc_from_encoding @ 555 NONAME
+	rb_enc_from_index @ 556 NONAME
+	rb_enc_get @ 557 NONAME
+	rb_enc_get_index @ 558 NONAME
+	rb_enc_init @ 559 NONAME
+	rb_enc_mbclen @ 560 NONAME
+	rb_enc_nth @ 561 NONAME
+	rb_enc_precise_mbclen @ 562 NONAME
+	rb_enc_reg_new @ 563 NONAME
+	rb_enc_register @ 564 NONAME
+	rb_enc_registered @ 565 NONAME
+	rb_enc_replicate @ 566 NONAME
+	rb_enc_set_default_external @ 567 NONAME
+	rb_enc_set_default_internal @ 568 NONAME
+	rb_enc_set_index @ 569 NONAME
+	rb_enc_sprintf @ 570 NONAME
+	rb_enc_str_asciionly_p @ 571 NONAME
+	rb_enc_str_buf_cat @ 572 NONAME
+	rb_enc_str_coderange @ 573 NONAME
+	rb_enc_str_new @ 574 NONAME
+	rb_enc_strlen @ 575 NONAME
+	rb_enc_strlen_cr @ 576 NONAME
+	rb_enc_symname2_p @ 577 NONAME
+	rb_enc_symname_p @ 578 NONAME
+	rb_enc_tolower @ 579 NONAME
+	rb_enc_toupper @ 580 NONAME
+	rb_enc_vsprintf @ 581 NONAME
+	rb_encdb_alias @ 582 NONAME
+	rb_encdb_declare @ 583 NONAME
+	rb_encdb_dummy @ 584 NONAME
+	rb_encdb_replicate @ 585 NONAME
+	rb_ensure @ 586 NONAME
+	rb_enumeratorize @ 587 NONAME
+	rb_env_clear @ 588 NONAME
+	rb_env_path_tainted @ 589 NONAME
+	rb_eof_error @ 590 NONAME
+	rb_eql @ 591 NONAME
+	rb_equal @ 592 NONAME
+	rb_errinfo @ 593 NONAME
+	rb_error_frozen @ 594 NONAME
+	rb_eval_cmd @ 595 NONAME
+	rb_eval_string @ 596 NONAME
+	rb_eval_string_protect @ 597 NONAME
+	rb_eval_string_wrap @ 598 NONAME
+	rb_exc_fatal @ 599 NONAME
+	rb_exc_new @ 600 NONAME
+	rb_exc_new2 @ 601 NONAME
+	rb_exc_new3 @ 602 NONAME
+	rb_exc_raise @ 603 NONAME
+	rb_exec @ 604 NONAME
+	rb_exec_arg_addopt @ 605 NONAME
+	rb_exec_arg_fixup @ 606 NONAME
+	rb_exec_arg_init @ 607 NONAME
+	rb_exec_end_proc @ 608 NONAME
+	rb_exec_recursive @ 609 NONAME
+	rb_exit @ 610 NONAME
+	rb_extend_object @ 611 NONAME
+	rb_external_str_new @ 612 NONAME
+	rb_external_str_new_cstr @ 613 NONAME
+	rb_external_str_new_with_enc @ 614 NONAME
+	rb_f_abort @ 615 NONAME
+	rb_f_block_given_p @ 616 NONAME
+	rb_f_eval @ 617 NONAME
+	rb_f_exec @ 618 NONAME
+	rb_f_exit @ 619 NONAME
+	rb_f_global_variables @ 620 NONAME
+	rb_f_kill @ 621 NONAME
+	rb_f_lambda @ 622 NONAME
+	rb_f_public_send @ 623 NONAME
+	rb_f_require @ 624 NONAME
+	rb_f_send @ 625 NONAME
+	rb_f_sprintf @ 626 NONAME
+	rb_f_trace_var @ 627 NONAME
+	rb_f_untrace_var @ 628 NONAME
+	rb_fatal @ 629 NONAME
+	rb_fd_clr @ 630 NONAME
+	rb_fd_copy @ 631 NONAME
+	rb_fd_init @ 632 NONAME
+	rb_fd_isset @ 633 NONAME
+	rb_fd_select @ 634 NONAME
+	rb_fd_set @ 635 NONAME
+	rb_fd_term @ 636 NONAME
+	rb_fd_zero @ 637 NONAME
+	rb_fdopen @ 638 NONAME
+	rb_fiber_alive_p @ 639 NONAME
+	rb_fiber_current @ 640 NONAME
+	rb_fiber_new @ 641 NONAME
+	rb_fiber_resume @ 642 NONAME
+	rb_fiber_start @ 643 NONAME
+	rb_fiber_transfer @ 644 NONAME
+	rb_fiber_yield @ 645 NONAME
+	rb_file_absolute_path @ 646 NONAME
+	rb_file_const @ 647 NONAME
+	rb_file_directory_p @ 648 NONAME
+	rb_file_expand_path @ 649 NONAME
+	rb_file_open @ 650 NONAME
+	rb_file_open_str @ 651 NONAME
+	rb_file_s_absolute_path @ 652 NONAME
+	rb_file_s_expand_path @ 653 NONAME
+	rb_filesystem_encoding @ 654 NONAME
+	rb_find_file @ 655 NONAME
+	rb_find_file_ext @ 656 NONAME
+	rb_fix2int @ 657 NONAME
+	rb_fix2str @ 658 NONAME
+	rb_float_new @ 659 NONAME
+	rb_frame_callee @ 660 NONAME
+	rb_frame_method_id_and_class @ 661 NONAME
+	rb_frame_pop @ 662 NONAME
+	rb_frame_this_func @ 663 NONAME
+	rb_free_generic_ivar @ 664 NONAME
+	rb_frozen_class_p @ 665 NONAME
+	rb_fs @ 666 NONAME DATA 4
+	rb_funcall @ 667 NONAME
+	rb_funcall2 @ 668 NONAME
+	rb_funcall3 @ 669 NONAME
+	rb_garbage_collect @ 670 NONAME
+	rb_gc @ 671 NONAME
+	rb_gc_call_finalizer_at_exit @ 672 NONAME
+	rb_gc_copy_finalizer @ 673 NONAME
+	rb_gc_disable @ 674 NONAME
+	rb_gc_enable @ 675 NONAME
+	rb_gc_finalize_deferred @ 676 NONAME
+	rb_gc_force_recycle @ 677 NONAME
+	rb_gc_mark @ 678 NONAME
+	rb_gc_mark_encodings @ 679 NONAME
+	rb_gc_mark_global_tbl @ 680 NONAME
+	rb_gc_mark_locations @ 681 NONAME
+	rb_gc_mark_machine_stack @ 682 NONAME
+	rb_gc_mark_maybe @ 683 NONAME
+	rb_gc_mark_parser @ 684 NONAME
+	rb_gc_mark_symbols @ 685 NONAME
+	rb_gc_mark_threads @ 686 NONAME
+	rb_gc_register_address @ 687 NONAME
+	rb_gc_register_mark_object @ 688 NONAME
+	rb_gc_save_machine_context @ 689 NONAME
+	rb_gc_set_stack_end @ 690 NONAME
+	rb_gc_start @ 691 NONAME
+	rb_gc_unregister_address @ 692 NONAME
+	rb_gcd @ 693 NONAME
+	rb_gcdlcm @ 694 NONAME
+	rb_generic_ivar_table @ 695 NONAME
+	rb_genrand_int32 @ 696 NONAME
+	rb_genrand_real @ 697 NONAME
+	rb_get_alloc_func @ 698 NONAME
+	rb_get_argv @ 699 NONAME
+	rb_get_backtrace @ 700 NONAME
+	rb_get_coverages @ 701 NONAME
+	rb_get_load_path @ 702 NONAME
+	rb_get_method_body @ 703 NONAME
+	rb_get_next_signal @ 704 NONAME
+	rb_get_path @ 705 NONAME
+	rb_get_path_no_checksafe @ 706 NONAME
+	rb_get_values_at @ 707 NONAME
+	rb_gets @ 708 NONAME
+	rb_glob @ 709 NONAME
+	rb_global_entry @ 710 NONAME
+	rb_global_tbl @ 711 NONAME DATA 4
+	rb_global_variable @ 712 NONAME
+	rb_gv_get @ 713 NONAME
+	rb_gv_set @ 714 NONAME
+	rb_gvar_defined @ 715 NONAME
+	rb_gvar_get @ 716 NONAME
+	rb_gvar_readonly_setter @ 717 NONAME
+	rb_gvar_set @ 718 NONAME
+	rb_gvar_undef_getter @ 719 NONAME
+	rb_gvar_undef_marker @ 720 NONAME
+	rb_gvar_undef_setter @ 721 NONAME
+	rb_gvar_val_getter @ 722 NONAME
+	rb_gvar_val_marker @ 723 NONAME
+	rb_gvar_val_setter @ 724 NONAME
+	rb_gvar_var_getter @ 725 NONAME
+	rb_gvar_var_marker @ 726 NONAME
+	rb_gvar_var_setter @ 727 NONAME
+	rb_hash @ 728 NONAME
+	rb_hash_aref @ 729 NONAME
+	rb_hash_aset @ 730 NONAME
+	rb_hash_assoc @ 731 NONAME
+	rb_hash_delete @ 732 NONAME
+	rb_hash_delete_if @ 733 NONAME
+	rb_hash_dup @ 734 NONAME
+	rb_hash_fetch @ 735 NONAME
+	rb_hash_foreach @ 736 NONAME
+	rb_hash_freeze @ 737 NONAME
+	rb_hash_lookup @ 738 NONAME
+	rb_hash_new @ 739 NONAME
+	rb_hash_rassoc @ 740 NONAME
+	rb_hash_reject_bang @ 741 NONAME
+	rb_hash_select @ 742 NONAME
+	rb_hash_tbl @ 743 NONAME
+	rb_hash_values_at @ 744 NONAME
+	rb_id2name @ 745 NONAME
+	rb_id2str @ 746 NONAME
+	rb_id_attrset @ 747 NONAME
+	rb_id_encoding @ 748 NONAME
+	rb_include_module @ 749 NONAME
+	rb_inspect @ 750 NONAME
+	rb_int2big @ 751 NONAME
+	rb_int2inum @ 752 NONAME
+	rb_intern @ 753 NONAME
+	rb_intern2 @ 754 NONAME
+	rb_intern3 @ 755 NONAME
+	rb_intern_str @ 756 NONAME
+	rb_interrupt @ 757 NONAME
+	rb_invalid_str @ 758 NONAME
+	rb_io_addstr @ 759 NONAME
+	rb_io_ascii8bit_binmode @ 760 NONAME
+	rb_io_binmode @ 761 NONAME
+	rb_io_check_closed @ 762 NONAME
+	rb_io_check_initialized @ 763 NONAME
+	rb_io_check_readable @ 764 NONAME
+	rb_io_check_writable @ 765 NONAME
+	rb_io_close @ 766 NONAME
+	rb_io_eof @ 767 NONAME
+	rb_io_extract_encoding_option @ 768 NONAME
+	rb_io_fdopen @ 769 NONAME
+	rb_io_flush @ 770 NONAME
+	rb_io_fptr_finalize @ 771 NONAME
+	rb_io_get_io @ 772 NONAME
+	rb_io_get_write_io @ 773 NONAME
+	rb_io_getbyte @ 774 NONAME
+	rb_io_gets @ 775 NONAME
+	rb_io_modestr_fmode @ 776 NONAME
+	rb_io_modestr_oflags @ 777 NONAME
+	rb_io_oflags_fmode @ 778 NONAME
+	rb_io_print @ 779 NONAME
+	rb_io_printf @ 780 NONAME
+	rb_io_puts @ 781 NONAME
+	rb_io_read_check @ 782 NONAME
+	rb_io_read_pending @ 783 NONAME
+	rb_io_set_nonblock @ 784 NONAME
+	rb_io_stdio_file @ 785 NONAME
+	rb_io_synchronized @ 786 NONAME
+	rb_io_taint_check @ 787 NONAME
+	rb_io_unbuffered @ 788 NONAME
+	rb_io_ungetbyte @ 789 NONAME
+	rb_io_ungetc @ 790 NONAME
+	rb_io_wait_readable @ 791 NONAME
+	rb_io_wait_writable @ 792 NONAME
+	rb_io_write @ 793 NONAME
+	rb_is_class_id @ 794 NONAME
+	rb_is_const_id @ 795 NONAME
+	rb_is_instance_id @ 796 NONAME
+	rb_is_junk_id @ 797 NONAME
+	rb_is_local_id @ 798 NONAME
+	rb_isalnum @ 799 NONAME
+	rb_isalpha @ 800 NONAME
+	rb_isblank @ 801 NONAME
+	rb_iscntrl @ 802 NONAME
+	rb_isdigit @ 803 NONAME
+	rb_iseq_build_for_ruby2cext @ 804 NONAME
+	rb_iseq_clone @ 805 NONAME
+	rb_iseq_compile @ 806 NONAME
+	rb_iseq_compile_with_option @ 807 NONAME
+	rb_iseq_eval @ 808 NONAME
+	rb_iseq_first_lineno @ 809 NONAME
+	rb_iseq_new @ 810 NONAME
+	rb_iseq_new_top @ 811 NONAME
+	rb_iseq_new_with_bopt @ 812 NONAME
+	rb_iseq_new_with_opt @ 813 NONAME
+	rb_iseq_parameters @ 814 NONAME
+	rb_isgraph @ 815 NONAME
+	rb_islower @ 816 NONAME
+	rb_isprint @ 817 NONAME
+	rb_ispunct @ 818 NONAME
+	rb_isspace @ 819 NONAME
+	rb_isupper @ 820 NONAME
+	rb_isxdigit @ 821 NONAME
+	rb_iter_break @ 822 NONAME
+	rb_iterate @ 823 NONAME
+	rb_iterator_p @ 824 NONAME
+	rb_iv_get @ 825 NONAME
+	rb_iv_set @ 826 NONAME
+	rb_ivar_defined @ 827 NONAME
+	rb_ivar_foreach @ 828 NONAME
+	rb_ivar_get @ 829 NONAME
+	rb_ivar_set @ 830 NONAME
+	rb_jump_tag @ 831 NONAME
+	rb_last_status_get @ 832 NONAME
+	rb_last_status_set @ 833 NONAME
+	rb_lastline_get @ 834 NONAME
+	rb_lastline_set @ 835 NONAME
+	rb_lcm @ 836 NONAME
+	rb_ll2inum @ 837 NONAME
+	rb_load @ 838 NONAME
+	rb_load_fail @ 839 NONAME
+	rb_load_file @ 840 NONAME
+	rb_load_protect @ 841 NONAME
+	rb_loaderror @ 842 NONAME
+	rb_local_defined @ 843 NONAME
+	rb_locale_charmap @ 844 NONAME
+	rb_locale_encoding @ 845 NONAME
+	rb_locale_str_new @ 846 NONAME
+	rb_locale_str_new_cstr @ 847 NONAME
+	rb_mComparable @ 848 NONAME DATA 4
+	rb_mEnumerable @ 849 NONAME DATA 4
+	rb_mErrno @ 850 NONAME DATA 4
+	rb_mFConst @ 851 NONAME DATA 4
+	rb_mFileTest @ 852 NONAME DATA 4
+	rb_mGC @ 853 NONAME DATA 4
+	rb_mKernel @ 854 NONAME DATA 4
+	rb_mMath @ 855 NONAME DATA 4
+	rb_mProcGID @ 856 NONAME DATA 4
+	rb_mProcID_Syscall @ 857 NONAME DATA 4
+	rb_mProcUID @ 858 NONAME DATA 4
+	rb_mProcess @ 859 NONAME DATA 4
+	rb_mRubyVMFrozenCore @ 860 NONAME DATA 4
+	rb_make_backtrace @ 861 NONAME
+	rb_make_exception @ 862 NONAME
+	rb_make_metaclass @ 863 NONAME
+	rb_mark_end_proc @ 864 NONAME
+	rb_mark_generic_ivar @ 865 NONAME
+	rb_mark_generic_ivar_tbl @ 866 NONAME
+	rb_mark_hash @ 867 NONAME
+	rb_mark_set @ 868 NONAME
+	rb_mark_tbl @ 869 NONAME
+	rb_marshal_define_compat @ 870 NONAME
+	rb_marshal_dump @ 871 NONAME
+	rb_marshal_load @ 872 NONAME
+	rb_match_busy @ 873 NONAME
+	rb_math_atan2 @ 874 NONAME
+	rb_math_cos @ 875 NONAME
+	rb_math_cosh @ 876 NONAME
+	rb_math_exp @ 877 NONAME
+	rb_math_hypot @ 878 NONAME
+	rb_math_log @ 879 NONAME
+	rb_math_sin @ 880 NONAME
+	rb_math_sinh @ 881 NONAME
+	rb_math_sqrt @ 882 NONAME
+	rb_mem_clear @ 883 NONAME
+	rb_memcicmp @ 884 NONAME
+	rb_memcmp @ 885 NONAME
+	rb_memerror @ 886 NONAME
+	rb_memhash @ 887 NONAME
+	rb_memsearch @ 888 NONAME
+	rb_method_basic_definition_p @ 889 NONAME
+	rb_method_body @ 890 NONAME
+	rb_method_boundp @ 891 NONAME
+	rb_method_call @ 892 NONAME
+	rb_method_location @ 893 NONAME
+	rb_method_node @ 894 NONAME
+	rb_mod_ancestors @ 895 NONAME
+	rb_mod_attr @ 896 NONAME
+	rb_mod_class_variables @ 897 NONAME
+	rb_mod_const_at @ 898 NONAME
+	rb_mod_const_missing @ 899 NONAME
+	rb_mod_const_of @ 900 NONAME
+	rb_mod_constants @ 901 NONAME
+	rb_mod_include_p @ 902 NONAME
+	rb_mod_included_modules @ 903 NONAME
+	rb_mod_init_copy @ 904 NONAME
+	rb_mod_method_arity @ 905 NONAME
+	rb_mod_module_eval @ 906 NONAME
+	rb_mod_module_exec @ 907 NONAME
+	rb_mod_name @ 908 NONAME
+	rb_mod_remove_const @ 909 NONAME
+	rb_mod_remove_cvar @ 910 NONAME
+	rb_module_new @ 911 NONAME
+	rb_mutex_lock @ 912 NONAME
+	rb_mutex_locked_p @ 913 NONAME
+	rb_mutex_new @ 914 NONAME
+	rb_mutex_sleep @ 915 NONAME
+	rb_mutex_synchronize @ 916 NONAME
+	rb_mutex_trylock @ 917 NONAME
+	rb_mutex_unlock @ 918 NONAME
+	rb_name_class @ 919 NONAME
+	rb_name_error @ 920 NONAME
+	rb_need_block @ 921 NONAME
+	rb_newobj @ 922 NONAME
+	rb_node_arity @ 923 NONAME
+	rb_node_newnode @ 924 NONAME
+	rb_notimplement @ 925 NONAME
+	rb_num2dbl @ 926 NONAME
+	rb_num2fix @ 927 NONAME
+	rb_num2int @ 928 NONAME
+	rb_num2ll @ 929 NONAME
+	rb_num2long @ 930 NONAME
+	rb_num2ull @ 931 NONAME
+	rb_num2ulong @ 932 NONAME
+	rb_num_coerce_bin @ 933 NONAME
+	rb_num_coerce_cmp @ 934 NONAME
+	rb_num_coerce_relop @ 935 NONAME
+	rb_num_zerodiv @ 936 NONAME
+	rb_obj_alloc @ 937 NONAME
+	rb_obj_as_string @ 938 NONAME
+	rb_obj_call_init @ 939 NONAME
+	rb_obj_class @ 940 NONAME
+	rb_obj_classname @ 941 NONAME
+	rb_obj_clone @ 942 NONAME
+	rb_obj_dup @ 943 NONAME
+	rb_obj_encoding @ 944 NONAME
+	rb_obj_equal @ 945 NONAME
+	rb_obj_freeze @ 946 NONAME
+	rb_obj_frozen_p @ 947 NONAME
+	rb_obj_id @ 948 NONAME
+	rb_obj_infect @ 949 NONAME
+	rb_obj_init_copy @ 950 NONAME
+	rb_obj_instance_eval @ 951 NONAME
+	rb_obj_instance_exec @ 952 NONAME
+	rb_obj_instance_variables @ 953 NONAME
+	rb_obj_is_instance_of @ 954 NONAME
+	rb_obj_is_kind_of @ 955 NONAME
+	rb_obj_is_proc @ 956 NONAME
+	rb_obj_method @ 957 NONAME
+	rb_obj_method_arity @ 958 NONAME
+	rb_obj_not @ 959 NONAME
+	rb_obj_not_equal @ 960 NONAME
+	rb_obj_public_method @ 961 NONAME
+	rb_obj_remove_instance_variable @ 962 NONAME
+	rb_obj_respond_to @ 963 NONAME
+	rb_obj_singleton_methods @ 964 NONAME
+	rb_obj_taint @ 965 NONAME
+	rb_obj_tainted @ 966 NONAME
+	rb_obj_tap @ 967 NONAME
+	rb_obj_trust @ 968 NONAME
+	rb_obj_untaint @ 969 NONAME
+	rb_obj_untrust @ 970 NONAME
+	rb_obj_untrusted @ 971 NONAME
+	rb_origenviron @ 972 NONAME DATA 4
+	rb_output_fs @ 973 NONAME DATA 4
+	rb_output_rs @ 974 NONAME DATA 4
+	rb_p @ 975 NONAME
+	rb_parse_in_eval @ 976 NONAME
+	rb_parser_append_print @ 977 NONAME
+	rb_parser_calloc @ 978 NONAME
+	rb_parser_compile_cstr @ 979 NONAME
+	rb_parser_compile_file @ 980 NONAME
+	rb_parser_compile_string @ 981 NONAME
+	rb_parser_encoding @ 982 NONAME
+	rb_parser_end_seen_p @ 983 NONAME
+	rb_parser_free @ 984 NONAME
+	rb_parser_get_yydebug @ 985 NONAME
+	rb_parser_malloc @ 986 NONAME
+	rb_parser_new @ 987 NONAME
+	rb_parser_realloc @ 988 NONAME
+	rb_parser_set_yydebug @ 989 NONAME
+	rb_parser_while_loop @ 990 NONAME
+	rb_path2class @ 991 NONAME
+	rb_path_check @ 992 NONAME
+	rb_path_end @ 993 NONAME
+	rb_path_last_separator @ 994 NONAME
+	rb_path_next @ 995 NONAME
+	rb_path_skip_prefix @ 996 NONAME
+	rb_pipe @ 997 NONAME
+	rb_print_undef @ 998 NONAME
+	rb_proc_alloc @ 999 NONAME
+	rb_proc_arity @ 1000 NONAME
+	rb_proc_call @ 1001 NONAME
+	rb_proc_call_with_block @ 1002 NONAME
+	rb_proc_exec @ 1003 NONAME
+	rb_proc_exec_n @ 1004 NONAME
+	rb_proc_location @ 1005 NONAME
+	rb_proc_new @ 1006 NONAME
+	rb_proc_times @ 1007 NONAME
+	rb_protect @ 1008 NONAME
+	rb_provide @ 1009 NONAME
+	rb_provided @ 1010 NONAME
+	rb_quad_pack @ 1011 NONAME
+	rb_quad_unpack @ 1012 NONAME
+	rb_raise @ 1013 NONAME
+	rb_raise_jump @ 1014 NONAME
+	rb_range_beg_len @ 1015 NONAME
+	rb_range_new @ 1016 NONAME
+	rb_rational_new @ 1017 NONAME
+	rb_rational_raw @ 1018 NONAME
+	rb_read_check @ 1019 NONAME
+	rb_reg_adjust_startpos @ 1020 NONAME
+	rb_reg_check_preprocess @ 1021 NONAME
+	rb_reg_compile @ 1022 NONAME
+	rb_reg_eqq @ 1023 NONAME
+	rb_reg_last_match @ 1024 NONAME
+	rb_reg_match @ 1025 NONAME
+	rb_reg_match2 @ 1026 NONAME
+	rb_reg_match_last @ 1027 NONAME
+	rb_reg_match_post @ 1028 NONAME
+	rb_reg_match_pre @ 1029 NONAME
+	rb_reg_new @ 1030 NONAME
+	rb_reg_new_ary @ 1031 NONAME
+	rb_reg_new_str @ 1032 NONAME
+	rb_reg_nth_defined @ 1033 NONAME
+	rb_reg_nth_match @ 1034 NONAME
+	rb_reg_options @ 1035 NONAME
+	rb_reg_prepare_re @ 1036 NONAME
+	rb_reg_quote @ 1037 NONAME
+	rb_reg_regcomp @ 1038 NONAME
+	rb_reg_regsub @ 1039 NONAME
+	rb_reg_search @ 1040 NONAME
+	rb_register_transcoder @ 1041 NONAME
+	rb_remove_event_hook @ 1042 NONAME
+	rb_remove_method @ 1043 NONAME
+	rb_require @ 1044 NONAME
+	rb_require_safe @ 1045 NONAME
+	rb_rescue @ 1046 NONAME
+	rb_rescue2 @ 1047 NONAME
+	rb_reserved_word @ 1048 NONAME
+	rb_reset_coverages @ 1049 NONAME
+	rb_reset_random_seed @ 1050 NONAME
+	rb_respond_to @ 1051 NONAME
+	rb_rs @ 1052 NONAME DATA 4
+	rb_ruby_debug_ptr @ 1053 NONAME
+	rb_ruby_verbose_ptr @ 1054 NONAME
+	rb_rubylevel_errinfo @ 1055 NONAME
+	rb_run_exec_options @ 1056 NONAME
+	rb_safe_level @ 1057 NONAME
+	rb_scan_args @ 1058 NONAME
+	rb_secure @ 1059 NONAME
+	rb_secure_update @ 1060 NONAME
+	rb_set_class_path @ 1061 NONAME
+	rb_set_coverages @ 1062 NONAME
+	rb_set_end_proc @ 1063 NONAME
+	rb_set_errinfo @ 1064 NONAME
+	rb_set_safe_level @ 1065 NONAME
+	rb_set_safe_level_force @ 1066 NONAME
+	rb_signal_exec @ 1067 NONAME
+	rb_singleton_class @ 1068 NONAME
+	rb_singleton_class_attached @ 1069 NONAME
+	rb_singleton_class_clone @ 1070 NONAME
+	rb_sourcefile @ 1071 NONAME
+	rb_sourceline @ 1072 NONAME
+	rb_spawn @ 1073 NONAME
+	rb_sprintf @ 1074 NONAME
+	rb_stderr @ 1075 NONAME DATA 4
+	rb_stdin @ 1076 NONAME DATA 4
+	rb_stdout @ 1077 NONAME DATA 4
+	rb_str2cstr @ 1078 NONAME
+	rb_str2inum @ 1079 NONAME
+	rb_str_append @ 1080 NONAME
+	rb_str_associate @ 1081 NONAME
+	rb_str_associated @ 1082 NONAME
+	rb_str_buf_append @ 1083 NONAME
+	rb_str_buf_cat @ 1084 NONAME
+	rb_str_buf_cat2 @ 1085 NONAME
+	rb_str_buf_cat_ascii @ 1086 NONAME
+	rb_str_buf_new @ 1087 NONAME
+	rb_str_buf_new2 @ 1088 NONAME
+	rb_str_buf_new_cstr @ 1089 NONAME
+	rb_str_capacity @ 1090 NONAME
+	rb_str_cat @ 1091 NONAME
+	rb_str_cat2 @ 1092 NONAME
+	rb_str_catf @ 1093 NONAME
+	rb_str_cmp @ 1094 NONAME
+	rb_str_coderange_scan_restartable @ 1095 NONAME
+	rb_str_comparable @ 1096 NONAME
+	rb_str_concat @ 1097 NONAME
+	rb_str_conv_enc @ 1098 NONAME
+	rb_str_conv_enc_opts @ 1099 NONAME
+	rb_str_drop_bytes @ 1100 NONAME
+	rb_str_dump @ 1101 NONAME
+	rb_str_dup @ 1102 NONAME
+	rb_str_dup_frozen @ 1103 NONAME
+	rb_str_encode @ 1104 NONAME
+	rb_str_equal @ 1105 NONAME
+	rb_str_export @ 1106 NONAME
+	rb_str_export_locale @ 1107 NONAME
+	rb_str_export_to_enc @ 1108 NONAME
+	rb_str_format @ 1109 NONAME
+	rb_str_free @ 1110 NONAME
+	rb_str_freeze @ 1111 NONAME
+	rb_str_hash @ 1112 NONAME
+	rb_str_hash_cmp @ 1113 NONAME
+	rb_str_inspect @ 1114 NONAME
+	rb_str_intern @ 1115 NONAME
+	rb_str_length @ 1116 NONAME
+	rb_str_locktmp @ 1117 NONAME
+	rb_str_modify @ 1118 NONAME
+	rb_str_new @ 1119 NONAME
+	rb_str_new2 @ 1120 NONAME
+	rb_str_new3 @ 1121 NONAME
+	rb_str_new4 @ 1122 NONAME
+	rb_str_new5 @ 1123 NONAME
+	rb_str_new_cstr @ 1124 NONAME
+	rb_str_new_frozen @ 1125 NONAME
+	rb_str_new_shared @ 1126 NONAME
+	rb_str_new_with_class @ 1127 NONAME
+	rb_str_ord @ 1128 NONAME
+	rb_str_plus @ 1129 NONAME
+	rb_str_resize @ 1130 NONAME
+	rb_str_set_len @ 1131 NONAME
+	rb_str_setter @ 1132 NONAME
+	rb_str_shared_replace @ 1133 NONAME
+	rb_str_split @ 1134 NONAME
+	rb_str_sublen @ 1135 NONAME
+	rb_str_subseq @ 1136 NONAME
+	rb_str_substr @ 1137 NONAME
+	rb_str_succ @ 1138 NONAME
+	rb_str_times @ 1139 NONAME
+	rb_str_tmp_new @ 1140 NONAME
+	rb_str_to_dbl @ 1141 NONAME
+	rb_str_to_inum @ 1142 NONAME
+	rb_str_to_str @ 1143 NONAME
+	rb_str_unlocktmp @ 1144 NONAME
+	rb_str_update @ 1145 NONAME
+	rb_str_vcatf @ 1146 NONAME
+	rb_strftime @ 1147 NONAME
+	rb_string_value @ 1148 NONAME
+	rb_string_value_cstr @ 1149 NONAME
+	rb_string_value_ptr @ 1150 NONAME
+	rb_struct_alloc @ 1151 NONAME
+	rb_struct_alloc_noinit @ 1152 NONAME
+	rb_struct_aref @ 1153 NONAME
+	rb_struct_aset @ 1154 NONAME
+	rb_struct_define @ 1155 NONAME
+	rb_struct_define_without_accessor @ 1156 NONAME
+	rb_struct_getmember @ 1157 NONAME
+	rb_struct_init_copy @ 1158 NONAME
+	rb_struct_initialize @ 1159 NONAME
+	rb_struct_iv_get @ 1160 NONAME
+	rb_struct_members @ 1161 NONAME
+	rb_struct_new @ 1162 NONAME
+	rb_struct_s_members @ 1163 NONAME
+	rb_sym_all_symbols @ 1164 NONAME
+	rb_sym_to_s @ 1165 NONAME
+	rb_symname_p @ 1166 NONAME
+	rb_sys_fail @ 1167 NONAME
+	rb_sys_warning @ 1168 NONAME
+	rb_syswait @ 1169 NONAME
+	rb_tainted_str_new @ 1170 NONAME
+	rb_tainted_str_new2 @ 1171 NONAME
+	rb_tainted_str_new_cstr @ 1172 NONAME
+	rb_thread_add_event_hook @ 1173 NONAME
+	rb_thread_alloc @ 1174 NONAME
+	rb_thread_alone @ 1175 NONAME
+	rb_thread_atfork @ 1176 NONAME
+	rb_thread_atfork_before_exec @ 1177 NONAME
+	rb_thread_blocking_region @ 1178 NONAME
+	rb_thread_blocking_region_begin @ 1179 NONAME
+	rb_thread_blocking_region_end @ 1180 NONAME
+	rb_thread_check_ints @ 1181 NONAME
+	rb_thread_check_trap_pending @ 1182 NONAME
+	rb_thread_create @ 1183 NONAME
+	rb_thread_current @ 1184 NONAME
+	rb_thread_current_status @ 1185 NONAME
+	rb_thread_execute_interrupts @ 1186 NONAME
+	rb_thread_fd_close @ 1187 NONAME
+	rb_thread_fd_writable @ 1188 NONAME
+	rb_thread_group @ 1189 NONAME
+	rb_thread_interrupted @ 1190 NONAME
+	rb_thread_kill @ 1191 NONAME
+	rb_thread_list @ 1192 NONAME
+	rb_thread_local_aref @ 1193 NONAME
+	rb_thread_local_aset @ 1194 NONAME
+	rb_thread_main @ 1195 NONAME
+	rb_thread_mark @ 1196 NONAME
+	rb_thread_method_id_and_class @ 1197 NONAME
+	rb_thread_polling @ 1198 NONAME
+	rb_thread_recycle_stack_release @ 1199 NONAME
+	rb_thread_remove_event_hook @ 1200 NONAME
+	rb_thread_reset_raised @ 1201 NONAME
+	rb_thread_reset_timer_thread @ 1202 NONAME
+	rb_thread_run @ 1203 NONAME
+	rb_thread_schedule @ 1204 NONAME
+	rb_thread_select @ 1205 NONAME
+	rb_thread_set_raised @ 1206 NONAME
+	rb_thread_signal_exit @ 1207 NONAME
+	rb_thread_signal_raise @ 1208 NONAME
+	rb_thread_sleep @ 1209 NONAME
+	rb_thread_sleep_forever @ 1210 NONAME
+	rb_thread_start_timer_thread @ 1211 NONAME
+	rb_thread_stop @ 1212 NONAME
+	rb_thread_stop_timer_thread @ 1213 NONAME
+	rb_thread_terminate_all @ 1214 NONAME
+	rb_thread_wait_fd @ 1215 NONAME
+	rb_thread_wait_for @ 1216 NONAME
+	rb_thread_wakeup @ 1217 NONAME
+	rb_throw @ 1218 NONAME
+	rb_throw_obj @ 1219 NONAME
+	rb_time_interval @ 1220 NONAME
+	rb_time_nano_new @ 1221 NONAME
+	rb_time_new @ 1222 NONAME
+	rb_time_succ @ 1223 NONAME
+	rb_time_timespec @ 1224 NONAME
+	rb_time_timeval @ 1225 NONAME
+	rb_to_encoding @ 1226 NONAME
+	rb_to_encoding_index @ 1227 NONAME
+	rb_to_id @ 1228 NONAME
+	rb_to_int @ 1229 NONAME
+	rb_tolower @ 1230 NONAME
+	rb_toupper @ 1231 NONAME
+	rb_trap_exit @ 1232 NONAME
+	rb_trap_restore_mask @ 1233 NONAME
+	rb_uint2big @ 1234 NONAME
+	rb_uint2inum @ 1235 NONAME
+	rb_ull2inum @ 1236 NONAME
+	rb_undef @ 1237 NONAME
+	rb_undef_alloc_func @ 1238 NONAME
+	rb_undef_method @ 1239 NONAME
+	rb_usascii_encindex @ 1240 NONAME
+	rb_usascii_encoding @ 1241 NONAME
+	rb_usascii_str_new @ 1242 NONAME
+	rb_usascii_str_new2 @ 1243 NONAME
+	rb_usascii_str_new_cstr @ 1244 NONAME
+	rb_utf8_encindex @ 1245 NONAME
+	rb_utf8_encoding @ 1246 NONAME
+	rb_uv_to_utf8 @ 1247 NONAME
+	rb_vm_bugreport @ 1248 NONAME
+	rb_vm_call @ 1249 NONAME
+	rb_vm_call_cfunc @ 1250 NONAME
+	rb_vm_cbase @ 1251 NONAME
+	rb_vm_change_state @ 1252 NONAME
+	rb_vm_mark @ 1253 NONAME
+	rb_vm_top_self @ 1254 NONAME
+	rb_vsprintf @ 1255 NONAME
+	rb_waitpid @ 1256 NONAME
+	rb_warn @ 1257 NONAME
+	rb_warning @ 1258 NONAME
+	rb_write_error @ 1259 NONAME
+	rb_write_error2 @ 1260 NONAME
+	rb_yield @ 1261 NONAME
+	rb_yield_splat @ 1262 NONAME
+	rb_yield_values @ 1263 NONAME
+	rb_yield_values2 @ 1264 NONAME
+	ruby_brace_glob @ 1265 NONAME
+	ruby_cleanup @ 1266 NONAME
+	ruby_copyright @ 1267 NONAME DATA 50
+	ruby_current_thread @ 1268 NONAME DATA 4
+	ruby_current_vm @ 1269 NONAME DATA 4
+	ruby_debug_breakpoint @ 1270 NONAME
+	ruby_debug_print_id @ 1271 NONAME
+	ruby_debug_print_indent @ 1272 NONAME
+	ruby_debug_print_node @ 1273 NONAME
+	ruby_debug_print_v @ 1274 NONAME
+	ruby_debug_print_value @ 1275 NONAME
+	ruby_debug_printf @ 1276 NONAME
+	ruby_default_signal @ 1277 NONAME
+	ruby_description @ 1278 NONAME DATA 72
+	ruby_digitmap @ 1279 NONAME DATA 37
+	ruby_disable_gc_stress @ 1280 NONAME DATA 4
+	ruby_dln_librefs @ 1281 NONAME DATA 4
+	ruby_dtoa @ 1282 NONAME
+	ruby_each_words @ 1283 NONAME
+	ruby_engine @ 1284 NONAME DATA 5
+	ruby_error_print @ 1285 NONAME
+	ruby_exec_node @ 1286 NONAME
+	ruby_finalize @ 1287 NONAME
+	ruby_gc_debug_indent @ 1288 NONAME DATA 4
+	ruby_get_inplace_mode @ 1289 NONAME
+	ruby_getcwd @ 1290 NONAME
+	ruby_glob @ 1291 NONAME
+	ruby_incpush @ 1292 NONAME
+	ruby_incpush_expand @ 1293 NONAME
+	ruby_init @ 1294 NONAME
+	ruby_init_ext @ 1295 NONAME
+	ruby_init_loadpath @ 1296 NONAME
+	ruby_init_loadpath_safe @ 1297 NONAME
+	ruby_init_stack @ 1298 NONAME
+	ruby_initial_gc_stress_ptr @ 1299 NONAME DATA 4
+	ruby_iseq_disasm @ 1300 NONAME
+	ruby_iseq_disasm_insn @ 1301 NONAME
+	ruby_native_thread_p @ 1302 NONAME
+	ruby_node_name @ 1303 NONAME
+	ruby_options @ 1304 NONAME
+	ruby_patchlevel @ 1305 NONAME DATA 4
+	ruby_platform @ 1306 NONAME DATA 15
+	ruby_process_options @ 1307 NONAME
+	ruby_prog_init @ 1308 NONAME
+	ruby_push_include @ 1309 NONAME
+	ruby_qsort @ 1310 NONAME
+	ruby_release_date @ 1311 NONAME DATA 11
+	ruby_run_node @ 1312 NONAME
+	ruby_scan_hex @ 1313 NONAME
+	ruby_scan_oct @ 1314 NONAME
+	ruby_script @ 1315 NONAME
+	ruby_set_argv @ 1316 NONAME
+	ruby_set_inplace_mode @ 1317 NONAME
+	ruby_setenv @ 1318 NONAME
+	ruby_show_copyright @ 1319 NONAME
+	ruby_show_version @ 1320 NONAME
+	ruby_sig_finalize @ 1321 NONAME
+	ruby_signal_name @ 1322 NONAME
+	ruby_stack_check @ 1323 NONAME
+	ruby_stack_length @ 1324 NONAME
+	ruby_stop @ 1325 NONAME
+	ruby_strdup @ 1326 NONAME
+	ruby_strtod @ 1327 NONAME
+	ruby_strtoul @ 1328 NONAME
+	ruby_suppress_tracing @ 1329 NONAME
+	ruby_sysinit @ 1330 NONAME
+	ruby_thread_init_stack @ 1331 NONAME
+	ruby_thread_stack_overflow @ 1332 NONAME
+	ruby_unsetenv @ 1333 NONAME
+	ruby_version @ 1334 NONAME DATA 6
+	ruby_vm_debug_ptr @ 1335 NONAME
+	ruby_vm_global_state_version @ 1336 NONAME DATA 4
+	ruby_vm_redefined_flag @ 1337 NONAME DATA 17
+	ruby_vm_verbose_ptr @ 1338 NONAME
+	ruby_xcalloc @ 1339 NONAME
+	ruby_xfree @ 1340 NONAME
+	ruby_xmalloc @ 1341 NONAME
+	ruby_xmalloc2 @ 1342 NONAME
+	ruby_xrealloc @ 1343 NONAME
+	ruby_xrealloc2 @ 1344 NONAME
+	ruby_yyparse @ 1345 NONAME
+	setkey @ 1346 NONAME
+	setrlimit @ 1347 NONAME
+	sigblock @ 1348 NONAME
+	sigdelset @ 1349 NONAME
+	sigfillset @ 1350 NONAME
+	sigmask @ 1351 NONAME
+	signal @ 1352 NONAME
+	sigprocmask @ 1353 NONAME
+	sigsetmask @ 1354 NONAME
+	snprintf @ 1355 NONAME
+	st_add_direct @ 1356 NONAME
+	st_cleanup_safe @ 1357 NONAME
+	st_clear @ 1358 NONAME
+	st_copy @ 1359 NONAME
+	st_delete @ 1360 NONAME
+	st_delete_safe @ 1361 NONAME
+	st_foreach @ 1362 NONAME
+	st_foreach_safe @ 1363 NONAME
+	st_free_table @ 1364 NONAME
+	st_get_key @ 1365 NONAME
+	st_init_numtable @ 1366 NONAME
+	st_init_numtable_with_size @ 1367 NONAME
+	st_init_strcasetable @ 1368 NONAME
+	st_init_strcasetable_with_size @ 1369 NONAME
+	st_init_strtable @ 1370 NONAME
+	st_init_strtable_with_size @ 1371 NONAME
+	st_init_table @ 1372 NONAME
+	st_init_table_with_size @ 1373 NONAME
+	st_insert @ 1374 NONAME
+	st_lookup @ 1375 NONAME
+	st_numcmp @ 1376 NONAME
+	st_numhash @ 1377 NONAME
+	st_strcasecmp @ 1378 NONAME
+	st_strncasecmp @ 1379 NONAME
+	tgamma @ 1380 NONAME
+	vm_collect_local_variables_in_heap @ 1381 NONAME
+	vm_cref @ 1382 NONAME
+	vm_debug_print_post @ 1383 NONAME
+	vm_debug_print_pre @ 1384 NONAME
+	vm_debug_print_register @ 1385 NONAME
+	vm_env_dump_raw @ 1386 NONAME
+	vm_get_insns_address_table @ 1387 NONAME
+	vm_get_ruby_level_caller_cfp @ 1388 NONAME
+	vm_get_ruby_level_next_cfp @ 1389 NONAME
+	vm_get_sourceline @ 1390 NONAME
+	vm_invoke_proc @ 1391 NONAME
+	vm_jump_tag_but_local_jump @ 1392 NONAME
+	vm_localjump_error @ 1393 NONAME
+	vm_make_env_object @ 1394 NONAME
+	vm_make_jump_tag_but_local_jump @ 1395 NONAME
+	vm_make_proc @ 1396 NONAME
+	vm_proc_dump_raw @ 1397 NONAME
+	vm_stack_dump_each @ 1398 NONAME
+	vm_stack_dump_raw @ 1399 NONAME
+	vm_stack_dump_raw_current @ 1400 NONAME
+	vm_stack_dump_th @ 1401 NONAME
+	vm_stack_to_heap @ 1402 NONAME
+	vm_thread_dump_regs @ 1403 NONAME
+	vm_thread_dump_state @ 1404 NONAME
+	vsnprintf @ 1405 NONAME
+
diff --git a/symbian/setup b/symbian/setup
new file mode 100644
index 0000000..d37b057
--- /dev/null
+++ b/symbian/setup
@@ -0,0 +1,416 @@
+define config_h
+@echo>$(1) #define HAVE_PIPS 1
+@echo>>$(1) #define STDC_HEADERS 1
+@echo>>$(1) #define HAVE_SYS_TYPES_H 1
+@echo>>$(1) #define HAVE_SYS_STAT_H 1
+@echo>>$(1) #define HAVE_STDLIB_H 1
+@echo>>$(1) #define HAVE_STRING_H 1
+@echo>>$(1) #define HAVE_MEMORY_H 1
+@echo>>$(1) #define HAVE_STRINGS_H 1
+@echo>>$(1) #define HAVE_INTTYPES_H 1
+@echo>>$(1) #define HAVE_STDINT_H 1
+@echo>>$(1) #define HAVE_UNISTD_H 1
+@echo>>$(1) #define HAVE_LONG_LONG 1
+@echo>>$(1) #define HAVE_OFF_T 1
+@echo>>$(1) #define SIZEOF_INT 4
+@echo>>$(1) #define SIZEOF_SHORT 2
+@echo>>$(1) #define SIZEOF_LONG 4
+@echo>>$(1) #define SIZEOF_LONG_LONG 8
+@echo>>$(1) #define SIZEOF___INT64 8
+@echo>>$(1) #define SIZEOF_OFF_T 8
+@echo>>$(1) #define SIZEOF_VOIDP 4
+@echo>>$(1) #define SIZEOF_FLOAT 4
+@echo>>$(1) #define SIZEOF_DOUBLE 8
+@echo>>$(1) #define SIZEOF_TIME_T 4
+@echo>>$(1) #define SIZEOF_SIZE_T 4
+@echo>>$(1) #define SIZEOF_PTRDIFF_T 4
+@echo>>$(1) #define rb_pid_t pid_t
+@echo>>$(1) #define PIDT2NUM(v) LONG2NUM(v)
+@echo>>$(1) #define NUM2PIDT(v) NUM2LONG(v)
+@echo>>$(1) #define rb_uid_t uid_t
+@echo>>$(1) #define UIDT2NUM(v) ULONG2NUM(v)
+@echo>>$(1) #define NUM2UIDT(v) NUM2ULONG(v)
+@echo>>$(1) #define rb_gid_t gid_t
+@echo>>$(1) #define GIDT2NUM(v) ULONG2NUM(v)
+@echo>>$(1) #define NUM2GIDT(v) NUM2ULONG(v)
+@echo>>$(1) #define HAVE_PROTOTYPES 1
+@echo>>$(1) #define TOKEN_PASTE(x,y) x##y
+@echo>>$(1) #define STRINGIZE(expr) STRINGIZE0(expr)
+@echo>>$(1) #define HAVE_STDARG_PROTOTYPES 1
+@echo>>$(1) #define NORETURN(x) __attribute__ ((noreturn)) x
+@echo>>$(1) #define DEPRECATED(x) __attribute__ ((deprecated)) x
+@echo>>$(1) #define NOINLINE(x) __attribute__ ((noinline)) x
+@echo>>$(1) #define FUNC_STDCALL(x) x
+@echo>>$(1) #define FUNC_CDECL(x) x
+@echo>>$(1) #define FUNC_FASTCALL(x) x
+@echo>>$(1) #define HAVE_DECL_SYS_NERR 0
+@echo>>$(1) #define HAVE_LIBDL 1
+@echo>>$(1) #define HAVE_DIRENT_H 1
+@echo>>$(1) #define STDC_HEADERS 1
+@echo>>$(1) #define HAVE_SYS_WAIT_H 1
+@echo>>$(1) #define HAVE_STDLIB_H 1
+@echo>>$(1) #define HAVE_STRING_H 1
+@echo>>$(1) #define HAVE_UNISTD_H 1
+@echo>>$(1) #define HAVE_LIMITS_H 1
+@echo>>$(1) #define HAVE_SYS_IOCTL_H 1
+@echo>>$(1) #define HAVE_FCNTL_H 1
+@echo>>$(1) #define HAVE_SYS_FCNTL_H 1
+@echo>>$(1) #define HAVE_SYS_SELECT_H 1
+@echo>>$(1) #define HAVE_SYS_TIME_H 1
+@echo>>$(1) #define HAVE_SYS_PARAM_H 1
+@echo>>$(1) #define HAVE_PWD_H 1
+@echo>>$(1) #define HAVE_GRP_H 1
+@echo>>$(1) #define HAVE_UTIME_H 1
+@echo>>$(1) #define HAVE_MEMORY_H 1
+@echo>>$(1) #define HAVE_SYS_RESOURCE_H 1
+@echo>>$(1) #define HAVE_FLOAT_H 1
+@echo>>$(1) #define HAVE_PTHREAD_H 1
+@echo>>$(1) #define HAVE_LANGINFO_H 1
+@echo>>$(1) #define HAVE_LOCALE_H 1
+@echo>>$(1) #define HAVE_STRUCT_STAT_ST_BLKSIZE 1
+@echo>>$(1) #define HAVE_ST_BLKSIZE 1
+@echo>>$(1) #define HAVE_STRUCT_STAT_ST_BLOCKS 1
+@echo>>$(1) #define HAVE_ST_BLOCKS 1
+@echo>>$(1) #define HAVE_STRUCT_STAT_ST_RDEV 1
+@echo>>$(1) #define HAVE_ST_RDEV 1
+@echo>>$(1) #define HAVE_STRUCT_STAT_ST_ATIMESPEC 1
+@echo>>$(1) #define HAVE_STRUCT_STAT_ST_MTIMESPEC 1
+@echo>>$(1) #define HAVE_STRUCT_STAT_ST_CTIMESPEC 1
+@echo>>$(1) #define HAVE_STRUCT_TIMESPEC 1
+@echo>>$(1) #define HAVE_RB_FD_INIT 1
+@echo>>$(1) #define GETGROUPS_T gid_t
+@echo>>$(1) #define RETSIGTYPE void
+@echo>>$(1) #define HAVE_ALLOCA 1
+@echo>>$(1) #define HAVE_DUP2 1
+@echo>>$(1) #define HAVE_MEMMOVE 1
+@echo>>$(1) #define HAVE_STRCASECMP 1
+@echo>>$(1) #define HAVE_STRNCASECMP 1
+@echo>>$(1) #define HAVE_STRERROR 1
+@echo>>$(1) #define HAVE_STRFTIME 1
+@echo>>$(1) #define HAVE_STRCHR 1
+@echo>>$(1) #define HAVE_STRSTR 1
+@echo>>$(1) #define HAVE_STRTOUL 1
+@echo>>$(1) #define HAVE_VSNPRINTF 1
+@echo>>$(1) #define HAVE_ISNAN 1
+@echo>>$(1) #define HAVE_FINITE 1
+@echo>>$(1) #define HAVE_ISINF 1
+@echo>>$(1) #define HAVE_HYPOT 1
+@echo>>$(1) #define HAVE_ACOSH 1
+@echo>>$(1) #define HAVE_ERF 1
+@echo>>$(1) #define HAVE_STRLCPY 1
+@echo>>$(1) #define HAVE_STRLCAT 1
+@echo>>$(1) #define HAVE_FMOD 1
+@echo>>$(1) #define HAVE_WAITPID 1
+@echo>>$(1) #define HAVE_FSYNC 1
+@echo>>$(1) #define HAVE_GETCWD 1
+@echo>>$(1) #define HAVE_TRUNCATE 1
+@echo>>$(1) #define HAVE_UTIMES 1
+@echo>>$(1) #define HAVE_FCNTL 1
+@echo>>$(1) #define HAVE_LSTAT 1
+@echo>>$(1) #define HAVE_LINK 1
+@echo>>$(1) #define HAVE_SYMLINK 1
+@echo>>$(1) #define HAVE_READLINK 1
+@echo>>$(1) #define HAVE_SETEUID 1
+@echo>>$(1) #define HAVE_SETREUID 1
+@echo>>$(1) #define HAVE_SETEGID 1
+@echo>>$(1) #define HAVE_SETREGID 1
+@echo>>$(1) #define HAVE_ISSETUGID 1
+@echo>>$(1) #define HAVE_LCHOWN 1
+@echo>>$(1) #define HAVE_GETPGRP 1
+@echo>>$(1) #define HAVE_SETPGRP 1
+@echo>>$(1) #define HAVE_GETPGID 1
+@echo>>$(1) #define HAVE_SETPGID 1
+@echo>>$(1) #define HAVE_INITGROUPS 1
+@echo>>$(1) #define HAVE_GETGROUPS 1
+@echo>>$(1) #define HAVE_SETGROUPS 1
+@echo>>$(1) #define HAVE_GETPRIORITY 1
+@echo>>$(1) #define HAVE_SYSCONF 1
+@echo>>$(1) #define HAVE_DLOPEN 1
+@echo>>$(1) #define HAVE_SIGACTION 1
+@echo>>$(1) #define HAVE_VSNPRINTF 1
+@echo>>$(1) #define HAVE_SNPRINTF 1
+@echo>>$(1) #define HAVE_SETSID 1
+@echo>>$(1) #define HAVE_TELLDIR 1
+@echo>>$(1) #define HAVE_SEEKDIR 1
+@echo>>$(1) #define HAVE_FCHMOD 1
+@echo>>$(1) #define HAVE_COSH 1
+@echo>>$(1) #define HAVE_SINH 1
+@echo>>$(1) #define HAVE_TANH 1
+@echo>>$(1) #define HAVE_ROUND 1
+@echo>>$(1) #define HAVE_SETUID 1
+@echo>>$(1) #define HAVE_SETGID 1
+@echo>>$(1) #define HAVE_SETENV 1
+@echo>>$(1) #define HAVE_UNSETENV 1
+@echo>>$(1) #define HAVE_MKTIME 1
+@echo>>$(1) #define HAVE_CLOCK_GETTIME 1
+@echo>>$(1) #define HAVE_GETTIMEOFDAY 1
+@echo>>$(1) #define HAVE_STRUCT_TM_TM_ZONE 1
+@echo>>$(1) #define HAVE_TM_ZONE 1
+@echo>>$(1) #define HAVE_STRUCT_TM_TM_GMTOFF 1
+@echo>>$(1) #define NEGATIVE_TIME_T 1
+@echo>>$(1) #define RSHIFT(x,y) ((x)^>^>(int)y)
+@echo>>$(1) #define DOSISH 1
+@echo>>$(1) #define DOSISH_DRIVE_LETTER
+@echo>>$(1) #define RUBY_JMP_BUF jmp_buf
+@echo>>$(1) #define RUBY_SETJMP(env) _setjmp(env)
+@echo>>$(1) #define RUBY_LONGJMP(env,val) _longjmp(env,val)
+@echo>>$(1) #define FILE_COUNT _r
+@echo>>$(1) #define FILE_READPTR _p
+@echo>>$(1) #define HAVE__SC_CLK_TCK 1
+@echo>>$(1) #define STACK_GROW_DIRECTION -1
+@echo>>$(1) #define _REENTRANT 1
+@echo>>$(1) #define _THREAD_SAFE 1
+@echo>>$(1) #define HAVE_LIBPTHREAD 1
+@echo>>$(1) #define HAVE_NANOSLEEP 1
+@echo>>$(1) #define USE_ELF 1
+@echo>>$(1) #define DLEXT_MAXLEN 4
+@echo>>$(1) #define DLEXT ".dll"
+@echo>>$(1) #define RUBY_LIB "C:/Data/Ruby/lib/$(MAJOR).$(MINOR).$(TEENY)"
+@echo>>$(1) #define RUBY_SITE_LIB "E:/Data/Ruby/lib"
+@echo>>$(1) #define RUBY_SITE_LIB2 "E:/Data/Ruby/lib/$(MAJOR).$(MINOR).$(TEENY)"
+@echo>>$(1) #define RUBY_VENDOR_LIB "C:/Data/Ruby/lib"
+@echo>>$(1) #define RUBY_VENDOR_LIB2 "C:/Data/Ruby/lib/$(MAJOR).$(MINOR).$(TEENY)"
+@echo>>$(1) #define RUBY_PLATFORM "$(arch)"
+@echo>>$(1) #define RUBY_ARCHLIB "C:/Data/Ruby/$(MAJOR).$(MINOR).$(TEENY)/$(arch)"
+@echo>>$(1) #define RUBY_SITE_ARCHLIB "E:/Data/Ruby/lib/$(MAJOR).$(MINOR).$(TEENY)/$(arch)"
+@echo>>$(1) #define RUBY_VENDOR_ARCHLIB "C:/Data/Ruby/lib/$(MAJOR).$(MINOR).$(TEENY)/$(arch)"
+endef
+
+define pre_build_mk
+@echo>$(1) srcdir = $(srcdir)
+@echo>>$(1) BASERUBY = $(BASERUBY)
+@echo>>$(1) include pre-build
+endef
+
+define bld_inf
+@echo>$(1) PRJ_PLATFORMS
+@echo>>$(1) GCCE $(2)
+@echo>>$(1) PRJ_MMPFILES
+@echo>>$(1) gnumakefile pre-build.mk
+@echo>>$(1) ruby.mmp
+@if not "$(EXT_LIST)" == "" for %%f in ($(EXT_LIST)) do echo>>$(1) %%f.mmp
+endef
+
+
+ifndef EXTSTATIC
+DLN=dln
+else
+DLN=dmydln
+endif
+
+define ruby_mmp
+@echo>$(1) TARGET Ruby.exe
+@echo>>$(1) TARGETTYPE EXEXP
+
+@echo>>$(1) UID 0x100039CE $(RUBY_UID)
+@echo>>$(1) VENDORID 0
+@echo>>$(1) SECUREID $(RUBY_UID)
+@echo>>$(1) CAPABILITY LocalServices NetworkServices ReadUserData UserEnvironment WriteUserData
+
+
+@echo>>$(1) USERINCLUDE $(subst /,\,$(arch_hdrdir))
+@echo>>$(1) USERINCLUDE .
+@echo>>$(1) USERINCLUDE $(subst /,\,$(srcdir))
+@echo>>$(1) USERINCLUDE $(subst /,\,$(hdrdir))
+@echo>>$(1) USERINCLUDE $(subst /,\,$(hdrdir))\ruby
+@echo>>$(1) USERINCLUDE $(subst /,\,$(srcdir))\missing
+
+@echo>>$(1) SYSTEMINCLUDE $(subst /,\,$(arch_hdrdir))
+@echo>>$(1) SYSTEMINCLUDE .
+@echo>>$(1) SYSTEMINCLUDE $(subst /,\,$(srcdir))
+@echo>>$(1) SYSTEMINCLUDE $(subst /,\,$(hdrdir))
+@echo>>$(1) SYSTEMINCLUDE $(subst /,\,$(hdrdir))\ruby
+@echo>>$(1) SYSTEMINCLUDE $(subst /,\,$(srcdir))\missing
+
+@echo>>$(1) SYSTEMINCLUDE \epoc32\include
+@echo>>$(1) SYSTEMINCLUDE \epoc32\include\stdapis
+
+@echo>>$(1) SOURCEPATH $(subst /,\,$(srcdir))
+@echo>>$(1) SOURCE array.c
+@echo>>$(1) SOURCE bignum.c
+@echo>>$(1) SOURCE blockinlining.c
+@echo>>$(1) SOURCE class.c
+@echo>>$(1) SOURCE compar.c
+@echo>>$(1) SOURCE compile.c
+@echo>>$(1) SOURCE cont.c
+@echo>>$(1) SOURCE debug.c
+@echo>>$(1) SOURCE dir.c
+@echo>>$(1) SOURCE $(DLN).c
+@echo>>$(1) SOURCE dmyext.c
+@echo>>$(1) SOURCE encoding.c
+@echo>>$(1) SOURCE enum.c
+@echo>>$(1) SOURCE enumerator.c
+@echo>>$(1) SOURCE error.c
+@echo>>$(1) SOURCE eval.c
+@echo>>$(1) SOURCE file.c
+@echo>>$(1) SOURCE gc.c
+@echo>>$(1) SOURCE hash.c
+@echo>>$(1) SOURCE inits.c
+@echo>>$(1) SOURCE io.c
+@echo>>$(1) SOURCE iseq.c
+@echo>>$(1) SOURCE load.c
+@echo>>$(1) SOURCE main.c
+@echo>>$(1) SOURCE marshal.c
+@echo>>$(1) SOURCE math.c
+@echo>>$(1) SOURCE numeric.c
+@echo>>$(1) SOURCE object.c
+@echo>>$(1) SOURCE pack.c
+@echo>>$(1) SOURCE proc.c
+@echo>>$(1) SOURCE process.c
+@echo>>$(1) SOURCE random.c
+@echo>>$(1) SOURCE range.c
+@echo>>$(1) SOURCE re.c
+@echo>>$(1) SOURCE regcomp.c
+@echo>>$(1) SOURCE regenc.c
+@echo>>$(1) SOURCE regerror.c
+@echo>>$(1) SOURCE regexec.c
+@echo>>$(1) SOURCE regparse.c
+@echo>>$(1) SOURCE regsyntax.c
+@echo>>$(1) SOURCE ruby.c
+@echo>>$(1) SOURCE signal.c
+@echo>>$(1) SOURCE sprintf.c
+@echo>>$(1) SOURCE st.c
+@echo>>$(1) SOURCE string.c
+@echo>>$(1) SOURCE struct.c
+@echo>>$(1) SOURCE thread.c
+@echo>>$(1) SOURCE time.c
+@echo>>$(1) SOURCE transcode.c
+@echo>>$(1) SOURCE util.c
+@echo>>$(1) SOURCE variable.c
+@echo>>$(1) SOURCE version.c
+@echo>>$(1) SOURCE vm.c
+@echo>>$(1) SOURCE vm_dump.c
+@echo>>$(1) SOURCE safe.c
+@echo>>$(1) SOURCE rational.c
+@echo>>$(1) SOURCE strftime.c
+@echo>>$(1) SOURCE complex.c
+
+@echo>>$(1) SOURCEPATH $(subst /,\,$(srcdir))\missing
+@echo>>$(1) SOURCE vsnprintf.c
+@echo>>$(1) SOURCE alloca.c
+@echo>>$(1) SOURCE crypt.c
+@echo>>$(1) SOURCE tgamma.c
+@echo>>$(1) SOURCE flock.c
+
+@echo>>$(1) SOURCEPATH $(subst /,\,$(srcdir))\enc
+@echo>>$(1) SOURCE ascii.c
+@echo>>$(1) SOURCE unicode.c
+@echo>>$(1) SOURCE utf_8.c
+@echo>>$(1) SOURCE us_ascii.c
+
+@echo>>$(1) SOURCEPATH .
+@echo>>$(1) SOURCE miniprelude.c
+@echo>>$(1) SOURCE parse.c
+@echo>>$(1) SOURCE newline.c
+@echo>>$(1) SOURCE missing-pips.c
+@echo>>$(1) SOURCE missing-aeabi.c
+
+
+@echo>>$(1) LIBRARY euser.lib
+@echo>>$(1) LIBRARY libc.lib
+@echo>>$(1) LIBRARY libm.lib
+@echo>>$(1) LIBRARY libpthread.lib
+@echo>>$(1) LIBRARY libdl.lib
+
+@echo>>$(1) STATICLIBRARY libcrt0.lib
+
+@echo>>$(1) EPOCSTACKSIZE $(2)
+@echo>>$(1) EPOCHEAPSIZE $(3) $(4)
+
+@if "$(EXTSTATIC)" == "" echo>>$(1) OPTION GCCE -fvisibility=default
+@if "$(EXTSTATIC)" == "" echo>>$(1) DEFFILE .\Ruby.def
+endef
+
+define ext_mmp
+@echo>$(1).mmp TARGET $(1).dll
+@echo>>$(1).mmp TARGETTYPE DLL
+@echo>>$(1).mmp UID 0x10004262 $(2)
+@echo>>$(1).mmp VENDORID 0
+@echo>>$(1).mmp SECUREID $(2)
+@echo>>$(1).mmp CAPABILITY LocalServices NetworkServices ReadUserData UserEnvironment WriteUserData
+
+@echo>>$(1).mmp USERINCLUDE $(subst /,\,$(arch_hdrdir))
+@echo>>$(1).mmp USERINCLUDE $(subst /,\,$(srcdir))
+@echo>>$(1).mmp USERINCLUDE $(subst /,\,$(hdrdir))
+@echo>>$(1).mmp USERINCLUDE $(subst /,\,$(hdrdir))\ruby
+@echo>>$(1).mmp USERINCLUDE $(subst /,\,$(srcdir))\missing
+
+@echo>>$(1).mmp SYSTEMINCLUDE $(subst /,\,$(arch_hdrdir))
+@echo>>$(1).mmp SYSTEMINCLUDE $(subst /,\,$(srcdir))
+@echo>>$(1).mmp SYSTEMINCLUDE $(subst /,\,$(hdrdir))
+@echo>>$(1).mmp SYSTEMINCLUDE $(subst /,\,$(hdrdir))\ruby
+@echo>>$(1).mmp SYSTEMINCLUDE $(subst /,\,$(srcdir))\missing
+
+@echo>>$(1).mmp SYSTEMINCLUDE \epoc32\include\stdapis
+
+@echo>>$(1).mmp SOURCEPATH $(subst /,\,$(srcdir))\ext\$(1)
+@echo>>$(1).mmp SOURCE $(1).c $(3)
+
+@echo>>$(1).mmp LIBRARY euser.lib
+@echo>>$(1).mmp LIBRARY libc.lib $(4)
+@echo>>$(1).mmp LIBRARY Ruby.lib
+
+@echo>>$(1).mmp OPTION GCCE -fvisibility=default
+@echo>>$(1).mmp DEFFILE .\$(1).def
+endef
+
+define ext_def
+@echo>$(1)u.def EXPORTS
+@echo>>$(1)u.def ^	Init_$(1) @ 1 NONAME
+endef
+
+define ruby_pkg
+@echo>$(1) ^&EN
+
+@echo>>$(1) #{"Ruby Core"},($(RUBY_UID)),$(MAJOR),$(MINOR),$(TEENY)
+
+@echo>>$(1) %%{"Symbian Research"}
+
+@echo>>$(1) :"Symbian Research"
+
+@echo>>$(1) (0x20013851), 1, 3, 0, {"Symbian OS PIPS"}
+
+@echo>>$(1) [0x101F7961], 0, 0, 0, {"S60ProductID"}
+
+@echo>>$(1) "$(EPOCROOT)epoc32\release\gcce\urel\Ruby.exe"-"!:\sys\bin\Ruby.exe"
+endef
+
+
+define ext_pkg
+@echo>ruby_$(1).pkg ^&EN
+
+@echo>>ruby_$(1).pkg #{"Ruby Extension: $(1)"},($(2)),$(MAJOR),$(MINOR),$(TEENY)
+
+@echo>>ruby_$(1).pkg %%{"Symbian Research"}
+
+@echo>>ruby_$(1).pkg :"Symbian Research"
+
+@echo>>ruby_$(1).pkg ($(RUBY_UID)), 1, 9, 1, {"Ruby Core"}
+
+@echo>>ruby_$(1).pkg [0x101F7961], 0, 0, 0, {"S60ProductID"}
+
+@echo>>ruby_$(1).pkg "$(EPOCROOT)epoc32\release\gcce\urel\$(1).dll"-"!:\sys\bin\$(1).dll"
+@echo>>ruby_$(1).pkg "$(EPOCROOT)epoc32\release\gcce\urel\$(1).dll"-"!:\Data\Ruby\$(MAJOR).$(MINOR).$(TEENY)\$(arch)\$(1).dll"
+endef
+
+define ext_bigdecimal_pkg_lib_append
+@echo>>ruby_bigdecimal.pkg "$(subst /,\,$(srcdir))\ext\bigdecimal\lib\bigdecimal\jacobian.rb"-"!:\Data\Ruby\lib\bigdecimal\jacobian.rb"
+@echo>>ruby_bigdecimal.pkg "$(subst /,\,$(srcdir))\ext\bigdecimal\lib\bigdecimal\ludcmp.rb"-"!:\Data\Ruby\lib\bigdecimal\ludcmp.rb"
+@echo>>ruby_bigdecimal.pkg "$(subst /,\,$(srcdir))\ext\bigdecimal\lib\bigdecimal\math.rb"-"!:\Data\Ruby\lib\bigdecimal\math.rb"
+@echo>>ruby_bigdecimal.pkg "$(subst /,\,$(srcdir))\ext\bigdecimal\lib\bigdecimal\newton.rb"-"!:\Data\Ruby\lib\bigdecimal\newton.rb"
+@echo>>ruby_bigdecimal.pkg "$(subst /,\,$(srcdir))\ext\bigdecimal\lib\bigdecimal\util.rb"-"!:\Data\Ruby\lib\bigdecimal\util.rb"
+endef
+
+EPOCROOT := $(addsuffix \,$(word 3,$(shell devices -info @$(word 3,$(shell devices -default)) | find "Root")))
+
+ifndef SIGNED
+RUBY_UID=0xA0001BC6
+STRINGIO_UID=0xA0001BC7
+BIGDECIMAL_UID=0xA0001BC8
+else
+RUBY_UID=0x200205CC
+STRINGIO_UID=0x200205CD
+BIGDECIMAL_UID=0x200205CE
+endif
+
+
