Yukihiro "Matz" Matsumoto
5b40bb8d15
Avoid using C struct dump for test Ruby code.
...
Files under `test/t` and `mrbgem/*/test` are for tests, not for actual
execution. So symbols in those files need not to be pre-allocated. This
change slightly reduce the memory consumption.
2020-10-14 15:52:14 +09:00
Yukihiro "Matz" Matsumoto
7932523052
Remove host-debug internal target.
...
Target `host-debug` to use `host` internal target with debugging
configuration.
2020-10-12 18:20:23 +09:00
Kondo Uchio
ed97c1779e
Remove duplicated pattern
2020-10-12 18:20:21 +09:00
Uchio Kondo
0d8793047d
Scan ruby files in directories
2020-10-12 18:20:20 +09:00
Kondo Uchio
cbb46f6975
Exact match to allowed method/variable names
2020-10-12 18:20:20 +09:00
Uchio Kondo
0c242e278d
Ensure exact match for symbols like foo!/foo?/foo=
...
e.g. symbols like "foo[]=" make invalid C codes
2020-10-12 18:20:20 +09:00
Yukihiro "Matz" Matsumoto
932b93fd12
Skip C comments from scan target; close #5072
...
The original PR was skipping Ruby comments as well, but caused some
issues in test suites.
2020-10-12 18:20:19 +09:00
Yukihiro "Matz" Matsumoto
afcf19b727
Scan source code lines from downloaded mrbgems; fix #5071
2020-10-12 18:20:18 +09:00
Yukihiro "Matz" Matsumoto
b7fe929232
Update Rakefile.
...
So that you can omit `host` target. Now `host-debug` works.
2020-10-12 16:21:51 +09:00
Yukihiro "Matz" Matsumoto
ef9df5dc7d
Allow MRUBY_CONFIG to specify target file out of source tree.
2020-10-12 16:21:39 +09:00
Yukihiro "Matz" Matsumoto
52507b1083
Generate C struct from irep instead of binary dump.
2020-10-12 16:21:10 +09:00
Yukihiro "Matz" Matsumoto
f1c06eef7c
Scan more symbols from Ruby files by rake gensym.
2020-10-12 16:21:09 +09:00
Yukihiro "Matz" Matsumoto
a68f005fd7
Remove remaining chomp:true option from Rakefile.
2020-10-12 16:21:05 +09:00
Yukihiro "Matz" Matsumoto
26da07db15
Avoid using chomp:true option to File.readlines.
...
The option is not available in the old version of Ruby.
2020-10-12 16:21:04 +09:00
Yukihiro "Matz" Matsumoto
7ab7cadbbb
Stringify non C identifier symbols to stop macro errors by old gcc.
2020-10-12 16:21:04 +09:00
Yukihiro "Matz" Matsumoto
312f54b580
Add Rakefile to build/presym dependency.
2020-10-12 16:20:55 +09:00
Yukihiro "Matz" Matsumoto
0881e34496
Add dependency from all to gensym.
...
You don't need to invoke `rake gensym` explicitly any longer.
2020-10-12 16:20:54 +09:00
Yukihiro "Matz" Matsumoto
e2063fc267
Add operators to presym from Rakefile.
2020-10-12 16:20:53 +09:00
Yukihiro "Matz" Matsumoto
246c76e261
Rename MRB_OPSYM() to MRB_QSYM().
...
Where `QSYM` means quoted symbols, which cannot be represented C
symbols, so specify aliases instead.
- operators: name of the operation, e.g. add for `+`
- predicates: add `_p` suffix instead of `?`
- bang methods: add `_b` suffix instead of `!`
- instance variables: add `a_` prefix instead of `@`
- global variables: add `d_` prefix instead of `@`
- class variables: unsupported; don't use them
2020-10-12 16:20:53 +09:00
Yukihiro "Matz" Matsumoto
6128ae61a8
Simplified Rakefile.
2020-10-12 16:20:52 +09:00
Yukihiro "Matz" Matsumoto
1bcf6d9f3c
Create MRB_OPSYM() macro to refer symbols corresponding operators.
...
For example, `MRB_OPSYM(add)` refers a symbol for `+`.
2020-10-12 16:20:51 +09:00
Yukihiro "Matz" Matsumoto
acd5317fb1
Create build directory first before gensym.
2020-10-12 16:20:50 +09:00
Yukihiro "Matz" Matsumoto
8d90c7c0fa
Remove unused variable from Rakefile.
2020-10-12 16:20:50 +09:00
Yukihiro "Matz" Matsumoto
5a88904fe8
Use File.open instead of File.write shortcut.
2020-10-12 16:20:49 +09:00
Yukihiro "Matz" Matsumoto
b3db34c2a8
Remove presym files before writing just to make sure.
2020-10-12 16:20:49 +09:00
Yukihiro "Matz" Matsumoto
fdbfeaf533
Build process updated:
...
You have to specify `TARGET` to specify a configuration, e.g.
```
rake TARGET=host-debug all test
```
When you port `mruby` to a new configuration:
1. copy an existing configuration under `target` directory
2. modify the new configuration file
3. build using the new configuration
4. send PR if you please
2020-10-12 16:20:47 +09:00
Yukihiro "Matz" Matsumoto
5738ed0474
Keep build/presym through rake clean.
2020-10-12 16:20:44 +09:00
Yukihiro "Matz" Matsumoto
3174061593
Prepend gensym rule to depfiles.
2020-10-12 16:20:44 +09:00
Yukihiro "Matz" Matsumoto
a2fbb98fa6
Remove build/presym and build/presym.inc on rake clean.
2020-10-12 16:20:42 +09:00
Yukihiro "Matz" Matsumoto
721f934b9b
Scan .rb files as well to generate presym table.
2020-10-12 16:20:42 +09:00
Yukihiro "Matz" Matsumoto
f221f4e0fa
Update Rakefile to generate presym.
2020-10-12 16:20:41 +09:00
Yukihiro "Matz" Matsumoto
1e156974d5
Generate a table for preallocated symbols (presym).
...
`presym` are symbols used in the C source files. `gensym` rake rule
scans the entire C source files and collect symbols referenced from
them.
2020-10-12 16:20:40 +09:00
KOBAYASHI Shuji
bb98fd78c3
Use Rake.verbose instead of $verbose and $pp_show in build scripts
...
The incompatibility that the commands of `FileUtils` origin output verbose
by default due to the changes in d8a5163b and 26e6e75b is also fixed.
2019-12-28 17:03:37 +09:00
Yukihiro "Matz" Matsumoto
d2f34a8455
Merge pull request #4910 from shuujii/use-Rake-DSL-instead-of-commands-of-FileUtils
...
Use Rake DSL instead of commands of `FileUtils`
2019-12-27 18:35:19 +09:00
KOBAYASHI Shuji
26e6e75ba6
Use Rake DSL instead of commands of FileUtils
...
- Respect `--verbose(-v)` and `--dry-run(-n)` options.
- Silence warnings to keyword arguments on Ruby 2.7.
2019-12-27 16:49:32 +09:00
Yukihiro "Matz" Matsumoto
d8a5163b24
Support -v flag of rake; close #4887
...
The patch was originally written by @take-cheese. I have fixed the
conflict caused by `minirake` deletion - @matz.
2019-12-27 11:05:56 +09:00
Yukihiro "Matz" Matsumoto
c268e36e44
Require Regexp.escape before interpolating build_dir; fix #4817
2019-11-11 18:13:24 +09:00
David Siaw
e1e96c0cf4
change doc directory and reduce warnings
2019-08-26 00:23:28 +09:00
KOBAYASHI Shuji
3110d84ed8
Defer several build libraries loading until needed
2019-08-25 09:48:07 +09:00
KOBAYASHI Shuji
e7b49e3f09
Remove unused constant in Rakefile; ref e312842a
2019-08-24 11:30:03 +09:00
KOBAYASHI Shuji
e312842a18
Refine processing for gem lock file
...
- Defer YAML library and lock file loading until needed.
- Don't write empty parts into lock file.
- Extract code to read/write lock file to `MRuby::Lockfile`.
- `MRuby::Lockfile.disable` disables the use of lock file.
2019-08-22 21:40:01 +09:00
take-cheeze
8e7a3a4df1
Take commit hash of mruby too
2019-08-22 03:03:24 +09:00
Yukihiro "Matz" Matsumoto
90bffaa2a6
Merge pull request #4180 from take-cheeze/lock_file
...
Support lock file for git.
2019-08-21 17:17:30 +09:00
KOBAYASHI Shuji
441c964716
Allow enable_bintest without enable_test in build config
2019-03-08 22:00:06 +09:00
KOBAYASHI Shuji
107dc0c778
Avoid a side effect when run Rake without execution of tasks
...
Avoid directory creation when run `rake -T` etc.
2019-01-18 23:29:35 +09:00
KOBAYASHI Shuji
96bea076ec
Refine description for rake test tasks.
...
Before:
$ rake -T test
rake test_test # run all mruby tests
After:
$ rake -T test
rake test # run all mruby tests
2018-12-24 12:12:10 +09:00
take-cheeze
b6850f88a1
Support lock file for git.
2018-12-06 11:47:17 +09:00
take-cheeze
b37b312081
Rename libmruby stuff to avoid confusion
2018-10-29 14:07:16 +09:00
take-cheeze
eaf463ada3
Run tests parallelly for each target.
2018-06-22 11:43:14 +09:00
Uchio KONDO
38db5e550f
Some adjustments
2017-04-04 12:16:53 +09:00