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_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 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 DLN_NEEDS_ALT_SEPARATOR 1 @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 "C:/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 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 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 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\$(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