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
This commit is contained in:
azav 2009-02-04 17:31:44 +00:00
parent c501546edd
commit dfbe79f239
3 changed files with 80 additions and 85 deletions

View File

@ -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 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 11c11
< <
--- ---
> @released > @released
18a19 18a19
> >
21a23 21a23
> >
24a27,29 24a27,29
> #define IMPORT_D __declspec(dllimport) > #define IMPORT_D __declspec(dllimport)
> #define EXPORT_D __declspec(dllexport) > #define EXPORT_D __declspec(dllexport)
> >
81,82c86,87 81,82c86,87
< #define __NAKED__ __asm < #define __NAKED__ __asm
< #define ____ONLY_USE_NAKED_IN_CIA____ __asm < #define ____ONLY_USE_NAKED_IN_CIA____ __asm
@ -30,7 +30,7 @@
< namespace std { < namespace std {
< extern "C" { < extern "C" {
< #endif /* __cplusplus */ < #endif /* __cplusplus */
< <
< typedef struct __va_list { void *__ap; } va_list; < typedef struct __va_list { void *__ap; } va_list;
--- ---
> namespace std { extern "C" { > namespace std { extern "C" {
@ -44,7 +44,7 @@
100,102c107 100,102c107
< } /* extern "C" */ < } /* extern "C" */
< } /* namespace std */ < } /* namespace std */
< <
--- ---
> } } > } }
105a111 105a111
@ -52,7 +52,7 @@
107,109c113,119 107,109c113,119
< #define va_arg(ap, type) __builtin_va_arg(ap.__ap, type) < #define va_arg(ap, type) __builtin_va_arg(ap.__ap, type)
< #define va_end(ap) __builtin_va_end(ap.__ap) < #define va_end(ap) __builtin_va_end(ap.__ap)
< <
--- ---
> #define va_arg(ap, type) __builtin_va_arg(ap.__ap, type) > #define va_arg(ap, type) __builtin_va_arg(ap.__ap, type)
> #define va_end(ap) __builtin_va_end(ap.__ap) > #define va_end(ap) __builtin_va_end(ap.__ap)
@ -69,7 +69,7 @@
> #include "../symcpp.h" > #include "../symcpp.h"
> #endif > #endif
151a163 151a163
> >
(2) If you want to build from SVN source, following command line binaries are required that are not a part of Symbain SDK. (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). (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' (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
(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 == Known problems

View File

@ -1,8 +1,8 @@
YACC = bison YACC = bison
IFCHANGE = $(COMSPEC) /c $(srcdir)\win32\ifchange.bat IFCHANGE = cmd /C $(srcdir)\win32\ifchange.bat
RM = del RM = del
MV = $(COMSPEC) /c move MV = cmd /C move
VCS=svn VCS = svn
parse.c: $(srcdir)\parse.y $(srcdir)\tool\ytab.sed 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 miniprelude.c: $(srcdir)/tool/compile_prelude.rb $(srcdir)/prelude.rb
$(BASERUBY) -I$(srcdir) $(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 $(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 lex.c: $(srcdir)\lex.c.blt
copy $(?:/=\) $@ copy $(?:/=\) $@
MAKMAKE: incs srcs socket_const: $(srcdir)/ext/socket/constants.h
MAKMAKE: incs srcs socket_const
CLEAN : 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 $(RM) parse.c parse.h newline.c lex.c miniprelude.c
BLD LIB CLEANLIB RESOURCE FREEZE SAVESPACE RELEASABLES FINAL : BLD LIB CLEANLIB RESOURCE FREEZE SAVESPACE RELEASABLES FINAL :

View File

@ -186,7 +186,7 @@ define bld_inf
@echo>$(1) PRJ_PLATFORMS @echo>$(1) PRJ_PLATFORMS
@echo>>$(1) GCCE $(2) @echo>>$(1) GCCE $(2)
@echo>>$(1) PRJ_MMPFILES @echo>>$(1) PRJ_MMPFILES
@echo>>$(1) gnumakefile pre-build.mk @echo>>$(1) gnumakefile ..\pre-build.mk
@echo>>$(1) ruby.mmp @echo>>$(1) ruby.mmp
@if not "$(EXT_LIST)" == "" for %%f in ($(EXT_LIST)) do echo>>$(1) %%f.mmp @if not "$(EXT_LIST)" == "" for %%f in ($(EXT_LIST)) do echo>>$(1) %%f.mmp
endef endef
@ -208,24 +208,24 @@ define ruby_mmp
@echo>>$(1) CAPABILITY LocalServices NetworkServices ReadUserData UserEnvironment WriteUserData @echo>>$(1) CAPABILITY LocalServices NetworkServices ReadUserData UserEnvironment WriteUserData
@echo>>$(1) USERINCLUDE $(subst /,\,$(arch_hdrdir)) @echo>>$(1) USERINCLUDE ..\$(subst /,\,$(arch_hdrdir))
@echo>>$(1) USERINCLUDE . @echo>>$(1) USERINCLUDE ..
@echo>>$(1) USERINCLUDE $(subst /,\,$(srcdir)) @echo>>$(1) USERINCLUDE ..\$(subst /,\,$(srcdir))
@echo>>$(1) USERINCLUDE $(subst /,\,$(hdrdir)) @echo>>$(1) USERINCLUDE ..\$(subst /,\,$(hdrdir))
@echo>>$(1) USERINCLUDE $(subst /,\,$(hdrdir))\ruby @echo>>$(1) USERINCLUDE ..\$(subst /,\,$(hdrdir))\ruby
@echo>>$(1) USERINCLUDE $(subst /,\,$(srcdir))\missing @echo>>$(1) USERINCLUDE ..\$(subst /,\,$(srcdir))\missing
@echo>>$(1) SYSTEMINCLUDE $(subst /,\,$(arch_hdrdir)) @echo>>$(1) SYSTEMINCLUDE ..\$(subst /,\,$(arch_hdrdir))
@echo>>$(1) SYSTEMINCLUDE . @echo>>$(1) SYSTEMINCLUDE ..
@echo>>$(1) SYSTEMINCLUDE $(subst /,\,$(srcdir)) @echo>>$(1) SYSTEMINCLUDE ..\$(subst /,\,$(srcdir))
@echo>>$(1) SYSTEMINCLUDE $(subst /,\,$(hdrdir)) @echo>>$(1) SYSTEMINCLUDE ..\$(subst /,\,$(hdrdir))
@echo>>$(1) SYSTEMINCLUDE $(subst /,\,$(hdrdir))\ruby @echo>>$(1) SYSTEMINCLUDE ..\$(subst /,\,$(hdrdir))\ruby
@echo>>$(1) SYSTEMINCLUDE $(subst /,\,$(srcdir))\missing @echo>>$(1) SYSTEMINCLUDE ..\$(subst /,\,$(srcdir))\missing
@echo>>$(1) SYSTEMINCLUDE \epoc32\include @echo>>$(1) SYSTEMINCLUDE \epoc32\include
@echo>>$(1) SYSTEMINCLUDE \epoc32\include\stdapis @echo>>$(1) SYSTEMINCLUDE \epoc32\include\stdapis
@echo>>$(1) SOURCEPATH $(subst /,\,$(srcdir)) @echo>>$(1) SOURCEPATH ..\$(subst /,\,$(srcdir))
@echo>>$(1) SOURCE array.c @echo>>$(1) SOURCE array.c
@echo>>$(1) SOURCE bignum.c @echo>>$(1) SOURCE bignum.c
@echo>>$(1) SOURCE blockinlining.c @echo>>$(1) SOURCE blockinlining.c
@ -285,20 +285,19 @@ define ruby_mmp
@echo>>$(1) SOURCE strftime.c @echo>>$(1) SOURCE strftime.c
@echo>>$(1) SOURCE complex.c @echo>>$(1) SOURCE complex.c
@echo>>$(1) SOURCEPATH $(subst /,\,$(srcdir))\missing @echo>>$(1) SOURCEPATH ..\$(subst /,\,$(srcdir))\missing
@echo>>$(1) SOURCE vsnprintf.c
@echo>>$(1) SOURCE alloca.c @echo>>$(1) SOURCE alloca.c
@echo>>$(1) SOURCE crypt.c @echo>>$(1) SOURCE crypt.c
@echo>>$(1) SOURCE tgamma.c @echo>>$(1) SOURCE tgamma.c
@echo>>$(1) SOURCE flock.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 ascii.c
@echo>>$(1) SOURCE unicode.c @echo>>$(1) SOURCE unicode.c
@echo>>$(1) SOURCE utf_8.c @echo>>$(1) SOURCE utf_8.c
@echo>>$(1) SOURCE us_ascii.c @echo>>$(1) SOURCE us_ascii.c
@echo>>$(1) SOURCEPATH . @echo>>$(1) SOURCEPATH ..
@echo>>$(1) SOURCE miniprelude.c @echo>>$(1) SOURCE miniprelude.c
@echo>>$(1) SOURCE parse.c @echo>>$(1) SOURCE parse.c
@echo>>$(1) SOURCE newline.c @echo>>$(1) SOURCE newline.c
@ -318,45 +317,43 @@ define ruby_mmp
@echo>>$(1) EPOCHEAPSIZE $(3) $(4) @echo>>$(1) EPOCHEAPSIZE $(3) $(4)
@if "$(EXTSTATIC)" == "" echo>>$(1) OPTION GCCE -fvisibility=default @if "$(EXTSTATIC)" == "" echo>>$(1) OPTION GCCE -fvisibility=default
@if "$(EXTSTATIC)" == "" echo>>$(1) DEFFILE .\Ruby.def
endef endef
define ext_mmp define ext_mmp
@echo>$(1).mmp TARGET $(1).dll @echo>$(1)$(2).mmp TARGET $(2).dll
@echo>>$(1).mmp TARGETTYPE DLL @echo>>$(1)$(2).mmp TARGETTYPE DLL
@echo>>$(1).mmp UID 0x10004262 $(2) @echo>>$(1)$(2).mmp UID 0x10004262 $(3)
@echo>>$(1).mmp VENDORID 0 @echo>>$(1)$(2).mmp VENDORID 0
@echo>>$(1).mmp SECUREID $(2) @echo>>$(1)$(2).mmp SECUREID $(3)
@echo>>$(1).mmp CAPABILITY LocalServices NetworkServices ReadUserData UserEnvironment WriteUserData @echo>>$(1)$(2).mmp CAPABILITY LocalServices NetworkServices ReadUserData UserEnvironment WriteUserData
@echo>>$(1).mmp USERINCLUDE $(subst /,\,$(arch_hdrdir)) @echo>>$(1)$(2).mmp USERINCLUDE ..\$(subst /,\,$(arch_hdrdir))
@echo>>$(1).mmp USERINCLUDE $(subst /,\,$(srcdir)) @echo>>$(1)$(2).mmp USERINCLUDE ..\$(subst /,\,$(srcdir))
@echo>>$(1).mmp USERINCLUDE $(subst /,\,$(hdrdir)) @echo>>$(1)$(2).mmp USERINCLUDE ..\$(subst /,\,$(hdrdir))
@echo>>$(1).mmp USERINCLUDE $(subst /,\,$(hdrdir))\ruby @echo>>$(1)$(2).mmp USERINCLUDE ..\$(subst /,\,$(hdrdir))\ruby
@echo>>$(1).mmp USERINCLUDE $(subst /,\,$(srcdir))\missing @echo>>$(1)$(2).mmp USERINCLUDE ..\$(subst /,\,$(srcdir))\missing
@echo>>$(1).mmp SYSTEMINCLUDE $(subst /,\,$(arch_hdrdir)) @echo>>$(1)$(2).mmp SYSTEMINCLUDE ..\$(subst /,\,$(arch_hdrdir))
@echo>>$(1).mmp SYSTEMINCLUDE $(subst /,\,$(srcdir)) @echo>>$(1)$(2).mmp SYSTEMINCLUDE ..\$(subst /,\,$(srcdir))
@echo>>$(1).mmp SYSTEMINCLUDE $(subst /,\,$(hdrdir)) @echo>>$(1)$(2).mmp SYSTEMINCLUDE ..\$(subst /,\,$(hdrdir))
@echo>>$(1).mmp SYSTEMINCLUDE $(subst /,\,$(hdrdir))\ruby @echo>>$(1)$(2).mmp SYSTEMINCLUDE ..\$(subst /,\,$(hdrdir))\ruby
@echo>>$(1).mmp SYSTEMINCLUDE $(subst /,\,$(srcdir))\missing @echo>>$(1)$(2).mmp SYSTEMINCLUDE ..\$(subst /,\,$(srcdir))\missing
@echo>>$(1).mmp SYSTEMINCLUDE \epoc32\include\stdapis @echo>>$(1)$(2).mmp SYSTEMINCLUDE \epoc32\include\stdapis
@echo>>$(1).mmp SOURCEPATH $(subst /,\,$(srcdir))\ext\$(1) @echo>>$(1)$(2).mmp SOURCEPATH ..\$(subst /,\,$(srcdir))\ext\$(2)
@echo>>$(1).mmp SOURCE $(1).c $(3) @echo>>$(1)$(2).mmp SOURCE $(2).c $(4)
@echo>>$(1).mmp LIBRARY euser.lib @echo>>$(1)$(2).mmp LIBRARY euser.lib
@echo>>$(1).mmp LIBRARY libc.lib $(4) @echo>>$(1)$(2).mmp LIBRARY libc.lib $(5)
@echo>>$(1).mmp LIBRARY Ruby.lib @echo>>$(1)$(2).mmp LIBRARY Ruby.lib
@echo>>$(1).mmp OPTION GCCE -fvisibility=default @echo>>$(1)$(2).mmp OPTION GCCE -fvisibility=default
@echo>>$(1).mmp DEFFILE .\$(1).def
endef endef
define ext_def define ext_def
@echo>$(1)u.def EXPORTS @echo>$(1)$(2)u.def EXPORTS
@echo>>$(1)u.def ^ Init_$(1) @ 1 NONAME @echo>>$(1)$(2)u.def ^ Init_$(2) @ 1 NONAME
endef endef
define ruby_pkg define ruby_pkg
@ -377,28 +374,17 @@ endef
define ext_pkg define ext_pkg
@echo>ruby_$(1).pkg ^&EN @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"
@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 endef
define ext_bigdecimal_pkg_lib_append define ext_bigdecimal
@echo>>ruby_bigdecimal.pkg "$(subst /,\,$(srcdir))\ext\bigdecimal\lib\bigdecimal\jacobian.rb"-"!:\Data\Ruby\lib\bigdecimal\jacobian.rb" $(call ext_pkg,$(1),bigdecimal)
@echo>>ruby_bigdecimal.pkg "$(subst /,\,$(srcdir))\ext\bigdecimal\lib\bigdecimal\ludcmp.rb"-"!:\Data\Ruby\lib\bigdecimal\ludcmp.rb" @echo>>$(1) "..\$(subst /,\,$(srcdir))\ext\bigdecimal\lib\bigdecimal\jacobian.rb"-"!:\Data\Ruby\lib\bigdecimal\jacobian.rb"
@echo>>ruby_bigdecimal.pkg "$(subst /,\,$(srcdir))\ext\bigdecimal\lib\bigdecimal\math.rb"-"!:\Data\Ruby\lib\bigdecimal\math.rb" @echo>>$(1) "..\$(subst /,\,$(srcdir))\ext\bigdecimal\lib\bigdecimal\ludcmp.rb"-"!:\Data\Ruby\lib\bigdecimal\ludcmp.rb"
@echo>>ruby_bigdecimal.pkg "$(subst /,\,$(srcdir))\ext\bigdecimal\lib\bigdecimal\newton.rb"-"!:\Data\Ruby\lib\bigdecimal\newton.rb" @echo>>$(1) "..\$(subst /,\,$(srcdir))\ext\bigdecimal\lib\bigdecimal\math.rb"-"!:\Data\Ruby\lib\bigdecimal\math.rb"
@echo>>ruby_bigdecimal.pkg "$(subst /,\,$(srcdir))\ext\bigdecimal\lib\bigdecimal\util.rb"-"!:\Data\Ruby\lib\bigdecimal\util.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 endef
EPOCROOT := $(addsuffix \,$(word 3,$(shell devices -info @$(word 3,$(shell devices -default)) | find "Root"))) EPOCROOT := $(addsuffix \,$(word 3,$(shell devices -info @$(word 3,$(shell devices -default)) | find "Root")))
@ -407,10 +393,12 @@ ifndef SIGNED
RUBY_UID=0xA0001BC6 RUBY_UID=0xA0001BC6
STRINGIO_UID=0xA0001BC7 STRINGIO_UID=0xA0001BC7
BIGDECIMAL_UID=0xA0001BC8 BIGDECIMAL_UID=0xA0001BC8
ZLIB_UID=0xA0001BCB
else else
RUBY_UID=0x200205CC RUBY_UID=0x200205CC
STRINGIO_UID=0x200205CD STRINGIO_UID=0x200205CD
BIGDECIMAL_UID=0x200205CE BIGDECIMAL_UID=0x200205CE
ZLIB_UID=0x200205D0
endif endif