mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* symbian/README.SYMBIAN: symbian support added. great appreciate
to <alexandre.zavorine at symbian.com>. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
c6af6b1b94
commit
5932de4991
7 changed files with 2228 additions and 0 deletions
98
symbian/README.SYMBIAN
Normal file
98
symbian/README.SYMBIAN
Normal file
|
@ -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
|
||||
|
114
symbian/configure.bat
Normal file
114
symbian/configure.bat
Normal file
|
@ -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
|
18
symbian/missing-aeabi.c
Normal file
18
symbian/missing-aeabi.c
Normal file
|
@ -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
|
||||
|
||||
|
101
symbian/missing-pips.c
Normal file
101
symbian/missing-pips.c
Normal file
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
74
symbian/pre-build
Normal file
74
symbian/pre-build
Normal file
|
@ -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 :
|
||||
|
1407
symbian/rubyu.def
Normal file
1407
symbian/rubyu.def
Normal file
File diff suppressed because it is too large
Load diff
416
symbian/setup
Normal file
416
symbian/setup
Normal file
|
@ -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
|
||||
|
||||
|
Loading…
Reference in a new issue