summaryrefslogtreecommitdiff
path: root/symbian
diff options
context:
space:
mode:
authorazav <azav@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-04 17:31:44 +0000
committerazav <azav@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-04 17:31:44 +0000
commitdfbe79f239e2d52a3da3857c6d251f1a701c96d5 (patch)
tree017748e980975ab1b80b176bc03705045bb1f2ff /symbian
parentc501546edd46c67f944d30742ee843ed5456bbd1 (diff)
Updated Symbain configuration procedure to avoid creating files outside build directory
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'symbian')
-rw-r--r--symbian/README.SYMBIAN32
-rw-r--r--symbian/pre-build15
-rw-r--r--symbian/setup130
3 files changed, 86 insertions, 91 deletions
diff --git a/symbian/README.SYMBIAN b/symbian/README.SYMBIAN
index 4a8f782c7e..03c1f0b234 100644
--- a/symbian/README.SYMBIAN
+++ b/symbian/README.SYMBIAN
@@ -9,17 +9,17 @@
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 IMPORT_D __declspec(dllimport)
> #define EXPORT_D __declspec(dllexport)
->
+>
81,82c86,87
< #define __NAKED__ __asm
< #define ____ONLY_USE_NAKED_IN_CIA____ __asm
@@ -30,7 +30,7 @@
< namespace std {
< extern "C" {
< #endif /* __cplusplus */
-<
+<
< typedef struct __va_list { void *__ap; } va_list;
---
> namespace std { extern "C" {
@@ -44,7 +44,7 @@
100,102c107
< } /* extern "C" */
< } /* namespace std */
-<
+<
---
> } }
105a111
@@ -52,7 +52,7 @@
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)
@@ -69,7 +69,7 @@
> #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.
@@ -81,13 +81,15 @@
(1) Execute symbian\configure.bat on your build directory (symbian is default).
-(3) Run `bldmake bldfiles'
+(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'
-(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
+(3) Run `makesis ruby.pkg' from symbian\sis directory
+ This command will create unsigned installation file ruby.sis. To sign it follow the guidlines from www.symbiansigned.com
== Known problems
diff --git a/symbian/pre-build b/symbian/pre-build
index 0020da2390..16a2248a5a 100644
--- a/symbian/pre-build
+++ b/symbian/pre-build
@@ -1,8 +1,8 @@
YACC = bison
-IFCHANGE = $(COMSPEC) /c $(srcdir)\win32\ifchange.bat
+IFCHANGE = cmd /C $(srcdir)\win32\ifchange.bat
RM = del
-MV = $(COMSPEC) /c move
-VCS=svn
+MV = cmd /C move
+VCS = svn
parse.c: $(srcdir)\parse.y $(srcdir)\tool\ytab.sed
@@ -48,6 +48,9 @@ newline.c:
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
@@ -63,10 +66,12 @@ srcs: parse.c newline.c lex.c miniprelude.c
lex.c: $(srcdir)\lex.c.blt
copy $(?:/=\) $@
-MAKMAKE: incs srcs
+socket_const: $(srcdir)/ext/socket/constants.h
+
+MAKMAKE: incs srcs socket_const
CLEAN :
- del $(INSNS) node_name.inc known_errors.inc $(srcdir)\revision.h
+ del $(INSNS) node_name.inc known_errors.inc
$(RM) parse.c parse.h newline.c lex.c miniprelude.c
BLD LIB CLEANLIB RESOURCE FREEZE SAVESPACE RELEASABLES FINAL :
diff --git a/symbian/setup b/symbian/setup
index d37b05781c..53de952904 100644
--- a/symbian/setup
+++ b/symbian/setup
@@ -186,7 +186,7 @@ define bld_inf
@echo>$(1) PRJ_PLATFORMS
@echo>>$(1) GCCE $(2)
@echo>>$(1) PRJ_MMPFILES
-@echo>>$(1) gnumakefile pre-build.mk
+@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
@@ -208,24 +208,24 @@ define ruby_mmp
@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) 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 ..\$(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) SOURCEPATH ..\$(subst /,\,$(srcdir))
@echo>>$(1) SOURCE array.c
@echo>>$(1) SOURCE bignum.c
@echo>>$(1) SOURCE blockinlining.c
@@ -285,20 +285,19 @@ define ruby_mmp
@echo>>$(1) SOURCE strftime.c
@echo>>$(1) SOURCE complex.c
-@echo>>$(1) SOURCEPATH $(subst /,\,$(srcdir))\missing
-@echo>>$(1) SOURCE vsnprintf.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) 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) SOURCEPATH ..
@echo>>$(1) SOURCE miniprelude.c
@echo>>$(1) SOURCE parse.c
@echo>>$(1) SOURCE newline.c
@@ -318,45 +317,43 @@ define ruby_mmp
@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
+@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 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)u.def EXPORTS
-@echo>>$(1)u.def ^ Init_$(1) @ 1 NONAME
+@echo>$(1)$(2)u.def EXPORTS
+@echo>>$(1)$(2)u.def ^ Init_$(2) @ 1 NONAME
endef
define ruby_pkg
@@ -377,28 +374,17 @@ 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"
+@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_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"
+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")))
@@ -407,10 +393,12 @@ 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