rhodes 2.2.5.beta.1 → 2.2.5.beta.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +2 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/Rakefile +11 -6
- data/lib/framework/rho/rho.rb +21 -4
- data/lib/framework/rhoframework.rb +3 -2
- data/platform/android/build/android.rake +66 -56
- data/platform/android/build/androidcommon.rb +43 -16
- data/platform/shared/common/RhoPort.h +1 -0
- data/platform/shared/ruby/ext/rho/rhoruby.c +4 -0
- data/rhodes.gemspec +1 -1
- data/spec/phone_spec/app/spec/rho_spec.rb +2 -2
- metadata +4 -4
data/CHANGELOG
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
## 2.2.5
|
2
2
|
* support iPhone and iPad 4.2
|
3
|
+
* support Android SDK r08 and NDK r5
|
3
4
|
* support Blackberry 6
|
4
5
|
* support Samsung Galaxy
|
5
6
|
* GPS stops by timeout on Android
|
@@ -7,6 +8,7 @@
|
|
7
8
|
* NativeView on Android and Windows Mobile
|
8
9
|
* Tabbar badge for iPhone
|
9
10
|
* sms link fix for Blackberry
|
11
|
+
* fix issue with crash in case of exception in AppApplication.initialize
|
10
12
|
|
11
13
|
## 2.2.4
|
12
14
|
* Launch external browser
|
@@ -1,12 +1,16 @@
|
|
1
1
|
require 'fileutils'
|
2
2
|
|
3
|
-
USE_STLPORT = true
|
4
|
-
|
5
|
-
|
6
3
|
def build_extension(name, arch, src_files)
|
7
4
|
objects = []
|
8
5
|
mkdir_p $tempdir unless File.exists? $tempdir
|
9
6
|
|
7
|
+
use_own_stlport = false
|
8
|
+
$std_includes = File.join ENV['ANDROID_NDK'], "sources", "cxx-stl", "stlport", "stlport"
|
9
|
+
unless File.directory? $std_includes
|
10
|
+
$stlport_includes = "#{$rootdir}/platform/shared/stlport/stlport"
|
11
|
+
use_own_stlport = true
|
12
|
+
end
|
13
|
+
|
10
14
|
#Dir.glob("*.c").each do |f|
|
11
15
|
src_files.each do |f|
|
12
16
|
objname = File.join( $tempdir, File.basename( f.gsub(/\.c$/, '.o') ) )
|
@@ -17,12 +21,13 @@ def build_extension(name, arch, src_files)
|
|
17
21
|
args << "-I#{$rootdir}/platform/shared/ruby/include"
|
18
22
|
args << "-I#{$rootdir}/platform/shared"
|
19
23
|
|
20
|
-
args << "-
|
21
|
-
args << "-D__NEW__" if
|
24
|
+
args << "-I#{$std_includes}" unless $std_includes.nil?
|
25
|
+
args << "-D__NEW__" if use_own_stlport
|
26
|
+
args << "-I#{$stlport_includes}" if use_own_stlport
|
27
|
+
|
22
28
|
args << "-I#{$rootdir}/platform/shared/ruby/linux"
|
23
29
|
args << "-I#{$rootdir}/platform/shared/ruby/generated"
|
24
30
|
args << "-I#{$rootdir}/platform/android/Rhodes/jni/include"
|
25
|
-
args << "-I#{$rootdir}/platform/shared/stlport/stlport" if USE_STLPORT
|
26
31
|
|
27
32
|
cc_compile f, $tempdir, args or exit 1
|
28
33
|
|
data/lib/framework/rho/rho.rb
CHANGED
@@ -67,15 +67,31 @@ module Rho
|
|
67
67
|
#end
|
68
68
|
|
69
69
|
def init_app
|
70
|
-
|
70
|
+
puts "init_app"
|
71
|
+
begin
|
72
|
+
get_app(APPNAME)
|
73
|
+
rescue Exception => e
|
74
|
+
trace_msg = e.backtrace.join("\n")
|
75
|
+
puts 'Application initialize failed: ' + e.inspect + ";Trace: #{trace_msg}"
|
76
|
+
end
|
71
77
|
end
|
72
78
|
|
73
79
|
def activate_app
|
74
|
-
|
80
|
+
begin
|
81
|
+
get_app(APPNAME).on_activate_app
|
82
|
+
rescue Exception => e
|
83
|
+
trace_msg = e.backtrace.join("\n")
|
84
|
+
puts 'Application activate failed: ' + e.inspect + ";Trace: #{trace_msg}"
|
85
|
+
end
|
75
86
|
end
|
76
87
|
|
77
88
|
def deactivate_app
|
78
|
-
|
89
|
+
begin
|
90
|
+
get_app(APPNAME).on_deactivate_app
|
91
|
+
rescue Exception => e
|
92
|
+
trace_msg = e.backtrace.join("\n")
|
93
|
+
puts 'Application activate failed: ' + e.inspect + ";Trace: #{trace_msg}"
|
94
|
+
end
|
79
95
|
end
|
80
96
|
|
81
97
|
# make sure we close the database file
|
@@ -117,11 +133,12 @@ module Rho
|
|
117
133
|
Rhom::RhomObjectFactory.init_object(modelName)
|
118
134
|
require str
|
119
135
|
|
120
|
-
|
136
|
+
puts "model name: #{modelName}"
|
121
137
|
|
122
138
|
modelClass = nil
|
123
139
|
modelClass = Object.const_get(modelName) if Object.const_defined?(modelName)
|
124
140
|
if modelClass
|
141
|
+
puts "model class found"
|
125
142
|
if modelClass.respond_to?( :get_model_params )
|
126
143
|
Rho::RhoConfig::add_source(modelName,modelClass.get_model_params())
|
127
144
|
modelClass.reset_model_params()
|
@@ -2,12 +2,12 @@
|
|
2
2
|
require File.dirname(__FILE__) + '/androidcommon.rb'
|
3
3
|
require 'pathname'
|
4
4
|
|
5
|
-
|
5
|
+
USE_OWN_STLPORT = false
|
6
6
|
USE_TRACES = false
|
7
7
|
|
8
8
|
ANDROID_API_LEVEL_TO_MARKET_VERSION = {}
|
9
9
|
ANDROID_MARKET_VERSION_TO_API_LEVEL = {}
|
10
|
-
{2 => "1.1", 3 => "1.5", 4 => "1.6", 5 => "2.0", 6 => "2.0.1", 7 => "2.1", 8 => "2.2"}.each do |k,v|
|
10
|
+
{2 => "1.1", 3 => "1.5", 4 => "1.6", 5 => "2.0", 6 => "2.0.1", 7 => "2.1", 8 => "2.2", 9 => "2.3"}.each do |k,v|
|
11
11
|
ANDROID_API_LEVEL_TO_MARKET_VERSION[k] = v
|
12
12
|
ANDROID_MARKET_VERSION_TO_API_LEVEL[v] = k
|
13
13
|
end
|
@@ -352,10 +352,13 @@ namespace "config" do
|
|
352
352
|
$stdout.flush
|
353
353
|
|
354
354
|
$dx = File.join( $androidsdkpath, "platforms", $androidplatform, "tools", "dx" + $bat_ext )
|
355
|
+
$dx = File.join( $androidsdkpath, "platform-tools", "dx" + $bat_ext ) unless File.exists? $dx
|
355
356
|
$aapt = File.join( $androidsdkpath, "platforms", $androidplatform, "tools", "aapt" + $exe_ext )
|
357
|
+
$aapt = File.join( $androidsdkpath, "platform-tools", "aapt" + $exe_ext ) unless File.exists? $aapt
|
356
358
|
$apkbuilder = File.join( $androidsdkpath, "tools", "apkbuilder" + $bat_ext )
|
357
359
|
$androidbin = File.join( $androidsdkpath, "tools", "android" + $bat_ext )
|
358
360
|
$adb = File.join( $androidsdkpath, "tools", "adb" + $exe_ext )
|
361
|
+
$adb = File.join( $androidsdkpath, "platform-tools", "adb" + $exe_ext ) unless File.exists? $adb
|
359
362
|
$zipalign = File.join( $androidsdkpath, "tools", "zipalign" + $exe_ext )
|
360
363
|
$androidjar = File.join($androidsdkpath, "platforms", $androidplatform, "android.jar")
|
361
364
|
|
@@ -468,7 +471,11 @@ namespace "config" do
|
|
468
471
|
|
469
472
|
setup_ndk($androidndkpath, ANDROID_API_LEVEL)
|
470
473
|
|
471
|
-
$
|
474
|
+
$std_includes = File.join $androidndkpath, "sources", "cxx-stl", "stlport", "stlport"
|
475
|
+
unless File.directory? $std_includes
|
476
|
+
$stlport_includes = File.join $shareddir, "stlport", "stlport"
|
477
|
+
USE_OWN_STLPORT = true
|
478
|
+
end
|
472
479
|
|
473
480
|
$native_libs = ["sqlite", "curl", "stlport", "ruby", "json", "rhocommon", "rhodb", "rholog", "rhosync", "rhomain"]
|
474
481
|
|
@@ -480,11 +487,11 @@ namespace "config" do
|
|
480
487
|
$objdir = {}
|
481
488
|
$libname = {}
|
482
489
|
$native_libs.each do |x|
|
483
|
-
$objdir[x] = File.join($rhobindir, $confdir, $ndkgccver, "lib" + x)
|
484
|
-
$libname[x] = File.join($rhobindir, $confdir, $ndkgccver, "lib" + x + ".a")
|
490
|
+
$objdir[x] = File.join($rhobindir, $confdir, $ndkabi, $ndkgccver, "lib" + x)
|
491
|
+
$libname[x] = File.join($rhobindir, $confdir, $ndkabi, $ndkgccver, "lib" + x + ".a")
|
485
492
|
end
|
486
493
|
|
487
|
-
$extensionsdir = $bindir + "/libs/" + $confdir + "/" + $ndkgccver + "/extensions"
|
494
|
+
$extensionsdir = $bindir + "/libs/" + $confdir + "/" + $ndkabi + "/" + $ndkgccver + "/extensions"
|
488
495
|
|
489
496
|
#$app_config["extensions"] = [] if $app_config["extensions"].nil?
|
490
497
|
#$app_config["extensions"] = [] unless $app_config["extensions"].is_a? Array
|
@@ -643,8 +650,9 @@ namespace "build" do
|
|
643
650
|
args << "-I#{srcdir}"
|
644
651
|
args << "-I#{srcdir}/.."
|
645
652
|
args << "-I#{srcdir}/../sqlite"
|
646
|
-
args << "-
|
647
|
-
args << "-
|
653
|
+
args << "-I#{$std_includes}" unless $std_includes.nil?
|
654
|
+
args << "-D__NEW__" if USE_OWN_STLPORT
|
655
|
+
args << "-I#{$stlport_includes}" if USE_OWN_STLPORT
|
648
656
|
|
649
657
|
cc_build 'libruby', objdir, args or exit 1
|
650
658
|
cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
|
@@ -657,38 +665,34 @@ namespace "build" do
|
|
657
665
|
args = []
|
658
666
|
args << "-I#{srcdir}"
|
659
667
|
args << "-I#{srcdir}/.."
|
660
|
-
args << "-
|
661
|
-
args << "-
|
668
|
+
args << "-I#{$std_includes}" unless $std_includes.nil?
|
669
|
+
args << "-D__NEW__" if USE_OWN_STLPORT
|
670
|
+
args << "-I#{$stlport_includes}" if USE_OWN_STLPORT
|
662
671
|
|
663
672
|
cc_build 'libjson', objdir, args or exit 1
|
664
673
|
cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
|
665
674
|
end
|
666
675
|
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
args << "-fno-exceptions"
|
688
|
-
|
689
|
-
cc_build 'libstlport', objdir, args or exit 1
|
690
|
-
cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
|
691
|
-
end
|
676
|
+
task :libstlport => "config:android" do
|
677
|
+
if USE_OWN_STLPORT
|
678
|
+
objdir = $objdir["stlport"]
|
679
|
+
libname = $libname["stlport"]
|
680
|
+
|
681
|
+
args = []
|
682
|
+
args << "-I#{$stlport_includes}"
|
683
|
+
args << "-DTARGET_OS=android"
|
684
|
+
args << "-DOSNAME=android"
|
685
|
+
args << "-DCOMPILER_NAME=gcc"
|
686
|
+
args << "-DBUILD_OSNAME=android"
|
687
|
+
args << "-D_REENTRANT"
|
688
|
+
args << "-D__NEW__"
|
689
|
+
args << "-ffunction-sections"
|
690
|
+
args << "-fdata-sections"
|
691
|
+
args << "-fno-rtti"
|
692
|
+
args << "-fno-exceptions"
|
693
|
+
|
694
|
+
cc_build 'libstlport', objdir, args or exit 1
|
695
|
+
cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
|
692
696
|
end
|
693
697
|
end
|
694
698
|
|
@@ -698,8 +702,9 @@ namespace "build" do
|
|
698
702
|
libname = $libname["rholog"]
|
699
703
|
args = []
|
700
704
|
args << "-I#{srcdir}/.."
|
701
|
-
args << "-
|
702
|
-
args << "-
|
705
|
+
args << "-I#{$std_includes}" unless $std_includes.nil?
|
706
|
+
args << "-D__NEW__" if USE_OWN_STLPORT
|
707
|
+
args << "-I#{$stlport_includes}" if USE_OWN_STLPORT
|
703
708
|
|
704
709
|
cc_build 'librholog', objdir, args or exit 1
|
705
710
|
cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
|
@@ -711,8 +716,9 @@ namespace "build" do
|
|
711
716
|
libname = $libname["rhomain"]
|
712
717
|
args = []
|
713
718
|
args << "-I#{srcdir}"
|
714
|
-
args << "-
|
715
|
-
args << "-
|
719
|
+
args << "-I#{$std_includes}" unless $std_includes.nil?
|
720
|
+
args << "-D__NEW__" if USE_OWN_STLPORT
|
721
|
+
args << "-I#{$stlport_includes}" if USE_OWN_STLPORT
|
716
722
|
|
717
723
|
cc_build 'librhomain', objdir, args or exit 1
|
718
724
|
cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
|
@@ -724,8 +730,9 @@ namespace "build" do
|
|
724
730
|
args = []
|
725
731
|
args << "-I#{$shareddir}"
|
726
732
|
args << "-I#{$shareddir}/curl/include"
|
727
|
-
args << "-
|
728
|
-
args << "-
|
733
|
+
args << "-I#{$std_includes}" unless $std_includes.nil?
|
734
|
+
args << "-D__NEW__" if USE_OWN_STLPORT
|
735
|
+
args << "-I#{$stlport_includes}" if USE_OWN_STLPORT
|
729
736
|
|
730
737
|
cc_build 'librhocommon', objdir, args or exit 1
|
731
738
|
cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
|
@@ -739,8 +746,9 @@ namespace "build" do
|
|
739
746
|
args << "-I#{srcdir}"
|
740
747
|
args << "-I#{srcdir}/.."
|
741
748
|
args << "-I#{srcdir}/../sqlite"
|
742
|
-
args << "-
|
743
|
-
args << "-
|
749
|
+
args << "-I#{$std_includes}" unless $std_includes.nil?
|
750
|
+
args << "-D__NEW__" if USE_OWN_STLPORT
|
751
|
+
args << "-I#{$stlport_includes}" if USE_OWN_STLPORT
|
744
752
|
|
745
753
|
cc_build 'librhodb', objdir, args or exit 1
|
746
754
|
cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
|
@@ -754,8 +762,9 @@ namespace "build" do
|
|
754
762
|
args << "-I#{srcdir}"
|
755
763
|
args << "-I#{srcdir}/.."
|
756
764
|
args << "-I#{srcdir}/../sqlite"
|
757
|
-
args << "-
|
758
|
-
args << "-
|
765
|
+
args << "-I#{$std_includes}" unless $std_includes.nil?
|
766
|
+
args << "-D__NEW__" if USE_OWN_STLPORT
|
767
|
+
args << "-I#{$stlport_includes}" if USE_OWN_STLPORT
|
759
768
|
|
760
769
|
cc_build 'librhosync', objdir, args or exit 1
|
761
770
|
cc_ar libname, Dir.glob(objdir + "/**/*.o") or exit 1
|
@@ -892,8 +901,8 @@ namespace "build" do
|
|
892
901
|
|
893
902
|
task :librhodes => [:libs, :gensources] do
|
894
903
|
srcdir = File.join $androidpath, "Rhodes", "jni", "src"
|
895
|
-
objdir = File.join $bindir, "libs", $confdir, $ndkgccver, "librhodes"
|
896
|
-
libname = File.join $bindir, "libs", $confdir, $ndkgccver, "librhodes.so"
|
904
|
+
objdir = File.join $bindir, "libs", $confdir, $ndkabi, $ndkgccver, "librhodes"
|
905
|
+
libname = File.join $bindir, "libs", $confdir, $ndkabi, $ndkgccver, "librhodes.so"
|
897
906
|
|
898
907
|
args = []
|
899
908
|
args << "-I#{$appincdir}"
|
@@ -904,9 +913,10 @@ namespace "build" do
|
|
904
913
|
args << "-I#{$shareddir}/curl/include"
|
905
914
|
args << "-I#{$shareddir}/ruby/include"
|
906
915
|
args << "-I#{$shareddir}/ruby/linux"
|
907
|
-
args << "-
|
908
|
-
args << "-
|
909
|
-
args << "-
|
916
|
+
args << "-I#{$std_includes}" unless $std_includes.nil?
|
917
|
+
args << "-D__SGI_STL_INTERNAL_PAIR_H" if USE_OWN_STLPORT
|
918
|
+
args << "-D__NEW__" if USE_OWN_STLPORT
|
919
|
+
args << "-I#{$stlport_includes}" if USE_OWN_STLPORT
|
910
920
|
|
911
921
|
cc_build 'librhodes', objdir, args or exit 1
|
912
922
|
|
@@ -916,8 +926,8 @@ namespace "build" do
|
|
916
926
|
end
|
917
927
|
|
918
928
|
args = []
|
919
|
-
args << "-L#{$rhobindir}/#{$confdir}/#{$ndkgccver}"
|
920
|
-
args << "-L#{$bindir}/libs/#{$confdir}/#{$ndkgccver}"
|
929
|
+
args << "-L#{$rhobindir}/#{$confdir}/#{$ndkabi}/#{$ndkgccver}"
|
930
|
+
args << "-L#{$bindir}/libs/#{$confdir}/#{$ndkabi}/#{$ndkgccver}"
|
921
931
|
args << "-L#{$extensionsdir}"
|
922
932
|
|
923
933
|
rlibs = []
|
@@ -928,7 +938,7 @@ namespace "build" do
|
|
928
938
|
rlibs << "rholog"
|
929
939
|
rlibs << "rhocommon"
|
930
940
|
rlibs << "json"
|
931
|
-
rlibs << "stlport" if
|
941
|
+
rlibs << "stlport" if USE_OWN_STLPORT
|
932
942
|
rlibs << "curl"
|
933
943
|
rlibs << "sqlite"
|
934
944
|
rlibs << "log"
|
@@ -1108,7 +1118,7 @@ namespace "package" do
|
|
1108
1118
|
# Add native librhodes.so
|
1109
1119
|
rm_rf File.join($tmpdir, "lib")
|
1110
1120
|
mkdir_p File.join($tmpdir, "lib/armeabi")
|
1111
|
-
cp_r File.join($bindir, "libs", $confdir, $ndkgccver, "librhodes.so"), File.join($tmpdir, "lib/armeabi")
|
1121
|
+
cp_r File.join($bindir, "libs", $confdir, $ndkabi, $ndkgccver, "librhodes.so"), File.join($tmpdir, "lib/armeabi")
|
1112
1122
|
# Add extensions .so libraries
|
1113
1123
|
Dir.glob($extensionsdir + "/lib*.so").each do |lib|
|
1114
1124
|
cp_r lib, File.join($tmpdir, "lib/armeabi")
|
@@ -1576,8 +1586,8 @@ namespace "clean" do
|
|
1576
1586
|
end
|
1577
1587
|
end
|
1578
1588
|
task :librhodes => "config:android" do
|
1579
|
-
rm_rf $rhobindir + "/" + $confdir + "/" + $ndkgccver + "/librhodes"
|
1580
|
-
rm_rf $bindir + "/libs/" + $confdir + "/" + $ndkgccver + "/librhodes.so"
|
1589
|
+
rm_rf $rhobindir + "/" + $confdir + "/" + $ndkabi + "/" + $ndkgccver + "/librhodes"
|
1590
|
+
rm_rf $bindir + "/libs/" + $confdir + "/" + $ndkabi + "/" + $ndkgccver + "/librhodes.so"
|
1581
1591
|
end
|
1582
1592
|
# desc "clean android"
|
1583
1593
|
task :all => [:assets,:librhodes,:libs,:files]
|
@@ -36,19 +36,42 @@ def get_sources(name)
|
|
36
36
|
end
|
37
37
|
|
38
38
|
def setup_ndk(ndkpath,apilevel)
|
39
|
+
$ndktools = nil
|
40
|
+
$ndkabi = "unknown"
|
39
41
|
$ndkgccver = "unknown"
|
40
|
-
["4.4.0", "4.2.1"].each do |
|
41
|
-
|
42
|
-
|
43
|
-
$
|
44
|
-
|
42
|
+
["arm-eabi-4.4.0", "arm-eabi-4.2.1"].each do |abi|
|
43
|
+
variants = []
|
44
|
+
variants << File.join(ndkpath, "toolchains", abi, "prebuilt", $ndkhost)
|
45
|
+
variants << File.join(ndkpath, "build/prebuilt", $ndkhost, abi)
|
46
|
+
variants.each do |variant|
|
47
|
+
next unless File.directory? variant
|
48
|
+
$ndktools = variant
|
49
|
+
$ndkabi = abi.gsub(/^(.*)-([^-]*)$/, '\1')
|
50
|
+
$ndkgccver = abi.gsub(/^(.*)-([^-]*)$/, '\2')
|
51
|
+
break
|
52
|
+
end
|
53
|
+
break unless $ndktools.nil?
|
54
|
+
end
|
55
|
+
if $ndktools.nil?
|
56
|
+
raise "Can't detect NDK toolchain path (corrupted NDK installation?)"
|
57
|
+
end
|
58
|
+
|
59
|
+
variants = []
|
60
|
+
variants << "platforms"
|
61
|
+
variants << "build/platforms"
|
62
|
+
variants.each do |variant|
|
63
|
+
sysroot = File.join(ndkpath, variant, "android-#{apilevel}/arch-arm")
|
64
|
+
next unless File.directory? sysroot
|
65
|
+
$ndksysroot = sysroot
|
45
66
|
break
|
46
67
|
end
|
47
|
-
$ndksysroot
|
68
|
+
if $ndksysroot.nil?
|
69
|
+
raise "Can't detect NDK sysroot (corrupted NDK installation?)"
|
70
|
+
end
|
48
71
|
|
49
72
|
['gcc', 'g++', 'ar', 'strip', 'objdump'].each do |tool|
|
50
73
|
name = tool.gsub('+', 'p')
|
51
|
-
eval "$#{name}bin = $ndktools + '/bin
|
74
|
+
eval "$#{name}bin = $ndktools + '/bin/#{$ndkabi}-#{tool}' + $exe_ext"
|
52
75
|
end
|
53
76
|
|
54
77
|
# Detect rlim_t
|
@@ -98,7 +121,8 @@ def cpp_def_args
|
|
98
121
|
if $cpp_def_args_val.nil?
|
99
122
|
args = []
|
100
123
|
args << "-fvisibility-inlines-hidden"
|
101
|
-
args << "-
|
124
|
+
args << "-fno-exceptions"
|
125
|
+
args << "-fno-rtti"
|
102
126
|
$cpp_def_args_val = args
|
103
127
|
end
|
104
128
|
$cpp_def_args_val.dup
|
@@ -238,8 +262,12 @@ def cc_link(outname, objects, additional = nil, deps = nil)
|
|
238
262
|
dependencies += deps unless deps.nil?
|
239
263
|
return true if FileUtils.uptodate? outname, dependencies
|
240
264
|
args = []
|
241
|
-
|
242
|
-
|
265
|
+
if $ndkabi == "arm-eabi"
|
266
|
+
args << "-nostdlib"
|
267
|
+
args << "-Wl,-shared,-Bsymbolic"
|
268
|
+
else
|
269
|
+
args << "-shared"
|
270
|
+
end
|
243
271
|
args << "-Wl,--no-whole-archive"
|
244
272
|
args << "-Wl,--no-undefined"
|
245
273
|
args << "-Wl,-z,defs"
|
@@ -249,16 +277,15 @@ def cc_link(outname, objects, additional = nil, deps = nil)
|
|
249
277
|
args << outname
|
250
278
|
args += objects
|
251
279
|
args += additional if additional.is_a? Array and not additional.empty?
|
280
|
+
unless USE_OWN_STLPORT
|
281
|
+
stlportlib = File.join($androidndkpath, "sources/cxx-stl/stlport/libs/armeabi/libstlport_static.a")
|
282
|
+
args << stlportlib if File.exists? stlportlib
|
283
|
+
end
|
252
284
|
args << "-L#{$ndksysroot}/usr/lib"
|
253
285
|
args << "-Wl,-rpath-link=#{$ndksysroot}/usr/lib"
|
254
286
|
if $cxxlibs.nil?
|
255
287
|
$cxxlibs = []
|
256
|
-
|
257
|
-
$cxxlibs << File.join($ndksysroot, "usr/lib/libstdc++.so")
|
258
|
-
else
|
259
|
-
$cxxlibs << `#{$gccbin} -mthumb-interwork -print-file-name=libstdc++.a`.gsub("\n", "")
|
260
|
-
$cxxlibs << `#{$gccbin} -mthumb-interwork -print-file-name=libsupc++.a`.gsub("\n", "")
|
261
|
-
end
|
288
|
+
$cxxlibs << File.join($ndksysroot, "usr/lib/libstdc++.so")
|
262
289
|
end
|
263
290
|
args += $cxxlibs
|
264
291
|
$libgcc = `#{$gccbin} -mthumb-interwork -print-file-name=libgcc.a`.gsub("\n", "") if $libgcc.nil?
|
@@ -183,6 +183,10 @@ void RhoRubyStart()
|
|
183
183
|
#endif
|
184
184
|
|
185
185
|
require_compiled(rb_str_new2("rhoframework"), &framework );
|
186
|
+
if ( framework == 0 || framework == Qnil )
|
187
|
+
{
|
188
|
+
RAWLOG_FATAL("RHO framework creating failed. Application will exit.");
|
189
|
+
}
|
186
190
|
|
187
191
|
#ifdef ENABLE_RUBY_VM_STAT
|
188
192
|
gettimeofday (&end, NULL);
|
data/rhodes.gemspec
CHANGED
@@ -3,7 +3,7 @@ require "lib/rhodes.rb"
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = %q{rhodes}
|
6
|
-
s.version = '2.2.5.beta.
|
6
|
+
s.version = '2.2.5.beta.2'
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
9
9
|
s.authors = ["Rhomobile"]
|
@@ -71,8 +71,8 @@ describe "RhoConfig" do
|
|
71
71
|
end
|
72
72
|
|
73
73
|
it "should read log" do
|
74
|
-
|
75
|
-
|
74
|
+
# log_text = Rho::RhoConfig.read_log
|
75
|
+
# log_text.length.should > 0
|
76
76
|
|
77
77
|
log_text = Rho::RhoConfig.read_log(20000)
|
78
78
|
log_text.length.should <= 20000
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rhodes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 62196463
|
5
5
|
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 2
|
9
9
|
- 5
|
10
10
|
- beta
|
11
|
-
-
|
12
|
-
version: 2.2.5.beta.
|
11
|
+
- 2
|
12
|
+
version: 2.2.5.beta.2
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- Rhomobile
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2010-12-
|
20
|
+
date: 2010-12-08 00:00:00 -08:00
|
21
21
|
default_executable:
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|