summaryrefslogtreecommitdiff
path: root/pkg/libfido2/gen.lua
blob: 490834a0a722680eba246486757f06c6f7c0a1c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
cflags{
	'-std=c99', '-Wall',
	'-include $outdir/config.h',
	'-D _DEFAULT_SOURCE',
	'-D _FIDO_INTERNAL',
	'-I $builddir/pkg/bearssl/include',
	'-I $builddir/pkg/libcbor/include',
	'-I $builddir/pkg/linux-headers/include',
	'-I $srcdir/src',
	'-I $basedir/pkg/openbsd/include',
}

pkg.hdrs = copy('$outdir/include', '$srcdir/src', {
	'fido.h',
	'fido/credman.h',
	'fido/err.h',
	'fido/param.h',
	'fido/types.h',
})
pkg.deps = {
	'$outdir/config.h',
	'pkg/bearssl/headers',
	'pkg/libcbor/headers',
	'pkg/linux-headers/headers',
}

build('cat', '$outdir/config.h', {
	'$builddir/probe/HAVE__THREAD_LOCAL',
	'$dir/config.h',
})

lib('libfido2.a', [[
	src/(
		aes256.c
		assert.c
		authkey.c
		bio.c
		blob.c
		buf.c
		cbor.c
		cred.c
		credman.c
		dev.c
		ecdh.c
		eddsa.c
		err.c
		es256.c
		hid.c
		info.c
		io.c
		iso7816.c
		log.c
		pin.c
		reset.c
		rs256.c
		u2f.c

		hid_linux.c
	)
	$builddir/pkg/bearssl/libbearssl.a
	$builddir/pkg/libcbor/libcbor.a
	$builddir/pkg/openbsd/libbsd.a
]])

lib('libcommon.a', [[tools/(base64.c util.c)]])

exe('fido2-cred', [[
	tools/(
		fido2-cred.c
		cred_make.c
		cred_verify.c
	)
	libcommon.a
	libfido2.a.d
]])
file('bin/fido2-cred', '755', '$outdir/fido2-cred')
man{'man/fido2-cred.1'}

exe('fido2-token', [[
	tools/(
		fido2-token.c
		bio.c
		credman.c
		pin.c
		token.c
	)
	libcommon.a
	libfido2.a.d
]])
file('bin/fido2-token', '755', '$outdir/fido2-token')
man{'man/fido2-token.1'}

fetch 'git'