master hovercats/oakiss / pkg / libfido2 / gen.lua
  1cflags{
  2	'-std=c11', '-Wall', '-Wextra', '-Wpedantic',
  3	'-Wno-overflow',  -- ioctl opcode conversion
  4	'-include $outdir/config.h',
  5	'-D _GNU_SOURCE',
  6	'-D _DEFAULT_SOURCE',
  7	'-D _FIDO_INTERNAL',
  8	'-I $srcdir/src',
  9	'-isystem $basedir/pkg/openbsd/include',
 10	'-isystem $builddir/pkg/bearssl/include',
 11	'-isystem $builddir/pkg/libcbor/include',
 12	'-isystem $builddir/pkg/linux-headers/include',
 13	'-isystem $builddir/pkg/zlib/include',
 14}
 15
 16pkg.hdrs = copy('$outdir/include', '$srcdir/src', {
 17	'fido.h',
 18	'fido/credman.h',
 19	'fido/err.h',
 20	'fido/param.h',
 21	'fido/types.h',
 22})
 23pkg.deps = {
 24	'$outdir/config.h',
 25	'pkg/bearssl/headers',
 26	'pkg/libcbor/headers',
 27	'pkg/linux-headers/headers',
 28	'pkg/zlib/headers',
 29}
 30
 31build('cat', '$outdir/config.h', {
 32	'$builddir/probe/HAVE__THREAD_LOCAL',
 33	'$dir/config.h',
 34})
 35
 36lib('libfido2.a', [[
 37	src/(
 38		aes256.c
 39		assert.c
 40		authkey.c
 41		bio.c
 42		blob.c
 43		buf.c
 44		cbor.c
 45		compress.c
 46		config.c
 47		cred.c
 48		credman.c
 49		dev.c
 50		ecdh.c
 51		eddsa.c
 52		err.c
 53		es256.c
 54		hid.c
 55		info.c
 56		io.c
 57		iso7816.c
 58		largeblob.c
 59		log.c
 60		pin.c
 61		random.c
 62		reset.c
 63		rs1.c
 64		rs256.c
 65		time.c
 66		tpm.c
 67		types.c
 68		u2f.c
 69
 70		hid_linux.c
 71		hid_unix.c
 72	)
 73	$builddir/pkg/bearssl/libbearssl.a
 74	$builddir/pkg/libcbor/libcbor.a
 75	$builddir/pkg/openbsd/libbsd.a
 76	$builddir/pkg/zlib/libz.a
 77]])
 78
 79lib('libcommon.a', [[tools/(base64.c util.c)]])
 80
 81exe('fido2-cred', [[
 82	tools/(
 83		fido2-cred.c
 84		cred_make.c
 85		cred_verify.c
 86	)
 87	libcommon.a
 88	libfido2.a.d
 89]])
 90file('bin/fido2-cred', '755', '$outdir/fido2-cred')
 91man{'man/fido2-cred.1'}
 92
 93exe('fido2-token', [[
 94	tools/(
 95		fido2-token.c
 96		bio.c
 97		config.c
 98		credman.c
 99		largeblob.c
100		pin.c
101		token.c
102	)
103	libcommon.a
104	libfido2.a.d
105]])
106file('bin/fido2-token', '755', '$outdir/fido2-token')
107man{'man/fido2-token.1'}
108
109fetch 'git'