diff options
| author | Michael Forney <mforney@mforney.org> | 2017-09-17 00:03:34 -0700 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2017-09-25 19:23:06 -0700 |
| commit | ba94a8513d9a0aadb3f2c834c74b64aa644c61e8 (patch) | |
| tree | 48ac6c85baa7b9d960b9e1e726a906e61ca60967 /pkg/openbsd/gen.lua | |
| parent | cb362b531d79708a259bbf070dee5104fd63df08 (diff) | |
Rewrite ninja generation scripts in Lua
Diffstat (limited to 'pkg/openbsd/gen.lua')
| -rw-r--r-- | pkg/openbsd/gen.lua | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/pkg/openbsd/gen.lua b/pkg/openbsd/gen.lua new file mode 100644 index 00000000..68ad276c --- /dev/null +++ b/pkg/openbsd/gen.lua @@ -0,0 +1,99 @@ +cflags{ + [[-D 'DEF_WEAK(n)=']], + '-I $dir/include', + '-I $builddir/pkg/libressl/include', + '-idirafter $srcdir/include', + '-idirafter $srcdir/sys', +} +local libs + +if not config.tls or config.tls == 'libressl' then + cflags{'-D USE_OPENSSL', '-I $builddir/pkg/libressl/include'} + libs = {'$builddir/pkg/libressl/libcrypto.a'} +elseif config.tls == 'bearssl' then + cflags{'-D USE_BEARSSL', '-I pkg/bearssl/src/inc'} + libs = {'$builddir/pkg/bearssl/libbearssl.a'} +else + error('unknown config.tls: '..config.tls) +end + +-- Link arc4random.c to '$outdir' so that it doesn't include the local +-- arc4random.h +build('copy', '$outdir/lib/libc/crypt/arc4random.c', '$srcdir/lib/libc/crypt/arc4random.c') +build('copy', '$outdir/lib/libc/crypt/arc4random.h', '$srcdir/lib/libcrypto/arc4random/arc4random_linux.h') +build('copy', '$outdir/lib/libc/crypt/chacha_private.h', '$srcdir/lib/libc/crypt/chacha_private.h') +cc('$outdir/lib/libc/crypt/arc4random.c', { + '$outdir/lib/libc/crypt/arc4random.h', + '$outdir/lib/libc/crypt/chacha_private.h', +}) + +lib('libbsd.a', {paths[[ + lib/libc/( + crypt/(arc4random.c.o arc4random_uniform.c) + gen/(fts.c getprogname.c pwcache.c readpassphrase.c setprogname.c vis.c warnc.c vwarnc.c) + net/base64.c + stdlib/(reallocarray.c recallocarray.c strtonum.c) + string/(explicit_bzero.c strmode.c timingsafe_memcmp.c) + ) + lib/libcrypto/arc4random/getentropy_linux.c +]], libs}, {'pkg/libressl/headers'}) + +-- diff +exe('diff', 'usr.bin/diff/(diff.c diffdir.c diffreg.c xmalloc.c) libbsd.a') +file('bin/diff', '755', '$outdir/diff') +man{'usr.bin/diff/diff.1'} + +-- doas +yacc('parse', 'usr.bin/doas/parse.y') +cc('$outdir/parse.tab.c', nil, {cflags='$cflags -I $srcdir/usr.bin/doas'}) +cc('usr.bin/doas/doas.c', nil, {cflags='$cflags -D _GNU_SOURCE'}) +exe('doas', 'usr.bin/doas/(doas.c.o env.c persist.c) parse.tab.c.o libbsd.a') +file('bin/doas', '6755', '$outdir/doas') +man{'usr.bin/doas/doas.1', 'usr.bin/doas/doas.conf.5'} + +-- fmt +file('bin/fmt', '755', exe('fmt', {'usr.bin/fmt/fmt.c'})) +man{'usr.bin/fmt/fmt.1'} + +-- nc +exe('nc', [[ + usr.bin/nc/(netcat.c atomicio.c socks.c) + $builddir/pkg/libressl/libtls.a.d +]], {'pkg/libressl/headers'}) +file('bin/nc', '755', '$outdir/nc') +man{'usr.bin/nc/nc.1'} + +-- patch +exe('patch', 'usr.bin/patch/(patch.c pch.c inp.c util.c backupfile.c mkpath.c ed.c) libbsd.a') +file('bin/patch', '755', '$outdir/patch') +man{'usr.bin/patch/patch.1'} + +-- pax +exe('pax', [[bin/pax/( + ar_io.c ar_subs.c buf_subs.c cache.c cpio.c file_subs.c ftree.c + gen_subs.c getoldopt.c options.c pat_rep.c pax.c sel_subs.c tables.c + tar.c tty_subs.c +) libbsd.a]]) +file('bin/pax', '755', '$outdir/pax') +sym('bin/tar', 'pax') +sym('bin/cpio', 'pax') +man{'bin/pax/pax.1', 'bin/pax/tar.1', 'bin/pax/cpio.1'} + +-- yacc +exe('yacc', [[usr.bin/yacc/( + closure.c error.c lalr.c lr0.c main.c mkpar.c output.c reader.c + skeleton.c symtab.c verbose.c warshall.c +) libbsd.a]]) +file('bin/yacc', '755', '$outdir/yacc') +man{'usr.bin/yacc/yacc.1'} + +fetch('curl', paths[['( + ./( + bin/pax + include + lib/(libc/(crypt gen net stdlib string) libcrypto/arc4random) + usr.bin/(diff doas fmt nc patch yacc) + )/* + ; + ./sys/sys/* +)']]) |
