Commit a096dc9e authored by Daniel Bovensiepen's avatar Daniel Bovensiepen

Merge remote-tracking branch 'mruby/master' into array-clear

parents af75d8de 8c31c200
# /
*.bak
*.dylib
*.inc
*.o
*.a
*.orig
*.rej
*.sav
*.swp
*.d
*.tmp
*.ctmp
*.rbtmp
*~
.DS_Store
.ccmalloc
......@@ -21,20 +14,3 @@ cscope.out
/src/y.tab.c
/bin
/build
/mrblib/mrblib.c
/mrblib/*.*tmp
/mrblib/mrblib.mrb
/test/mrbtest
/test/mrbtest.c
/test/*.*tmp
/test/mrubytest.*
tools/mrbc/mrbc.mrb
CMakeFiles
CMakeCache.txt
/mrbgems/generator
/mrbgems/gem_init.c
/mrbgems/g/Makefile
/mrbgems/g/MakefileGemList
/mrbgems/g/mrbgemtest.ctmp
/mrbgems/g/mrbgemtest.rbtmp
/mrbgems/g/*/gem_srclib.c
......@@ -16,6 +16,3 @@ test :
clean :
$(RAKE) clean
.PHONY : showconfig
showconfig :
$(RAKE) showconfig
......@@ -19,6 +19,8 @@ load 'tasks/mrbgems.rake'
load 'tasks/libmruby.rake'
load 'tools/mruby/mruby.rake'
load 'tools/mirb/mirb.rake'
load 'tasks/mrbgems_test.rake'
load 'test/mrbtest.rake'
##############################
......
......@@ -27,6 +27,10 @@ A remote GIT repository location for a GEM is also supported:
conf.gem :git => 'https://github.com/masuidrive/mrbgems-example.git', :branch => 'master'
```
```
conf.gem :github => 'masuidrive/mrbgems-example', :branch => 'master'
```
## GEM Structure
......
# mrbgems
*.d
gem_init.c
gem_test.c
......@@ -121,7 +121,10 @@ typedef struct mrb_state {
size_t gc_threshold;
int gc_interval_ratio;
int gc_step_ratio;
int gc_disabled;
unsigned int gc_disabled:1;
unsigned int gc_full:1;
unsigned int is_generational_gc_mode:1;
size_t majorgc_old_threshold;
struct alloca_header *mems;
mrb_sym symidx;
......@@ -238,16 +241,6 @@ void mrb_write_barrier(mrb_state *, struct RBasic*);
#define MRUBY_VERSION "Rite"
#ifdef DEBUG
#undef DEBUG
#endif
#if 0
#define DEBUG(x) x
#else
#define DEBUG(x)
#endif
mrb_value mrb_check_convert_type(mrb_state *mrb, mrb_value val, mrb_int type, const char *tname, const char *method);
mrb_value mrb_any_to_s(mrb_state *mrb, mrb_value obj);
const char * mrb_obj_classname(mrb_state *mrb, mrb_value obj);
......
......@@ -1099,6 +1099,10 @@ codegen(codegen_scope *s, node *tree, int val)
genop(s, MKOP_AsBx(OP_JMPNOT, cursp(), 0));
codegen(s, tree->cdr->car, val);
if (val && !(tree->cdr->car)) {
genop(s, MKOP_A(OP_LOADNIL, cursp()));
push();
}
if (e) {
if (val) pop();
pos2 = new_label(s);
......
......@@ -117,8 +117,11 @@ gettimeofday_time(void)
return tv.tv_sec + tv.tv_usec * 1e-6;
}
#define GC_INVOKE_TIME_REPORT do {\
#define GC_INVOKE_TIME_REPORT(with) do {\
fprintf(stderr, "%s\n", with);\
fprintf(stderr, "gc_invoke: %19.3f\n", gettimeofday_time() - program_invoke_time);\
fprintf(stderr, "is_generational: %d\n", is_generational(mrb));\
fprintf(stderr, "is_major_gc: %d\n", is_major_gc(mrb));\
} while(0)
#define GC_TIME_START do {\
......@@ -129,11 +132,14 @@ gettimeofday_time(void)
gc_time = gettimeofday_time() - gc_time;\
gc_total_time += gc_time;\
fprintf(stderr, "gc_state: %d\n", mrb->gc_state);\
fprintf(stderr, "live: %d\n", mrb->live);\
fprintf(stderr, "majorgc_old_threshold: %d\n", mrb->majorgc_old_threshold);\
fprintf(stderr, "gc_threshold: %d\n", mrb->gc_threshold);\
fprintf(stderr, "gc_time: %30.20f\n", gc_time);\
fprintf(stderr, "gc_total_time: %30.20f\n\n", gc_total_time);\
} while(0)
#else
#define GC_INVOKE_TIME_REPORT
#define GC_INVOKE_TIME_REPORT(s)
#define GC_TIME_START
#define GC_TIME_STOP_AND_REPORT
#endif
......@@ -141,8 +147,10 @@ gettimeofday_time(void)
#ifdef GC_DEBUG
#include <assert.h>
#define gc_assert(expect) assert(expect)
#define DEBUG(x) (x)
#else
#define gc_assert(expect) ((void)0)
#define DEBUG(x)
#endif
#define GC_STEP_SIZE 1024
......@@ -200,6 +208,7 @@ struct heap_page {
struct heap_page *next;
struct heap_page *free_next;
struct heap_page *free_prev;
unsigned int old:1;
RVALUE objects[MRB_HEAP_PAGE_SIZE];
};
......@@ -268,6 +277,10 @@ add_heap(mrb_state *mrb)
#define DEFAULT_GC_INTERVAL_RATIO 200
#define DEFAULT_GC_STEP_RATIO 200
#define DEFAULT_MAJOR_GC_INC_RATIO 200
#define is_generational(mrb) (mrb->is_generational_gc_mode)
#define is_major_gc(mrb) (is_generational(mrb) && mrb->gc_full)
#define is_minor_gc(mrb) (is_generational(mrb) && !mrb->gc_full)
void
mrb_init_heap(mrb_state *mrb)
......@@ -277,6 +290,8 @@ mrb_init_heap(mrb_state *mrb)
add_heap(mrb);
mrb->gc_interval_ratio = DEFAULT_GC_INTERVAL_RATIO;
mrb->gc_step_ratio = DEFAULT_GC_STEP_RATIO;
mrb->is_generational_gc_mode = TRUE;
mrb->gc_full = TRUE;
#ifdef GC_PROFILE
program_invoke_time = gettimeofday_time();
......@@ -485,7 +500,7 @@ mrb_gc_mark(mrb_state *mrb, struct RBasic *obj)
{
if (obj == 0) return;
if (!is_white(obj)) return;
gc_assert(!is_dead(mrb, obj));
gc_assert((obj)->tt != MRB_TT_FREE);
add_gray_list(mrb, obj);
}
......@@ -575,8 +590,10 @@ root_scan_phase(mrb_state *mrb)
int i, j, e;
mrb_callinfo *ci;
mrb->gray_list = 0;
mrb->variable_gray_list = 0;
if (!is_minor_gc(mrb)) {
mrb->gray_list = 0;
mrb->variable_gray_list = 0;
}
mrb_gc_mark_gv(mrb);
/* mark arena */
......@@ -710,13 +727,19 @@ static void
final_marking_phase(mrb_state *mrb)
{
while (mrb->gray_list) {
gc_mark_children(mrb, mrb->gray_list);
if (is_gray(mrb->gray_list))
gc_mark_children(mrb, mrb->gray_list);
else
mrb->gray_list = mrb->gray_list->gcnext;
}
gc_assert(mrb->gray_list == NULL);
mrb->gray_list = mrb->variable_gray_list;
mrb->variable_gray_list = 0;
while (mrb->gray_list) {
gc_mark_children(mrb, mrb->gray_list);
if (is_gray(mrb->gray_list))
gc_mark_children(mrb, mrb->gray_list);
else
mrb->gray_list = mrb->gray_list->gcnext;
}
gc_assert(mrb->gray_list == NULL);
}
......@@ -742,6 +765,11 @@ incremental_sweep_phase(mrb_state *mrb, size_t limit)
int dead_slot = 1;
int full = (page->freelist == NULL);
if (is_minor_gc(mrb) && page->old) {
/* skip a slot which doesn't contain any young object */
p = e;
dead_slot = 0;
}
while (p<e) {
if (is_dead(mrb, &p->as.basic)) {
if (p->as.basic.tt != MRB_TT_FREE) {
......@@ -752,7 +780,8 @@ incremental_sweep_phase(mrb_state *mrb, size_t limit)
}
}
else {
paint_partial_white(mrb, &p->as.basic); /* next gc target */
if (!is_minor_gc(mrb))
paint_partial_white(mrb, &p->as.basic); /* next gc target */
dead_slot = 0;
}
p++;
......@@ -771,6 +800,10 @@ incremental_sweep_phase(mrb_state *mrb, size_t limit)
if (full && freed > 0) {
link_free_heap_page(mrb, page);
}
if (page->freelist == NULL && is_minor_gc(mrb))
page->old = TRUE;
else
page->old = FALSE;
page = page->next;
}
tried_sweep += MRB_HEAP_PAGE_SIZE;
......@@ -813,20 +846,53 @@ incremental_gc(mrb_state *mrb, size_t limit)
}
}
static void
advance_phase(mrb_state *mrb, enum gc_state to_state)
{
while (mrb->gc_state != to_state) {
incremental_gc(mrb, ~0);
}
}
static void
clear_all_old(mrb_state *mrb)
{
size_t origin_mode = mrb->is_generational_gc_mode;
gc_assert(is_generational(mrb));
if (is_major_gc(mrb)) {
advance_phase(mrb, GC_STATE_NONE);
}
else {
mrb->is_generational_gc_mode = FALSE;
prepare_incremental_sweep(mrb);
advance_phase(mrb, GC_STATE_NONE);
}
mrb->variable_gray_list = mrb->gray_list = NULL;
mrb->is_generational_gc_mode = origin_mode;
}
void
mrb_incremental_gc(mrb_state *mrb)
{
size_t limit = 0, result = 0;
if (mrb->gc_disabled) return;
GC_INVOKE_TIME_REPORT;
GC_INVOKE_TIME_REPORT("mrb_incremental_gc()");
GC_TIME_START;
limit = (GC_STEP_SIZE/100) * mrb->gc_step_ratio;
while (result < limit) {
result += incremental_gc(mrb, limit);
if (mrb->gc_state == GC_STATE_NONE)
break;
if (is_minor_gc(mrb)) {
do {
incremental_gc(mrb, ~0);
} while (mrb->gc_state != GC_STATE_NONE);
}
else {
size_t limit = 0, result = 0;
limit = (GC_STEP_SIZE/100) * mrb->gc_step_ratio;
while (result < limit) {
result += incremental_gc(mrb, limit);
if (mrb->gc_state == GC_STATE_NONE)
break;
}
}
if (mrb->gc_state == GC_STATE_NONE) {
......@@ -835,6 +901,16 @@ mrb_incremental_gc(mrb_state *mrb)
if (mrb->gc_threshold < GC_STEP_SIZE) {
mrb->gc_threshold = GC_STEP_SIZE;
}
if (is_major_gc(mrb)) {
mrb->majorgc_old_threshold = mrb->gc_live_after_mark/100 * DEFAULT_MAJOR_GC_INC_RATIO;
mrb->gc_full = FALSE;
}
else if (is_minor_gc(mrb)) {
if (mrb->live > mrb->majorgc_old_threshold) {
clear_all_old(mrb);
mrb->gc_full = TRUE;
}
}
}
else {
mrb->gc_threshold = mrb->live + GC_STEP_SIZE;
......@@ -850,7 +926,7 @@ mrb_garbage_collect(mrb_state *mrb)
size_t max_limit = ~0;
if (mrb->gc_disabled) return;
GC_INVOKE_TIME_REPORT;
GC_INVOKE_TIME_REPORT("mrb_garbage_collect()");
GC_TIME_START;
if (mrb->gc_state == GC_STATE_SWEEP) {
......@@ -860,12 +936,23 @@ mrb_garbage_collect(mrb_state *mrb)
}
}
/* clean all black object as old */
if (is_generational(mrb)) {
clear_all_old(mrb);
mrb->gc_full = TRUE;
}
do {
incremental_gc(mrb, max_limit);
} while (mrb->gc_state != GC_STATE_NONE);
mrb->gc_threshold = (mrb->gc_live_after_mark/100) * mrb->gc_interval_ratio;
if (is_generational(mrb)) {
mrb->majorgc_old_threshold = mrb->gc_live_after_mark/100 * DEFAULT_MAJOR_GC_INC_RATIO;
mrb->gc_full = FALSE;
}
GC_TIME_STOP_AND_REPORT;
}
......@@ -893,9 +980,9 @@ mrb_field_write_barrier(mrb_state *mrb, struct RBasic *obj, struct RBasic *value
if (!is_white(value)) return;
gc_assert(!is_dead(mrb, value) && !is_dead(mrb, obj));
gc_assert(mrb->gc_state != GC_STATE_NONE);
gc_assert(is_generational(mrb) || mrb->gc_state != GC_STATE_NONE);
if (mrb->gc_state == GC_STATE_MARK) {
if (is_minor_gc(mrb) || mrb->gc_state == GC_STATE_MARK) {
add_gray_list(mrb, value);
}
else {
......@@ -919,7 +1006,7 @@ mrb_write_barrier(mrb_state *mrb, struct RBasic *obj)
if (!is_black(obj)) return;
gc_assert(!is_dead(mrb, obj));
gc_assert(mrb->gc_state != GC_STATE_NONE);
gc_assert(is_generational(mrb) || mrb->gc_state != GC_STATE_NONE);
paint_gray(obj);
obj->gcnext = mrb->variable_gray_list;
mrb->variable_gray_list = obj;
......@@ -1051,6 +1138,73 @@ gc_step_ratio_set(mrb_state *mrb, mrb_value obj)
return mrb_nil_value();
}
static void
change_gen_gc_mode(mrb_state *mrb, mrb_int enable)
{
if (is_generational(mrb) && !enable) {
if (is_major_gc(mrb)) {
advance_phase(mrb, GC_STATE_NONE);
}
else {
clear_all_old(mrb);
gc_assert(mrb->gc_state == GC_STATE_NONE);
}
mrb->gc_full = FALSE;
}
else if (!is_generational(mrb) && enable) {
advance_phase(mrb, GC_STATE_NONE);
mrb->majorgc_old_threshold = mrb->gc_live_after_mark/100 * DEFAULT_MAJOR_GC_INC_RATIO;
mrb->gc_full = FALSE;
}
mrb->is_generational_gc_mode = enable;
}
/*
* call-seq:
* GC.generational_mode -> true or false
*
* Returns generational or normal gc mode.
*
*/
static mrb_value
gc_generational_mode_get(mrb_state *mrb, mrb_value self)
{
if (mrb->is_generational_gc_mode)
return mrb_true_value();
else
return mrb_false_value();
}
/*
* call-seq:
* GC.generational_mode = true or false -> true or false
*
* Changes to generational or normal gc mode.
*
*/
static mrb_value
gc_generational_mode_set(mrb_state *mrb, mrb_value self)
{
mrb_value enable;
mrb_get_args(mrb, "o", &enable);
if (mrb->is_generational_gc_mode != mrb_test(enable))
change_gen_gc_mode(mrb, mrb_test(enable));
if (mrb_test(enable))
return mrb_true_value();
else
return mrb_false_value();
}
#ifdef GC_TEST
#ifdef GC_DEBUG
static mrb_value gc_test(mrb_state *, mrb_value);
#endif
#endif
void
mrb_init_gc(mrb_state *mrb)
{
......@@ -1064,6 +1218,13 @@ mrb_init_gc(mrb_state *mrb)
mrb_define_class_method(mrb, gc, "interval_ratio=", gc_interval_ratio_set, ARGS_REQ(1));
mrb_define_class_method(mrb, gc, "step_ratio", gc_step_ratio_get, ARGS_NONE());
mrb_define_class_method(mrb, gc, "step_ratio=", gc_step_ratio_set, ARGS_REQ(1));
mrb_define_class_method(mrb, gc, "generational_mode=", gc_generational_mode_set, ARGS_REQ(1));
mrb_define_class_method(mrb, gc, "generational_mode", gc_generational_mode_get, ARGS_NONE());
#ifdef GC_TEST
#ifdef GC_DEBUG
mrb_define_class_method(mrb, gc, "test", gc_test, ARGS_NONE());
#endif
#endif
}
#ifdef GC_TEST
......@@ -1075,6 +1236,7 @@ test_mrb_field_write_barrier(void)
struct RBasic *obj, *value;
puts("test_mrb_field_write_barrier");
mrb->is_generational_gc_mode = FALSE;
obj = mrb_basic(mrb_ary_new(mrb));
value = mrb_basic(mrb_str_new_cstr(mrb, "value"));
paint_black(obj);
......@@ -1094,7 +1256,7 @@ test_mrb_field_write_barrier(void)
mrb_field_write_barrier(mrb, obj, value);
gc_assert(obj->color & mrb->current_white_part);
gc_assert(obj->color & mrb->current_white_part);
gc_assert(value->color & mrb->current_white_part);
puts(" fail with black");
......@@ -1165,6 +1327,7 @@ test_add_gray_list(void)
struct RBasic *obj1, *obj2;
puts("test_add_gray_list");
change_gen_gc_mode(mrb, FALSE);
gc_assert(mrb->gray_list == NULL);
obj1 = mrb_basic(mrb_str_new_cstr(mrb, "test"));
add_gray_list(mrb, obj1);
......@@ -1220,19 +1383,20 @@ test_incremental_gc(void)
struct heap_page *page;
puts("test_incremental_gc");
change_gen_gc_mode(mrb, FALSE);
puts(" in mrb_garbage_collect");
mrb_garbage_collect(mrb);
gc_assert(mrb->gc_state == GC_STATE_NONE);
puts(" in GC_STATE_NONE");
incremental_gc(mrb, max);
gc_assert(mrb->gc_state == GC_STATE_MARK);
incremental_gc(mrb, max);
gc_assert(mrb->gc_state == GC_STATE_MARK);
incremental_gc(mrb, max);
puts(" in GC_STATE_MARK");
advance_phase(mrb, GC_STATE_SWEEP);
gc_assert(mrb->gc_state == GC_STATE_SWEEP);
puts(" in GC_STATE_SWEEP");
page = mrb->heaps;
while (page) {
RVALUE *p = page->objects;
......@@ -1267,6 +1431,28 @@ test_incremental_gc(void)
gc_assert(mrb->live == live);
gc_assert(mrb->live == total-freed);
puts("test_incremental_gc(gen)");
advance_phase(mrb, GC_STATE_SWEEP);
change_gen_gc_mode(mrb, TRUE);
gc_assert(mrb->gc_full == FALSE);
gc_assert(mrb->gc_state == GC_STATE_NONE);
puts(" in minor");
gc_assert(is_minor_gc(mrb));
gc_assert(mrb->majorgc_old_threshold > 0);
mrb->majorgc_old_threshold = 0;
mrb_incremental_gc(mrb);
gc_assert(mrb->gc_full == TRUE);
gc_assert(mrb->gc_state == GC_STATE_NONE);
puts(" in major");
gc_assert(is_major_gc(mrb));
do {
mrb_incremental_gc(mrb);
} while (mrb->gc_state != GC_STATE_NONE);
gc_assert(mrb->gc_full == FALSE);
mrb_close(mrb);
}
......@@ -1290,63 +1476,8 @@ test_incremental_sweep_phase(void)
mrb_close(mrb);
}
void
test_gc_api(void)
{
mrb_state *mrb = mrb_open();
mrb_value res;
mrb_value argv[1];
puts("test_gc_api");
gc_start(mrb, mrb_nil_value());
res = gc_interval_ratio_get(mrb, mrb_nil_value());
gc_assert(mrb_fixnum(res) == 200);
argv[0] = mrb_fixnum_value(300);
mrb->argv = &argv;
mrb->argc = 1;
gc_interval_ratio_set(mrb, mrb_nil_value());
res = gc_interval_ratio_get(mrb, mrb_nil_value());
gc_assert(mrb_fixnum(res) == 300);
res = gc_step_ratio_get(mrb, mrb_nil_value());
gc_assert(mrb_fixnum(res) == 200);
gc_step_ratio_set(mrb, mrb_nil_value());
res = gc_step_ratio_get(mrb, mrb_nil_value());
gc_assert(mrb_fixnum(res) == 300);
mrb_close(mrb);
}
static void
test_many_object_benchmark(void)
{
mrb_state *mrb = mrb_open();
size_t i = 0, j=0;
mrb_value ary = mrb_ary_new(mrb);
int save_point = mrb_gc_arena_save(mrb);
puts("test_many_object_benchmark");
for (i=0; i<1000; i++) {
mrb_value cary = mrb_ary_new(mrb);
mrb_ary_push(mrb, ary, cary);
for (j=0; j<1000; j++) {
mrb_ary_push(mrb, cary, mrb_str_new_cstr(mrb, "t"));
}
mrb_gc_arena_restore(mrb, save_point);
}
mrb_close(mrb);
}
int
main(void)
static mrb_value
gc_test(mrb_state *mrb, mrb_value self)
{
test_mrb_field_write_barrier();
test_mrb_write_barrier();
......@@ -1354,9 +1485,7 @@ main(void)
test_gc_gray_mark();
test_incremental_gc();
test_incremental_sweep_phase();
test_gc_api();
test_many_object_benchmark();
return 0;
return mrb_nil_value();
}
#endif
#endif
......@@ -710,6 +710,7 @@ mrb_mod_cv_set(mrb_state *mrb, struct RClass * c, mrb_sym sym, mrb_value v)
iv_tbl *t = c->iv;
if (iv_get(mrb, t, sym, NULL)) {
mrb_write_barrier(mrb, (struct RBasic*)c);
iv_put(mrb, t, sym, v);
return;
}
......@@ -721,6 +722,7 @@ mrb_mod_cv_set(mrb_state *mrb, struct RClass * c, mrb_sym sym, mrb_value v)
cls->iv = iv_new(mrb);
}
mrb_write_barrier(mrb, (struct RBasic*)cls);
iv_put(mrb, cls->iv, sym, v);
}
......@@ -771,6 +773,7 @@ mrb_vm_cv_set(mrb_state *mrb, mrb_sym sym, mrb_value v)
iv_tbl *t = c->iv;
if (iv_get(mrb, t, sym, NULL)) {
mrb_write_barrier(mrb, (struct RBasic*)c);
iv_put(mrb, t, sym, v);
return;
}
......@@ -781,6 +784,7 @@ mrb_vm_cv_set(mrb_state *mrb, mrb_sym sym, mrb_value v)
if (!c->iv) {
c->iv = iv_new(mrb);
}
mrb_write_barrier(mrb, (struct RBasic*)c);
iv_put(mrb, c->iv, sym, v);
}
......
......@@ -49,7 +49,11 @@ The value below allows about 60000 recursive calls in the simplest case. */
#define MRB_STACK_MAX ((1<<18) - MRB_STACK_GROWTH)
#endif
#ifdef VM_DEBUG
# define DEBUG(x) (x)
#else
# define DEBUG(x)
#endif
static inline void
stack_copy(mrb_value *dst, const mrb_value *src, size_t size)
......
dir = File.dirname(__FILE__).sub(%r|^\./|, '')
MRuby.each_target do
gems.each do |g|
test_rbc = "#{g.build_dir}/gem_test.c"
test_rbobj = test_rbc.ext('o')
Rake::FileTask.define_task g.testlib => g.test_objs + [test_rbobj] do |t|
g.build.archive t.name, 'rs', t.prerequisites
end
Rake::FileTask.define_task test_rbobj => test_rbc
Rake::FileTask.define_task test_rbc => g.test_rbfiles + [g.build.mrbcfile, "#{build_dir}/lib/libmruby.a"] do |t|
open(t.name, 'w') do |f|
f.puts g.gem_init_header
g.build.compile_mruby f, g.test_preload, "gem_test_irep_#{g.funcname}_preload"
g.test_rbfiles.each_with_index do |rbfile, i|
g.build.compile_mruby f, rbfile, "gem_test_irep_#{g.funcname}_#{i}"
end
f.puts %Q[void mrb_#{g.funcname}_gem_test(mrb_state *mrb);] unless g.test_objs.empty?
f.puts %Q[void GENERATED_TMP_mrb_#{g.funcname}_gem_test(mrb_state *mrb) {]
f.puts %Q[ mrb_state *mrb2;]
f.puts %Q[ mrb_value val1, val2, ary1, ary2;]
f.puts %Q[ int ai;]
unless g.test_rbfiles.empty?
g.test_rbfiles.count.times do |i|
f.puts %Q[ ai = mrb_gc_arena_save(mrb);]
f.puts %Q[ mrb2 = mrb_open();]
f.puts %Q[ mrb_load_irep(mrb2, gem_test_irep_#{g.funcname}_preload);]
f.puts %Q[ if (mrb2->exc) {]
f.puts %Q[ mrb_p(mrb2, mrb_obj_value(mrb2->exc));]
f.puts %Q[ exit(0);]
f.puts %Q[ }]
f.puts %Q[ mrb_const_set(mrb2, mrb_obj_value(mrb2->object_class), mrb_intern(mrb2, "GEMNAME"), mrb_str_new(mrb2, "#{g.name}", #{g.name.length}));]
f.puts %Q[ mrb_#{g.funcname}_gem_test(mrb2);] unless g.test_objs.empty?
f.puts %Q[ mrb_load_irep(mrb2, gem_test_irep_#{g.funcname}_#{i});]
f.puts %Q[ if (mrb2->exc) {]
f.puts %Q[ mrb_p(mrb2, mrb_obj_value(mrb2->exc));]
f.puts %Q[ exit(0);]
f.puts %Q[ }]
f.puts %Q[ ]
%w(ok_test ko_test kill_test).each do |vname|
f.puts %Q[ val1 = mrb_gv_get(mrb2, mrb_intern(mrb, "$#{vname}"));]
f.puts %Q[ if(mrb_fixnum_p(val1)) {]
f.puts %Q[ val2 = mrb_gv_get(mrb, mrb_intern(mrb, "$#{vname}"));]
f.puts %Q[ mrb_gv_set(mrb, mrb_intern(mrb, "$#{vname}"), mrb_fixnum_value(mrb_fixnum(val1) + mrb_fixnum(val2)));]
f.puts %Q[ }\n]
end
f.puts %Q[ ary2 = mrb_gv_get(mrb2, mrb_intern(mrb2, "$asserts"));]
f.puts %Q[ if(mrb_test(ary2)) {]
f.puts %Q[ ary1 = mrb_gv_get(mrb, mrb_intern(mrb, "$asserts"));]
f.puts %Q[ val2 = mrb_ary_shift(mrb2, ary2);]
f.puts %Q[ ]
f.puts %Q[ while(mrb_test(val2)) {]
f.puts %Q[ char *str = mrb_string_value_cstr(mrb2, &val2);]
f.puts %Q[ mrb_ary_push(mrb, ary1, mrb_str_new(mrb, str, strlen(str)));]
f.puts %Q[ val2 = mrb_ary_shift(mrb2, ary2);]
f.puts %Q[ }]
f.puts %Q[ }]
f.puts %Q[ mrb_close(mrb2);]
f.puts %Q[ mrb_gc_arena_restore(mrb, ai);]
end
end
f.puts %Q[}]
end
end
end
end
......@@ -67,6 +67,10 @@ module MRuby
end
def load_external_gem(params)
if params[:github]
params[:git] = "git@github.com:#{params[:github]}.git"
end
if params[:git]
url = params[:git]
gemdir = "build/mrbgems/#{url.match(/([-_\w]+)(\.[-_\w]+|)$/).to_a[1]}"
......
......@@ -22,7 +22,7 @@ module MRuby
attr_array :licenses, :authors
alias :license= :licenses=
alias :author= :authors=
attr_array :cflags
attr_array :cflags, :cxxflags, :objcflags, :asmflags
attr_array :mruby_cflags, :mruby_includes, :mruby_ldflags, :mruby_libs
attr_array :rbfiles, :objs
......@@ -66,46 +66,15 @@ module MRuby
end
def build_dir
return @build_dir if @build_dir
@build_dir = "#{build.build_dir}/mrbgems/#{name}"
@build_dir ||= "#{build.build_dir}/mrbgems/#{name}"
FileUtils.mkdir_p @build_dir
@build_dir
end
def add_tasks
test_rbc = "#{build_dir}/gem_test.c"
test_rbobj = test_rbc.ext('o')
Rake::FileTask.define_task testlib => test_objs + [test_rbobj] do |t|
build.archive t.name, 'rs', t.prerequisites
end
Rake::FileTask.define_task test_rbobj => test_rbc
Rake::FileTask.define_task test_rbc => [build.mrbcfile] + test_rbfiles do |t|
open(t.name, 'w') do |f|
f.puts gem_init_header
build.compile_mruby f, test_rbfiles, "gem_test_irep_#{funcname}" unless test_rbfiles.empty?
end
open(t.name, 'a') do |f|
f.puts "void mrb_#{funcname}_gem_test(mrb_state *mrb);" unless test_objs.empty?
f.puts "void GENERATED_TMP_mrb_#{funcname}_gem_test(mrb_state *mrb) {"
f.puts " mrb_#{funcname}_gem_test(mrb);" unless test_objs.empty?
f.puts <<__EOF__ unless test_rbfiles.empty?
mrb_load_irep(mrb, gem_test_irep_#{funcname});
if (mrb->exc) {
mrb_p(mrb, mrb_obj_value(mrb->exc));
exit(0);
}
__EOF__
f.puts "}"
end
end
Rake::FileTask.define_task "#{build_dir}/gem_init.o" => "#{build_dir}/gem_init.c"
Rake::FileTask.define_task "#{build_dir}/gem_init.c" => [build.mrbcfile] + rbfiles do |t|
generate_gem_init(t.name)
generate_gem_init("#{build_dir}/gem_init.c")
end
end
......@@ -149,6 +118,7 @@ __EOF__
build.compile_mruby f, rbfiles, "gem_mrblib_irep_#{funcname}" unless rbfiles.empty?
f.puts "void mrb_#{funcname}_gem_init(mrb_state *mrb);"
f.puts "void GENERATED_TMP_mrb_#{funcname}_gem_init(mrb_state *mrb) {"
f.puts " int ai = mrb_gc_arena_save(mrb);"
f.puts " mrb_#{funcname}_gem_init(mrb);" if objs != ["#{build_dir}/gem_init.o"]
f.puts <<__EOF__ unless rbfiles.empty?
mrb_load_irep(mrb, gem_mrblib_irep_#{funcname});
......@@ -158,6 +128,8 @@ __EOF__
}
__EOF__
f.puts " mrb_gc_arena_restore(mrb, ai);"
f.puts "}"
end
end # generate_gem_init
......@@ -177,9 +149,12 @@ __EOF__
#include "mruby/dump.h"
#include "mruby/string.h"
#include "mruby/proc.h"
#include "mruby/variable.h"
#include "mruby/array.h"
#include "mruby/string.h"
__EOF__
end # gem_init_header
end # Specification
end # Gem
end # MRuby
\ No newline at end of file
end # MRuby
def get_dependencies(file)
file = file.pathmap('%n.d') unless File.extname(file) == '.d'
file = file.ext('d') unless File.extname(file) == '.d'
if File.exists?(file)
File.read(file).gsub("\\\n ", "").scan(/^\S+:\s+(.+)$/).flatten.map {|s| s.split(' ') }.flatten
else
......
......@@ -5,14 +5,13 @@ $asserts = []
$test_start = Time.now if Object.const_defined?(:Time)
##
# Print the assertion in a readable way
def print_assertion_string(str, iso)
print(str)
if(iso != '')
print(' [')
print(iso)
print(']')
end
# Create the assertion in a readable way
def assertion_string(err, str, iso=nil, e=nil)
msg = "#{err}#{str}"
msg += " [#{iso}]" if iso && iso != ''
msg += " => #{e.message}" if e
msg += " (mrbgems: #{GEMNAME})" if Object.const_defined?(:GEMNAME)
msg
end
##
......@@ -26,7 +25,7 @@ end
def assert(str = 'Assertion failed', iso = '')
begin
if(!yield)
$asserts.push(['Fail: ', str, iso])
$asserts.push(assertion_string('Fail: ', str, iso))
$ko_test += 1
print('F')
else
......@@ -34,7 +33,7 @@ def assert(str = 'Assertion failed', iso = '')
print('.')
end
rescue Exception => e
$asserts.push(['Error: ', str, iso, e])
$asserts.push(assertion_string('Error: ', str, iso, e))
$kill_test += 1
print('X')
end
......@@ -45,14 +44,9 @@ end
# which were reported broken.
def report()
print "\n"
$asserts.each do |err, str, iso, e|
print(err);
print_assertion_string(str, iso)
if e
print(" => ")
print(e.message)
end
print("\n")
$asserts.each do |msg|
puts msg
end
$total_test = $ok_test.+($ko_test)
......
......@@ -11,7 +11,7 @@ MRuby.each_target do
objs = ["#{build_dir}/#{dir}/driver.o", mlib]
file exec => objs + gems.map{ |g| g.testlib } + ["#{build_dir}/lib/libmruby.a"] do |t|
link t.name, t.prerequisites, [], gems.map { |g| g.mruby_libs }
link t.name, t.prerequisites, gems.map { |g| g.mruby_ldflags }, gems.map { |g| g.mruby_libs }
end
file mlib => [clib]
......@@ -29,4 +29,4 @@ MRuby.each_target do
f.puts "}"
end
end
end
\ No newline at end of file
end
# Not ISO specified
assert('GC.enable') do
GC.disable == false
GC.enable == true
GC.enable == false
end
assert('GC.disable') do
begin
GC.disable == false
GC.disable == true
ensure
GC.enable
end
end
assert('GC.interval_ratio=') do
origin = GC.interval_ratio
begin
(GC.interval_ratio = 150) == 150
ensure
GC.interval_ratio = origin
end
end
assert('GC.step_ratio=') do
origin = GC.step_ratio
begin
(GC.step_ratio = 150) == 150
ensure
GC.step_ratio = origin
end
end
assert('GC.generational_mode=') do
origin = GC.generational_mode
begin
(GC.generational_mode = false) == false
(GC.generational_mode = true) == true
(GC.generational_mode = true) == true
ensure
GC.generational_mode = origin
end
end
......@@ -5,6 +5,6 @@ MRuby.each_target do
objs = Dir.glob("#{dir}/*.{c}").map { |f| f.pathmap("#{build_dir}/%X.o") }
file exec => objs + ["#{build_dir}/lib/libmruby.a"] do |t|
link t.name, t.prerequisites, [], gems.map { |g| g.mruby_libs }
link t.name, t.prerequisites, gems.map { |g| g.mruby_ldflags }, gems.map { |g| g.mruby_libs }
end
end
\ No newline at end of file
end
......@@ -7,4 +7,4 @@ MRuby.each_target do
file exec => objs + ["#{build_dir}/lib/libmruby_core.a"] do |t|
link t.name, t.prerequisites, [], gems.map { |g| g.mruby_libs }
end
end
\ No newline at end of file
end
......@@ -5,6 +5,6 @@ MRuby.each_target do
objs = Dir.glob("#{dir}/*.{c}").map { |f| f.pathmap("#{build_dir}/%X.o") }
file exec => objs + ["#{build_dir}/lib/libmruby.a"] do |t|
link t.name, t.prerequisites, [], gems.map { |g| g.mruby_libs }
link t.name, t.prerequisites, gems.map { |g| g.mruby_ldflags }, gems.map { |g| g.mruby_libs }
end
end
\ No newline at end of file
end
xcuserdata
build/
bin/
lib/
DerivedData/
\ No newline at end of file
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
8844359B157730E1007F95A4 /* mrbtest.c in Sources */ = {isa = PBXBuildFile; fileRef = 8844359A157730DB007F95A4 /* mrbtest.c */; };
8844359C15773120007F95A4 /* libmruby.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8844353E1576F1A3007F95A4 /* libmruby.a */; };
8844359F15773215007F95A4 /* driver.c in Sources */ = {isa = PBXBuildFile; fileRef = 8844356415772EF0007F95A4 /* driver.c */; };
88760A97157591E100113BFB /* mrbc.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34C4156C997100F12AC7 /* mrbc.c */; };
88760AEA15759F9700113BFB /* y.tab.c in Sources */ = {isa = PBXBuildFile; fileRef = 88EDC30215757CB40098CF0D /* y.tab.c */; };
88760AEB15759F9700113BFB /* array.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34D4156C998200F12AC7 /* array.c */; };
88760AED15759F9700113BFB /* cdump.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34D6156C998200F12AC7 /* cdump.c */; };
88760AEE15759F9700113BFB /* class.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34D7156C998200F12AC7 /* class.c */; };
88760AEF15759F9700113BFB /* codegen.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34D9156C998200F12AC7 /* codegen.c */; };
88760AF015759F9700113BFB /* compar.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34DA156C998200F12AC7 /* compar.c */; };
88760AF115759F9700113BFB /* crc.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34DB156C998200F12AC7 /* crc.c */; };
88760AF215759F9700113BFB /* dump.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34DC156C998200F12AC7 /* dump.c */; };
88760AF415759F9700113BFB /* enum.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34DF156C998200F12AC7 /* enum.c */; };
88760AF515759F9700113BFB /* error.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34E0156C998200F12AC7 /* error.c */; };
88760AF615759F9700113BFB /* etc.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34E2156C998200F12AC7 /* etc.c */; };
88760AF715759F9700113BFB /* gc.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34E5156C998200F12AC7 /* gc.c */; };
88760AF815759F9700113BFB /* hash.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34E7156C998200F12AC7 /* hash.c */; };
88760AF915759F9700113BFB /* init.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34E8156C998200F12AC7 /* init.c */; };
88760AFA15759F9700113BFB /* init_ext.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34EA156C998200F12AC7 /* init_ext.c */; };
88760AFB15759F9700113BFB /* kernel.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34EB156C998200F12AC7 /* kernel.c */; };
88760AFC15759F9700113BFB /* load.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34EE156C998200F12AC7 /* load.c */; };
88760AFD15759F9700113BFB /* math.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34F0156C998200F12AC7 /* math.c */; };
88760AFE15759F9700113BFB /* numeric.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34F4156C998200F12AC7 /* numeric.c */; };
88760AFF15759F9700113BFB /* object.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34F5156C998200F12AC7 /* object.c */; };
88760B0015759F9700113BFB /* pool.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34F9156C998200F12AC7 /* pool.c */; };
88760B0115759F9700113BFB /* print.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34FA156C998200F12AC7 /* print.c */; };
88760B0215759F9700113BFB /* proc.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34FB156C998200F12AC7 /* proc.c */; };
88760B0315759F9700113BFB /* range.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34FC156C998200F12AC7 /* range.c */; };
88760B0415759F9700113BFB /* re.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34FD156C998200F12AC7 /* re.c */; };
88760B0515759F9700113BFB /* regcomp.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34FF156C998200F12AC7 /* regcomp.c */; };
88760B0615759F9700113BFB /* regenc.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF3500156C998200F12AC7 /* regenc.c */; };
88760B0715759F9700113BFB /* regerror.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF3502156C998200F12AC7 /* regerror.c */; };
88760B0815759F9700113BFB /* regexec.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF3504156C998200F12AC7 /* regexec.c */; };
88760B0915759F9700113BFB /* regparse.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF3506156C998200F12AC7 /* regparse.c */; };
88760B0A15759F9700113BFB /* sprintf.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF3508156C998200F12AC7 /* sprintf.c */; };
88760B0B15759F9700113BFB /* st.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF3509156C998200F12AC7 /* st.c */; };
88760B0C15759F9700113BFB /* state.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF350B156C998200F12AC7 /* state.c */; };
88760B0D15759F9700113BFB /* string.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF350C156C998200F12AC7 /* string.c */; };
88760B0E15759F9700113BFB /* struct.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF350D156C998200F12AC7 /* struct.c */; };
88760B0F15759F9700113BFB /* symbol.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF350E156C998200F12AC7 /* symbol.c */; };
88760B1015759F9700113BFB /* time.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF350F156C998200F12AC7 /* time.c */; };
88760B1515759F9700113BFB /* variable.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF3515156C998200F12AC7 /* variable.c */; };
88760B1615759F9700113BFB /* vm.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF3518156C998200F12AC7 /* vm.c */; };
88760B1915769C3E00113BFB /* libmruby_core.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 88760B1715769BE400113BFB /* libmruby_core.a */; };
88760B1D15769CEE00113BFB /* mrblib.c in Sources */ = {isa = PBXBuildFile; fileRef = 88760B1C15769CEE00113BFB /* mrblib.c */; };
88760B1E15769D2000113BFB /* libmruby_core.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 88760B1715769BE400113BFB /* libmruby_core.a */; };
88760B3015769E8D00113BFB /* mruby.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34C8156C997100F12AC7 /* mruby.c */; };
88760B3115769E9400113BFB /* libmruby.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 88760B1F15769E2D00113BFB /* libmruby.a */; };
88760B3815769F3000113BFB /* libmruby.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 88760B1F15769E2D00113BFB /* libmruby.a */; };
88760B3E15769F5000113BFB /* mirb.c in Sources */ = {isa = PBXBuildFile; fileRef = 88BF34C0156C997100F12AC7 /* mirb.c */; };
88760B811576A33100113BFB /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 88760B7F1576A33100113BFB /* InfoPlist.strings */; };
88760B8C1576A37600113BFB /* mrbconf.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF3558156C99B200F12AC7 /* mrbconf.h */; };
88760B8D1576A37600113BFB /* array.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF355A156C99B200F12AC7 /* array.h */; };
88760B8E1576A37600113BFB /* cdump.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF355B156C99B200F12AC7 /* cdump.h */; };
88760B8F1576A37600113BFB /* class.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF355C156C99B200F12AC7 /* class.h */; };
88760B901576A37600113BFB /* compile.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF355D156C99B200F12AC7 /* compile.h */; };
88760B911576A37600113BFB /* data.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF355E156C99B200F12AC7 /* data.h */; };
88760B921576A37600113BFB /* dump.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF355F156C99B200F12AC7 /* dump.h */; };
88760B931576A37600113BFB /* hash.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF3560156C99B200F12AC7 /* hash.h */; };
88760B941576A37600113BFB /* irep.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF3561156C99B200F12AC7 /* irep.h */; };
88760B951576A37600113BFB /* khash.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF3562156C99B200F12AC7 /* khash.h */; };
88760B961576A37600113BFB /* numeric.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF3563156C99B200F12AC7 /* numeric.h */; };
88760B971576A37600113BFB /* object.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF3564156C99B200F12AC7 /* object.h */; };
88760B981576A37600113BFB /* proc.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF3565156C99B200F12AC7 /* proc.h */; };
88760B991576A37600113BFB /* range.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF3566156C99B200F12AC7 /* range.h */; };
88760B9A1576A37600113BFB /* string.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF3567156C99B200F12AC7 /* string.h */; };
88760B9B1576A37600113BFB /* struct.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF3568156C99B200F12AC7 /* struct.h */; };
88760B9C1576A37600113BFB /* variable.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF3569156C99B200F12AC7 /* variable.h */; };
88760B9D1576A37600113BFB /* mruby.h in Headers */ = {isa = PBXBuildFile; fileRef = 88BF356A156C99B200F12AC7 /* mruby.h */; };
88760B9F1576A4A200113BFB /* mrblib.c in Sources */ = {isa = PBXBuildFile; fileRef = 88760B1C15769CEE00113BFB /* mrblib.c */; };
88760BA01576A4A700113BFB /* libmruby_core.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 88760B1715769BE400113BFB /* libmruby_core.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
8844359D15773126007F95A4 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 88BF3371156C992100F12AC7 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 88760AA115759B4F00113BFB;
remoteInfo = ruby_lib;
};
88760ADE15759C1C00113BFB /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 88BF3371156C992100F12AC7 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 88760A8A157590F000113BFB;
remoteInfo = mrbc;
};
88760B1A15769C5E00113BFB /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 88BF3371156C992100F12AC7 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 88760AE415759EFE00113BFB;
remoteInfo = mruby_core;
};
88760B2E15769E8000113BFB /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 88BF3371156C992100F12AC7 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 88760AA115759B4F00113BFB;
remoteInfo = ruby_lib;
};
88760B3415769F3000113BFB /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 88BF3371156C992100F12AC7 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 88760AA115759B4F00113BFB;
remoteInfo = ruby_lib;
};
88760B891576A35C00113BFB /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 88BF3371156C992100F12AC7 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 88760AA115759B4F00113BFB;
remoteInfo = ruby_lib;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
8844353B1576F1A3007F95A4 /* libmruby_core.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libmruby_core.a; sourceTree = BUILT_PRODUCTS_DIR; };
8844353C1576F1A3007F95A4 /* mrbc */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = mrbc; sourceTree = BUILT_PRODUCTS_DIR; };
8844353E1576F1A3007F95A4 /* libmruby.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libmruby.a; sourceTree = BUILT_PRODUCTS_DIR; };
8844353F1576F1A3007F95A4 /* mruby.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = mruby.framework; sourceTree = BUILT_PRODUCTS_DIR; };
8844356215772EF0007F95A4 /* assert.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = assert.rb; sourceTree = "<group>"; };
8844356415772EF0007F95A4 /* driver.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = driver.c; sourceTree = "<group>"; };
8844356515772EF0007F95A4 /* init_mrbtest.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = init_mrbtest.c; sourceTree = "<group>"; };
8844356815772EF0007F95A4 /* argumenterror.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = argumenterror.rb; sourceTree = "<group>"; };
8844356915772EF0007F95A4 /* array.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = array.rb; sourceTree = "<group>"; };
8844356A15772EF0007F95A4 /* bs_block.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = bs_block.rb; sourceTree = "<group>"; };
8844356B15772EF0007F95A4 /* bs_literal.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = bs_literal.rb; sourceTree = "<group>"; };
8844356C15772EF0007F95A4 /* class.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = class.rb; sourceTree = "<group>"; };
8844356D15772EF0007F95A4 /* enumerable.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = enumerable.rb; sourceTree = "<group>"; };
8844356E15772EF0007F95A4 /* exception.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = exception.rb; sourceTree = "<group>"; };
8844356F15772EF0007F95A4 /* false.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = false.rb; sourceTree = "<group>"; };
8844357015772EF0007F95A4 /* float.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = float.rb; sourceTree = "<group>"; };
8844357115772EF0007F95A4 /* hash.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = hash.rb; sourceTree = "<group>"; };
8844357215772EF0007F95A4 /* indexerror.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = indexerror.rb; sourceTree = "<group>"; };
8844357315772EF0007F95A4 /* integer.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = integer.rb; sourceTree = "<group>"; };
8844357415772EF0007F95A4 /* kernel.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = kernel.rb; sourceTree = "<group>"; };
8844357515772EF0007F95A4 /* literals.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = literals.rb; sourceTree = "<group>"; };
8844357615772EF0007F95A4 /* localjumperror.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = localjumperror.rb; sourceTree = "<group>"; };
8844357715772EF0007F95A4 /* math.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = math.rb; sourceTree = "<group>"; };
8844357815772EF0007F95A4 /* module.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = module.rb; sourceTree = "<group>"; };
8844357915772EF0007F95A4 /* nameerror.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = nameerror.rb; sourceTree = "<group>"; };
8844357A15772EF0007F95A4 /* nil.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = nil.rb; sourceTree = "<group>"; };
8844357B15772EF0007F95A4 /* nomethoderror.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = nomethoderror.rb; sourceTree = "<group>"; };
8844357C15772EF0007F95A4 /* numeric.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = numeric.rb; sourceTree = "<group>"; };
8844357D15772EF0007F95A4 /* object.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = object.rb; sourceTree = "<group>"; };
8844357E15772EF0007F95A4 /* proc.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = proc.rb; sourceTree = "<group>"; };
8844357F15772EF0007F95A4 /* range.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = range.rb; sourceTree = "<group>"; };
8844358015772EF0007F95A4 /* rangeerror.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = rangeerror.rb; sourceTree = "<group>"; };
8844358115772EF0007F95A4 /* regexperror.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = regexperror.rb; sourceTree = "<group>"; };
8844358215772EF0007F95A4 /* runtimeerror.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = runtimeerror.rb; sourceTree = "<group>"; };
8844358315772EF0007F95A4 /* standarderror.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = standarderror.rb; sourceTree = "<group>"; };
8844358415772EF0007F95A4 /* string.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = string.rb; sourceTree = "<group>"; };
8844358515772EF0007F95A4 /* struct.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = struct.rb; sourceTree = "<group>"; };
8844358615772EF0007F95A4 /* symbol.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = symbol.rb; sourceTree = "<group>"; };
8844358715772EF0007F95A4 /* time.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = time.rb; sourceTree = "<group>"; };
8844358815772EF0007F95A4 /* true.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = true.rb; sourceTree = "<group>"; };
8844358915772EF0007F95A4 /* typeerror.rb */ = {isa = PBXFileReference; lastKnownFileType = text.script.ruby; path = typeerror.rb; sourceTree = "<group>"; };
8844358F1577301B007F95A4 /* mrbtest */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = mrbtest; sourceTree = BUILT_PRODUCTS_DIR; };
8844359A157730DB007F95A4 /* mrbtest.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = mrbtest.c; sourceTree = "<group>"; };
88760A9D1575991600113BFB /* mrbc */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = mrbc; path = bin/mrbc; sourceTree = SOURCE_ROOT; };
88760B1715769BE400113BFB /* libmruby_core.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = libmruby_core.a; path = lib/libmruby_core.a; sourceTree = SOURCE_ROOT; };
88760B1C15769CEE00113BFB /* mrblib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mrblib.c; sourceTree = "<group>"; };
88760B1F15769E2D00113BFB /* libmruby.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; name = libmruby.a; path = lib/libmruby.a; sourceTree = SOURCE_ROOT; };
88760B2415769E6100113BFB /* mruby */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = mruby; sourceTree = BUILT_PRODUCTS_DIR; };
88760B3C15769F3000113BFB /* mirb */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = mirb; sourceTree = BUILT_PRODUCTS_DIR; };
88760B7E1576A33100113BFB /* mruby_fw-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "mruby_fw-Info.plist"; sourceTree = "<group>"; };
88760B801576A33100113BFB /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
88760B821576A33100113BFB /* mruby_fw-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "mruby_fw-Prefix.pch"; sourceTree = "<group>"; };
88BF34C0156C997100F12AC7 /* mirb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mirb.c; sourceTree = "<group>"; };
88BF34C4156C997100F12AC7 /* mrbc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mrbc.c; sourceTree = "<group>"; };
88BF34C8156C997100F12AC7 /* mruby.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mruby.c; sourceTree = "<group>"; };
88BF34CB156C997100F12AC7 /* xpcat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xpcat.c; sourceTree = "<group>"; };
88BF34D4156C998200F12AC7 /* array.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = array.c; sourceTree = "<group>"; };
88BF34D6156C998200F12AC7 /* cdump.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cdump.c; sourceTree = "<group>"; };
88BF34D7156C998200F12AC7 /* class.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = class.c; sourceTree = "<group>"; };
88BF34D9156C998200F12AC7 /* codegen.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = codegen.c; sourceTree = "<group>"; };
88BF34DA156C998200F12AC7 /* compar.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = compar.c; sourceTree = "<group>"; };
88BF34DB156C998200F12AC7 /* crc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = crc.c; sourceTree = "<group>"; };
88BF34DC156C998200F12AC7 /* dump.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dump.c; sourceTree = "<group>"; };
88BF34DE156C998200F12AC7 /* encoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = encoding.h; sourceTree = "<group>"; };
88BF34DF156C998200F12AC7 /* enum.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = enum.c; sourceTree = "<group>"; };
88BF34E0156C998200F12AC7 /* error.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = error.c; sourceTree = "<group>"; };
88BF34E1156C998200F12AC7 /* error.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = error.h; sourceTree = "<group>"; };
88BF34E2156C998200F12AC7 /* etc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = etc.c; sourceTree = "<group>"; };
88BF34E5156C998200F12AC7 /* gc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gc.c; sourceTree = "<group>"; };
88BF34E7156C998200F12AC7 /* hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hash.c; sourceTree = "<group>"; };
88BF34E8156C998200F12AC7 /* init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = init.c; sourceTree = "<group>"; };
88BF34EA156C998200F12AC7 /* init_ext.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = init_ext.c; sourceTree = "<group>"; };
88BF34EB156C998200F12AC7 /* kernel.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = kernel.c; sourceTree = "<group>"; };
88BF34EC156C998200F12AC7 /* keywords */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = keywords; sourceTree = "<group>"; };
88BF34ED156C998200F12AC7 /* lex.def */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = lex.def; sourceTree = "<group>"; };
88BF34EE156C998200F12AC7 /* load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = load.c; sourceTree = "<group>"; };
88BF34F0156C998200F12AC7 /* math.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = math.c; sourceTree = "<group>"; };
88BF34F2156C998200F12AC7 /* name2ctype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = name2ctype.h; sourceTree = "<group>"; };
88BF34F3156C998200F12AC7 /* node.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = node.h; sourceTree = "<group>"; };
88BF34F4156C998200F12AC7 /* numeric.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = numeric.c; sourceTree = "<group>"; };
88BF34F5156C998200F12AC7 /* object.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = object.c; sourceTree = "<group>"; };
88BF34F6156C998200F12AC7 /* oniguruma.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oniguruma.h; sourceTree = "<group>"; };
88BF34F7156C998200F12AC7 /* opcode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opcode.h; sourceTree = "<group>"; };
88BF34F8156C998200F12AC7 /* parse.y */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.yacc; path = parse.y; sourceTree = "<group>"; };
88BF34F9156C998200F12AC7 /* pool.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pool.c; sourceTree = "<group>"; };
88BF34FA156C998200F12AC7 /* print.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = print.c; sourceTree = "<group>"; };
88BF34FB156C998200F12AC7 /* proc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = proc.c; sourceTree = "<group>"; };
88BF34FC156C998200F12AC7 /* range.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = range.c; sourceTree = "<group>"; };
88BF34FD156C998200F12AC7 /* re.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = re.c; sourceTree = "<group>"; };
88BF34FE156C998200F12AC7 /* re.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = re.h; sourceTree = "<group>"; };
88BF34FF156C998200F12AC7 /* regcomp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regcomp.c; sourceTree = "<group>"; };
88BF3500156C998200F12AC7 /* regenc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regenc.c; sourceTree = "<group>"; };
88BF3501156C998200F12AC7 /* regenc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regenc.h; sourceTree = "<group>"; };
88BF3502156C998200F12AC7 /* regerror.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regerror.c; sourceTree = "<group>"; };
88BF3503156C998200F12AC7 /* regex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regex.h; sourceTree = "<group>"; };
88BF3504156C998200F12AC7 /* regexec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regexec.c; sourceTree = "<group>"; };
88BF3505156C998200F12AC7 /* regint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regint.h; sourceTree = "<group>"; };
88BF3506156C998200F12AC7 /* regparse.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = regparse.c; sourceTree = "<group>"; };
88BF3507156C998200F12AC7 /* regparse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = regparse.h; sourceTree = "<group>"; };
88BF3508156C998200F12AC7 /* sprintf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sprintf.c; sourceTree = "<group>"; };
88BF3509156C998200F12AC7 /* st.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = st.c; sourceTree = "<group>"; };
88BF350A156C998200F12AC7 /* st.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = st.h; sourceTree = "<group>"; };
88BF350B156C998200F12AC7 /* state.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = state.c; sourceTree = "<group>"; };
88BF350C156C998200F12AC7 /* string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = string.c; sourceTree = "<group>"; };
88BF350D156C998200F12AC7 /* struct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = struct.c; sourceTree = "<group>"; };
88BF350E156C998200F12AC7 /* symbol.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = symbol.c; sourceTree = "<group>"; };
88BF350F156C998200F12AC7 /* time.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = time.c; sourceTree = "<group>"; };
88BF3515156C998200F12AC7 /* variable.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = variable.c; sourceTree = "<group>"; };
88BF3518156C998200F12AC7 /* vm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vm.c; sourceTree = "<group>"; };
88BF3558156C99B200F12AC7 /* mrbconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mrbconf.h; sourceTree = "<group>"; };
88BF355A156C99B200F12AC7 /* array.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = array.h; sourceTree = "<group>"; };
88BF355B156C99B200F12AC7 /* cdump.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cdump.h; sourceTree = "<group>"; };
88BF355C156C99B200F12AC7 /* class.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = class.h; sourceTree = "<group>"; };
88BF355D156C99B200F12AC7 /* compile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compile.h; sourceTree = "<group>"; };
88BF355E156C99B200F12AC7 /* data.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = data.h; sourceTree = "<group>"; };
88BF355F156C99B200F12AC7 /* dump.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dump.h; sourceTree = "<group>"; };
88BF3560156C99B200F12AC7 /* hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hash.h; sourceTree = "<group>"; };
88BF3561156C99B200F12AC7 /* irep.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = irep.h; sourceTree = "<group>"; };
88BF3562156C99B200F12AC7 /* khash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = khash.h; sourceTree = "<group>"; };
88BF3563156C99B200F12AC7 /* numeric.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = numeric.h; sourceTree = "<group>"; };
88BF3564156C99B200F12AC7 /* object.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = object.h; sourceTree = "<group>"; };
88BF3565156C99B200F12AC7 /* proc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = proc.h; sourceTree = "<group>"; };
88BF3566156C99B200F12AC7 /* range.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = range.h; sourceTree = "<group>"; };
88BF3567156C99B200F12AC7 /* string.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string.h; sourceTree = "<group>"; };
88BF3568156C99B200F12AC7 /* struct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = struct.h; sourceTree = "<group>"; };
88BF3569156C99B200F12AC7 /* variable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = variable.h; sourceTree = "<group>"; };
88BF356A156C99B200F12AC7 /* mruby.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mruby.h; sourceTree = "<group>"; };
88BF357E156C99C200F12AC7 /* array.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = array.rb; sourceTree = "<group>"; };
88BF3580156C99C200F12AC7 /* compar.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = compar.rb; sourceTree = "<group>"; };
88BF3581156C99C200F12AC7 /* enum.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = enum.rb; sourceTree = "<group>"; };
88BF3582156C99C200F12AC7 /* error.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = error.rb; sourceTree = "<group>"; };
88BF3583156C99C200F12AC7 /* hash.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = hash.rb; sourceTree = "<group>"; };
88BF3584156C99C200F12AC7 /* init_mrblib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = init_mrblib.c; sourceTree = "<group>"; };
88BF3585156C99C200F12AC7 /* kernel.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = kernel.rb; sourceTree = "<group>"; };
88BF3587156C99C200F12AC7 /* numeric.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = numeric.rb; sourceTree = "<group>"; };
88BF3588156C99C200F12AC7 /* print.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = print.rb; sourceTree = "<group>"; };
88BF3589156C99C200F12AC7 /* range.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = range.rb; sourceTree = "<group>"; };
88BF358A156C99C200F12AC7 /* string.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = string.rb; sourceTree = "<group>"; };
88BF358B156C99C200F12AC7 /* struct.rb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.ruby; path = struct.rb; sourceTree = "<group>"; };
88EDC30215757CB40098CF0D /* y.tab.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = y.tab.c; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
8844358C1577301B007F95A4 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8844359C15773120007F95A4 /* libmruby.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
88760A88157590F000113BFB /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
88760B1915769C3E00113BFB /* libmruby_core.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
88760A9F15759B4F00113BFB /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
88760B1E15769D2000113BFB /* libmruby_core.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
88760AE215759EFE00113BFB /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
88760B2115769E6100113BFB /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
88760B3115769E9400113BFB /* libmruby.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
88760B3715769F3000113BFB /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
88760B3815769F3000113BFB /* libmruby.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
88760B701576A33100113BFB /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
88760BA01576A4A700113BFB /* libmruby_core.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
8844356115772EF0007F95A4 /* test */ = {
isa = PBXGroup;
children = (
8844359A157730DB007F95A4 /* mrbtest.c */,
8844356215772EF0007F95A4 /* assert.rb */,
8844356415772EF0007F95A4 /* driver.c */,
8844356515772EF0007F95A4 /* init_mrbtest.c */,
8844356715772EF0007F95A4 /* t */,
);
name = test;
path = ../test;
sourceTree = "<group>";
};
8844356715772EF0007F95A4 /* t */ = {
isa = PBXGroup;
children = (
8844356815772EF0007F95A4 /* argumenterror.rb */,
8844356915772EF0007F95A4 /* array.rb */,
8844356A15772EF0007F95A4 /* bs_block.rb */,
8844356B15772EF0007F95A4 /* bs_literal.rb */,
8844356C15772EF0007F95A4 /* class.rb */,
8844356D15772EF0007F95A4 /* enumerable.rb */,
8844356E15772EF0007F95A4 /* exception.rb */,
8844356F15772EF0007F95A4 /* false.rb */,
8844357015772EF0007F95A4 /* float.rb */,
8844357115772EF0007F95A4 /* hash.rb */,
8844357215772EF0007F95A4 /* indexerror.rb */,
8844357315772EF0007F95A4 /* integer.rb */,
8844357415772EF0007F95A4 /* kernel.rb */,
8844357515772EF0007F95A4 /* literals.rb */,
8844357615772EF0007F95A4 /* localjumperror.rb */,
8844357715772EF0007F95A4 /* math.rb */,
8844357815772EF0007F95A4 /* module.rb */,
8844357915772EF0007F95A4 /* nameerror.rb */,
8844357A15772EF0007F95A4 /* nil.rb */,
8844357B15772EF0007F95A4 /* nomethoderror.rb */,
8844357C15772EF0007F95A4 /* numeric.rb */,
8844357D15772EF0007F95A4 /* object.rb */,
8844357E15772EF0007F95A4 /* proc.rb */,
8844357F15772EF0007F95A4 /* range.rb */,
8844358015772EF0007F95A4 /* rangeerror.rb */,
8844358115772EF0007F95A4 /* regexperror.rb */,
8844358215772EF0007F95A4 /* runtimeerror.rb */,
8844358315772EF0007F95A4 /* standarderror.rb */,
8844358415772EF0007F95A4 /* string.rb */,
8844358515772EF0007F95A4 /* struct.rb */,
8844358615772EF0007F95A4 /* symbol.rb */,
8844358715772EF0007F95A4 /* time.rb */,
8844358815772EF0007F95A4 /* true.rb */,
8844358915772EF0007F95A4 /* typeerror.rb */,
);
path = t;
sourceTree = "<group>";
};
88760B3F1576A01C00113BFB /* Products */ = {
isa = PBXGroup;
children = (
88760B1715769BE400113BFB /* libmruby_core.a */,
88760A9D1575991600113BFB /* mrbc */,
88760B1F15769E2D00113BFB /* libmruby.a */,
88760B2415769E6100113BFB /* mruby */,
88760B3C15769F3000113BFB /* mirb */,
);
name = Products;
sourceTree = "<group>";
};
88760B7C1576A33100113BFB /* mruby_fw */ = {
isa = PBXGroup;
children = (
88760B7D1576A33100113BFB /* Supporting Files */,
);
path = mruby_fw;
sourceTree = "<group>";
};
88760B7D1576A33100113BFB /* Supporting Files */ = {
isa = PBXGroup;
children = (
88760B7E1576A33100113BFB /* mruby_fw-Info.plist */,
88760B7F1576A33100113BFB /* InfoPlist.strings */,
88760B821576A33100113BFB /* mruby_fw-Prefix.pch */,
);
name = "Supporting Files";
sourceTree = "<group>";
};
88BF336F156C992100F12AC7 = {
isa = PBXGroup;
children = (
88BF357D156C99C200F12AC7 /* mrblib */,
88BF3557156C99B200F12AC7 /* include */,
88BF34D3156C998200F12AC7 /* src */,
88BF34BB156C997100F12AC7 /* tools */,
88760B7C1576A33100113BFB /* mruby_fw */,
8844356115772EF0007F95A4 /* test */,
88760B3F1576A01C00113BFB /* Products */,
8844353B1576F1A3007F95A4 /* libmruby_core.a */,
8844353C1576F1A3007F95A4 /* mrbc */,
8844358F1577301B007F95A4 /* mrbtest */,
8844353E1576F1A3007F95A4 /* libmruby.a */,
8844353F1576F1A3007F95A4 /* mruby.framework */,
);
sourceTree = "<group>";
};
88BF34BB156C997100F12AC7 /* tools */ = {
isa = PBXGroup;
children = (
88BF34BD156C997100F12AC7 /* mirb */,
88BF34C1156C997100F12AC7 /* mrbc */,
88BF34C5156C997100F12AC7 /* mruby */,
88BF34C9156C997100F12AC7 /* xpcat */,
);
name = tools;
path = ../tools;
sourceTree = "<group>";
};
88BF34BD156C997100F12AC7 /* mirb */ = {
isa = PBXGroup;
children = (
88BF34C0156C997100F12AC7 /* mirb.c */,
);
path = mirb;
sourceTree = "<group>";
};
88BF34C1156C997100F12AC7 /* mrbc */ = {
isa = PBXGroup;
children = (
88BF34C4156C997100F12AC7 /* mrbc.c */,
);
path = mrbc;
sourceTree = "<group>";
};
88BF34C5156C997100F12AC7 /* mruby */ = {
isa = PBXGroup;
children = (
88BF34C8156C997100F12AC7 /* mruby.c */,
);
path = mruby;
sourceTree = "<group>";
};
88BF34C9156C997100F12AC7 /* xpcat */ = {
isa = PBXGroup;
children = (
88BF34CB156C997100F12AC7 /* xpcat.c */,
);
path = xpcat;
sourceTree = "<group>";
};
88BF34D3156C998200F12AC7 /* src */ = {
isa = PBXGroup;
children = (
88EDC30215757CB40098CF0D /* y.tab.c */,
88BF34D4156C998200F12AC7 /* array.c */,
88BF34D6156C998200F12AC7 /* cdump.c */,
88BF34D7156C998200F12AC7 /* class.c */,
88BF34D9156C998200F12AC7 /* codegen.c */,
88BF34DA156C998200F12AC7 /* compar.c */,
88BF34DB156C998200F12AC7 /* crc.c */,
88BF34DC156C998200F12AC7 /* dump.c */,
88BF34DE156C998200F12AC7 /* encoding.h */,
88BF34DF156C998200F12AC7 /* enum.c */,
88BF34E0156C998200F12AC7 /* error.c */,
88BF34E1156C998200F12AC7 /* error.h */,
88BF34E2156C998200F12AC7 /* etc.c */,
88BF34E5156C998200F12AC7 /* gc.c */,
88BF34E7156C998200F12AC7 /* hash.c */,
88BF34E8156C998200F12AC7 /* init.c */,
88BF34EA156C998200F12AC7 /* init_ext.c */,
88BF34EB156C998200F12AC7 /* kernel.c */,
88BF34EC156C998200F12AC7 /* keywords */,
88BF34ED156C998200F12AC7 /* lex.def */,
88BF34EE156C998200F12AC7 /* load.c */,
88BF34F0156C998200F12AC7 /* math.c */,
88BF34F2156C998200F12AC7 /* name2ctype.h */,
88BF34F3156C998200F12AC7 /* node.h */,
88BF34F4156C998200F12AC7 /* numeric.c */,
88BF34F5156C998200F12AC7 /* object.c */,
88BF34F6156C998200F12AC7 /* oniguruma.h */,
88BF34F7156C998200F12AC7 /* opcode.h */,
88BF34F8156C998200F12AC7 /* parse.y */,
88BF34F9156C998200F12AC7 /* pool.c */,
88BF34FA156C998200F12AC7 /* print.c */,
88BF34FB156C998200F12AC7 /* proc.c */,
88BF34FC156C998200F12AC7 /* range.c */,
88BF34FD156C998200F12AC7 /* re.c */,
88BF34FE156C998200F12AC7 /* re.h */,
88BF34FF156C998200F12AC7 /* regcomp.c */,
88BF3500156C998200F12AC7 /* regenc.c */,
88BF3501156C998200F12AC7 /* regenc.h */,
88BF3502156C998200F12AC7 /* regerror.c */,
88BF3503156C998200F12AC7 /* regex.h */,
88BF3504156C998200F12AC7 /* regexec.c */,
88BF3505156C998200F12AC7 /* regint.h */,
88BF3506156C998200F12AC7 /* regparse.c */,
88BF3507156C998200F12AC7 /* regparse.h */,
88BF3508156C998200F12AC7 /* sprintf.c */,
88BF3509156C998200F12AC7 /* st.c */,
88BF350A156C998200F12AC7 /* st.h */,
88BF350B156C998200F12AC7 /* state.c */,
88BF350C156C998200F12AC7 /* string.c */,
88BF350D156C998200F12AC7 /* struct.c */,
88BF350E156C998200F12AC7 /* symbol.c */,
88BF350F156C998200F12AC7 /* time.c */,
88BF3515156C998200F12AC7 /* variable.c */,
88BF3518156C998200F12AC7 /* vm.c */,
);
name = src;
path = ../src;
sourceTree = "<group>";
};
88BF3557156C99B200F12AC7 /* include */ = {
isa = PBXGroup;
children = (
88BF3558156C99B200F12AC7 /* mrbconf.h */,
88BF3559156C99B200F12AC7 /* mruby */,
88BF356A156C99B200F12AC7 /* mruby.h */,
);
name = include;
path = ../include;
sourceTree = "<group>";
};
88BF3559156C99B200F12AC7 /* mruby */ = {
isa = PBXGroup;
children = (
88BF355A156C99B200F12AC7 /* array.h */,
88BF355B156C99B200F12AC7 /* cdump.h */,
88BF355C156C99B200F12AC7 /* class.h */,
88BF355D156C99B200F12AC7 /* compile.h */,
88BF355E156C99B200F12AC7 /* data.h */,
88BF355F156C99B200F12AC7 /* dump.h */,
88BF3560156C99B200F12AC7 /* hash.h */,
88BF3561156C99B200F12AC7 /* irep.h */,
88BF3562156C99B200F12AC7 /* khash.h */,
88BF3563156C99B200F12AC7 /* numeric.h */,
88BF3564156C99B200F12AC7 /* object.h */,
88BF3565156C99B200F12AC7 /* proc.h */,
88BF3566156C99B200F12AC7 /* range.h */,
88BF3567156C99B200F12AC7 /* string.h */,
88BF3568156C99B200F12AC7 /* struct.h */,
88BF3569156C99B200F12AC7 /* variable.h */,
);
path = mruby;
sourceTree = "<group>";
};
88BF357D156C99C200F12AC7 /* mrblib */ = {
isa = PBXGroup;
children = (
88BF357E156C99C200F12AC7 /* array.rb */,
88BF3580156C99C200F12AC7 /* compar.rb */,
88BF3581156C99C200F12AC7 /* enum.rb */,
88BF3582156C99C200F12AC7 /* error.rb */,
88BF3583156C99C200F12AC7 /* hash.rb */,
88BF3584156C99C200F12AC7 /* init_mrblib.c */,
88760B1C15769CEE00113BFB /* mrblib.c */,
88BF3585156C99C200F12AC7 /* kernel.rb */,
88BF3587156C99C200F12AC7 /* numeric.rb */,
88BF3588156C99C200F12AC7 /* print.rb */,
88BF3589156C99C200F12AC7 /* range.rb */,
88BF358A156C99C200F12AC7 /* string.rb */,
88BF358B156C99C200F12AC7 /* struct.rb */,
);
name = mrblib;
path = ../mrblib;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
88760AA015759B4F00113BFB /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
88760AE315759EFE00113BFB /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
88760B711576A33100113BFB /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
88760B8C1576A37600113BFB /* mrbconf.h in Headers */,
88760B8D1576A37600113BFB /* array.h in Headers */,
88760B8E1576A37600113BFB /* cdump.h in Headers */,
88760B8F1576A37600113BFB /* class.h in Headers */,
88760B901576A37600113BFB /* compile.h in Headers */,
88760B911576A37600113BFB /* data.h in Headers */,
88760B921576A37600113BFB /* dump.h in Headers */,
88760B931576A37600113BFB /* hash.h in Headers */,
88760B941576A37600113BFB /* irep.h in Headers */,
88760B951576A37600113BFB /* khash.h in Headers */,
88760B961576A37600113BFB /* numeric.h in Headers */,
88760B971576A37600113BFB /* object.h in Headers */,
88760B981576A37600113BFB /* proc.h in Headers */,
88760B991576A37600113BFB /* range.h in Headers */,
88760B9A1576A37600113BFB /* string.h in Headers */,
88760B9B1576A37600113BFB /* struct.h in Headers */,
88760B9C1576A37600113BFB /* variable.h in Headers */,
88760B9D1576A37600113BFB /* mruby.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXLegacyTarget section */
88BF3594156CA10D00F12AC7 /* make_mruby */ = {
isa = PBXLegacyTarget;
buildArgumentsString = "$(ACTION)";
buildConfigurationList = 88BF3595156CA10D00F12AC7 /* Build configuration list for PBXLegacyTarget "make_mruby" */;
buildPhases = (
);
buildToolPath = /usr/bin/make;
buildWorkingDirectory = "$(SRCROOT)/..";
dependencies = (
);
name = make_mruby;
passBuildSettingsInEnvironment = 1;
productName = make_mruby;
};
/* End PBXLegacyTarget section */
/* Begin PBXNativeTarget section */
8844358E1577301B007F95A4 /* mrbtest */ = {
isa = PBXNativeTarget;
buildConfigurationList = 884435961577301B007F95A4 /* Build configuration list for PBXNativeTarget "mrbtest" */;
buildPhases = (
8844359915773052007F95A4 /* ShellScript */,
8844358B1577301B007F95A4 /* Sources */,
8844358C1577301B007F95A4 /* Frameworks */,
);
buildRules = (
);
dependencies = (
8844359E15773126007F95A4 /* PBXTargetDependency */,
);
name = mrbtest;
productName = mrbtest;
productReference = 8844358F1577301B007F95A4 /* mrbtest */;
productType = "com.apple.product-type.tool";
};
88760A8A157590F000113BFB /* mrbc */ = {
isa = PBXNativeTarget;
buildConfigurationList = 88760A92157590F000113BFB /* Build configuration list for PBXNativeTarget "mrbc" */;
buildPhases = (
88760A87157590F000113BFB /* Sources */,
88760A88157590F000113BFB /* Frameworks */,
);
buildRules = (
);
dependencies = (
88760B1B15769C5E00113BFB /* PBXTargetDependency */,
);
name = mrbc;
productName = mrbc;
productReference = 8844353C1576F1A3007F95A4 /* mrbc */;
productType = "com.apple.product-type.tool";
};
88760AA115759B4F00113BFB /* ruby_lib */ = {
isa = PBXNativeTarget;
buildConfigurationList = 88760AA315759B4F00113BFB /* Build configuration list for PBXNativeTarget "ruby_lib" */;
buildPhases = (
88760AE015759C3600113BFB /* ShellScript */,
88760A9E15759B4F00113BFB /* Sources */,
88760A9F15759B4F00113BFB /* Frameworks */,
88760AA015759B4F00113BFB /* Headers */,
);
buildRules = (
);
dependencies = (
88760ADF15759C1C00113BFB /* PBXTargetDependency */,
);
name = ruby_lib;
productName = ruby_lib;
productReference = 8844353E1576F1A3007F95A4 /* libmruby.a */;
productType = "com.apple.product-type.library.static";
};
88760AE415759EFE00113BFB /* mruby_core */ = {
isa = PBXNativeTarget;
buildConfigurationList = 88760AE615759EFE00113BFB /* Build configuration list for PBXNativeTarget "mruby_core" */;
buildPhases = (
88760AE915759F5E00113BFB /* ShellScript */,
88760AE115759EFE00113BFB /* Sources */,
88760AE215759EFE00113BFB /* Frameworks */,
88760AE315759EFE00113BFB /* Headers */,
);
buildRules = (
);
dependencies = (
);
name = mruby_core;
productName = test;
productReference = 8844353B1576F1A3007F95A4 /* libmruby_core.a */;
productType = "com.apple.product-type.library.static";
};
88760B2315769E6100113BFB /* mruby */ = {
isa = PBXNativeTarget;
buildConfigurationList = 88760B2B15769E6100113BFB /* Build configuration list for PBXNativeTarget "mruby" */;
buildPhases = (
88760B2015769E6100113BFB /* Sources */,
88760B2115769E6100113BFB /* Frameworks */,
);
buildRules = (
);
dependencies = (
88760B2F15769E8000113BFB /* PBXTargetDependency */,
);
name = mruby;
productName = mruby;
productReference = 88760B2415769E6100113BFB /* mruby */;
productType = "com.apple.product-type.tool";
};
88760B3215769F3000113BFB /* mirb */ = {
isa = PBXNativeTarget;
buildConfigurationList = 88760B3915769F3000113BFB /* Build configuration list for PBXNativeTarget "mirb" */;
buildPhases = (
88760B3515769F3000113BFB /* Sources */,
88760B3715769F3000113BFB /* Frameworks */,
);
buildRules = (
);
dependencies = (
88760B3315769F3000113BFB /* PBXTargetDependency */,
);
name = mirb;
productName = mruby;
productReference = 88760B3C15769F3000113BFB /* mirb */;
productType = "com.apple.product-type.tool";
};
88760B731576A33100113BFB /* mruby_fw */ = {
isa = PBXNativeTarget;
buildConfigurationList = 88760B861576A33100113BFB /* Build configuration list for PBXNativeTarget "mruby_fw" */;
buildPhases = (
88760B9E1576A47F00113BFB /* ShellScript */,
88760B6F1576A33100113BFB /* Sources */,
88760B701576A33100113BFB /* Frameworks */,
88760B711576A33100113BFB /* Headers */,
88760B721576A33100113BFB /* Resources */,
);
buildRules = (
);
dependencies = (
88760B8A1576A35C00113BFB /* PBXTargetDependency */,
);
name = mruby_fw;
productName = mruby_fw;
productReference = 8844353F1576F1A3007F95A4 /* mruby.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
88BF3371156C992100F12AC7 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0440;
};
buildConfigurationList = 88BF3374156C992100F12AC7 /* Build configuration list for PBXProject "mruby" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 88BF336F156C992100F12AC7;
productRefGroup = 88BF336F156C992100F12AC7;
projectDirPath = "";
projectRoot = "";
targets = (
88BF3594156CA10D00F12AC7 /* make_mruby */,
88760AE415759EFE00113BFB /* mruby_core */,
88760AA115759B4F00113BFB /* ruby_lib */,
88760A8A157590F000113BFB /* mrbc */,
88760B2315769E6100113BFB /* mruby */,
88760B3215769F3000113BFB /* mirb */,
8844358E1577301B007F95A4 /* mrbtest */,
88760B731576A33100113BFB /* mruby_fw */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
88760B721576A33100113BFB /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
88760B811576A33100113BFB /* InfoPlist.strings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
8844359915773052007F95A4 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "cd ../test\ncat ./assert.rb ./t/*.rb > mrbtest.rbtmp\n../xcode/bin/mrbc -Bmrbtest_irep -omrbtest.ctmp mrbtest.rbtmp\ncat init_mrbtest.c mrbtest.ctmp > mrbtest.c";
};
88760AE015759C3600113BFB /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "cd ../mrblib\ncat ./*.rb > mrblib.rbtmp\n../xcode/bin/mrbc -Bmrblib_irep -omrblib.ctmp mrblib.rbtmp\ncat init_mrblib.c mrblib.ctmp > mrblib.c";
};
88760AE915759F5E00113BFB /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "bison -o ../src/y.tab.c ../src/parse.y";
};
88760B9E1576A47F00113BFB /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "cd ../mrblib\ncat ./*.rb > mrblib.rbtmp\n../xcode/bin/mrbc -Bmrblib_irep -omrblib.ctmp mrblib.rbtmp\ncat init_mrblib.c mrblib.ctmp > mrblib.c";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
8844358B1577301B007F95A4 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8844359B157730E1007F95A4 /* mrbtest.c in Sources */,
8844359F15773215007F95A4 /* driver.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
88760A87157590F000113BFB /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
88760A97157591E100113BFB /* mrbc.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
88760A9E15759B4F00113BFB /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
88760B1D15769CEE00113BFB /* mrblib.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
88760AE115759EFE00113BFB /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
88760AEA15759F9700113BFB /* y.tab.c in Sources */,
88760AEB15759F9700113BFB /* array.c in Sources */,
88760AED15759F9700113BFB /* cdump.c in Sources */,
88760AEE15759F9700113BFB /* class.c in Sources */,
88760AEF15759F9700113BFB /* codegen.c in Sources */,
88760AF015759F9700113BFB /* compar.c in Sources */,
88760AF115759F9700113BFB /* crc.c in Sources */,
88760AF215759F9700113BFB /* dump.c in Sources */,
88760AF415759F9700113BFB /* enum.c in Sources */,
88760AF515759F9700113BFB /* error.c in Sources */,
88760AF615759F9700113BFB /* etc.c in Sources */,
88760AF715759F9700113BFB /* gc.c in Sources */,
88760AF815759F9700113BFB /* hash.c in Sources */,
88760AF915759F9700113BFB /* init.c in Sources */,
88760AFA15759F9700113BFB /* init_ext.c in Sources */,
88760AFB15759F9700113BFB /* kernel.c in Sources */,
88760AFC15759F9700113BFB /* load.c in Sources */,
88760AFD15759F9700113BFB /* math.c in Sources */,
88760AFE15759F9700113BFB /* numeric.c in Sources */,
88760AFF15759F9700113BFB /* object.c in Sources */,
88760B0015759F9700113BFB /* pool.c in Sources */,
88760B0115759F9700113BFB /* print.c in Sources */,
88760B0215759F9700113BFB /* proc.c in Sources */,
88760B0315759F9700113BFB /* range.c in Sources */,
88760B0415759F9700113BFB /* re.c in Sources */,
88760B0515759F9700113BFB /* regcomp.c in Sources */,
88760B0615759F9700113BFB /* regenc.c in Sources */,
88760B0715759F9700113BFB /* regerror.c in Sources */,
88760B0815759F9700113BFB /* regexec.c in Sources */,
88760B0915759F9700113BFB /* regparse.c in Sources */,
88760B0A15759F9700113BFB /* sprintf.c in Sources */,
88760B0B15759F9700113BFB /* st.c in Sources */,
88760B0C15759F9700113BFB /* state.c in Sources */,
88760B0D15759F9700113BFB /* string.c in Sources */,
88760B0E15759F9700113BFB /* struct.c in Sources */,
88760B0F15759F9700113BFB /* symbol.c in Sources */,
88760B1015759F9700113BFB /* time.c in Sources */,
88760B1515759F9700113BFB /* variable.c in Sources */,
88760B1615759F9700113BFB /* vm.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
88760B2015769E6100113BFB /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
88760B3015769E8D00113BFB /* mruby.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
88760B3515769F3000113BFB /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
88760B3E15769F5000113BFB /* mirb.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
88760B6F1576A33100113BFB /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
88760B9F1576A4A200113BFB /* mrblib.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
8844359E15773126007F95A4 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 88760AA115759B4F00113BFB /* ruby_lib */;
targetProxy = 8844359D15773126007F95A4 /* PBXContainerItemProxy */;
};
88760ADF15759C1C00113BFB /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 88760A8A157590F000113BFB /* mrbc */;
targetProxy = 88760ADE15759C1C00113BFB /* PBXContainerItemProxy */;
};
88760B1B15769C5E00113BFB /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 88760AE415759EFE00113BFB /* mruby_core */;
targetProxy = 88760B1A15769C5E00113BFB /* PBXContainerItemProxy */;
};
88760B2F15769E8000113BFB /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 88760AA115759B4F00113BFB /* ruby_lib */;
targetProxy = 88760B2E15769E8000113BFB /* PBXContainerItemProxy */;
};
88760B3315769F3000113BFB /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 88760AA115759B4F00113BFB /* ruby_lib */;
targetProxy = 88760B3415769F3000113BFB /* PBXContainerItemProxy */;
};
88760B8A1576A35C00113BFB /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 88760AA115759B4F00113BFB /* ruby_lib */;
targetProxy = 88760B891576A35C00113BFB /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
88760B7F1576A33100113BFB /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
88760B801576A33100113BFB /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
883AF3B115DA4EEA00AAA509 /* CLANGDebug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
COPY_PHASE_STRIP = NO;
DEPLOYMENT_LOCATION = YES;
DSTROOT = "$(PROJECT_DIR)";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_OPTIMIZATION_LEVEL = 3;
GCC_PREPROCESSOR_DEFINITIONS = (
HAVE_FLOAT_H,
HAVE_STRING_H,
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"\"$(PROJECT_DIR)/../include\"",
"\"$(PROJECT_DIR)/../src\"",
);
INSTALL_PATH = /build;
LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../lib\"";
ONLY_ACTIVE_ARCH = YES;
RUN_CLANG_STATIC_ANALYZER = YES;
STRIP_STYLE = debugging;
USE_HEADERMAP = NO;
};
name = CLANGDebug;
};
883AF3B215DA4EEA00AAA509 /* CLANGDebug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
DEBUGGING_SYMBOLS = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = "";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = CLANGDebug;
};
883AF3B315DA4EEA00AAA509 /* CLANGDebug */ = {
isa = XCBuildConfiguration;
buildSettings = {
INSTALL_PATH = /lib;
LIBRARY_STYLE = STATIC;
PRODUCT_NAME = "$(TARGET_NAME)";
USE_HEADERMAP = "$(inherited)";
};
name = CLANGDebug;
};
883AF3B415DA4EEA00AAA509 /* CLANGDebug */ = {
isa = XCBuildConfiguration;
buildSettings = {
INSTALL_PATH = /lib;
LIBRARY_STYLE = STATIC;
PRODUCT_NAME = mruby;
};
name = CLANGDebug;
};
883AF3B515DA4EEA00AAA509 /* CLANGDebug */ = {
isa = XCBuildConfiguration;
buildSettings = {
INSTALL_PATH = /bin;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = CLANGDebug;
};
883AF3B615DA4EEA00AAA509 /* CLANGDebug */ = {
isa = XCBuildConfiguration;
buildSettings = {
INSTALL_PATH = /bin;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = CLANGDebug;
};
883AF3B715DA4EEA00AAA509 /* CLANGDebug */ = {
isa = XCBuildConfiguration;
buildSettings = {
INSTALL_PATH = /bin;
PRODUCT_NAME = mirb;
};
name = CLANGDebug;
};
883AF3B815DA4EEA00AAA509 /* CLANGDebug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
INSTALL_PATH = /bin;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = CLANGDebug;
};
883AF3B915DA4EEA00AAA509 /* CLANGDebug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
FRAMEWORK_VERSION = A;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "mruby_fw/mruby_fw-Prefix.pch";
INFOPLIST_FILE = "mruby_fw/mruby_fw-Info.plist";
INSTALL_PATH = /lib;
PRODUCT_NAME = mruby;
WRAPPER_EXTENSION = framework;
};
name = CLANGDebug;
};
884435971577301B007F95A4 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
INSTALL_PATH = /bin;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
884435981577301B007F95A4 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
INSTALL_PATH = /bin;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
88760A93157590F000113BFB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
INSTALL_PATH = /bin;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
88760A94157590F000113BFB /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
INSTALL_PATH = /bin;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
88760AA415759B4F00113BFB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
INSTALL_PATH = /lib;
LIBRARY_STYLE = STATIC;
PRODUCT_NAME = mruby;
};
name = Debug;
};
88760AA515759B4F00113BFB /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
INSTALL_PATH = /lib;
LIBRARY_STYLE = STATIC;
PRODUCT_NAME = mruby;
};
name = Release;
};
88760AE715759EFE00113BFB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
INSTALL_PATH = /lib;
LIBRARY_STYLE = STATIC;
PRODUCT_NAME = "$(TARGET_NAME)";
USE_HEADERMAP = "$(inherited)";
};
name = Debug;
};
88760AE815759EFE00113BFB /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
INSTALL_PATH = /lib;
LIBRARY_STYLE = STATIC;
PRODUCT_NAME = "$(TARGET_NAME)";
USE_HEADERMAP = "$(inherited)";
};
name = Release;
};
88760B2C15769E6100113BFB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
INSTALL_PATH = /bin;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
88760B2D15769E6100113BFB /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
INSTALL_PATH = /bin;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
88760B3A15769F3000113BFB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
INSTALL_PATH = /bin;
PRODUCT_NAME = mirb;
};
name = Debug;
};
88760B3B15769F3000113BFB /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
INSTALL_PATH = /bin;
PRODUCT_NAME = mirb;
};
name = Release;
};
88760B871576A33100113BFB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
FRAMEWORK_VERSION = A;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "mruby_fw/mruby_fw-Prefix.pch";
INFOPLIST_FILE = "mruby_fw/mruby_fw-Info.plist";
INSTALL_PATH = /lib;
PRODUCT_NAME = mruby;
WRAPPER_EXTENSION = framework;
};
name = Debug;
};
88760B881576A33100113BFB /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
FRAMEWORK_VERSION = A;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "mruby_fw/mruby_fw-Prefix.pch";
INFOPLIST_FILE = "mruby_fw/mruby_fw-Info.plist";
INSTALL_PATH = /lib;
PRODUCT_NAME = mruby;
WRAPPER_EXTENSION = framework;
};
name = Release;
};
88BF337C156C992100F12AC7 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
COPY_PHASE_STRIP = NO;
DEPLOYMENT_LOCATION = YES;
DSTROOT = "$(PROJECT_DIR)";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_OPTIMIZATION_LEVEL = 3;
GCC_PREPROCESSOR_DEFINITIONS = (
HAVE_FLOAT_H,
HAVE_STRING_H,
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"\"$(PROJECT_DIR)/../include\"",
"\"$(PROJECT_DIR)/../src\"",
);
INSTALL_PATH = /build;
LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../lib\"";
ONLY_ACTIVE_ARCH = YES;
RUN_CLANG_STATIC_ANALYZER = NO;
STRIP_STYLE = debugging;
USE_HEADERMAP = NO;
};
name = Debug;
};
88BF337D156C992100F12AC7 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
COPY_PHASE_STRIP = YES;
DEPLOYMENT_LOCATION = YES;
DSTROOT = "$(PROJECT_DIR)";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_PREPROCESSOR_DEFINITIONS = (
HAVE_FLOAT_H,
HAVE_STRING_H,
"$(inherited)",
);
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"\"$(PROJECT_DIR)/../include\"",
"\"$(PROJECT_DIR)/../src\"",
);
INSTALL_PATH = /build;
LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../lib\"";
STRIP_STYLE = debugging;
USE_HEADERMAP = NO;
};
name = Release;
};
88BF3596156CA10D00F12AC7 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
DEBUGGING_SYMBOLS = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = "";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
88BF3597156CA10D00F12AC7 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = "";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
884435961577301B007F95A4 /* Build configuration list for PBXNativeTarget "mrbtest" */ = {
isa = XCConfigurationList;
buildConfigurations = (
884435971577301B007F95A4 /* Debug */,
883AF3B815DA4EEA00AAA509 /* CLANGDebug */,
884435981577301B007F95A4 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
88760A92157590F000113BFB /* Build configuration list for PBXNativeTarget "mrbc" */ = {
isa = XCConfigurationList;
buildConfigurations = (
88760A93157590F000113BFB /* Debug */,
883AF3B515DA4EEA00AAA509 /* CLANGDebug */,
88760A94157590F000113BFB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
88760AA315759B4F00113BFB /* Build configuration list for PBXNativeTarget "ruby_lib" */ = {
isa = XCConfigurationList;
buildConfigurations = (
88760AA415759B4F00113BFB /* Debug */,
883AF3B415DA4EEA00AAA509 /* CLANGDebug */,
88760AA515759B4F00113BFB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
88760AE615759EFE00113BFB /* Build configuration list for PBXNativeTarget "mruby_core" */ = {
isa = XCConfigurationList;
buildConfigurations = (
88760AE715759EFE00113BFB /* Debug */,
883AF3B315DA4EEA00AAA509 /* CLANGDebug */,
88760AE815759EFE00113BFB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
88760B2B15769E6100113BFB /* Build configuration list for PBXNativeTarget "mruby" */ = {
isa = XCConfigurationList;
buildConfigurations = (
88760B2C15769E6100113BFB /* Debug */,
883AF3B615DA4EEA00AAA509 /* CLANGDebug */,
88760B2D15769E6100113BFB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
88760B3915769F3000113BFB /* Build configuration list for PBXNativeTarget "mirb" */ = {
isa = XCConfigurationList;
buildConfigurations = (
88760B3A15769F3000113BFB /* Debug */,
883AF3B715DA4EEA00AAA509 /* CLANGDebug */,
88760B3B15769F3000113BFB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
88760B861576A33100113BFB /* Build configuration list for PBXNativeTarget "mruby_fw" */ = {
isa = XCConfigurationList;
buildConfigurations = (
88760B871576A33100113BFB /* Debug */,
883AF3B915DA4EEA00AAA509 /* CLANGDebug */,
88760B881576A33100113BFB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
88BF3374156C992100F12AC7 /* Build configuration list for PBXProject "mruby" */ = {
isa = XCConfigurationList;
buildConfigurations = (
88BF337C156C992100F12AC7 /* Debug */,
883AF3B115DA4EEA00AAA509 /* CLANGDebug */,
88BF337D156C992100F12AC7 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
88BF3595156CA10D00F12AC7 /* Build configuration list for PBXLegacyTarget "make_mruby" */ = {
isa = XCConfigurationList;
buildConfigurations = (
88BF3596156CA10D00F12AC7 /* Debug */,
883AF3B215DA4EEA00AAA509 /* CLANGDebug */,
88BF3597156CA10D00F12AC7 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 88BF3371156C992100F12AC7 /* Project object */;
}
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:mruby.xcodeproj">
</FileRef>
</Workspace>
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0440"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "88760B2315769E6100113BFB"
BuildableName = "mruby"
BlueprintName = "mruby"
ReferencedContainer = "container:mruby.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "88760B3215769F3000113BFB"
BuildableName = "mirb"
BlueprintName = "mirb"
ReferencedContainer = "container:mruby.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8844358E1577301B007F95A4"
BuildableName = "mrbtest"
BlueprintName = "mrbtest"
ReferencedContainer = "container:mruby.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "88760B2315769E6100113BFB"
BuildableName = "mruby"
BlueprintName = "mruby"
ReferencedContainer = "container:mruby.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "88760B3215769F3000113BFB"
BuildableName = "mirb"
BlueprintName = "mirb"
ReferencedContainer = "container:mruby.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "88760B2315769E6100113BFB"
BuildableName = "mruby"
BlueprintName = "mruby"
ReferencedContainer = "container:mruby.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "CLANGDebug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0440"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "88BF3594156CA10D00F12AC7"
BuildableName = "make_mruby"
BlueprintName = "make_mruby"
ReferencedContainer = "container:mruby.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0440"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "88760B2315769E6100113BFB"
BuildableName = "mruby"
BlueprintName = "mruby"
ReferencedContainer = "container:mruby.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "88760B3215769F3000113BFB"
BuildableName = "mirb"
BlueprintName = "mirb"
ReferencedContainer = "container:mruby.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8844358E1577301B007F95A4"
BuildableName = "mrbtest"
BlueprintName = "mrbtest"
ReferencedContainer = "container:mruby.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "88760B2315769E6100113BFB"
BuildableName = "mruby"
BlueprintName = "mruby"
ReferencedContainer = "container:mruby.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8844358E1577301B007F95A4"
BuildableName = "mrbtest"
BlueprintName = "mrbtest"
ReferencedContainer = "container:mruby.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "88760B2315769E6100113BFB"
BuildableName = "mruby"
BlueprintName = "mruby"
ReferencedContainer = "container:mruby.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "CLANGDebug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0440"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "88760B731576A33100113BFB"
BuildableName = "mruby.framework"
BlueprintName = "mruby_fw"
ReferencedContainer = "container:mruby.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8844358E1577301B007F95A4"
BuildableName = "mrbtest"
BlueprintName = "mrbtest"
ReferencedContainer = "container:mruby.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "8844358E1577301B007F95A4"
BuildableName = "mrbtest"
BlueprintName = "mrbtest"
ReferencedContainer = "container:mruby.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "CLANGDebug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0440"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "88760AA115759B4F00113BFB"
BuildableName = "libmruby.a"
BlueprintName = "ruby_lib"
ReferencedContainer = "container:mruby.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "CLANGDebug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
/* Localized versions of Info.plist keys */
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.github.mruby.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2012 mruby Authors. All rights reserved.</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>
//
// Prefix header for all source files of the 'mruby_fw' target in the 'mruby_fw' project
//
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment