script_core 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.rubocop.yml +8 -6
- data/.ruby-version +1 -1
- data/Gemfile +2 -1
- data/bin/sandbox +1 -1
- data/ext/enterprise_script_service/Rakefile +1 -1
- data/ext/enterprise_script_service/flags.rb +5 -0
- data/ext/enterprise_script_service/libseccomp/CHANGELOG +15 -0
- data/ext/enterprise_script_service/libseccomp/CREDITS +3 -0
- data/ext/enterprise_script_service/libseccomp/Makefile.am +1 -1
- data/ext/enterprise_script_service/libseccomp/README.md +1 -1
- data/ext/enterprise_script_service/libseccomp/SECURITY.md +45 -0
- data/ext/enterprise_script_service/libseccomp/configure.ac +3 -3
- data/ext/enterprise_script_service/libseccomp/doc/admin/MAINTAINER_PROCESS.md +95 -0
- data/ext/enterprise_script_service/libseccomp/{RELEASE_PROCESS.md → doc/admin/RELEASE_PROCESS.md} +9 -1
- data/ext/enterprise_script_service/libseccomp/include/Makefile.am +1 -1
- data/ext/enterprise_script_service/libseccomp/include/seccomp-syscalls.h +2292 -0
- data/ext/enterprise_script_service/libseccomp/include/seccomp.h.in +3 -1065
- data/ext/enterprise_script_service/libseccomp/src/arch-aarch64-syscalls.c +35 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-arm-syscalls.c +35 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-mips-syscalls.c +43 -11
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64-syscalls.c +33 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32-syscalls.c +33 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc-syscalls.c +34 -2
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc-syscalls.c +43 -11
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64-syscalls.c +44 -12
- data/ext/enterprise_script_service/libseccomp/src/arch-s390-syscalls.c +46 -14
- data/ext/enterprise_script_service/libseccomp/src/arch-s390.c +142 -18
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x-syscalls.c +47 -15
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x.c +143 -17
- data/ext/enterprise_script_service/libseccomp/src/arch-x32-syscalls.c +33 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-x86-syscalls.c +94 -12
- data/ext/enterprise_script_service/libseccomp/src/arch-x86.c +142 -19
- data/ext/enterprise_script_service/libseccomp/src/arch-x86_64-syscalls.c +33 -1
- data/ext/enterprise_script_service/libseccomp/src/db.c +1 -0
- data/ext/enterprise_script_service/libseccomp/src/gen_bpf.c +10 -3
- data/ext/enterprise_script_service/libseccomp/src/python/Makefile.am +4 -4
- data/ext/enterprise_script_service/libseccomp/src/python/seccomp.pyx +2 -0
- data/ext/enterprise_script_service/libseccomp/tests/.gitignore +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/50-sim-hash_collision.c +98 -0
- data/ext/enterprise_script_service/libseccomp/tests/50-sim-hash_collision.py +61 -0
- data/ext/enterprise_script_service/libseccomp/tests/50-sim-hash_collision.tests +18 -0
- data/ext/enterprise_script_service/libseccomp/tests/Makefile.am +6 -3
- data/ext/enterprise_script_service/libseccomp/tools/Makefile.am +0 -2
- data/ext/enterprise_script_service/libseccomp/tools/check-syntax +1 -0
- data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_sim.c +2 -0
- data/ext/enterprise_script_service/mruby-mpdecimal/src/ext.c +1 -1
- data/ext/enterprise_script_service/mruby/.gitignore +2 -2
- data/ext/enterprise_script_service/mruby/CONTRIBUTING.md +10 -3
- data/ext/enterprise_script_service/mruby/Doxyfile +2408 -0
- data/ext/enterprise_script_service/mruby/README.md +21 -8
- data/ext/enterprise_script_service/mruby/Rakefile +4 -13
- data/ext/enterprise_script_service/mruby/appveyor_config.rb +1 -1
- data/ext/enterprise_script_service/mruby/build_config.rb +3 -3
- data/ext/enterprise_script_service/mruby/doc/guides/compile.md +42 -42
- data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +1 -1
- data/ext/enterprise_script_service/mruby/doc/guides/mrbconf.md +45 -6
- data/ext/enterprise_script_service/mruby/doc/guides/mrbgems.md +5 -0
- data/ext/enterprise_script_service/mruby/doc/limitations.md +88 -38
- data/ext/enterprise_script_service/mruby/doc/mruby_logo_red_icon.png +0 -0
- data/ext/enterprise_script_service/mruby/doc/opcode.md +94 -94
- data/ext/enterprise_script_service/mruby/include/mrbconf.h +74 -11
- data/ext/enterprise_script_service/mruby/include/mruby.h +242 -146
- data/ext/enterprise_script_service/mruby/include/mruby/array.h +7 -7
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_nan.h +2 -9
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_no.h +11 -10
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +104 -69
- data/ext/enterprise_script_service/mruby/include/mruby/class.h +7 -5
- data/ext/enterprise_script_service/mruby/include/mruby/common.h +9 -7
- data/ext/enterprise_script_service/mruby/include/mruby/compile.h +6 -6
- data/ext/enterprise_script_service/mruby/include/mruby/data.h +5 -5
- data/ext/enterprise_script_service/mruby/include/mruby/debug.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/dump.h +3 -7
- data/ext/enterprise_script_service/mruby/include/mruby/error.h +34 -6
- data/ext/enterprise_script_service/mruby/include/mruby/gc.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/hash.h +4 -11
- data/ext/enterprise_script_service/mruby/include/mruby/irep.h +16 -4
- data/ext/enterprise_script_service/mruby/include/mruby/istruct.h +4 -4
- data/ext/enterprise_script_service/mruby/include/mruby/khash.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/numeric.h +41 -7
- data/ext/enterprise_script_service/mruby/include/mruby/object.h +8 -9
- data/ext/enterprise_script_service/mruby/include/mruby/opcode.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/ops.h +6 -6
- data/ext/enterprise_script_service/mruby/include/mruby/proc.h +19 -13
- data/ext/enterprise_script_service/mruby/include/mruby/range.h +10 -4
- data/ext/enterprise_script_service/mruby/include/mruby/re.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/string.h +130 -107
- data/ext/enterprise_script_service/mruby/include/mruby/throw.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/value.h +137 -49
- data/ext/enterprise_script_service/mruby/include/mruby/variable.h +3 -5
- data/ext/enterprise_script_service/mruby/include/mruby/version.h +24 -10
- data/ext/enterprise_script_service/mruby/lib/mruby-core-ext.rb +2 -39
- data/ext/enterprise_script_service/mruby/lib/mruby/build.rb +32 -15
- data/ext/enterprise_script_service/mruby/lib/mruby/build/command.rb +63 -17
- data/ext/enterprise_script_service/mruby/lib/mruby/build/load_gems.rb +24 -10
- data/ext/enterprise_script_service/mruby/lib/mruby/gem.rb +11 -7
- data/ext/enterprise_script_service/mruby/lib/mruby/lockfile.rb +81 -0
- data/ext/enterprise_script_service/mruby/minirake +27 -11
- data/ext/enterprise_script_service/mruby/mrbgems/default.gembox +3 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrbgem.rake +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +47 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/test/array.rb +50 -29
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +4 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +28 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +75 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +134 -90
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/src/class.c +7 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/codegen.c +69 -46
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/keywords +0 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/lex.def +51 -59
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/parse.y +430 -241
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrbgem.rake +10 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrblib/complex.rb +122 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/src/complex.c +249 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/test/complex.rb +153 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrblib/chain.rb +19 -17
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/test/enum_chain.rb +41 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/mrblib/enum.rb +30 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/test/enum.rb +8 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrbgem.rake +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +46 -14
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +51 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-error/src/exception.c +10 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/src/eval.c +47 -44
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/test/eval.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-exit/src/mruby-exit.c +9 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/src/fiber.c +16 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/test/fiber.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/mrbgem.rake +0 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/mrblib/hash.rb +3 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/test/hash.rb +3 -7
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/README.md +1 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrbgem.rake +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/file.rb +0 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/io.rb +24 -38
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/kernel.rb +16 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +19 -18
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file_test.c +5 -16
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +54 -42
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file.rb +24 -20
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file_test.rb +4 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/io.rb +41 -35
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/mruby_io_test.c +9 -36
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/mrbgem.rake +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +9 -27
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/test/kernel.rb +2 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/src/math.c +5 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/src/metaprog.c +39 -24
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/test/metaprog.rb +48 -17
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/mrblib/method.rb +0 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +134 -101
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb +9 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb +1 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/src/numeric_ext.c +17 -37
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/test/numeric.rb +0 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/mrbgem.rake +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/mrblib/object.rb +15 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/src/object.c +35 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/test/nil.rb +4 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +1 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/test/objectspace.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/src/pack.c +28 -23
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/test/pack.rb +43 -49
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/mrblib/print.rb +3 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/src/proc.c +6 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/test/proc.rb +21 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.c +157 -124
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/test/random.rb +72 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/mrblib/range.rb +38 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +26 -11
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/test/range.rb +111 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrbgem.rake +5 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrblib/rational.rb +117 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/src/rational.c +209 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/test/rational.rb +308 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/README.md +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/socket.c +10 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/kernel.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/sprintf.c +22 -24
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrbgem.rake +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +8 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +116 -117
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/numeric.rb +29 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/range.rb +26 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/string.rb +32 -50
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/mrblib/struct.rb +5 -7
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +43 -57
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/test/struct.rb +16 -11
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/driver.c +152 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/mrbgem.rake +4 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/vformat.c +200 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/include/mruby/time.h +2 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +199 -68
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/test/time.rb +81 -46
- data/ext/enterprise_script_service/mruby/mrblib/array.rb +14 -16
- data/ext/enterprise_script_service/mruby/mrblib/enum.rb +13 -9
- data/ext/enterprise_script_service/mruby/mrblib/hash.rb +5 -7
- data/ext/enterprise_script_service/mruby/mrblib/kernel.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrblib/numeric.rb +4 -4
- data/ext/enterprise_script_service/mruby/mrblib/range.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrblib/string.rb +55 -112
- data/ext/enterprise_script_service/mruby/mruby-source.gemspec +1 -1
- data/ext/enterprise_script_service/mruby/oss-fuzz/config/mruby.dict +105 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/config/mruby_fuzzer.options +5 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/config/mruby_proto_fuzzer.options +4 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/mruby_fuzzer.c +18 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/mruby_proto_fuzzer.cpp +44 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/proto_to_ruby.cpp +455 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/proto_to_ruby.h +55 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/ruby.proto +201 -0
- data/ext/enterprise_script_service/mruby/src/array.c +95 -46
- data/ext/enterprise_script_service/mruby/src/backtrace.c +6 -8
- data/ext/enterprise_script_service/mruby/src/class.c +370 -278
- data/ext/enterprise_script_service/mruby/src/codedump.c +34 -34
- data/ext/enterprise_script_service/mruby/src/debug.c +2 -2
- data/ext/enterprise_script_service/mruby/src/dump.c +8 -6
- data/ext/enterprise_script_service/mruby/src/enum.c +1 -1
- data/ext/enterprise_script_service/mruby/src/error.c +157 -55
- data/ext/enterprise_script_service/mruby/src/etc.c +13 -46
- data/ext/enterprise_script_service/mruby/src/fmt_fp.c +2 -2
- data/ext/enterprise_script_service/mruby/src/gc.c +30 -11
- data/ext/enterprise_script_service/mruby/src/hash.c +23 -14
- data/ext/enterprise_script_service/mruby/src/kernel.c +16 -54
- data/ext/enterprise_script_service/mruby/src/load.c +40 -76
- data/ext/enterprise_script_service/mruby/src/numeric.c +164 -94
- data/ext/enterprise_script_service/mruby/src/object.c +16 -39
- data/ext/enterprise_script_service/mruby/src/pool.c +0 -2
- data/ext/enterprise_script_service/mruby/src/proc.c +47 -48
- data/ext/enterprise_script_service/mruby/src/range.c +22 -35
- data/ext/enterprise_script_service/mruby/src/state.c +5 -94
- data/ext/enterprise_script_service/mruby/src/string.c +874 -710
- data/ext/enterprise_script_service/mruby/src/symbol.c +73 -48
- data/ext/enterprise_script_service/mruby/src/variable.c +58 -38
- data/ext/enterprise_script_service/mruby/src/vm.c +133 -304
- data/ext/enterprise_script_service/mruby/tasks/doc.rake +48 -0
- data/ext/enterprise_script_service/mruby/tasks/toolchains/clang.rake +3 -4
- data/ext/enterprise_script_service/mruby/tasks/toolchains/gcc.rake +20 -19
- data/ext/enterprise_script_service/mruby/tasks/toolchains/visualcpp.rake +0 -12
- data/ext/enterprise_script_service/mruby/test/assert.rb +186 -25
- data/ext/enterprise_script_service/mruby/test/t/array.rb +34 -6
- data/ext/enterprise_script_service/mruby/test/t/class.rb +26 -0
- data/ext/enterprise_script_service/mruby/test/t/enumerable.rb +2 -2
- data/ext/enterprise_script_service/mruby/test/t/float.rb +17 -17
- data/ext/enterprise_script_service/mruby/test/t/hash.rb +2 -0
- data/ext/enterprise_script_service/mruby/test/t/integer.rb +14 -6
- data/ext/enterprise_script_service/mruby/test/t/kernel.rb +38 -19
- data/ext/enterprise_script_service/mruby/test/t/module.rb +87 -14
- data/ext/enterprise_script_service/mruby/test/t/numeric.rb +65 -23
- data/ext/enterprise_script_service/mruby/test/t/range.rb +4 -4
- data/ext/enterprise_script_service/mruby/test/t/string.rb +211 -49
- data/ext/enterprise_script_service/mruby/test/t/syntax.rb +19 -2
- data/ext/enterprise_script_service/mruby/test/t/vformat.rb +92 -0
- data/ext/enterprise_script_service/mruby/travis_config.rb +2 -2
- data/ext/enterprise_script_service/mruby_config.rb +10 -0
- data/ext/enterprise_script_service/mruby_engine.cpp +2 -2
- data/ext/enterprise_script_service/mruby_engine.gembox +1 -0
- data/ext/enterprise_script_service/msgpack/CHANGELOG.md +14 -0
- data/ext/enterprise_script_service/msgpack/Files.cmake +4 -0
- data/ext/enterprise_script_service/msgpack/README.md +1 -1
- data/ext/enterprise_script_service/msgpack/appveyor.yml +1 -1
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_msgpack_tuple.hpp.erb +1 -1
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_msgpack_tuple_decl.hpp.erb +1 -1
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_zone.hpp.erb +3 -3
- data/ext/enterprise_script_service/msgpack/example/boost/asio_send_recv.cpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp11/timespec.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/wstring.hpp +15 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/object.h +2 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/pack_template.h +17 -9
- data/ext/enterprise_script_service/msgpack/include/msgpack/sysdep.h +27 -16
- data/ext/enterprise_script_service/msgpack/include/msgpack/type.hpp +2 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/unpack_template.h +5 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/array_ref.hpp +0 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/check_container_size.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/chrono.hpp +5 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/timespec.hpp +140 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp +32 -32
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple_decl.hpp +32 -32
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp +6 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp +10 -10
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/ext.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/fixint.hpp +5 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/int.hpp +40 -13
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/int_decl.hpp +3 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/wstring.hpp +121 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp03_zone.hpp +3 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp11_zone.hpp +3 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object.hpp +6 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object_fwd.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/pack.hpp +40 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/unpack.hpp +11 -11
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/vrefbuffer.hpp +7 -7
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/zbuffer.hpp +5 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/adaptor/int_decl.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/create_object_visitor.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/parse.hpp +13 -13
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/x3_parse.hpp +28 -26
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/int_decl.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/parse.hpp +13 -13
- data/ext/enterprise_script_service/msgpack/include/msgpack/version_master.h +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/zbuffer.h +6 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/zone.h +1 -1
- data/ext/enterprise_script_service/msgpack/src/objectc.c +83 -148
- data/ext/enterprise_script_service/msgpack/src/unpack.c +73 -47
- data/ext/enterprise_script_service/msgpack/test/CMakeLists.txt +1 -1
- data/ext/enterprise_script_service/msgpack/test/array_ref.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/boost_fusion.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/boost_optional.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/boost_string_ref.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/boost_string_view.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/boost_variant.cpp +15 -9
- data/ext/enterprise_script_service/msgpack/test/buffer.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/carray.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/cases.cpp +7 -1
- data/ext/enterprise_script_service/msgpack/test/convert.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/fixint.cpp +7 -1
- data/ext/enterprise_script_service/msgpack/test/fixint_c.cpp +6 -1
- data/ext/enterprise_script_service/msgpack/test/fuzz_unpack_pack_fuzzer_cpp11.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/iterator_cpp11.cpp +8 -2
- data/ext/enterprise_script_service/msgpack/test/json.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/limit.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_basic.cpp +128 -6
- data/ext/enterprise_script_service/msgpack/test/msgpack_c.cpp +7 -2
- data/ext/enterprise_script_service/msgpack/test/msgpack_container.cpp +20 -3
- data/ext/enterprise_script_service/msgpack/test/msgpack_cpp11.cpp +159 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_cpp17.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_stream.cpp +8 -3
- data/ext/enterprise_script_service/msgpack/test/msgpack_tuple.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_vref.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_x3_parse.cpp +23 -18
- data/ext/enterprise_script_service/msgpack/test/object.cpp +77 -45
- data/ext/enterprise_script_service/msgpack/test/object_with_zone.cpp +28 -10
- data/ext/enterprise_script_service/msgpack/test/pack_unpack.cpp +25 -18
- data/ext/enterprise_script_service/msgpack/test/pack_unpack_c.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/raw.cpp +17 -12
- data/ext/enterprise_script_service/msgpack/test/reference.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/reference_cpp11.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/reference_wrapper_cpp11.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/shared_ptr_cpp11.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/size_equal_only.cpp +6 -2
- data/ext/enterprise_script_service/msgpack/test/streaming.cpp +10 -3
- data/ext/enterprise_script_service/msgpack/test/streaming_c.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/unique_ptr_cpp11.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/user_class.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/version.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/visitor.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/zone.cpp +6 -0
- data/lib/script_core/version.rb +1 -1
- data/lib/tasks/mruby/engine.gembox.example +1 -0
- data/lib/tasks/script_core.rake +21 -3
- data/spec/dummy/app/helpers/fields_helper.rb +2 -2
- data/spec/dummy/mruby/engine.gembox +1 -0
- data/spec/script_core_spec.rb +1 -1
- metadata +38 -22
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/.gitignore +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/.travis.yml +0 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/run_test.rb +0 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/mrblib/kernel.rb +0 -15
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/mrblib/unbound_method.rb +0 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/.gitignore +0 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/.travis.yml +0 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/packtest.rb +0 -157
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/run_test.rb +0 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/mt19937ar.c +0 -224
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/mt19937ar.h +0 -80
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.h +0 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.gitignore +0 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.travis.yml +0 -29
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.travis_build_config.rb +0 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/Rakefile +0 -29
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/.travis.yml +0 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/run_test.rb +0 -28
@@ -3,7 +3,7 @@
|
|
3
3
|
## What is mruby
|
4
4
|
|
5
5
|
mruby is the lightweight implementation of the Ruby language complying to (part
|
6
|
-
of) the [ISO standard][ISO-standard]. Its syntax is Ruby
|
6
|
+
of) the [ISO standard][ISO-standard]. Its syntax is Ruby 2.x compatible.
|
7
7
|
|
8
8
|
mruby can be linked and embedded within your application. We provide the
|
9
9
|
interpreter program "mruby" and the interactive mruby shell "mirb" as examples.
|
@@ -17,7 +17,7 @@ of the Ministry of Economy, Trade and Industry of Japan.
|
|
17
17
|
|
18
18
|
## How to get mruby
|
19
19
|
|
20
|
-
The stable version 2.0
|
20
|
+
The stable version 2.1.0 of mruby can be downloaded via the following URL: [https://github.com/mruby/mruby/archive/2.1.0.zip](https://github.com/mruby/mruby/archive/2.1.0.zip)
|
21
21
|
|
22
22
|
The latest development version of mruby can be downloaded via the following URL: [https://github.com/mruby/mruby/zipball/master](https://github.com/mruby/mruby/zipball/master)
|
23
23
|
|
@@ -30,7 +30,7 @@ You can also install and compile mruby using [ruby-install](https://github.com/p
|
|
30
30
|
|
31
31
|
## mruby home-page
|
32
32
|
|
33
|
-
The URL of the mruby home-page is:
|
33
|
+
The URL of the mruby home-page is: https://mruby.org.
|
34
34
|
|
35
35
|
## Mailing list
|
36
36
|
|
@@ -38,7 +38,7 @@ We don't have a mailing list, but you can use [GitHub issues](https://github.com
|
|
38
38
|
|
39
39
|
## How to compile and install (mruby and gems)
|
40
40
|
|
41
|
-
See the [
|
41
|
+
See the [compile.md](https://github.com/mruby/mruby/blob/master/doc/guides/compile.md) file.
|
42
42
|
|
43
43
|
## Running Tests
|
44
44
|
|
@@ -50,16 +50,29 @@ Or
|
|
50
50
|
|
51
51
|
$ ruby ./minirake test
|
52
52
|
|
53
|
+
## Building documentation
|
54
|
+
|
55
|
+
There are two sets of documentation in mruby: the mruby API (generated by yard) and C API (Doxygen)
|
56
|
+
|
57
|
+
To build both of them, simply go
|
58
|
+
|
59
|
+
rake doc
|
60
|
+
|
61
|
+
You can also view them in your browser
|
62
|
+
|
63
|
+
rake view_api
|
64
|
+
rake view_capi
|
65
|
+
|
53
66
|
## How to customize mruby (mrbgems)
|
54
67
|
|
55
68
|
mruby contains a package manager called *mrbgems*. To create extensions
|
56
69
|
in C and/or Ruby you should create a *GEM*. For a documentation of how to
|
57
|
-
use mrbgems consult the file [
|
58
|
-
how to use mrbgems look into the folder *examples/mrbgems/*.
|
70
|
+
use mrbgems consult the file [mrbgems.md](https://github.com/mruby/mruby/blob/master/doc/guides/mrbgems.md).
|
71
|
+
For example code of how to use mrbgems look into the folder *examples/mrbgems/*.
|
59
72
|
|
60
73
|
## License
|
61
74
|
|
62
|
-
mruby is released under the [MIT License](LICENSE).
|
75
|
+
mruby is released under the [MIT License](https://github.com/mruby/mruby/blob/master/LICENSE).
|
63
76
|
|
64
77
|
## Note for License
|
65
78
|
|
@@ -88,5 +101,5 @@ file in your pull request.
|
|
88
101
|
|
89
102
|
[ISO-standard]: http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579
|
90
103
|
[build-status-img]: https://travis-ci.org/mruby/mruby.svg?branch=master
|
91
|
-
[contribution-guidelines]: CONTRIBUTING.md
|
104
|
+
[contribution-guidelines]: https://github.com/mruby/mruby/blob/master/CONTRIBUTING.md
|
92
105
|
[travis-ci]: https://travis-ci.org/mruby/mruby
|
@@ -10,7 +10,6 @@ $LOAD_PATH << File.join(MRUBY_ROOT, "lib")
|
|
10
10
|
# load build systems
|
11
11
|
require "mruby-core-ext"
|
12
12
|
require "mruby/build"
|
13
|
-
require "mruby/gem"
|
14
13
|
|
15
14
|
# load configuration file
|
16
15
|
MRUBY_CONFIG = (ENV['MRUBY_CONFIG'] && ENV['MRUBY_CONFIG'] != '') ? ENV['MRUBY_CONFIG'] : "#{MRUBY_ROOT}/build_config.rb"
|
@@ -31,6 +30,7 @@ load "#{MRUBY_ROOT}/tasks/libmruby.rake"
|
|
31
30
|
load "#{MRUBY_ROOT}/tasks/benchmark.rake"
|
32
31
|
|
33
32
|
load "#{MRUBY_ROOT}/tasks/gitlab.rake"
|
33
|
+
load "#{MRUBY_ROOT}/tasks/doc.rake"
|
34
34
|
|
35
35
|
def install_D(src, dst)
|
36
36
|
opts = { :verbose => $verbose }
|
@@ -62,7 +62,7 @@ MRuby.each_target do |target|
|
|
62
62
|
relative_from_root = gem.dir.relative_path_from(MRUBY_ROOT)
|
63
63
|
current_build_dir = File.expand_path "#{build_dir}/#{relative_from_root}"
|
64
64
|
|
65
|
-
if current_build_dir !~ /^#{build_dir}/
|
65
|
+
if current_build_dir !~ /^#{Regexp.escape(build_dir)}/
|
66
66
|
current_build_dir = "#{build_dir}/mrbgems/#{gem.name}"
|
67
67
|
end
|
68
68
|
|
@@ -118,6 +118,7 @@ task :all => depfiles do
|
|
118
118
|
MRuby.each_target do
|
119
119
|
print_build_summary
|
120
120
|
end
|
121
|
+
MRuby::Lockfile.write
|
121
122
|
end
|
122
123
|
|
123
124
|
desc "run all mruby tests"
|
@@ -150,19 +151,9 @@ task :clean do
|
|
150
151
|
end
|
151
152
|
|
152
153
|
desc "clean everything!"
|
153
|
-
task :deep_clean => ["clean"] do
|
154
|
+
task :deep_clean => ["clean", "clean_doc"] do
|
154
155
|
MRuby.each_target do |t|
|
155
156
|
FileUtils.rm_rf t.gem_clone_dir, { :verbose => $verbose }
|
156
157
|
end
|
157
158
|
puts "Cleaned up mrbgems build folder"
|
158
159
|
end
|
159
|
-
|
160
|
-
desc 'generate document'
|
161
|
-
task :doc do
|
162
|
-
begin
|
163
|
-
sh "mrbdoc"
|
164
|
-
rescue
|
165
|
-
puts "ERROR: To generate documents, you should install yard-mruby gem."
|
166
|
-
puts " $ gem install yard-mruby"
|
167
|
-
end
|
168
|
-
end
|
@@ -18,9 +18,9 @@
|
|
18
18
|
# end
|
19
19
|
# conf.gem 'examples/mrbgems/c_and_ruby_extension_example'
|
20
20
|
# conf.gem :core => 'mruby-eval'
|
21
|
-
# conf.gem :mgem => 'mruby-
|
22
|
-
# conf.gem :github => '
|
23
|
-
# conf.gem :git => 'git@github.com:
|
21
|
+
# conf.gem :mgem => 'mruby-onig-regexp'
|
22
|
+
# conf.gem :github => 'mattn/mruby-onig-regexp'
|
23
|
+
# conf.gem :git => 'git@github.com:mattn/mruby-onig-regexp.git', :branch => 'master', :options => '-v'
|
24
24
|
|
25
25
|
# include the default GEMs
|
26
26
|
conf.gembox 'default'
|
@@ -6,11 +6,11 @@ binaries.
|
|
6
6
|
## Prerequisites
|
7
7
|
|
8
8
|
To compile mruby out of the source code you need the following tools:
|
9
|
-
* C Compiler (
|
10
|
-
* Linker (
|
11
|
-
* Archive utility (
|
12
|
-
* Parser generator (
|
13
|
-
* Ruby
|
9
|
+
* C Compiler (e.g. `gcc`)
|
10
|
+
* Linker (e.g. `gcc`)
|
11
|
+
* Archive utility (e.g. `ar`)
|
12
|
+
* Parser generator (e.g. `bison`)
|
13
|
+
* Ruby 2.0 or later (e.g. `ruby` or `jruby`)
|
14
14
|
|
15
15
|
Optional:
|
16
16
|
* GIT (to update mruby source and integrate mrbgems easier)
|
@@ -32,10 +32,10 @@ All tools necessary to compile mruby can be set or modified here. In case
|
|
32
32
|
you want to maintain an additional *build_config.rb* you can define a
|
33
33
|
customized path using the *$MRUBY_CONFIG* environment variable.
|
34
34
|
|
35
|
-
To compile just call
|
36
|
-
generate and execute the test tools call
|
37
|
-
all build files call
|
38
|
-
build, call
|
35
|
+
To compile just call `./minirake` inside of the mruby source root. To
|
36
|
+
generate and execute the test tools call `./minirake test`. To clean
|
37
|
+
all build files call `./minirake clean`. To see full command line on
|
38
|
+
build, call `./minirake -v`.
|
39
39
|
|
40
40
|
## Build Configuration
|
41
41
|
|
@@ -79,7 +79,7 @@ toolchain :android
|
|
79
79
|
```
|
80
80
|
|
81
81
|
Requires the custom standalone Android NDK and the toolchain path
|
82
|
-
in
|
82
|
+
in `ANDROID_STANDALONE_TOOLCHAIN`.
|
83
83
|
|
84
84
|
### Binaries
|
85
85
|
|
@@ -97,7 +97,7 @@ conf.gem "#{root}/mrbgems/mruby-bin-mirb"
|
|
97
97
|
### File Separator
|
98
98
|
|
99
99
|
Some environments require a different file separator character. It is possible to
|
100
|
-
set the character via
|
100
|
+
set the character via `conf.file_separator`.
|
101
101
|
```ruby
|
102
102
|
conf.file_separator = '/'
|
103
103
|
```
|
@@ -119,7 +119,7 @@ end
|
|
119
119
|
|
120
120
|
C Compiler has header searcher to detect installed library.
|
121
121
|
|
122
|
-
If you need a include path of header file use
|
122
|
+
If you need a include path of header file use `search_header_path`:
|
123
123
|
```ruby
|
124
124
|
# Searches ```iconv.h```.
|
125
125
|
# If found it will return include path of the header file.
|
@@ -127,7 +127,7 @@ If you need a include path of header file use ```search_header_path```:
|
|
127
127
|
fail 'iconv.h not found' unless conf.cc.search_header_path 'iconv.h'
|
128
128
|
```
|
129
129
|
|
130
|
-
If you need a full file name of header file use
|
130
|
+
If you need a full file name of header file use `search_header`:
|
131
131
|
```ruby
|
132
132
|
# Searches ```iconv.h```.
|
133
133
|
# If found it will return full path of the header file.
|
@@ -136,11 +136,11 @@ iconv_h = conf.cc.search_header 'iconv.h'
|
|
136
136
|
print "iconv.h found: #{iconv_h}\n"
|
137
137
|
```
|
138
138
|
|
139
|
-
Header searcher uses compiler's
|
139
|
+
Header searcher uses compiler's `include_paths` by default.
|
140
140
|
When you are using GCC toolchain (including clang toolchain since its base is gcc toolchain)
|
141
|
-
it will use compiler specific include paths too. (For example
|
141
|
+
it will use compiler specific include paths too. (For example `/usr/local/include`, `/usr/include`)
|
142
142
|
|
143
|
-
If you need a special header search paths define a singleton method
|
143
|
+
If you need a special header search paths define a singleton method `header_search_paths` to C compiler:
|
144
144
|
```ruby
|
145
145
|
def conf.cc.header_search_paths
|
146
146
|
['/opt/local/include'] + include_paths
|
@@ -222,7 +222,7 @@ See doc/mrbgems/README.md for more option about mrbgems.
|
|
222
222
|
|
223
223
|
Configuration Mrbtest build process.
|
224
224
|
|
225
|
-
If you want mrbtest.a only, You should set
|
225
|
+
If you want mrbtest.a only, You should set `conf.build_mrbtest_lib_only`
|
226
226
|
```ruby
|
227
227
|
conf.build_mrbtest_lib_only
|
228
228
|
```
|
@@ -230,9 +230,9 @@ conf.build_mrbtest_lib_only
|
|
230
230
|
### Bintest
|
231
231
|
|
232
232
|
Tests for mrbgem tools using CRuby.
|
233
|
-
To have bintests place \*.rb scripts to
|
234
|
-
See
|
235
|
-
If you want a temporary files use `tempfile` module of CRuby instead of
|
233
|
+
To have bintests place \*.rb scripts to `bintest/` directory of mrbgems.
|
234
|
+
See `mruby-bin-*/bintest/*.rb` if you need examples.
|
235
|
+
If you want a temporary files use `tempfile` module of CRuby instead of `/tmp/`.
|
236
236
|
|
237
237
|
You can enable it with following:
|
238
238
|
```ruby
|
@@ -247,8 +247,8 @@ correctly. To support mrbgems written in C++, mruby can be
|
|
247
247
|
configured to use C++ exception.
|
248
248
|
|
249
249
|
There are two levels of C++ exception handling. The one is
|
250
|
-
|
251
|
-
uses C ABI. The other is
|
250
|
+
`enable_cxx_exception` that enables C++ exception, but
|
251
|
+
uses C ABI. The other is `enable_cxx_abi` where all
|
252
252
|
files are compiled by C++ compiler.
|
253
253
|
|
254
254
|
When you mix C++ code, C++ exception would be enabled automatically.
|
@@ -266,7 +266,7 @@ C++ exception, add following:
|
|
266
266
|
conf.disable_cxx_exception
|
267
267
|
```
|
268
268
|
and you will get an error when you try to use C++ gem.
|
269
|
-
Note that it must be called before
|
269
|
+
Note that it must be called before `enable_cxx_exception` or `gem` method.
|
270
270
|
|
271
271
|
### Debugging mode
|
272
272
|
|
@@ -276,17 +276,17 @@ conf.enable_debug
|
|
276
276
|
```
|
277
277
|
|
278
278
|
When debugging mode is enabled
|
279
|
-
* Macro
|
280
|
-
* Which means
|
281
|
-
* Debug information of irep would be generated by
|
282
|
-
* Because
|
279
|
+
* Macro `MRB_DEBUG` would be defined.
|
280
|
+
* Which means `mrb_assert()` macro is enabled.
|
281
|
+
* Debug information of irep would be generated by `mrbc`.
|
282
|
+
* Because `-g` flag would be added to `mrbc` runner.
|
283
283
|
* You can have better backtrace of mruby scripts with this.
|
284
284
|
|
285
285
|
## Cross-Compilation
|
286
286
|
|
287
287
|
mruby can also be cross-compiled from one platform to another. To
|
288
288
|
achieve this the *build_config.rb* needs to contain an instance of
|
289
|
-
|
289
|
+
`MRuby::CrossBuild`. This instance defines the compilation
|
290
290
|
tools and flags for the target platform. An example could look
|
291
291
|
like this:
|
292
292
|
```ruby
|
@@ -298,12 +298,12 @@ MRuby::CrossBuild.new('32bit') do |conf|
|
|
298
298
|
end
|
299
299
|
```
|
300
300
|
|
301
|
-
All configuration options of
|
302
|
-
in
|
301
|
+
All configuration options of `MRuby::Build` can also be used
|
302
|
+
in `MRuby::CrossBuild`.
|
303
303
|
|
304
304
|
### Mrbtest in Cross-Compilation
|
305
305
|
|
306
|
-
In cross compilation, you can run
|
306
|
+
In cross compilation, you can run `mrbtest` on emulator if
|
307
307
|
you have it by changing configuration of test runner.
|
308
308
|
```ruby
|
309
309
|
conf.test_runner do |t|
|
@@ -350,15 +350,15 @@ in *build/host/src*)
|
|
350
350
|
result will be stored in *build/host/src/y.tab.c*)
|
351
351
|
* compile *build/host/src/y.tab.c* to *build/host/src/y.tab.o*
|
352
352
|
* create *build/host/lib/libmruby_core.a* out of all object files (C only)
|
353
|
-
* create
|
353
|
+
* create `build/host/bin/mrbc` by compiling *tools/mrbc/mrbc.c* and
|
354
354
|
linking with *build/host/lib/libmruby_core.a*
|
355
355
|
* create *build/host/mrblib/mrblib.c* by compiling all \*.rb files
|
356
|
-
under *mrblib* with
|
356
|
+
under *mrblib* with `build/host/bin/mrbc`
|
357
357
|
* compile *build/host/mrblib/mrblib.c* to *build/host/mrblib/mrblib.o*
|
358
358
|
* create *build/host/lib/libmruby.a* out of all object files (C and Ruby)
|
359
|
-
* create
|
359
|
+
* create `build/host/bin/mruby` by compiling *mrbgems/mruby-bin-mruby/tools/mruby/mruby.c* and
|
360
360
|
linking with *build/host/lib/libmruby.a*
|
361
|
-
* create
|
361
|
+
* create `build/host/bin/mirb` by compiling *mrbgems/mruby-bin-mirb/tools/mirb/mirb.c* and
|
362
362
|
linking with *build/host/lib/libmruby.a*
|
363
363
|
|
364
364
|
```
|
@@ -427,15 +427,15 @@ in *build/i386/src*)
|
|
427
427
|
result will be stored in *build/i386/src/y.tab.c*)
|
428
428
|
* cross-compile *build/i386/src/y.tab.c* to *build/i386/src/y.tab.o*
|
429
429
|
* create *build/i386/mrblib/mrblib.c* by compiling all \*.rb files
|
430
|
-
under *mrblib* with the native
|
430
|
+
under *mrblib* with the native `build/host/bin/mrbc`
|
431
431
|
* cross-compile *build/host/mrblib/mrblib.c* to *build/host/mrblib/mrblib.o*
|
432
432
|
* create *build/i386/lib/libmruby.a* out of all object files (C and Ruby)
|
433
|
-
* create
|
433
|
+
* create `build/i386/bin/mruby` by cross-compiling *mrbgems/mruby-bin-mruby/tools/mruby/mruby.c* and
|
434
434
|
linking with *build/i386/lib/libmruby.a*
|
435
|
-
* create
|
435
|
+
* create `build/i386/bin/mirb` by cross-compiling *mrbgems/mruby-bin-mirb/tools/mirb/mirb.c* and
|
436
436
|
linking with *build/i386/lib/libmruby.a*
|
437
437
|
* create *build/i386/lib/libmruby_core.a* out of all object files (C only)
|
438
|
-
* create
|
438
|
+
* create `build/i386/bin/mrbc` by cross-compiling *tools/mrbc/mrbc.c* and
|
439
439
|
linking with *build/i386/lib/libmruby_core.a*
|
440
440
|
|
441
441
|
```
|
@@ -463,7 +463,7 @@ linking with *build/i386/lib/libmruby_core.a*
|
|
463
463
|
### Minimal Library
|
464
464
|
|
465
465
|
To build a minimal mruby library you need to use the Cross Compiling
|
466
|
-
feature due to the reason that there are functions (
|
466
|
+
feature due to the reason that there are functions (e.g. stdio) which
|
467
467
|
can't be disabled for the main build.
|
468
468
|
|
469
469
|
```ruby
|
@@ -477,12 +477,12 @@ end
|
|
477
477
|
|
478
478
|
This configuration defines a cross compile build called 'Minimal' which
|
479
479
|
is using the GCC and compiles for the host machine. It also disables
|
480
|
-
all usages of stdio and doesn't compile any binaries (
|
480
|
+
all usages of stdio and doesn't compile any binaries (e.g. mrbc).
|
481
481
|
|
482
482
|
## Test Environment
|
483
483
|
|
484
484
|
mruby's build process includes a test environment. In case you start the testing
|
485
|
-
of mruby, a native binary called
|
485
|
+
of mruby, a native binary called `mrbtest` will be generated and executed.
|
486
486
|
This binary contains all test cases which are defined under *test/t*. In case
|
487
487
|
of a cross-compilation an additional cross-compiled *mrbtest* binary is
|
488
488
|
generated. You can copy this binary and run on your target system.
|
@@ -50,15 +50,21 @@ You can use mrbconfs with following ways:
|
|
50
50
|
* When defined single precision floating point type(C type `float`) is used as `mrb_float`.
|
51
51
|
* Else double precision floating point type(C type `double`) is used as `mrb_float`.
|
52
52
|
|
53
|
+
`MRB_WITHOUT_FLOAT`
|
54
|
+
* When defined removes floating point numbers from mruby.
|
55
|
+
* It makes mruby easier to handle in "Microcontroller without FPU" and "Kernel Space".
|
56
|
+
|
53
57
|
`MRB_INT16`
|
54
58
|
* When defined `int16_t` will be defined as `mrb_int`.
|
55
|
-
* Conflicts with `MRB_INT64`.
|
59
|
+
* Conflicts with `MRB_INT32` and `MRB_INT64`.
|
60
|
+
|
61
|
+
`MRB_INT32`
|
62
|
+
* When defined, or both `MRB_INT16` and `MRB_INT64` are not defined on 32-bit CPU mode, `int32_t` will be defined as `mrb_int`.
|
63
|
+
* Conflicts with `MRB_INT16` and `MRB_INT64`.
|
56
64
|
|
57
65
|
`MRB_INT64`
|
58
|
-
* When defined `int64_t` will be defined as `mrb_int`.
|
59
|
-
* Conflicts with `MRB_INT16`.
|
60
|
-
* When `MRB_INT16` or `MRB_INT64` isn't defined `int`(most of the times 32-bit integer)
|
61
|
-
will be defined as `mrb_int`.
|
66
|
+
* When defined, or both `MRB_INT16` and `MRB_INT32` are not defined on 64-bit CPU mode, `int64_t` will be defined as `mrb_int`.
|
67
|
+
* Conflicts with `MRB_INT16` and `MRB_INT32`.
|
62
68
|
|
63
69
|
## Garbage collector configuration.
|
64
70
|
|
@@ -115,7 +121,7 @@ largest value of required alignment.
|
|
115
121
|
|
116
122
|
`MRB_NAN_BOXING`
|
117
123
|
* If defined represent `mrb_value` in boxed `double`.
|
118
|
-
* Conflicts with `MRB_USE_FLOAT`.
|
124
|
+
* Conflicts with `MRB_USE_FLOAT` and `MRB_WITHOUT_FLOAT`.
|
119
125
|
|
120
126
|
`MRB_WORD_BOXING`
|
121
127
|
* If defined represent `mrb_value` as a word.
|
@@ -126,6 +132,22 @@ largest value of required alignment.
|
|
126
132
|
* Default value is `4`.
|
127
133
|
* Specifies size of each segment in segment list.
|
128
134
|
|
135
|
+
## Reduce heap memory configuration.
|
136
|
+
|
137
|
+
`MRB_USE_LINK_TIME_RO_DATA_P`
|
138
|
+
* Only available on ELF platforms.
|
139
|
+
* If you specify the address of a read-only section when creating a symbol or string, that string will be used as it is.
|
140
|
+
* Heap memory can be saved.
|
141
|
+
* Uses `__ehdr_start` and `__init_array_start`.
|
142
|
+
* It must be `__ehdr_start < data_addr < __init_array_start`.
|
143
|
+
|
144
|
+
`MRB_USE_CUSTOM_RO_DATA_P`
|
145
|
+
* Takes precedence over `MRB_USE_LINK_TIME_RO_DATA_P`.
|
146
|
+
* Please try if `MRB_USE_LINK_TIME_RO_DATA_P` is not available.
|
147
|
+
* The `mrb_ro_data_p()` function is implemented by the user in an arbitrary file.
|
148
|
+
* The prototype declaration is `mrb_bool mrb_ro_data_p(const char *ptr)`.
|
149
|
+
* Return `TRUE` if `ptr` is in read-only section, otherwise return `FALSE`.
|
150
|
+
|
129
151
|
## Other configuration.
|
130
152
|
`MRB_UTF8_STRING`
|
131
153
|
* Adds UTF-8 encoding support to character-oriented String instance methods.
|
@@ -144,3 +166,20 @@ largest value of required alignment.
|
|
144
166
|
`MRB_STR_BUF_MIN_SIZE`
|
145
167
|
* Default value is `128`.
|
146
168
|
* Specifies initial capacity of `RString` created by `mrb_str_buf_new` function..
|
169
|
+
|
170
|
+
`MRB_METHOD_CACHE`
|
171
|
+
* Improve performance for method dispatch.
|
172
|
+
|
173
|
+
`MRB_METHOD_CACHE_SIZE`
|
174
|
+
* Default value is `128`.
|
175
|
+
* Ignored if `MRB_METHOD_CACHE` is not defined.
|
176
|
+
* Need to be the power of 2.
|
177
|
+
|
178
|
+
`MRB_METHOD_T_STRUCT`
|
179
|
+
* Use C struct to represent `mrb_method_t`
|
180
|
+
* No `MRB_METHOD_T_STRUCT` requires highest 2 bits of function pointers to be zero
|
181
|
+
* Define this macro on machines that use higher bits of pointers
|
182
|
+
|
183
|
+
`MRB_ENABLE_ALL_SYMBOLS`
|
184
|
+
* Make it available `Symbols.all_symbols` in `mrbgems/mruby-symbol-ext`
|
185
|
+
* Increase heap memory usage.
|