1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

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
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

View file

@ -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 :

View file

@ -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)$(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).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)$(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).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)$(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).mmp SYSTEMINCLUDE \epoc32\include\stdapis
@echo>>$(1)$(2).mmp SYSTEMINCLUDE \epoc32\include\stdapis
@echo>>$(1).mmp SOURCEPATH $(subst /,\,$(srcdir))\ext\$(1)
@echo>>$(1).mmp SOURCE $(1).c $(3)
@echo>>$(1)$(2).mmp SOURCEPATH ..\$(subst /,\,$(srcdir))\ext\$(2)
@echo>>$(1)$(2).mmp SOURCE $(2).c $(4)
@echo>>$(1).mmp LIBRARY euser.lib
@echo>>$(1).mmp LIBRARY libc.lib $(4)
@echo>>$(1).mmp LIBRARY Ruby.lib
@echo>>$(1)$(2).mmp LIBRARY euser.lib
@echo>>$(1)$(2).mmp LIBRARY libc.lib $(5)
@echo>>$(1)$(2).mmp LIBRARY Ruby.lib
@echo>>$(1).mmp OPTION GCCE -fvisibility=default
@echo>>$(1).mmp DEFFILE .\$(1).def
@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