esruby 0.1.5 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/esruby/build.rb +8 -3
- data/lib/esruby/build/configuration.rb +3 -0
- data/resources/build_config.eruby +3 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 273c95715dfa163a32d132aa1c932e952df3be5c
|
4
|
+
data.tar.gz: b2f3a2aa88a13d2d9eccbc87a6d8a1ed4ce2c561
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a102c57d7e0856b6d5302bccafdcfbddb87e575331b730417220990dbb10018d18cf014de364cdb7d8cb02d706b865ea80577008c80f8a6cbf8ed52c0c7f2ac8
|
7
|
+
data.tar.gz: 9e9907d57d89faec9c60cfa40ad4b2c3d3a3f99e9b899916126d38a8a99a860ee76c48a3915273bafe378fc79953ad0a75d6f928ef8ae81a99dffc90bfac0567
|
data/lib/esruby/build.rb
CHANGED
@@ -79,6 +79,10 @@ module ESRuby
|
|
79
79
|
@configuration.ruby_sources
|
80
80
|
end
|
81
81
|
|
82
|
+
def flags
|
83
|
+
@configuration.flags.join(" ")
|
84
|
+
end
|
85
|
+
|
82
86
|
def build_mruby_config
|
83
87
|
template = File.read("#{gem_directory}/resources/build_config.eruby")
|
84
88
|
eruby = Erubis::Eruby.new(template)
|
@@ -90,6 +94,7 @@ module ESRuby
|
|
90
94
|
config[:project_directory] = project_directory
|
91
95
|
config[:gems] = gems
|
92
96
|
config[:gem_paths_file] = gem_paths_file
|
97
|
+
config[:flags] = @configuration.flags
|
93
98
|
new_output = eruby.result(config)
|
94
99
|
output_path = "#{build_directory}/build_config.rb"
|
95
100
|
old_output = File.read(output_path) if File.exists?(output_path)
|
@@ -136,9 +141,9 @@ module ESRuby
|
|
136
141
|
js_arguments += " "
|
137
142
|
js_arguments += appended_js_sources.map { |path| "--post-js #{path}" }.join(" ")
|
138
143
|
RakeFileUtils.sh "#{mrbc} -B app -o #{build_directory}/app.c #{ruby_sources.join(" ")}"
|
139
|
-
RakeFileUtils.sh "emcc --bind #{cxx_include_argument} #{build_directory}/app.c -o #{build_directory}/app.o #{build_directory}/emscripten/lib/libmruby.a -lm #{js_arguments} #{optimization_argument} #{closure_argument} #{debug_argument} -s ALLOW_MEMORY_GROWTH=1"
|
140
|
-
RakeFileUtils.sh "emcc -std=c++11 --bind #{cxx_include_argument} #{gem_directory}/resources/cpp/main.cpp -o #{build_directory}/main.o #{build_directory}/emscripten/lib/libmruby.a -lm #{js_arguments} #{optimization_argument} #{closure_argument} #{debug_argument} -s ALLOW_MEMORY_GROWTH=1"
|
141
|
-
RakeFileUtils.sh "emcc --bind #{cxx_include_argument} -o #{build_directory}/output.js #{build_directory}/app.o #{build_directory}/main.o #{build_directory}/emscripten/lib/libmruby.a -lm #{js_arguments} #{optimization_argument} #{closure_argument} #{debug_argument} -s ALLOW_MEMORY_GROWTH=1 -s WASM=0 -s DISABLE_EXCEPTION_CATCHING=0"
|
144
|
+
RakeFileUtils.sh "emcc --bind #{cxx_include_argument} #{build_directory}/app.c -o #{build_directory}/app.o #{build_directory}/emscripten/lib/libmruby.a -lm #{js_arguments} #{optimization_argument} #{closure_argument} #{debug_argument} #{flags} -s ALLOW_MEMORY_GROWTH=1"
|
145
|
+
RakeFileUtils.sh "emcc -std=c++11 --bind #{cxx_include_argument} #{gem_directory}/resources/cpp/main.cpp -o #{build_directory}/main.o #{build_directory}/emscripten/lib/libmruby.a -lm #{js_arguments} #{optimization_argument} #{closure_argument} #{debug_argument} #{flags} -s ALLOW_MEMORY_GROWTH=1"
|
146
|
+
RakeFileUtils.sh "emcc --bind #{cxx_include_argument} -o #{build_directory}/output.js #{build_directory}/app.o #{build_directory}/main.o #{build_directory}/emscripten/lib/libmruby.a -lm #{js_arguments} #{optimization_argument} #{closure_argument} #{debug_argument} #{flags} -s ALLOW_MEMORY_GROWTH=1 -s WASM=0 -s DISABLE_EXCEPTION_CATCHING=0"
|
142
147
|
#if build.build_mode == 'production'
|
143
148
|
# ENV["EMCC_CLOSURE_ARGS"] = "--language_in=ECMASCRIPT6" #possibly allow setting output: --language_out=ECMASCRIPT6
|
144
149
|
# sh "java -jar #{PROJECT_DIRECTORY}/emsdk/emscripten/incoming/third_party/closure-compiler/compiler.jar --js #{build.absolute_build_directory}/output.js --js_output_file #{build.absolute_output}"
|
@@ -5,6 +5,8 @@ module ESRuby
|
|
5
5
|
attr_reader :ruby_sources, :prepended_js_sources, :appended_js_sources,
|
6
6
|
:build_mode, :gems, :mruby_directory, :output
|
7
7
|
|
8
|
+
attr_accessor :flags
|
9
|
+
|
8
10
|
def initialize
|
9
11
|
@project_directory = nil
|
10
12
|
@build_directory = nil
|
@@ -14,6 +16,7 @@ module ESRuby
|
|
14
16
|
@prepended_js_sources = []
|
15
17
|
@appended_js_sources = []
|
16
18
|
@gems = []
|
19
|
+
@flags = []
|
17
20
|
end
|
18
21
|
|
19
22
|
def project_directory
|
@@ -37,6 +37,9 @@ MRuby::CrossBuild.new('app') do |conf|
|
|
37
37
|
c.flags << '<%= optimization_argument %>'
|
38
38
|
c.flags << '<%= closure_argument %>'
|
39
39
|
c.flags << '<%= debug_argument %>'
|
40
|
+
<% for flag in flags %>
|
41
|
+
c.flags << '<%= flag %>'
|
42
|
+
<% end %>
|
40
43
|
end
|
41
44
|
|
42
45
|
conf.gem_clone_dir = '<%= project_directory %>/gems'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: esruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rob Fors
|
@@ -439,7 +439,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
439
439
|
version: '0'
|
440
440
|
requirements: []
|
441
441
|
rubyforge_project:
|
442
|
-
rubygems_version: 2.
|
442
|
+
rubygems_version: 2.6.11
|
443
443
|
signing_key:
|
444
444
|
specification_version: 4
|
445
445
|
summary: Ruby running in the browser
|