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 | |
| parent | cb362b531d79708a259bbf070dee5104fd63df08 (diff) | |
Rewrite ninja generation scripts in Lua
Diffstat (limited to 'pkg/openbsd')
| -rw-r--r-- | pkg/openbsd/gen.lua | 99 | ||||
| -rw-r--r-- | pkg/openbsd/gen.rc | 96 |
2 files changed, 99 insertions, 96 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/* +)']]) diff --git a/pkg/openbsd/gen.rc b/pkg/openbsd/gen.rc deleted file mode 100644 index 354c86f6..00000000 --- a/pkg/openbsd/gen.rc +++ /dev/null @@ -1,96 +0,0 @@ -cflags=(\ - -D '''DEF_WEAK(n)=''' \ - -I '$dir'/include\ - -I '$builddir'/pkg/libressl/include\ - -idirafter '$srcdir'/include\ - -idirafter '$srcdir'/sys\ -) -libs=() - -switch($config_tls) { -case libressl '' - cflags=($cflags -D USE_OPENSSL -I '$builddir'/pkg/libressl/include) - libs=($libs '$builddir'/pkg/libressl/libcrypto.a) -case bearssl - cflags=($cflags -D USE_BEARSSL -I pkg/bearssl/src/inc) - libs=($libs '$builddir'/pkg/bearssl/libbearssl.a) -} - -cflags $cflags - -# Link arc4random.c to '$outdir' so that it doesn't include the local -# arc4random.h -build '$outdir'/lib/libc/crypt/arc4random.c copy '$srcdir'/lib/libc/crypt/arc4random.c -build '$outdir'/lib/libc/crypt/arc4random.h copy '$srcdir'/lib/libcrypto/arc4random/arc4random_linux.h -build '$outdir'/lib/libc/crypt/chacha_private.h copy '$srcdir'/lib/libc/crypt/chacha_private.h -cc '$outdir'/lib/libc/crypt/arc4random.c '||' '$outdir'/lib/libc/crypt/^(arc4random.h chacha_private.h) - -lib libbsd.a -d pkg/libressl/headers\ - 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 - -# diff -exe diff usr.bin/diff/^(diff.c diffdir.c diffreg.c xmalloc.c) libbsd.a -file bin/diff '$outdir'/diff 755 -man -d usr.bin/diff 1 diff.1 - -# doas -yacc parse '$srcdir'/usr.bin/doas/parse.y -cc '$outdir'/parse.tab.c ; with cflags '$cflags -I $srcdir/usr.bin/doas' -cc usr.bin/doas/doas.c ; with 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 '$outdir'/doas 6755 -man -d usr.bin/doas\ - 1 doas.1\ - 5 doas.conf.5 - -# fmt -exe fmt usr.bin/fmt/fmt.c -file bin/fmt '$outdir'/fmt 755 -man -d usr.bin/fmt 1 fmt.1 - -# nc -exe nc -d pkg/libressl/headers\ - usr.bin/nc/^(netcat.c atomicio.c socks.c)\ - '$builddir'/pkg/libressl/libtls.a.d -file bin/nc '$outdir'/nc 755 -man -d usr.bin/nc 1 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 '$outdir'/patch 755 -man -d usr.bin/patch 1 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 '$outdir'/pax 755 -for(alias in tar cpio) sym bin/$alias pax -man -d bin/pax 1 pax.1 tar.1 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 '$outdir'/yacc 755 -man -d usr.bin/yacc 1 yacc.1 - -srcpats=./^(\ - bin/pax\ - include\ - lib/^(libc/^(crypt gen net stdlib string) libcrypto/arc4random)\ - usr.bin/^(diff doas fmt nc patch yacc)\ -)^/'*' -syspats='./sys/sys/*' -fetch curl $srcpats ';' $syspats |
