diff options
| -rw-r--r-- | include/mrbconf.h | 19 | ||||
| -rw-r--r-- | src/cdump.c | 2 | ||||
| -rw-r--r-- | tasks/mrbgem_spec.rake | 1 | ||||
| -rw-r--r-- | tasks/mruby_build.rake | 6 | ||||
| -rw-r--r-- | tasks/mruby_build_commands.rake | 2 |
5 files changed, 20 insertions, 10 deletions
diff --git a/include/mrbconf.h b/include/mrbconf.h index 066c040f6..17f6a0fc3 100644 --- a/include/mrbconf.h +++ b/include/mrbconf.h @@ -76,7 +76,8 @@ typedef int32_t mrb_int; # define MRB_INT_MIN INT32_MIN # define MRB_INT_MAX INT32_MAX -# define mrb_int_to_str(buf, i) sprintf((buf), "%d", (i)) +# define MRB_INT_FORMAT PRId32 +# define mrb_int_to_str(buf, i) sprintf((buf), "%" MRB_INT_FORMAT, (i)) # define str_to_mrb_int(buf) (mrb_int)strtol((buf), NULL, 10) # endif #else @@ -84,13 +85,15 @@ typedef int64_t mrb_int; # define MRB_INT_MIN INT64_MIN # define MRB_INT_MAX INT64_MAX -# define mrb_int_to_str(buf, i) sprintf((buf), "%ld", (i)) +# define MRB_INT_FORMAT PRId64 +# define mrb_int_to_str(buf, i) sprintf((buf), "%" MRB_INT_FORMAT, (i)) # define str_to_mrb_int(buf) (mrb_int)strtoll((buf), NULL, 10) # else - typedef int mrb_int; -# define MRB_INT_MIN INT_MIN -# define MRB_INT_MAX INT_MAX -# define mrb_int_to_str(buf, i) sprintf((buf), "%d", (i)) + typedef int32_t mrb_int; +# define MRB_INT_MIN INT32_MIN +# define MRB_INT_MAX INT32_MAX +# define MRB_INT_FORMAT PRId32 +# define mrb_int_to_str(buf, i) sprintf((buf), "%" MRB_INT_FORMAT, (i)) # define str_to_mrb_int(buf) (mrb_int)strtol((buf), NULL, 10) # endif #endif @@ -131,6 +134,10 @@ typedef short mrb_sym; # define isnan _isnan # define isinf(n) (!_finite(n) && !_isnan(n)) # define strtoll _strtoi64 +# define PRId32 "I32d" +# define PRId64 "I64d" +#else +# include <inttypes.h> #endif #endif /* MRUBYCONF_H */ diff --git a/src/cdump.c b/src/cdump.c index 247511f5a..7beb3544f 100644 --- a/src/cdump.c +++ b/src/cdump.c @@ -145,7 +145,7 @@ make_cdump_irep(mrb_state *mrb, int irep_no, FILE *f) case MRB_TT_FLOAT: SOURCE_CODE(" irep->pool[%d] = mrb_float_value(%.16e);", n, mrb_float(irep->pool[n])); break; case MRB_TT_FIXNUM: - SOURCE_CODE(" irep->pool[%d] = mrb_fixnum_value(%d);", n, mrb_fixnum(irep->pool[n])); break; + SOURCE_CODE(" irep->pool[%d] = mrb_fixnum_value(%" MRB_INT_FORMAT ");", n, mrb_fixnum(irep->pool[n])); break; case MRB_TT_STRING: str_len = str_format_len(irep->pool[n]) + 1; if ( str_len > buf_len ) { diff --git a/tasks/mrbgem_spec.rake b/tasks/mrbgem_spec.rake index 0e228629b..c119ea49c 100644 --- a/tasks/mrbgem_spec.rake +++ b/tasks/mrbgem_spec.rake @@ -37,7 +37,6 @@ module MRuby MRuby::Gem.current = self @build.compilers.each do |compiler| - compiler.defines -= %w(DISABLE_GEMS) compiler.include_paths << "#{dir}/include" end MRuby::Build::COMMANDS.each do |command| diff --git a/tasks/mruby_build.rake b/tasks/mruby_build.rake index cd9f77fc4..645656417 100644 --- a/tasks/mruby_build.rake +++ b/tasks/mruby_build.rake @@ -83,7 +83,11 @@ module MRuby instance_eval(&block) compilers.each do |compiler| - compiler.defines -= %w(DISABLE_GEMS) if respond_to?(:enable_gems?) && enable_gems? + if respond_to?(:enable_gems?) && enable_gems? + compiler.defines -= %w(DISABLE_GEMS) + else + compiler.defines += %w(DISABLE_GEMS) + end compiler.define_rules build_dir end end diff --git a/tasks/mruby_build_commands.rake b/tasks/mruby_build_commands.rake index 20203ad7e..75cfc55c2 100644 --- a/tasks/mruby_build_commands.rake +++ b/tasks/mruby_build_commands.rake @@ -40,7 +40,7 @@ module MRuby @flags = [ENV['CFLAGS'] || []] @source_exts = source_exts @include_paths = ["#{build.root}/include"] - @defines = %w(DISABLE_GEMS) + @defines = %w() @option_include_path = '-I%s' @option_define = '-D%s' @compile_options = "%{flags} -MMD -o %{outfile} -c %{infile}" |
