mbed I/F binding for mruby

Dependents:   mruby_mbed_web mirb_mbed

mbed-mruby

How to use

Class

Committer:
mzta
Date:
Mon Apr 13 05:20:15 2015 +0000
Revision:
1:8ccd1d494a4b
Parent:
0:158c61bb030f
- code refactoring.; - add SPI, SPISlave, I2C class to mruby-mbed (Incomplete).

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mzta 0:158c61bb030f 1 /*
mzta 0:158c61bb030f 2 ** mrbconf.h - mruby core configuration
mzta 0:158c61bb030f 3 **
mzta 0:158c61bb030f 4 ** See Copyright Notice in mruby.h
mzta 0:158c61bb030f 5 */
mzta 0:158c61bb030f 6
mzta 0:158c61bb030f 7 #ifndef MRUBYCONF_H
mzta 0:158c61bb030f 8 #define MRUBYCONF_H
mzta 0:158c61bb030f 9
mzta 0:158c61bb030f 10 /* configuration options: */
mzta 0:158c61bb030f 11 /* add -DMRB_USE_FLOAT to use float instead of double for floating point numbers */
mzta 0:158c61bb030f 12 //#define MRB_USE_FLOAT
mzta 0:158c61bb030f 13
mzta 0:158c61bb030f 14 /* add -DMRB_INT16 to use 16bit integer for mrb_int; conflict with MRB_INT64 */
mzta 0:158c61bb030f 15 //#define MRB_INT16
mzta 0:158c61bb030f 16
mzta 0:158c61bb030f 17 /* add -DMRB_INT64 to use 64bit integer for mrb_int; conflict with MRB_INT16 */
mzta 0:158c61bb030f 18 //#define MRB_INT64
mzta 0:158c61bb030f 19
mzta 0:158c61bb030f 20 /* represent mrb_value in boxed double; conflict with MRB_USE_FLOAT */
mzta 0:158c61bb030f 21 //#define MRB_NAN_BOXING
mzta 0:158c61bb030f 22
mzta 0:158c61bb030f 23 /* define on big endian machines; used by MRB_NAN_BOXING */
mzta 0:158c61bb030f 24 //#define MRB_ENDIAN_BIG
mzta 0:158c61bb030f 25
mzta 0:158c61bb030f 26 /* represent mrb_value as a word (natural unit of data for the processor) */
mzta 0:158c61bb030f 27 //#define MRB_WORD_BOXING
mzta 0:158c61bb030f 28
mzta 0:158c61bb030f 29 /* argv max size in mrb_funcall */
mzta 0:158c61bb030f 30 //#define MRB_FUNCALL_ARGC_MAX 16
mzta 0:158c61bb030f 31
mzta 0:158c61bb030f 32 /* number of object per heap page */
mzta 0:158c61bb030f 33 //#define MRB_HEAP_PAGE_SIZE 1024
mzta 0:158c61bb030f 34
mzta 0:158c61bb030f 35 /* use segmented list for IV table */
mzta 0:158c61bb030f 36 //#define MRB_USE_IV_SEGLIST
mzta 0:158c61bb030f 37
mzta 0:158c61bb030f 38 /* initial size for IV khash; ignored when MRB_USE_IV_SEGLIST is set */
mzta 0:158c61bb030f 39 //#define MRB_IVHASH_INIT_SIZE 8
mzta 0:158c61bb030f 40
mzta 0:158c61bb030f 41 /* if _etext and _edata available, mruby can reduce memory used by symbols */
mzta 0:158c61bb030f 42 //#define MRB_USE_ETEXT_EDATA
mzta 0:158c61bb030f 43
mzta 0:158c61bb030f 44 /* do not use __init_array_start to determine readonly data section;
mzta 0:158c61bb030f 45 effective only when MRB_USE_ETEXT_EDATA is defined */
mzta 0:158c61bb030f 46 //#define MRB_NO_INIT_ARRAY_START
mzta 0:158c61bb030f 47
mzta 0:158c61bb030f 48 /* turn off generational GC by default */
mzta 0:158c61bb030f 49 //#define MRB_GC_TURN_OFF_GENERATIONAL
mzta 0:158c61bb030f 50
mzta 0:158c61bb030f 51 /* default size of khash table bucket */
mzta 0:158c61bb030f 52 //#define KHASH_DEFAULT_SIZE 32
mzta 0:158c61bb030f 53
mzta 0:158c61bb030f 54 /* allocated memory address alignment */
mzta 0:158c61bb030f 55 //#define POOL_ALIGNMENT 4
mzta 0:158c61bb030f 56
mzta 0:158c61bb030f 57 /* page size of memory pool */
mzta 0:158c61bb030f 58 //#define POOL_PAGE_SIZE 16000
mzta 0:158c61bb030f 59
mzta 0:158c61bb030f 60 /* initial minimum size for string buffer */
mzta 0:158c61bb030f 61 //#define MRB_STR_BUF_MIN_SIZE 128
mzta 0:158c61bb030f 62
mzta 0:158c61bb030f 63 /* arena size */
mzta 0:158c61bb030f 64 //#define MRB_GC_ARENA_SIZE 100
mzta 0:158c61bb030f 65
mzta 0:158c61bb030f 66 /* fixed size GC arena */
mzta 0:158c61bb030f 67 //#define MRB_GC_FIXED_ARENA
mzta 0:158c61bb030f 68
mzta 0:158c61bb030f 69 /* state atexit stack size */
mzta 0:158c61bb030f 70 //#define MRB_FIXED_STATE_ATEXIT_STACK_SIZE 5
mzta 0:158c61bb030f 71
mzta 0:158c61bb030f 72 /* fixed size state atexit stack */
mzta 0:158c61bb030f 73 //#define MRB_FIXED_STATE_ATEXIT_STACK
mzta 0:158c61bb030f 74
mzta 0:158c61bb030f 75 /* -DDISABLE_XXXX to drop following features */
mzta 0:158c61bb030f 76 //#define DISABLE_STDIO /* use of stdio */
mzta 0:158c61bb030f 77
mzta 0:158c61bb030f 78 /* -DENABLE_XXXX to enable following features */
mzta 0:158c61bb030f 79 //#define ENABLE_DEBUG /* hooks for debugger */
mzta 0:158c61bb030f 80
mzta 0:158c61bb030f 81 /* end of configuration */
mzta 0:158c61bb030f 82
mzta 0:158c61bb030f 83 /* define ENABLE_XXXX from DISABLE_XXX */
mzta 0:158c61bb030f 84 #ifndef DISABLE_STDIO
mzta 0:158c61bb030f 85 #define ENABLE_STDIO
mzta 0:158c61bb030f 86 #endif
mzta 0:158c61bb030f 87 #ifndef ENABLE_DEBUG
mzta 0:158c61bb030f 88 #define DISABLE_DEBUG
mzta 0:158c61bb030f 89 #endif
mzta 0:158c61bb030f 90
mzta 0:158c61bb030f 91 #ifdef ENABLE_STDIO
mzta 0:158c61bb030f 92 # include <stdio.h>
mzta 0:158c61bb030f 93 #endif
mzta 0:158c61bb030f 94
mzta 0:158c61bb030f 95 #ifndef FALSE
mzta 0:158c61bb030f 96 # define FALSE 0
mzta 0:158c61bb030f 97 #endif
mzta 0:158c61bb030f 98
mzta 0:158c61bb030f 99 #ifndef TRUE
mzta 0:158c61bb030f 100 # define TRUE 1
mzta 0:158c61bb030f 101 #endif
mzta 0:158c61bb030f 102
mzta 0:158c61bb030f 103 #if defined(MRB_BUILD_AS_DLL)
mzta 0:158c61bb030f 104
mzta 0:158c61bb030f 105 #if defined(MRB_CORE) || defined(MRB_LIB)
mzta 0:158c61bb030f 106 #define MRB_API __declspec(dllexport)
mzta 0:158c61bb030f 107 #else
mzta 0:158c61bb030f 108 #define MRB_API __declspec(dllimport)
mzta 0:158c61bb030f 109 #endif
mzta 0:158c61bb030f 110 #else
mzta 0:158c61bb030f 111 #define MRB_API extern
mzta 0:158c61bb030f 112 #endif
mzta 0:158c61bb030f 113
mzta 0:158c61bb030f 114 #endif /* MRUBYCONF_H */
mzta 0:158c61bb030f 115