diff --git a/libkc3/.build_cc_asan b/libkc3/.build_cc_asan
new file mode 100755
index 0000000..04e8052
--- /dev/null
+++ b/libkc3/.build_cc_asan
@@ -0,0 +1,7 @@
+#!/bin/sh
+# gen by configure
+LOG=".build/$1.debug.log"
+CC="cc"
+CPPFLAGS=""
+CFLAGS=" -W -Wall -Werror -std=c11 -pedantic -pipe -pthread -I/usr/local/include -DDEBUG -O2 -g -fsanitize=address -fno-omit-frame-pointer"
+/usr/local/bin/libtool --tag=CC --mode=compile ${CC} ${CPPFLAGS} ${CFLAGS} -c "$1" -o "$2" > "$LOG" 2>&1 || /usr/local/bin/libtool --tag=CC --mode=compile ${CC} ${CPPFLAGS} ${CFLAGS} -c "$1" -o "$2"
diff --git a/libkc3/.build_cc_cov b/libkc3/.build_cc_cov
new file mode 100755
index 0000000..c76a5bf
--- /dev/null
+++ b/libkc3/.build_cc_cov
@@ -0,0 +1,7 @@
+#!/bin/sh
+# gen by configure
+LOG=".build/$1.debug.log"
+CC="cc"
+CPPFLAGS=""
+CFLAGS=" -W -Wall -Werror -std=c11 -pedantic -pipe -pthread -I/usr/local/include -fprofile-arcs -ftest-coverage"
+/usr/local/bin/libtool --tag=CC --mode=compile ${CC} ${CPPFLAGS} ${CFLAGS} -c "$1" -o "$2" > "$LOG" 2>&1 || /usr/local/bin/libtool --tag=CC --mode=compile ${CC} ${CPPFLAGS} ${CFLAGS} -c "$1" -o "$2"
diff --git a/libkc3/.build_cc_debug b/libkc3/.build_cc_debug
new file mode 100755
index 0000000..901cd45
--- /dev/null
+++ b/libkc3/.build_cc_debug
@@ -0,0 +1,7 @@
+#!/bin/sh
+# gen by configure
+LOG=".build/$1.debug.log"
+CC="cc"
+CPPFLAGS=""
+CFLAGS=" -W -Wall -Werror -std=c11 -pedantic -pipe -pthread -I/usr/local/include -DDEBUG -O0 -g"
+/usr/local/bin/libtool --tag=CC --mode=compile ${CC} ${CPPFLAGS} ${CFLAGS} -c "$1" -o "$2" > "$LOG" 2>&1 || /usr/local/bin/libtool --tag=CC --mode=compile ${CC} ${CPPFLAGS} ${CFLAGS} -c "$1" -o "$2"
diff --git a/libkc3/.build_cc_main b/libkc3/.build_cc_main
new file mode 100755
index 0000000..29c6365
--- /dev/null
+++ b/libkc3/.build_cc_main
@@ -0,0 +1,7 @@
+#!/bin/sh
+# gen by configure
+LOG=".build/$1.main.log"
+CC="cc"
+CPPFLAGS=""
+CFLAGS=" -W -Wall -Werror -std=c11 -pedantic -pipe -pthread -I/usr/local/include -O2 -fPIC -DNDEBUG"
+/usr/local/bin/libtool --tag=CC --mode=compile ${CC} ${CPPFLAGS} ${CFLAGS} -c "$1" -o "$2" > "$LOG" 2>&1 || /usr/local/bin/libtool --tag=CC --mode=compile ${CC} ${CPPFLAGS} ${CFLAGS} -c "$1" -o "$2"
diff --git a/libkc3/.build_ld_asan b/libkc3/.build_ld_asan
new file mode 100755
index 0000000..35753a8
--- /dev/null
+++ b/libkc3/.build_ld_asan
@@ -0,0 +1,10 @@
+#!/bin/sh
+# gen by configure
+LOG=".build/$1.asan.log"
+CC="cc"
+CFLAGS=" -W -Wall -Werror -std=c11 -pedantic -pipe -pthread -I/usr/local/include -DDEBUG -O2 -g -fsanitize=address -fno-omit-frame-pointer"
+LDFLAGS="-export-dynamic -no-undefined -rdynamic"
+OBJECTS=" ../libtommath/bn_cutoffs.asan.lo ../libtommath/bn_mp_2expt.asan.lo ../libtommath/bn_mp_abs.asan.lo ../libtommath/bn_mp_add.asan.lo ../libtommath/bn_mp_add_d.asan.lo ../libtommath/bn_mp_and.asan.lo ../libtommath/bn_mp_clamp.asan.lo ../libtommath/bn_mp_clear.asan.lo ../libtommath/bn_mp_clear_multi.asan.lo ../libtommath/bn_mp_cmp.asan.lo ../libtommath/bn_mp_cmp_d.asan.lo ../libtommath/bn_mp_cmp_mag.asan.lo ../libtommath/bn_mp_cnt_lsb.asan.lo ../libtommath/bn_mp_complement.asan.lo ../libtommath/bn_mp_copy.asan.lo ../libtommath/bn_mp_count_bits.asan.lo ../libtommath/bn_mp_div.asan.lo ../libtommath/bn_mp_div_2.asan.lo ../libtommath/bn_mp_div_2d.asan.lo ../libtommath/bn_mp_div_3.asan.lo ../libtommath/bn_mp_div_d.asan.lo ../libtommath/bn_mp_dr_is_modulus.asan.lo ../libtommath/bn_mp_dr_reduce.asan.lo ../libtommath/bn_mp_dr_setup.asan.lo ../libtommath/bn_mp_error_to_string.asan.lo ../libtommath/bn_mp_exch.asan.lo ../libtommath/bn_mp_exptmod.asan.lo ../libtommath/bn_mp_gcd.asan.lo ../libtommath/bn_mp_get_double.asan.lo ../libtommath/bn_mp_get_i32.asan.lo ../libtommath/bn_mp_get_i64.asan.lo ../libtommath/bn_mp_get_mag_u32.asan.lo ../libtommath/bn_mp_get_mag_u64.asan.lo ../libtommath/bn_mp_grow.asan.lo ../libtommath/bn_mp_init.asan.lo ../libtommath/bn_mp_init_copy.asan.lo ../libtommath/bn_mp_init_multi.asan.lo ../libtommath/bn_mp_init_size.asan.lo ../libtommath/bn_mp_invmod.asan.lo ../libtommath/bn_mp_lcm.asan.lo ../libtommath/bn_mp_lshd.asan.lo ../libtommath/bn_mp_mod.asan.lo ../libtommath/bn_mp_mod_2d.asan.lo ../libtommath/bn_mp_montgomery_calc_normalization.asan.lo ../libtommath/bn_mp_montgomery_reduce.asan.lo ../libtommath/bn_mp_montgomery_setup.asan.lo ../libtommath/bn_mp_mul.asan.lo ../libtommath/bn_mp_mul_2.asan.lo ../libtommath/bn_mp_mul_2d.asan.lo ../libtommath/bn_mp_mul_d.asan.lo ../libtommath/bn_mp_mulmod.asan.lo ../libtommath/bn_mp_neg.asan.lo ../libtommath/bn_mp_or.asan.lo ../libtommath/bn_mp_radix_size.asan.lo ../libtommath/bn_mp_reduce.asan.lo ../libtommath/bn_mp_reduce_2k.asan.lo ../libtommath/bn_mp_reduce_2k_l.asan.lo ../libtommath/bn_mp_reduce_2k_setup.asan.lo ../libtommath/bn_mp_reduce_2k_setup_l.asan.lo ../libtommath/bn_mp_reduce_is_2k.asan.lo ../libtommath/bn_mp_reduce_is_2k_l.asan.lo ../libtommath/bn_mp_reduce_setup.asan.lo ../libtommath/bn_mp_rshd.asan.lo ../libtommath/bn_mp_set.asan.lo ../libtommath/bn_mp_set_double.asan.lo ../libtommath/bn_mp_set_i32.asan.lo ../libtommath/bn_mp_set_i64.asan.lo ../libtommath/bn_mp_set_l.asan.lo ../libtommath/bn_mp_set_u32.asan.lo ../libtommath/bn_mp_set_u64.asan.lo ../libtommath/bn_mp_set_ul.asan.lo ../libtommath/bn_mp_sqr.asan.lo ../libtommath/bn_mp_sqrt.asan.lo ../libtommath/bn_mp_sub.asan.lo ../libtommath/bn_mp_sub_d.asan.lo ../libtommath/bn_mp_xor.asan.lo ../libtommath/bn_mp_zero.asan.lo ../libtommath/bn_s_mp_add.asan.lo ../libtommath/bn_s_mp_balance_mul.asan.lo ../libtommath/bn_s_mp_exptmod.asan.lo ../libtommath/bn_s_mp_exptmod_fast.asan.lo ../libtommath/bn_s_mp_invmod_fast.asan.lo ../libtommath/bn_s_mp_invmod_slow.asan.lo ../libtommath/bn_s_mp_karatsuba_mul.asan.lo ../libtommath/bn_s_mp_karatsuba_sqr.asan.lo ../libtommath/bn_s_mp_montgomery_reduce_fast.asan.lo ../libtommath/bn_s_mp_mul_digs.asan.lo ../libtommath/bn_s_mp_mul_digs_fast.asan.lo ../libtommath/bn_s_mp_mul_high_digs.asan.lo ../libtommath/bn_s_mp_mul_high_digs_fast.asan.lo ../libtommath/bn_s_mp_rand_platform.asan.lo ../libtommath/bn_s_mp_sqr.asan.lo ../libtommath/bn_s_mp_sqr_fast.asan.lo ../libtommath/bn_s_mp_sub.asan.lo ../libtommath/bn_s_mp_toom_mul.asan.lo ../libtommath/bn_s_mp_toom_sqr.asan.lo abs.asan.lo alist.asan.lo alloc.asan.lo arg.asan.lo array.asan.lo binding.asan.lo block.asan.lo bool.asan.lo buf.asan.lo buf_fd.asan.lo buf_file.asan.lo buf_getc.asan.lo buf_getchar.asan.lo buf_inspect.asan.lo buf_inspect_s16.asan.lo buf_inspect_s16_binary.asan.lo buf_inspect_s16_decimal.asan.lo buf_inspect_s16_hexadecimal.asan.lo buf_inspect_s16_octal.asan.lo buf_inspect_s32.asan.lo buf_inspect_s32_binary.asan.lo buf_inspect_s32_decimal.asan.lo buf_inspect_s32_hexadecimal.asan.lo buf_inspect_s32_octal.asan.lo buf_inspect_s64.asan.lo buf_inspect_s64_binary.asan.lo buf_inspect_s64_decimal.asan.lo buf_inspect_s64_hexadecimal.asan.lo buf_inspect_s64_octal.asan.lo buf_inspect_s8.asan.lo buf_inspect_s8_binary.asan.lo buf_inspect_s8_decimal.asan.lo buf_inspect_s8_hexadecimal.asan.lo buf_inspect_s8_octal.asan.lo buf_inspect_sw.asan.lo buf_inspect_sw_binary.asan.lo buf_inspect_sw_decimal.asan.lo buf_inspect_sw_hexadecimal.asan.lo buf_inspect_sw_octal.asan.lo buf_inspect_u16.asan.lo buf_inspect_u16_binary.asan.lo buf_inspect_u16_decimal.asan.lo buf_inspect_u16_hexadecimal.asan.lo buf_inspect_u16_octal.asan.lo buf_inspect_u32.asan.lo buf_inspect_u32_binary.asan.lo buf_inspect_u32_decimal.asan.lo buf_inspect_u32_hexadecimal.asan.lo buf_inspect_u32_octal.asan.lo buf_inspect_u64.asan.lo buf_inspect_u64_binary.asan.lo buf_inspect_u64_decimal.asan.lo buf_inspect_u64_hexadecimal.asan.lo buf_inspect_u64_octal.asan.lo buf_inspect_u8.asan.lo buf_inspect_u8_binary.asan.lo buf_inspect_u8_decimal.asan.lo buf_inspect_u8_hexadecimal.asan.lo buf_inspect_u8_octal.asan.lo buf_inspect_uw.asan.lo buf_inspect_uw_binary.asan.lo buf_inspect_uw_decimal.asan.lo buf_inspect_uw_hexadecimal.asan.lo buf_inspect_uw_octal.asan.lo buf_parse.asan.lo buf_parse_s16.asan.lo buf_parse_s32.asan.lo buf_parse_s64.asan.lo buf_parse_s8.asan.lo buf_parse_sw.asan.lo buf_parse_u16.asan.lo buf_parse_u32.asan.lo buf_parse_u64.asan.lo buf_parse_u8.asan.lo buf_parse_uw.asan.lo buf_rw.asan.lo buf_save.asan.lo call.asan.lo callable.asan.lo cast.asan.lo ceiling.asan.lo cfn.asan.lo character.asan.lo compare.asan.lo complex.asan.lo cow.asan.lo crypt.asan.lo crypt_sha512.asan.lo data.asan.lo deserialize.asan.lo env.asan.lo env_fork.asan.lo error.asan.lo error_handler.asan.lo eval.asan.lo f128.asan.lo f32.asan.lo f64.asan.lo fact.asan.lo fact_action.asan.lo fact_list.asan.lo facts.asan.lo facts_cursor.asan.lo facts_spec.asan.lo facts_spec_cursor.asan.lo facts_transaction.asan.lo facts_with.asan.lo facts_with_cursor.asan.lo fd.asan.lo file.asan.lo fn.asan.lo fn_clause.asan.lo frame.asan.lo hash.asan.lo ident.asan.lo inspect.asan.lo integer.asan.lo io.asan.lo kc3.asan.lo license.asan.lo list.asan.lo list_init.asan.lo log.asan.lo map.asan.lo module.asan.lo mutex.asan.lo operator.asan.lo pcomplex.asan.lo pcow.asan.lo pretty.asan.lo ptag.asan.lo ptr.asan.lo ptr_free.asan.lo queue.asan.lo quote.asan.lo ratio.asan.lo rwlock.asan.lo s16.asan.lo s32.asan.lo s64.asan.lo s8.asan.lo sequence.asan.lo serialize.asan.lo set__fact.asan.lo set__tag.asan.lo set_cursor__fact.asan.lo set_cursor__tag.asan.lo set_item__fact.asan.lo set_item__tag.asan.lo sh.asan.lo sha1.asan.lo sign.asan.lo skiplist__fact.asan.lo skiplist_node__fact.asan.lo special_operator.asan.lo str.asan.lo struct.asan.lo struct_type.asan.lo sw.asan.lo sym.asan.lo tag.asan.lo tag_add.asan.lo tag_addi.asan.lo tag_band.asan.lo tag_bnot.asan.lo tag_bor.asan.lo tag_bxor.asan.lo tag_div.asan.lo tag_init.asan.lo tag_mod.asan.lo tag_mul.asan.lo tag_neg.asan.lo tag_shift_left.asan.lo tag_shift_right.asan.lo tag_sqrt.asan.lo tag_sub.asan.lo tag_type.asan.lo time.asan.lo to_lisp.asan.lo tuple.asan.lo u16.asan.lo u32.asan.lo u64.asan.lo u8.asan.lo ucd.asan.lo unquote.asan.lo uw.asan.lo var.asan.lo void.asan.lo wait.asan.lo "
+LIBS=" -L/usr/local/lib -lffi -lm -lpthread -rpath /usr/local/lib"
+
+/usr/local/bin/libtool --tag=CC --mode=link ${CC} -shared ${CFLAGS} ${LDFLAGS} ${OBJECTS} ${LIBS} -rpath /usr/local/lib -o "$1" > "$LOG" 2>&1 || /usr/local/bin/libtool --tag=CC --mode=link ${CC} -shared ${CFLAGS} ${LDFLAGS} ${OBJECTS} ${LIBS} -rpath /usr/local/lib -o "$1"
diff --git a/libkc3/.build_ld_cov b/libkc3/.build_ld_cov
new file mode 100755
index 0000000..0dd0cd4
--- /dev/null
+++ b/libkc3/.build_ld_cov
@@ -0,0 +1,10 @@
+#!/bin/sh
+# gen by configure
+LOG=".build/$1.cov.log"
+CC="cc"
+CFLAGS=" -W -Wall -Werror -std=c11 -pedantic -pipe -pthread -I/usr/local/include -fprofile-arcs -ftest-coverage"
+LDFLAGS="-export-dynamic -no-undefined -rdynamic --coverage"
+OBJECTS=" ../libtommath/bn_cutoffs.cov.lo ../libtommath/bn_mp_2expt.cov.lo ../libtommath/bn_mp_abs.cov.lo ../libtommath/bn_mp_add.cov.lo ../libtommath/bn_mp_add_d.cov.lo ../libtommath/bn_mp_and.cov.lo ../libtommath/bn_mp_clamp.cov.lo ../libtommath/bn_mp_clear.cov.lo ../libtommath/bn_mp_clear_multi.cov.lo ../libtommath/bn_mp_cmp.cov.lo ../libtommath/bn_mp_cmp_d.cov.lo ../libtommath/bn_mp_cmp_mag.cov.lo ../libtommath/bn_mp_cnt_lsb.cov.lo ../libtommath/bn_mp_complement.cov.lo ../libtommath/bn_mp_copy.cov.lo ../libtommath/bn_mp_count_bits.cov.lo ../libtommath/bn_mp_div.cov.lo ../libtommath/bn_mp_div_2.cov.lo ../libtommath/bn_mp_div_2d.cov.lo ../libtommath/bn_mp_div_3.cov.lo ../libtommath/bn_mp_div_d.cov.lo ../libtommath/bn_mp_dr_is_modulus.cov.lo ../libtommath/bn_mp_dr_reduce.cov.lo ../libtommath/bn_mp_dr_setup.cov.lo ../libtommath/bn_mp_error_to_string.cov.lo ../libtommath/bn_mp_exch.cov.lo ../libtommath/bn_mp_exptmod.cov.lo ../libtommath/bn_mp_gcd.cov.lo ../libtommath/bn_mp_get_double.cov.lo ../libtommath/bn_mp_get_i32.cov.lo ../libtommath/bn_mp_get_i64.cov.lo ../libtommath/bn_mp_get_mag_u32.cov.lo ../libtommath/bn_mp_get_mag_u64.cov.lo ../libtommath/bn_mp_grow.cov.lo ../libtommath/bn_mp_init.cov.lo ../libtommath/bn_mp_init_copy.cov.lo ../libtommath/bn_mp_init_multi.cov.lo ../libtommath/bn_mp_init_size.cov.lo ../libtommath/bn_mp_invmod.cov.lo ../libtommath/bn_mp_lcm.cov.lo ../libtommath/bn_mp_lshd.cov.lo ../libtommath/bn_mp_mod.cov.lo ../libtommath/bn_mp_mod_2d.cov.lo ../libtommath/bn_mp_montgomery_calc_normalization.cov.lo ../libtommath/bn_mp_montgomery_reduce.cov.lo ../libtommath/bn_mp_montgomery_setup.cov.lo ../libtommath/bn_mp_mul.cov.lo ../libtommath/bn_mp_mul_2.cov.lo ../libtommath/bn_mp_mul_2d.cov.lo ../libtommath/bn_mp_mul_d.cov.lo ../libtommath/bn_mp_mulmod.cov.lo ../libtommath/bn_mp_neg.cov.lo ../libtommath/bn_mp_or.cov.lo ../libtommath/bn_mp_radix_size.cov.lo ../libtommath/bn_mp_reduce.cov.lo ../libtommath/bn_mp_reduce_2k.cov.lo ../libtommath/bn_mp_reduce_2k_l.cov.lo ../libtommath/bn_mp_reduce_2k_setup.cov.lo ../libtommath/bn_mp_reduce_2k_setup_l.cov.lo ../libtommath/bn_mp_reduce_is_2k.cov.lo ../libtommath/bn_mp_reduce_is_2k_l.cov.lo ../libtommath/bn_mp_reduce_setup.cov.lo ../libtommath/bn_mp_rshd.cov.lo ../libtommath/bn_mp_set.cov.lo ../libtommath/bn_mp_set_double.cov.lo ../libtommath/bn_mp_set_i32.cov.lo ../libtommath/bn_mp_set_i64.cov.lo ../libtommath/bn_mp_set_l.cov.lo ../libtommath/bn_mp_set_u32.cov.lo ../libtommath/bn_mp_set_u64.cov.lo ../libtommath/bn_mp_set_ul.cov.lo ../libtommath/bn_mp_sqr.cov.lo ../libtommath/bn_mp_sqrt.cov.lo ../libtommath/bn_mp_sub.cov.lo ../libtommath/bn_mp_sub_d.cov.lo ../libtommath/bn_mp_xor.cov.lo ../libtommath/bn_mp_zero.cov.lo ../libtommath/bn_s_mp_add.cov.lo ../libtommath/bn_s_mp_balance_mul.cov.lo ../libtommath/bn_s_mp_exptmod.cov.lo ../libtommath/bn_s_mp_exptmod_fast.cov.lo ../libtommath/bn_s_mp_invmod_fast.cov.lo ../libtommath/bn_s_mp_invmod_slow.cov.lo ../libtommath/bn_s_mp_karatsuba_mul.cov.lo ../libtommath/bn_s_mp_karatsuba_sqr.cov.lo ../libtommath/bn_s_mp_montgomery_reduce_fast.cov.lo ../libtommath/bn_s_mp_mul_digs.cov.lo ../libtommath/bn_s_mp_mul_digs_fast.cov.lo ../libtommath/bn_s_mp_mul_high_digs.cov.lo ../libtommath/bn_s_mp_mul_high_digs_fast.cov.lo ../libtommath/bn_s_mp_rand_platform.cov.lo ../libtommath/bn_s_mp_sqr.cov.lo ../libtommath/bn_s_mp_sqr_fast.cov.lo ../libtommath/bn_s_mp_sub.cov.lo ../libtommath/bn_s_mp_toom_mul.cov.lo ../libtommath/bn_s_mp_toom_sqr.cov.lo abs.cov.lo alist.cov.lo alloc.cov.lo arg.cov.lo array.cov.lo binding.cov.lo block.cov.lo bool.cov.lo buf.cov.lo buf_fd.cov.lo buf_file.cov.lo buf_getc.cov.lo buf_getchar.cov.lo buf_inspect.cov.lo buf_inspect_s16.cov.lo buf_inspect_s16_binary.cov.lo buf_inspect_s16_decimal.cov.lo buf_inspect_s16_hexadecimal.cov.lo buf_inspect_s16_octal.cov.lo buf_inspect_s32.cov.lo buf_inspect_s32_binary.cov.lo buf_inspect_s32_decimal.cov.lo buf_inspect_s32_hexadecimal.cov.lo buf_inspect_s32_octal.cov.lo buf_inspect_s64.cov.lo buf_inspect_s64_binary.cov.lo buf_inspect_s64_decimal.cov.lo buf_inspect_s64_hexadecimal.cov.lo buf_inspect_s64_octal.cov.lo buf_inspect_s8.cov.lo buf_inspect_s8_binary.cov.lo buf_inspect_s8_decimal.cov.lo buf_inspect_s8_hexadecimal.cov.lo buf_inspect_s8_octal.cov.lo buf_inspect_sw.cov.lo buf_inspect_sw_binary.cov.lo buf_inspect_sw_decimal.cov.lo buf_inspect_sw_hexadecimal.cov.lo buf_inspect_sw_octal.cov.lo buf_inspect_u16.cov.lo buf_inspect_u16_binary.cov.lo buf_inspect_u16_decimal.cov.lo buf_inspect_u16_hexadecimal.cov.lo buf_inspect_u16_octal.cov.lo buf_inspect_u32.cov.lo buf_inspect_u32_binary.cov.lo buf_inspect_u32_decimal.cov.lo buf_inspect_u32_hexadecimal.cov.lo buf_inspect_u32_octal.cov.lo buf_inspect_u64.cov.lo buf_inspect_u64_binary.cov.lo buf_inspect_u64_decimal.cov.lo buf_inspect_u64_hexadecimal.cov.lo buf_inspect_u64_octal.cov.lo buf_inspect_u8.cov.lo buf_inspect_u8_binary.cov.lo buf_inspect_u8_decimal.cov.lo buf_inspect_u8_hexadecimal.cov.lo buf_inspect_u8_octal.cov.lo buf_inspect_uw.cov.lo buf_inspect_uw_binary.cov.lo buf_inspect_uw_decimal.cov.lo buf_inspect_uw_hexadecimal.cov.lo buf_inspect_uw_octal.cov.lo buf_parse.cov.lo buf_parse_s16.cov.lo buf_parse_s32.cov.lo buf_parse_s64.cov.lo buf_parse_s8.cov.lo buf_parse_sw.cov.lo buf_parse_u16.cov.lo buf_parse_u32.cov.lo buf_parse_u64.cov.lo buf_parse_u8.cov.lo buf_parse_uw.cov.lo buf_rw.cov.lo buf_save.cov.lo call.cov.lo callable.cov.lo cast.cov.lo ceiling.cov.lo cfn.cov.lo character.cov.lo compare.cov.lo complex.cov.lo cow.cov.lo crypt.cov.lo crypt_sha512.cov.lo data.cov.lo deserialize.cov.lo env.cov.lo env_fork.cov.lo error.cov.lo error_handler.cov.lo eval.cov.lo f128.cov.lo f32.cov.lo f64.cov.lo fact.cov.lo fact_action.cov.lo fact_list.cov.lo facts.cov.lo facts_cursor.cov.lo facts_spec.cov.lo facts_spec_cursor.cov.lo facts_transaction.cov.lo facts_with.cov.lo facts_with_cursor.cov.lo fd.cov.lo file.cov.lo fn.cov.lo fn_clause.cov.lo frame.cov.lo hash.cov.lo ident.cov.lo inspect.cov.lo integer.cov.lo io.cov.lo kc3.cov.lo license.cov.lo list.cov.lo list_init.cov.lo log.cov.lo map.cov.lo module.cov.lo mutex.cov.lo operator.cov.lo pcomplex.cov.lo pcow.cov.lo pretty.cov.lo ptag.cov.lo ptr.cov.lo ptr_free.cov.lo queue.cov.lo quote.cov.lo ratio.cov.lo rwlock.cov.lo s16.cov.lo s32.cov.lo s64.cov.lo s8.cov.lo sequence.cov.lo serialize.cov.lo set__fact.cov.lo set__tag.cov.lo set_cursor__fact.cov.lo set_cursor__tag.cov.lo set_item__fact.cov.lo set_item__tag.cov.lo sh.cov.lo sha1.cov.lo sign.cov.lo skiplist__fact.cov.lo skiplist_node__fact.cov.lo special_operator.cov.lo str.cov.lo struct.cov.lo struct_type.cov.lo sw.cov.lo sym.cov.lo tag.cov.lo tag_add.cov.lo tag_addi.cov.lo tag_band.cov.lo tag_bnot.cov.lo tag_bor.cov.lo tag_bxor.cov.lo tag_div.cov.lo tag_init.cov.lo tag_mod.cov.lo tag_mul.cov.lo tag_neg.cov.lo tag_shift_left.cov.lo tag_shift_right.cov.lo tag_sqrt.cov.lo tag_sub.cov.lo tag_type.cov.lo time.cov.lo to_lisp.cov.lo tuple.cov.lo u16.cov.lo u32.cov.lo u64.cov.lo u8.cov.lo ucd.cov.lo unquote.cov.lo uw.cov.lo var.cov.lo void.cov.lo wait.cov.lo "
+LIBS=" -L/usr/local/lib -lffi -lm -lpthread -rpath /usr/local/lib -lgcov"
+
+/usr/local/bin/libtool --tag=CC --mode=link ${CC} -shared ${CFLAGS} ${LDFLAGS} ${OBJECTS} ${LIBS} -rpath /usr/local/lib -o "$1" > "$LOG" 2>&1 || /usr/local/bin/libtool --tag=CC --mode=link ${CC} -shared ${CFLAGS} ${LDFLAGS} ${OBJECTS} ${LIBS} -rpath /usr/local/lib -o "$1"
diff --git a/libkc3/.build_ld_debug b/libkc3/.build_ld_debug
new file mode 100755
index 0000000..de2815f
--- /dev/null
+++ b/libkc3/.build_ld_debug
@@ -0,0 +1,10 @@
+#!/bin/sh
+# gen by configure
+LOG=".build/$1.debug.log"
+CC="cc"
+CFLAGS=" -W -Wall -Werror -std=c11 -pedantic -pipe -pthread -I/usr/local/include -DDEBUG -O0 -g"
+LDFLAGS="-export-dynamic -no-undefined -rdynamic"
+OBJECTS=" ../libtommath/bn_cutoffs.debug.lo ../libtommath/bn_mp_2expt.debug.lo ../libtommath/bn_mp_abs.debug.lo ../libtommath/bn_mp_add.debug.lo ../libtommath/bn_mp_add_d.debug.lo ../libtommath/bn_mp_and.debug.lo ../libtommath/bn_mp_clamp.debug.lo ../libtommath/bn_mp_clear.debug.lo ../libtommath/bn_mp_clear_multi.debug.lo ../libtommath/bn_mp_cmp.debug.lo ../libtommath/bn_mp_cmp_d.debug.lo ../libtommath/bn_mp_cmp_mag.debug.lo ../libtommath/bn_mp_cnt_lsb.debug.lo ../libtommath/bn_mp_complement.debug.lo ../libtommath/bn_mp_copy.debug.lo ../libtommath/bn_mp_count_bits.debug.lo ../libtommath/bn_mp_div.debug.lo ../libtommath/bn_mp_div_2.debug.lo ../libtommath/bn_mp_div_2d.debug.lo ../libtommath/bn_mp_div_3.debug.lo ../libtommath/bn_mp_div_d.debug.lo ../libtommath/bn_mp_dr_is_modulus.debug.lo ../libtommath/bn_mp_dr_reduce.debug.lo ../libtommath/bn_mp_dr_setup.debug.lo ../libtommath/bn_mp_error_to_string.debug.lo ../libtommath/bn_mp_exch.debug.lo ../libtommath/bn_mp_exptmod.debug.lo ../libtommath/bn_mp_gcd.debug.lo ../libtommath/bn_mp_get_double.debug.lo ../libtommath/bn_mp_get_i32.debug.lo ../libtommath/bn_mp_get_i64.debug.lo ../libtommath/bn_mp_get_mag_u32.debug.lo ../libtommath/bn_mp_get_mag_u64.debug.lo ../libtommath/bn_mp_grow.debug.lo ../libtommath/bn_mp_init.debug.lo ../libtommath/bn_mp_init_copy.debug.lo ../libtommath/bn_mp_init_multi.debug.lo ../libtommath/bn_mp_init_size.debug.lo ../libtommath/bn_mp_invmod.debug.lo ../libtommath/bn_mp_lcm.debug.lo ../libtommath/bn_mp_lshd.debug.lo ../libtommath/bn_mp_mod.debug.lo ../libtommath/bn_mp_mod_2d.debug.lo ../libtommath/bn_mp_montgomery_calc_normalization.debug.lo ../libtommath/bn_mp_montgomery_reduce.debug.lo ../libtommath/bn_mp_montgomery_setup.debug.lo ../libtommath/bn_mp_mul.debug.lo ../libtommath/bn_mp_mul_2.debug.lo ../libtommath/bn_mp_mul_2d.debug.lo ../libtommath/bn_mp_mul_d.debug.lo ../libtommath/bn_mp_mulmod.debug.lo ../libtommath/bn_mp_neg.debug.lo ../libtommath/bn_mp_or.debug.lo ../libtommath/bn_mp_radix_size.debug.lo ../libtommath/bn_mp_reduce.debug.lo ../libtommath/bn_mp_reduce_2k.debug.lo ../libtommath/bn_mp_reduce_2k_l.debug.lo ../libtommath/bn_mp_reduce_2k_setup.debug.lo ../libtommath/bn_mp_reduce_2k_setup_l.debug.lo ../libtommath/bn_mp_reduce_is_2k.debug.lo ../libtommath/bn_mp_reduce_is_2k_l.debug.lo ../libtommath/bn_mp_reduce_setup.debug.lo ../libtommath/bn_mp_rshd.debug.lo ../libtommath/bn_mp_set.debug.lo ../libtommath/bn_mp_set_double.debug.lo ../libtommath/bn_mp_set_i32.debug.lo ../libtommath/bn_mp_set_i64.debug.lo ../libtommath/bn_mp_set_l.debug.lo ../libtommath/bn_mp_set_u32.debug.lo ../libtommath/bn_mp_set_u64.debug.lo ../libtommath/bn_mp_set_ul.debug.lo ../libtommath/bn_mp_sqr.debug.lo ../libtommath/bn_mp_sqrt.debug.lo ../libtommath/bn_mp_sub.debug.lo ../libtommath/bn_mp_sub_d.debug.lo ../libtommath/bn_mp_xor.debug.lo ../libtommath/bn_mp_zero.debug.lo ../libtommath/bn_s_mp_add.debug.lo ../libtommath/bn_s_mp_balance_mul.debug.lo ../libtommath/bn_s_mp_exptmod.debug.lo ../libtommath/bn_s_mp_exptmod_fast.debug.lo ../libtommath/bn_s_mp_invmod_fast.debug.lo ../libtommath/bn_s_mp_invmod_slow.debug.lo ../libtommath/bn_s_mp_karatsuba_mul.debug.lo ../libtommath/bn_s_mp_karatsuba_sqr.debug.lo ../libtommath/bn_s_mp_montgomery_reduce_fast.debug.lo ../libtommath/bn_s_mp_mul_digs.debug.lo ../libtommath/bn_s_mp_mul_digs_fast.debug.lo ../libtommath/bn_s_mp_mul_high_digs.debug.lo ../libtommath/bn_s_mp_mul_high_digs_fast.debug.lo ../libtommath/bn_s_mp_rand_platform.debug.lo ../libtommath/bn_s_mp_sqr.debug.lo ../libtommath/bn_s_mp_sqr_fast.debug.lo ../libtommath/bn_s_mp_sub.debug.lo ../libtommath/bn_s_mp_toom_mul.debug.lo ../libtommath/bn_s_mp_toom_sqr.debug.lo abs.debug.lo alist.debug.lo alloc.debug.lo arg.debug.lo array.debug.lo binding.debug.lo block.debug.lo bool.debug.lo buf.debug.lo buf_fd.debug.lo buf_file.debug.lo buf_getc.debug.lo buf_getchar.debug.lo buf_inspect.debug.lo buf_inspect_s16.debug.lo buf_inspect_s16_binary.debug.lo buf_inspect_s16_decimal.debug.lo buf_inspect_s16_hexadecimal.debug.lo buf_inspect_s16_octal.debug.lo buf_inspect_s32.debug.lo buf_inspect_s32_binary.debug.lo buf_inspect_s32_decimal.debug.lo buf_inspect_s32_hexadecimal.debug.lo buf_inspect_s32_octal.debug.lo buf_inspect_s64.debug.lo buf_inspect_s64_binary.debug.lo buf_inspect_s64_decimal.debug.lo buf_inspect_s64_hexadecimal.debug.lo buf_inspect_s64_octal.debug.lo buf_inspect_s8.debug.lo buf_inspect_s8_binary.debug.lo buf_inspect_s8_decimal.debug.lo buf_inspect_s8_hexadecimal.debug.lo buf_inspect_s8_octal.debug.lo buf_inspect_sw.debug.lo buf_inspect_sw_binary.debug.lo buf_inspect_sw_decimal.debug.lo buf_inspect_sw_hexadecimal.debug.lo buf_inspect_sw_octal.debug.lo buf_inspect_u16.debug.lo buf_inspect_u16_binary.debug.lo buf_inspect_u16_decimal.debug.lo buf_inspect_u16_hexadecimal.debug.lo buf_inspect_u16_octal.debug.lo buf_inspect_u32.debug.lo buf_inspect_u32_binary.debug.lo buf_inspect_u32_decimal.debug.lo buf_inspect_u32_hexadecimal.debug.lo buf_inspect_u32_octal.debug.lo buf_inspect_u64.debug.lo buf_inspect_u64_binary.debug.lo buf_inspect_u64_decimal.debug.lo buf_inspect_u64_hexadecimal.debug.lo buf_inspect_u64_octal.debug.lo buf_inspect_u8.debug.lo buf_inspect_u8_binary.debug.lo buf_inspect_u8_decimal.debug.lo buf_inspect_u8_hexadecimal.debug.lo buf_inspect_u8_octal.debug.lo buf_inspect_uw.debug.lo buf_inspect_uw_binary.debug.lo buf_inspect_uw_decimal.debug.lo buf_inspect_uw_hexadecimal.debug.lo buf_inspect_uw_octal.debug.lo buf_parse.debug.lo buf_parse_s16.debug.lo buf_parse_s32.debug.lo buf_parse_s64.debug.lo buf_parse_s8.debug.lo buf_parse_sw.debug.lo buf_parse_u16.debug.lo buf_parse_u32.debug.lo buf_parse_u64.debug.lo buf_parse_u8.debug.lo buf_parse_uw.debug.lo buf_rw.debug.lo buf_save.debug.lo call.debug.lo callable.debug.lo cast.debug.lo ceiling.debug.lo cfn.debug.lo character.debug.lo compare.debug.lo complex.debug.lo cow.debug.lo crypt.debug.lo crypt_sha512.debug.lo data.debug.lo deserialize.debug.lo env.debug.lo env_fork.debug.lo error.debug.lo error_handler.debug.lo eval.debug.lo f128.debug.lo f32.debug.lo f64.debug.lo fact.debug.lo fact_action.debug.lo fact_list.debug.lo facts.debug.lo facts_cursor.debug.lo facts_spec.debug.lo facts_spec_cursor.debug.lo facts_transaction.debug.lo facts_with.debug.lo facts_with_cursor.debug.lo fd.debug.lo file.debug.lo fn.debug.lo fn_clause.debug.lo frame.debug.lo hash.debug.lo ident.debug.lo inspect.debug.lo integer.debug.lo io.debug.lo kc3.debug.lo license.debug.lo list.debug.lo list_init.debug.lo log.debug.lo map.debug.lo module.debug.lo mutex.debug.lo operator.debug.lo pcomplex.debug.lo pcow.debug.lo pretty.debug.lo ptag.debug.lo ptr.debug.lo ptr_free.debug.lo queue.debug.lo quote.debug.lo ratio.debug.lo rwlock.debug.lo s16.debug.lo s32.debug.lo s64.debug.lo s8.debug.lo sequence.debug.lo serialize.debug.lo set__fact.debug.lo set__tag.debug.lo set_cursor__fact.debug.lo set_cursor__tag.debug.lo set_item__fact.debug.lo set_item__tag.debug.lo sh.debug.lo sha1.debug.lo sign.debug.lo skiplist__fact.debug.lo skiplist_node__fact.debug.lo special_operator.debug.lo str.debug.lo struct.debug.lo struct_type.debug.lo sw.debug.lo sym.debug.lo tag.debug.lo tag_add.debug.lo tag_addi.debug.lo tag_band.debug.lo tag_bnot.debug.lo tag_bor.debug.lo tag_bxor.debug.lo tag_div.debug.lo tag_init.debug.lo tag_mod.debug.lo tag_mul.debug.lo tag_neg.debug.lo tag_shift_left.debug.lo tag_shift_right.debug.lo tag_sqrt.debug.lo tag_sub.debug.lo tag_type.debug.lo time.debug.lo to_lisp.debug.lo tuple.debug.lo u16.debug.lo u32.debug.lo u64.debug.lo u8.debug.lo ucd.debug.lo unquote.debug.lo uw.debug.lo var.debug.lo void.debug.lo wait.debug.lo "
+LIBS=" -L/usr/local/lib -lffi -lm -lpthread -rpath /usr/local/lib"
+
+/usr/local/bin/libtool --tag=CC --mode=link ${CC} -shared ${CFLAGS} ${LDFLAGS} ${OBJECTS} ${LIBS} -rpath /usr/local/lib -o "$1" > "$LOG" 2>&1 || /usr/local/bin/libtool --tag=CC --mode=link ${CC} -shared ${CFLAGS} ${LDFLAGS} ${OBJECTS} ${LIBS} -rpath /usr/local/lib -o "$1"
diff --git a/libkc3/.build_ld_main b/libkc3/.build_ld_main
new file mode 100755
index 0000000..b342a57
--- /dev/null
+++ b/libkc3/.build_ld_main
@@ -0,0 +1,10 @@
+#!/bin/sh
+# gen by configure
+LOG=".build/$1.main.log"
+CC="cc"
+CFLAGS=" -W -Wall -Werror -std=c11 -pedantic -pipe -pthread -I/usr/local/include -O2 -fPIC -DNDEBUG"
+LDFLAGS="-export-dynamic -no-undefined -rdynamic"
+OBJECTS=" ../libtommath/bn_cutoffs.main.lo ../libtommath/bn_mp_2expt.main.lo ../libtommath/bn_mp_abs.main.lo ../libtommath/bn_mp_add.main.lo ../libtommath/bn_mp_add_d.main.lo ../libtommath/bn_mp_and.main.lo ../libtommath/bn_mp_clamp.main.lo ../libtommath/bn_mp_clear.main.lo ../libtommath/bn_mp_clear_multi.main.lo ../libtommath/bn_mp_cmp.main.lo ../libtommath/bn_mp_cmp_d.main.lo ../libtommath/bn_mp_cmp_mag.main.lo ../libtommath/bn_mp_cnt_lsb.main.lo ../libtommath/bn_mp_complement.main.lo ../libtommath/bn_mp_copy.main.lo ../libtommath/bn_mp_count_bits.main.lo ../libtommath/bn_mp_div.main.lo ../libtommath/bn_mp_div_2.main.lo ../libtommath/bn_mp_div_2d.main.lo ../libtommath/bn_mp_div_3.main.lo ../libtommath/bn_mp_div_d.main.lo ../libtommath/bn_mp_dr_is_modulus.main.lo ../libtommath/bn_mp_dr_reduce.main.lo ../libtommath/bn_mp_dr_setup.main.lo ../libtommath/bn_mp_error_to_string.main.lo ../libtommath/bn_mp_exch.main.lo ../libtommath/bn_mp_exptmod.main.lo ../libtommath/bn_mp_gcd.main.lo ../libtommath/bn_mp_get_double.main.lo ../libtommath/bn_mp_get_i32.main.lo ../libtommath/bn_mp_get_i64.main.lo ../libtommath/bn_mp_get_mag_u32.main.lo ../libtommath/bn_mp_get_mag_u64.main.lo ../libtommath/bn_mp_grow.main.lo ../libtommath/bn_mp_init.main.lo ../libtommath/bn_mp_init_copy.main.lo ../libtommath/bn_mp_init_multi.main.lo ../libtommath/bn_mp_init_size.main.lo ../libtommath/bn_mp_invmod.main.lo ../libtommath/bn_mp_lcm.main.lo ../libtommath/bn_mp_lshd.main.lo ../libtommath/bn_mp_mod.main.lo ../libtommath/bn_mp_mod_2d.main.lo ../libtommath/bn_mp_montgomery_calc_normalization.main.lo ../libtommath/bn_mp_montgomery_reduce.main.lo ../libtommath/bn_mp_montgomery_setup.main.lo ../libtommath/bn_mp_mul.main.lo ../libtommath/bn_mp_mul_2.main.lo ../libtommath/bn_mp_mul_2d.main.lo ../libtommath/bn_mp_mul_d.main.lo ../libtommath/bn_mp_mulmod.main.lo ../libtommath/bn_mp_neg.main.lo ../libtommath/bn_mp_or.main.lo ../libtommath/bn_mp_radix_size.main.lo ../libtommath/bn_mp_reduce.main.lo ../libtommath/bn_mp_reduce_2k.main.lo ../libtommath/bn_mp_reduce_2k_l.main.lo ../libtommath/bn_mp_reduce_2k_setup.main.lo ../libtommath/bn_mp_reduce_2k_setup_l.main.lo ../libtommath/bn_mp_reduce_is_2k.main.lo ../libtommath/bn_mp_reduce_is_2k_l.main.lo ../libtommath/bn_mp_reduce_setup.main.lo ../libtommath/bn_mp_rshd.main.lo ../libtommath/bn_mp_set.main.lo ../libtommath/bn_mp_set_double.main.lo ../libtommath/bn_mp_set_i32.main.lo ../libtommath/bn_mp_set_i64.main.lo ../libtommath/bn_mp_set_l.main.lo ../libtommath/bn_mp_set_u32.main.lo ../libtommath/bn_mp_set_u64.main.lo ../libtommath/bn_mp_set_ul.main.lo ../libtommath/bn_mp_sqr.main.lo ../libtommath/bn_mp_sqrt.main.lo ../libtommath/bn_mp_sub.main.lo ../libtommath/bn_mp_sub_d.main.lo ../libtommath/bn_mp_xor.main.lo ../libtommath/bn_mp_zero.main.lo ../libtommath/bn_s_mp_add.main.lo ../libtommath/bn_s_mp_balance_mul.main.lo ../libtommath/bn_s_mp_exptmod.main.lo ../libtommath/bn_s_mp_exptmod_fast.main.lo ../libtommath/bn_s_mp_invmod_fast.main.lo ../libtommath/bn_s_mp_invmod_slow.main.lo ../libtommath/bn_s_mp_karatsuba_mul.main.lo ../libtommath/bn_s_mp_karatsuba_sqr.main.lo ../libtommath/bn_s_mp_montgomery_reduce_fast.main.lo ../libtommath/bn_s_mp_mul_digs.main.lo ../libtommath/bn_s_mp_mul_digs_fast.main.lo ../libtommath/bn_s_mp_mul_high_digs.main.lo ../libtommath/bn_s_mp_mul_high_digs_fast.main.lo ../libtommath/bn_s_mp_rand_platform.main.lo ../libtommath/bn_s_mp_sqr.main.lo ../libtommath/bn_s_mp_sqr_fast.main.lo ../libtommath/bn_s_mp_sub.main.lo ../libtommath/bn_s_mp_toom_mul.main.lo ../libtommath/bn_s_mp_toom_sqr.main.lo abs.main.lo alist.main.lo alloc.main.lo arg.main.lo array.main.lo binding.main.lo block.main.lo bool.main.lo buf.main.lo buf_fd.main.lo buf_file.main.lo buf_getc.main.lo buf_getchar.main.lo buf_inspect.main.lo buf_inspect_s16.main.lo buf_inspect_s16_binary.main.lo buf_inspect_s16_decimal.main.lo buf_inspect_s16_hexadecimal.main.lo buf_inspect_s16_octal.main.lo buf_inspect_s32.main.lo buf_inspect_s32_binary.main.lo buf_inspect_s32_decimal.main.lo buf_inspect_s32_hexadecimal.main.lo buf_inspect_s32_octal.main.lo buf_inspect_s64.main.lo buf_inspect_s64_binary.main.lo buf_inspect_s64_decimal.main.lo buf_inspect_s64_hexadecimal.main.lo buf_inspect_s64_octal.main.lo buf_inspect_s8.main.lo buf_inspect_s8_binary.main.lo buf_inspect_s8_decimal.main.lo buf_inspect_s8_hexadecimal.main.lo buf_inspect_s8_octal.main.lo buf_inspect_sw.main.lo buf_inspect_sw_binary.main.lo buf_inspect_sw_decimal.main.lo buf_inspect_sw_hexadecimal.main.lo buf_inspect_sw_octal.main.lo buf_inspect_u16.main.lo buf_inspect_u16_binary.main.lo buf_inspect_u16_decimal.main.lo buf_inspect_u16_hexadecimal.main.lo buf_inspect_u16_octal.main.lo buf_inspect_u32.main.lo buf_inspect_u32_binary.main.lo buf_inspect_u32_decimal.main.lo buf_inspect_u32_hexadecimal.main.lo buf_inspect_u32_octal.main.lo buf_inspect_u64.main.lo buf_inspect_u64_binary.main.lo buf_inspect_u64_decimal.main.lo buf_inspect_u64_hexadecimal.main.lo buf_inspect_u64_octal.main.lo buf_inspect_u8.main.lo buf_inspect_u8_binary.main.lo buf_inspect_u8_decimal.main.lo buf_inspect_u8_hexadecimal.main.lo buf_inspect_u8_octal.main.lo buf_inspect_uw.main.lo buf_inspect_uw_binary.main.lo buf_inspect_uw_decimal.main.lo buf_inspect_uw_hexadecimal.main.lo buf_inspect_uw_octal.main.lo buf_parse.main.lo buf_parse_s16.main.lo buf_parse_s32.main.lo buf_parse_s64.main.lo buf_parse_s8.main.lo buf_parse_sw.main.lo buf_parse_u16.main.lo buf_parse_u32.main.lo buf_parse_u64.main.lo buf_parse_u8.main.lo buf_parse_uw.main.lo buf_rw.main.lo buf_save.main.lo call.main.lo callable.main.lo cast.main.lo ceiling.main.lo cfn.main.lo character.main.lo compare.main.lo complex.main.lo cow.main.lo crypt.main.lo crypt_sha512.main.lo data.main.lo deserialize.main.lo env.main.lo env_fork.main.lo error.main.lo error_handler.main.lo eval.main.lo f128.main.lo f32.main.lo f64.main.lo fact.main.lo fact_action.main.lo fact_list.main.lo facts.main.lo facts_cursor.main.lo facts_spec.main.lo facts_spec_cursor.main.lo facts_transaction.main.lo facts_with.main.lo facts_with_cursor.main.lo fd.main.lo file.main.lo fn.main.lo fn_clause.main.lo frame.main.lo hash.main.lo ident.main.lo inspect.main.lo integer.main.lo io.main.lo kc3.main.lo license.main.lo list.main.lo list_init.main.lo log.main.lo map.main.lo module.main.lo mutex.main.lo operator.main.lo pcomplex.main.lo pcow.main.lo pretty.main.lo ptag.main.lo ptr.main.lo ptr_free.main.lo queue.main.lo quote.main.lo ratio.main.lo rwlock.main.lo s16.main.lo s32.main.lo s64.main.lo s8.main.lo sequence.main.lo serialize.main.lo set__fact.main.lo set__tag.main.lo set_cursor__fact.main.lo set_cursor__tag.main.lo set_item__fact.main.lo set_item__tag.main.lo sh.main.lo sha1.main.lo sign.main.lo skiplist__fact.main.lo skiplist_node__fact.main.lo special_operator.main.lo str.main.lo struct.main.lo struct_type.main.lo sw.main.lo sym.main.lo tag.main.lo tag_add.main.lo tag_addi.main.lo tag_band.main.lo tag_bnot.main.lo tag_bor.main.lo tag_bxor.main.lo tag_div.main.lo tag_init.main.lo tag_mod.main.lo tag_mul.main.lo tag_neg.main.lo tag_shift_left.main.lo tag_shift_right.main.lo tag_sqrt.main.lo tag_sub.main.lo tag_type.main.lo time.main.lo to_lisp.main.lo tuple.main.lo u16.main.lo u32.main.lo u64.main.lo u8.main.lo ucd.main.lo unquote.main.lo uw.main.lo var.main.lo void.main.lo wait.main.lo "
+LIBS=" -L/usr/local/lib -lffi -lm -lpthread -rpath /usr/local/lib"
+
+/usr/local/bin/libtool --tag=CC --mode=link ${CC} -shared ${CFLAGS} ${LDFLAGS} ${OBJECTS} ${LIBS} -rpath /usr/local/lib -o "$1" > "$LOG" 2>&1 || /usr/local/bin/libtool --tag=CC --mode=link ${CC} -shared ${CFLAGS} ${LDFLAGS} ${OBJECTS} ${LIBS} -rpath /usr/local/lib -o "$1"
diff --git a/libkc3/kc3.c b/libkc3/kc3.c
index 3b17e53..be79b6a 100644
--- a/libkc3/kc3.c
+++ b/libkc3/kc3.c
@@ -734,13 +734,27 @@ s_tag * kc3_sysctl (s_tag *dest, const s_list * const *list)
s32 mib_len = 0;
s32 i;
const s_list *l;
- l = list;
+ l = *list;
while (l) {
if (l->tag.type != TAG_SYM) {
- err_puts("kc3_sysctl: argument is not a Sym list")
- assert(! "kc3_sysctl: argument is not a Sym list")
+ err_puts("kc3_sysctl: argument is not a Sym list");
+ assert(! "kc3_sysctl: argument is not a Sym list");
+ }
+ if (l->tag.data.sym == sym_1("hw"))
+ mib[mib_len] = CTL_HW;
+ else if (l->tag.data.sym == sym_1("kern"))
+ mib[mib_len] = CTL_KERN;
+ else {
+ err_write_1("kc3_sysctl: invalid argument: ");
+ err_inspect_sym(l->tag.data.sym);
+ err_write_1("\n");
+ assert("kc3_sysctl: invalid argument")
+ return NULL;
+ }
+ mib_len++;
l = list_next(l);
}
+ if (sysctl(mib, mib_len,
}
s_str * kc3_system (const s_list * const *list, s_str *dest)
{