diff options
-rw-r--r-- | wscript | 3 | ||||
-rw-r--r-- | zix/btree.c | 5 |
2 files changed, 7 insertions, 1 deletions
@@ -36,6 +36,8 @@ def options(opt): help='Build benchmarks') opt.add_option('--static', action='store_true', dest='static', help='Build static library') + opt.add_option('--page-size', type='int', default=4096, dest='page_size', + help='Page size for B-tree') def configure(conf): conf.load('compiler_c') @@ -66,6 +68,7 @@ def configure(conf): conf.fatal('Glib is required to build benchmarks') autowaf.define(conf, 'ZIX_VERSION', ZIX_VERSION) + autowaf.define(conf, 'ZIX_BTREE_PAGE_SIZE', Options.options.page_size) conf.write_config_header('zix-config.h', remove=False) autowaf.display_msg(conf, 'Unit tests', str(conf.env.BUILD_TESTS)) diff --git a/zix/btree.c b/zix/btree.c index 4557ad4..d28f6c2 100644 --- a/zix/btree.c +++ b/zix/btree.c @@ -24,7 +24,10 @@ // #define ZIX_BTREE_DEBUG 1 -#define ZIX_BTREE_PAGE_SIZE 4096 +#ifndef ZIX_BTREE_PAGE_SIZE +# define ZIX_BTREE_PAGE_SIZE 4096 +#endif + #define ZIX_BTREE_NODE_SPACE (ZIX_BTREE_PAGE_SIZE - 2 * sizeof(uint16_t)) #define ZIX_BTREE_LEAF_VALS ((ZIX_BTREE_NODE_SPACE / sizeof(void*)) - 1) #define ZIX_BTREE_INODE_VALS (ZIX_BTREE_LEAF_VALS / 2) |