esruby 0.1.5 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: fbee1ba80196514659dbc8cea54a5d7d97bb617c4046a9729e9be950294b3f97
4
- data.tar.gz: cfe7eaf3fbadbf0cd2b088348a23db813501a751aca544a313077c531a5164cd
2
+ SHA1:
3
+ metadata.gz: 273c95715dfa163a32d132aa1c932e952df3be5c
4
+ data.tar.gz: b2f3a2aa88a13d2d9eccbc87a6d8a1ed4ce2c561
5
5
  SHA512:
6
- metadata.gz: 6ecc4ec227beced58b6154145435a27147db8ff593f886acc7ea4f03316fd920af2a1298e5d4a64899d7ad731d6672ce5653a5aa36e84899a49f4bcee6c87523
7
- data.tar.gz: 7240f89dfa640a155a84de90a0d51440ce5db111a7a2f17023636c7f39113bfc3734e50b518c2e0f5d9c4d6444c8df5fe3c5369d8f3a6fdd9836f6f03603926a
6
+ metadata.gz: a102c57d7e0856b6d5302bccafdcfbddb87e575331b730417220990dbb10018d18cf014de364cdb7d8cb02d706b865ea80577008c80f8a6cbf8ed52c0c7f2ac8
7
+ data.tar.gz: 9e9907d57d89faec9c60cfa40ad4b2c3d3a3f99e9b899916126d38a8a99a860ee76c48a3915273bafe378fc79953ad0a75d6f928ef8ae81a99dffc90bfac0567
@@ -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.1.5
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.7.6
442
+ rubygems_version: 2.6.11
443
443
  signing_key:
444
444
  specification_version: 4
445
445
  summary: Ruby running in the browser