* symbian/*: removed Symbian support.

[Feature #10199][ruby-core:64725]
* dln.c: ditto.
* include/ruby/defines.h: ditto.
* thread_pthread.c: ditto.
* vm.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
hsbt 2014-09-04 11:09:32 +00:00
Родитель 68f55c4b35
Коммит 8362f9b581
11 изменённых файлов: 10 добавлений и 837 удалений

Просмотреть файл

@ -1,3 +1,12 @@
Thu Sep 4 20:09:21 2014 SHIBATA Hiroshi <shibata.hiroshi@gmail.com>
* symbian/*: removed Symbian support.
[Feature #10199][ruby-core:64725]
* dln.c: ditto.
* include/ruby/defines.h: ditto.
* thread_pthread.c: ditto.
* vm.c: ditto.
Thu Sep 4 17:44:40 2014 Koichi Sasada <ko1@atdot.net>
* dir.c (glob_helper): use #ifdef instead of #if.

5
dln.c
Просмотреть файл

@ -1346,11 +1346,6 @@ dln_load(const char *file)
#ifdef __native_client__
strcpy(file, orig);
free(orig);
#endif
#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();

Просмотреть файл

@ -167,11 +167,6 @@ void xfree(void*);
#include <net/socket.h> /* intern.h needs fd_set definition */
#endif
#ifdef __SYMBIAN32__
# define FALSE 0
# define TRUE 1
#endif
#ifdef RUBY_EXPORT
#undef RUBY_EXTERN

Просмотреть файл

@ -1,93 +0,0 @@
=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
===================================================================
--- Epoc32/include/gcce/gcce.h
+++ Epoc32/include/gcce/gcce.h
@@ -22,4 +22,6 @@
#define IMPORT_C __declspec(dllimport)
#define EXPORT_C __declspec(dllexport)
+#define IMPORT_D __declspec(dllimport)
+#define EXPORT_D __declspec(dllexport)
@@ -79,6 +81,6 @@
// __NAKED__ from cpudefs.h
-#define __NAKED__ __asm
-#define ____ONLY_USE_NAKED_IN_CIA____ __asm
+#define __NAKED__ __declspec(naked)
+#define ____ONLY_USE_NAKED_IN_CIA____ __declspec(naked)
// Int64 and Uint64 from nkern\nklib.h
@@ -94,5 +96,9 @@
#endif /* __cplusplus */
+#if __GNUC__ < 4
typedef struct __va_list { void *__ap; } va_list;
+#else
+typedef __builtin_va_list va_list;
+#endif
@@ -104,7 +110,13 @@
#endif
+#if __GNUC__ < 4
#define va_start(ap, parmN) __builtin_va_start(ap.__ap, parmN)
#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
@@ -139,5 +151,7 @@
// Deal with operator new issues here
+#ifndef __SYMBIAN_STDCPP_SUPPORT__
#include "..\symcpp.h"
+#endif
#ifdef __cplusplus
===================================================================
(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

Просмотреть файл

@ -1,123 +0,0 @@
@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 #define RUBY_LIB_VERSION_STYLE 3
echo>> ~ver~.mak ^ @echo^>^> ~tmp~.c #include "version.h"
echo>> ~ver~.mak ^ @echo^>^> ~tmp~.c MAJOR = RUBY_API_VERSION_MAJOR
echo>> ~ver~.mak ^ @echo^>^> ~tmp~.c MINOR = RUBY_API_VERSION_MINOR
echo>> ~ver~.mak ^ @echo^>^> ~tmp~.c TEENY = RUBY_API_VERSION_TEENY
echo>> ~ver~.mak ^ @$(CPP) -I$(srcdir) -I$(srcdir)\include ~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 zlib
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 ^ @if not exist group\nul md group
echo>> ~tmp~.mak ^ $(call pre_build_mk,pre-build.mk)
echo>> ~tmp~.mak ^ $(call bld_inf,group\bld.inf)
echo>> ~tmp~.mak ^ $(call ruby_mmp,group\ruby.mmp,64000,2000000,16000000)
echo>> ~tmp~.mak ifndef EXTSTATIC
echo>> ~tmp~.mak ^ $(call ext_mmp,group\,stringio,$(STRINGIO_UID))
echo>> ~tmp~.mak ^ $(call ext_mmp,group\,bigdecimal,$(BIGDECIMAL_UID),,libm.lib)
echo>> ~tmp~.mak ^ $(call ext_mmp,group\,zlib,$(ZLIB_UID),,libz.lib)
echo>> ~tmp~.mak endif
echo>> ~tmp~.mak ^ @if not exist sis\nul md sis
echo>> ~tmp~.mak ^ $(call ruby_pkg,sis\ruby.pkg)
echo>> ~tmp~.mak ifndef EXTSTATIC
echo>> ~tmp~.mak ^ $(call core_ext_pkg,sis\ruby_core_ext.pkg)
echo>> ~tmp~.mak ^ $(call ext_bigdecimal,sis\ruby_core_ext.pkg)
echo>> ~tmp~.mak ^ $(call ext_pkg,sis\ruby_core_ext.pkg,stringio)
echo>> ~tmp~.mak ^ $(call ext_pkg,sis\ruby_core_ext.pkg,zlib)
echo>> ~tmp~.mak ^ @if not exist eabi\nul md eabi
echo>> ~tmp~.mak ^ $(call ext_def,eabi\,stringio)
echo>> ~tmp~.mak ^ $(call ext_def,eabi\,bigdecimal)
echo>> ~tmp~.mak ^ $(call ext_def,eabi\,zlib)
echo>> ~tmp~.mak endif
echo>> ~tmp~.mak include setup
make -f ~tmp~.mak
del /Q ~tmp~.mak
:exit

Просмотреть файл

@ -1,18 +0,0 @@
#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

Просмотреть файл

@ -1,65 +0,0 @@
#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 kill(pid_t pid, int sig);
int pthread_sigmask(int how, const sigset_t *set, sigset_t *oset);
int execl(const char *path, const char *arg0, ... /*, (char *)0 */);
int execv(const char *path, char *const argv[]);
int pthread_kill(pthread_t thread, int sig);
int kill(pid_t pid, int sig)
{
return 0;
}
int pthread_sigmask(int how, const sigset_t *set, sigset_t *oset)
{
return -1;
}
int execl(const char *path, const char *arg0, ...)
{
return 0;
}
int execv(const char *path, char *const argv[])
{
return 0;
}
int pthread_kill(pthread_t thread, int sig)
{
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;
}

Просмотреть файл

@ -1,83 +0,0 @@
YACC = bison
IFCHANGE = cmd /C $(srcdir)\win32\ifchange.bat
RM = del
MV = cmd /C 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
$(srcdir)/id.h: parse.h $(srcdir)/tool/generic_erb.rb $(srcdir)/template/id.h.tmpl
$(BASERUBY) $(srcdir)/tool/generic_erb.rb --output=$@ $(srcdir)/template/id.h.tmpl parse.h
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)/ext/socket/constants.h: $(srcdir)/ext/socket/mkconstants.rb
$(BASERUBY) $(srcdir)/ext/socket/mkconstants.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
ids: $(srcdir)/id.h
srcs: parse.c newline.c lex.c miniprelude.c
lex.c: $(srcdir)\lex.c.blt
copy $(?:/=\) $@
socket_const: $(srcdir)/ext/socket/constants.h
MAKMAKE: incs srcs ids socket_const
CLEAN :
del $(INSNS) node_name.inc known_errors.inc
$(RM) parse.c parse.h newline.c lex.c miniprelude.c $(srcdir)\revision.h $(srcdir)\id.h
BLD LIB CLEANLIB RESOURCE FREEZE SAVESPACE RELEASABLES FINAL :

Просмотреть файл

@ -1,440 +0,0 @@
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 TIMET2NUM(v) LONG2NUM(v)
@echo>>$(1) #define NUM2TIMET(v) NUM2LONG(v)
@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_INT8_T 1
@echo>>$(1) #define HAVE_UINT8_T 1
@echo>>$(1) #define SIZEOF_INT8_T 1
@echo>>$(1) #define HAVE_INT16_T 1
@echo>>$(1) #define HAVE_UINT16_T 1
@echo>>$(1) #define SIZEOF_INT16_T 2
@echo>>$(1) #define HAVE_INT32_T 1
@echo>>$(1) #define HAVE_UINT32_T 1
@echo>>$(1) #define SIZEOF_INT32_T 4
@echo>>$(1) #define HAVE_INT64_T 1
@echo>>$(1) #define HAVE_UINT64_T 1
@echo>>$(1) #define SIZEOF_INT64_T 8
@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_STRUCT_TIMEZONE 1
@echo>>$(1) #define HAVE_RB_FD_INIT 1
@echo>>$(1) #define GETGROUPS_T gid_t
@echo>>$(1) #define RETSIGTYPE void
@echo>>$(1) #define C_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 VOID_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 HAVE_LABS 1
@echo>>$(1) #define HAVE_LLABS 1
@echo>>$(1) #define USE_ELF 1
@echo>>$(1) #define MANGLED_PATH 1
@echo>>$(1) #define DLEXT_MAXLEN 4
@echo>>$(1) #define DLEXT ".dll"
@echo>>$(1) #define EXECUTABLE_EXTS ".exe",".com",".cmd",".bat"
@echo>>$(1) #define RUBY_EXEC_PREFIX ""
@echo>>$(1) #define DLN_NEEDS_ALT_SEPARATOR '\\'
@echo>>$(1) #define RUBY_LIB_VERSION_STYLE 3
@echo>>$(1) #define RUBY_LIB_PREFIX "C:/Data/Ruby/lib"
@echo>>$(1) #define RUBY_SITE_LIB "E:/Data/Ruby/lib"
@echo>>$(1) #define RUBY_VENDOR_LIB "F:/Data/Ruby/lib"
@echo>>$(1) #define RUBY_PLATFORM "$(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) MACRO RUBY_EXPORT
@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 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 dln_find.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 node.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 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
endef
define ext_mmp
@echo>$(1)$(2).mmp TARGET $(2).dll
@echo>>$(1)$(2).mmp TARGETTYPE DLL
@echo>>$(1)$(2).mmp EPOCALLOWDLLDATA
@echo>>$(1)$(2).mmp UID 0x10004262 $(3)
@echo>>$(1)$(2).mmp VENDORID 0
@echo>>$(1)$(2).mmp SECUREID $(3)
@echo>>$(1)$(2).mmp CAPABILITY LocalServices NetworkServices ReadUserData UserEnvironment WriteUserData
@echo>>$(1)$(2).mmp USERINCLUDE ..\$(subst /,\,$(arch_hdrdir))
@echo>>$(1)$(2).mmp USERINCLUDE ..\$(subst /,\,$(srcdir))
@echo>>$(1)$(2).mmp USERINCLUDE ..\$(subst /,\,$(hdrdir))
@echo>>$(1)$(2).mmp USERINCLUDE ..\$(subst /,\,$(hdrdir))\ruby
@echo>>$(1)$(2).mmp USERINCLUDE ..\$(subst /,\,$(srcdir))\missing
@echo>>$(1)$(2).mmp SYSTEMINCLUDE ..\$(subst /,\,$(arch_hdrdir))
@echo>>$(1)$(2).mmp SYSTEMINCLUDE ..\$(subst /,\,$(srcdir))
@echo>>$(1)$(2).mmp SYSTEMINCLUDE ..\$(subst /,\,$(hdrdir))
@echo>>$(1)$(2).mmp SYSTEMINCLUDE ..\$(subst /,\,$(hdrdir))\ruby
@echo>>$(1)$(2).mmp SYSTEMINCLUDE ..\$(subst /,\,$(srcdir))\missing
@echo>>$(1)$(2).mmp SYSTEMINCLUDE \epoc32\include\stdapis
@echo>>$(1)$(2).mmp SYSTEMINCLUDE \epoc32\include
@echo>>$(1)$(2).mmp SOURCEPATH ..\$(subst /,\,$(srcdir))\ext\$(2)
@echo>>$(1)$(2).mmp SOURCE $(2).c $(4)
@echo>>$(1)$(2).mmp LIBRARY euser.lib
@echo>>$(1)$(2).mmp LIBRARY libc.lib $(5)
@echo>>$(1)$(2).mmp LIBRARY Ruby.lib
@echo>>$(1)$(2).mmp OPTION GCCE -fvisibility=default
endef
define ext_def
@echo>$(1)$(2)u.def EXPORTS
@echo>>$(1)$(2)u.def ^ Init_$(2) @ 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, 6, 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 core_ext_pkg
@echo>$(1) ^&EN
@echo>>$(1) #{"Ruby Core Extensions"},($(STRINGIO_UID)),$(MAJOR),$(MINOR),$(TEENY)
@echo>>$(1) %%{"Symbian Research"}
@echo>>$(1) :"Symbian Research"
@echo>>$(1) ($(RUBY_UID)), $(MAJOR),$(MINOR),$(TEENY), {"Symbian Ruby"}
@echo>>$(1) [0x101F7961], 0, 0, 0, {"S60ProductID"}
endef
define ext_pkg
@echo>>$(1) "$(EPOCROOT)epoc32\release\gcce\urel\$(2).dll"-"!:\sys\bin\$(2).dll"
@echo>>$(1) "$(EPOCROOT)epoc32\release\gcce\urel\$(2).dll"-"!:\Data\Ruby\lib\$(MAJOR).$(MINOR).$(TEENY)\$(arch)\$(2).dll"
endef
define ext_bigdecimal
$(call ext_pkg,$(1),bigdecimal)
@echo>>$(1) "..\$(subst /,\,$(srcdir))\ext\bigdecimal\lib\bigdecimal\jacobian.rb"-"!:\Data\Ruby\lib\bigdecimal\jacobian.rb"
@echo>>$(1) "..\$(subst /,\,$(srcdir))\ext\bigdecimal\lib\bigdecimal\ludcmp.rb"-"!:\Data\Ruby\lib\bigdecimal\ludcmp.rb"
@echo>>$(1) "..\$(subst /,\,$(srcdir))\ext\bigdecimal\lib\bigdecimal\math.rb"-"!:\Data\Ruby\lib\bigdecimal\math.rb"
@echo>>$(1) "..\$(subst /,\,$(srcdir))\ext\bigdecimal\lib\bigdecimal\newton.rb"-"!:\Data\Ruby\lib\bigdecimal\newton.rb"
@echo>>$(1) "..\$(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
ZLIB_UID=0xA0001BCB
else
RUBY_UID=0x200205CC
STRINGIO_UID=0x200205CD
BIGDECIMAL_UID=0x200205CE
ZLIB_UID=0x200205D0
endif

Просмотреть файл

@ -416,7 +416,7 @@ native_cond_timeout(rb_nativethread_cond_t *cond, struct timespec timeout_rel)
#define native_thread_yield() ((void)0)
#endif
#if defined(SIGVTALRM) && !defined(__CYGWIN__) && !defined(__SYMBIAN32__)
#if defined(SIGVTALRM) && !defined(__CYGWIN__)
#define USE_SIGNAL_THREAD_LIST 1
#endif
#ifdef USE_SIGNAL_THREAD_LIST

4
vm.c
Просмотреть файл

@ -1883,10 +1883,6 @@ check_machine_stack_size(size_t *sizep)
size_t size = *sizep;
#endif
#ifdef __SYMBIAN32__
*sizep = 64 * 1024; /* 64KB: Let's be slightly more frugal on mobile platform */
#endif
#ifdef PTHREAD_STACK_MIN
if (size < PTHREAD_STACK_MIN) {
*sizep = PTHREAD_STACK_MIN * 2;