script_core 0.1.1 → 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 +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.
|