diff options
| -rw-r--r-- | include/mruby.h | 3 | ||||
| -rwxr-xr-x | minirake | 17 | ||||
| -rwxr-xr-x | mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c | 2 | ||||
| -rw-r--r-- | mrbgems/mruby-bin-mirb/tools/mirb/mirb.c | 3 | ||||
| -rw-r--r-- | mrbgems/mruby-bin-mruby/tools/mruby/mruby.c | 3 | ||||
| -rw-r--r-- | src/error.c | 2 | ||||
| -rw-r--r-- | tools/mrbc/mrbc.c | 10 |
7 files changed, 14 insertions, 26 deletions
diff --git a/include/mruby.h b/include/mruby.h index 68b0c5b79..c07bca462 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -439,6 +439,9 @@ MRB_API void* mrb_alloca(mrb_state *mrb, size_t); MRB_API void mrb_state_atexit(mrb_state *mrb, mrb_atexit_func func); +MRB_API void mrb_show_version(mrb_state *mrb); +MRB_API void mrb_show_copyright(mrb_state *mrb); + #ifdef MRB_DEBUG #include <assert.h> #define mrb_assert(p) assert(p) @@ -237,7 +237,8 @@ module MiniRake # Time stamp for file task. def timestamp - File::stat(name.to_s).mtime + stat = File::stat(name.to_s) + stat.directory? ? Time.at(0) : stat.mtime end end @@ -254,12 +255,14 @@ module MiniRake # Declare a set of files tasks to create the given directories on # demand. - def directory(dir) - path = [] - Sys.split_all(dir).each do |p| - path << p - FileTask.define_task(File.join(path)) do |t| - Sys.makedirs(t.name) + def directory(args, &block) + MiniRake::FileTask.define_task(args) do |t| + block.call(t) unless block.nil? + dir = args.is_a?(Hash) ? args.keys.first : args + (dir.split(File::SEPARATOR) + ['']).inject do |acc, part| + (acc + File::SEPARATOR).tap do |d| + Dir.mkdir(d) unless File.exists? d + end + part end end end diff --git a/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c b/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c index 5a500a7d4..ff4d11d3a 100755 --- a/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +++ b/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c @@ -19,8 +19,6 @@ #include "apibreak.h" #include "apilist.h" -void mrb_show_version(mrb_state *); -void mrb_show_copyright(mrb_state *); void mrdb_state_free(mrb_state *); static mrb_debug_context *_debug_context = NULL; diff --git a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c index 6fafa340a..59f7fd5e6 100644 --- a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +++ b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c @@ -193,9 +193,6 @@ is_code_block_open(struct mrb_parser_state *parser) return code_block_open; } -void mrb_show_version(mrb_state *); -void mrb_show_copyright(mrb_state *); - struct _args { mrb_bool verbose : 1; int argc; diff --git a/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c b/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c index 247323b4e..442133f92 100644 --- a/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +++ b/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c @@ -24,9 +24,6 @@ p(mrb_state *mrb, mrb_value obj) #define p(mrb,obj) mrb_p(mrb,obj) #endif -void mrb_show_version(mrb_state *); -void mrb_show_copyright(mrb_state *); - struct _args { FILE *rfp; char* cmdline; diff --git a/src/error.c b/src/error.c index 0a1a97a0b..29f59ba55 100644 --- a/src/error.c +++ b/src/error.c @@ -454,7 +454,7 @@ mrb_init_exception(mrb_state *mrb) mrb->eStandardError_class = mrb_define_class(mrb, "StandardError", mrb->eException_class); /* 15.2.23 */ runtime_error = mrb_define_class(mrb, "RuntimeError", mrb->eStandardError_class); /* 15.2.28 */ - mrb->nomem_err = mrb_obj_ptr(mrb_exc_new_str(mrb, runtime_error, mrb_str_new_lit(mrb, "Out of memory"))); + mrb->nomem_err = mrb_obj_ptr(mrb_exc_new_str_lit(mrb, runtime_error, "Out of memory")); script_error = mrb_define_class(mrb, "ScriptError", mrb->eException_class); /* 15.2.37 */ mrb_define_class(mrb, "SyntaxError", script_error); /* 15.2.38 */ mrb_define_class(mrb, "SystemStackError", exception); diff --git a/tools/mrbc/mrbc.c b/tools/mrbc/mrbc.c index 52e762a50..b51cc4da7 100644 --- a/tools/mrbc/mrbc.c +++ b/tools/mrbc/mrbc.c @@ -9,16 +9,6 @@ #define RITEBIN_EXT ".mrb" #define C_EXT ".c" -#if defined(__cplusplus) -extern "C" { -void mrb_show_version(mrb_state *); -void mrb_show_copyright(mrb_state *); -} -#else -void mrb_show_version(mrb_state *); -void mrb_show_copyright(mrb_state *); -#endif - struct mrbc_args { int argc; char **argv; |
