diff options
Diffstat (limited to 'pkg/bc/gen.lua')
| -rw-r--r-- | pkg/bc/gen.lua | 49 |
1 files changed, 41 insertions, 8 deletions
diff --git a/pkg/bc/gen.lua b/pkg/bc/gen.lua index 18f8dadc..cc0dcade 100644 --- a/pkg/bc/gen.lua +++ b/pkg/bc/gen.lua @@ -1,15 +1,48 @@ cflags{ - '-D HAVE_CONFIG_H', - '-I $dir', - '-I $srcdir/h', + '-D NDEBUG', + '-D VERSION=1.1.4', + '-D _POSIX_C_SOURCE=200809L', + '-I $srcdir/include', + '-include $dir/config.h', } -lib('libbc.a', {'lib/number.c'}) +sub('tools.ninja', function() + exe('strgen', {'gen/strgen.c'}) + rule('strgen', [[$outdir/strgen $in $out.tmp $name $header '$label' '$define' $removetabs && mv $out.tmp $out]]) + build('strgen', '$outdir/bc_help.c', {'$srcdir/gen/bc_help.txt', '|', '$outdir/strgen'}, { + name='bc_help', header='bc.h', label='', define='BC_ENABLED', removetabs='', + }) + build('strgen', '$outdir/dc_help.c', {'$srcdir/gen/dc_help.txt', '|', '$outdir/strgen'}, { + name='dc_help', header='dc.h', label='', define='DC_ENABLED', removetabs='', + }) + build('strgen', '$outdir/lib.c', {'$srcdir/gen/lib.bc', '|', '$outdir/strgen'}, { + name='bc_lib', header='bc.h', label='bc_lib_name', define='BC_ENABLED', removetabs='1', + }) + build('strgen', '$outdir/lib2.c', {'$srcdir/gen/lib2.bc', '|', '$outdir/strgen'}, { + name='bc_lib2', header='bc.h', label='bc_lib2_name', define='BC_ENABLED && BC_ENABLE_EXTRA_MATH', removetabs='1', + }) +end) + exe('bin/bc', [[ - bc/(main.c bc.c scan.c execute.c load.c storage.c util.c global.c warranty.c) - libbc.a + src/( + args.c + data.c + lang.c + lex.c + main.c + num.c + parse.c + program.c + read.c + vector.c + vm.c + bc/(bc.c lex.c parse.c) + dc/(dc.c lex.c parse.c) + history/history.c + ) + $outdir/(bc_help.c dc_help.c lib.c lib2.c) ]]) file('bin/bc', '755', '$outdir/bin/bc') -man{'doc/bc.1'} +man{'manuals/bc.1'} -fetch 'curl' +fetch 'git' |
