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
|
cflags{
'-Wall', '-Wpedantic',
'-I $dir',
'-I $srcdir/common',
'-I $srcdir/libelf',
'-idirafter $basedir/pkg/openbsd/src/sys',
}
pkg.hdrs = {
copy('$outdir/include', '$srcdir/libelf', {'libelf.h', 'gelf.h'}),
copy('$outdir/include', '$srcdir/common', {'elfdefinitions.h'}),
install=true,
}
rule('m4', 'm4 -D SRCDIR=$srcdir/libelf $in >$out')
build('m4', '$outdir/libelf_convert.c', {'$srcdir/libelf/libelf_convert.m4', '|', '$srcdir/libelf/elf_types.m4'})
build('m4', '$outdir/libelf_fsize.c', {'$srcdir/libelf/libelf_fsize.m4', '|', '$srcdir/libelf/elf_types.m4'})
build('m4', '$outdir/libelf_msize.c', {'$srcdir/libelf/libelf_msize.m4', '|', '$srcdir/libelf/elf_types.m4'})
lib('libelf.a', [[
libelf/(
elf.c
elf_begin.c
elf_cntl.c
elf_end.c elf_errmsg.c elf_errno.c
elf_data.c
elf_fill.c
elf_flag.c
elf_getarhdr.c
elf_getarsym.c
elf_getbase.c
elf_getident.c
elf_hash.c
elf_kind.c
elf_memory.c
elf_next.c
elf_open.c
elf_rand.c
elf_rawfile.c
elf_phnum.c
elf_shnum.c
elf_shstrndx.c
elf_scn.c
elf_strptr.c
elf_update.c
elf_version.c
gelf_cap.c
gelf_checksum.c
gelf_dyn.c
gelf_ehdr.c
gelf_getclass.c
gelf_fsize.c
gelf_move.c
gelf_phdr.c
gelf_rel.c
gelf_rela.c
gelf_shdr.c
gelf_sym.c
gelf_syminfo.c
gelf_symshndx.c
gelf_xlate.c
libelf_align.c
libelf_allocate.c
libelf_ar.c
libelf_ar_util.c
libelf_checksum.c
libelf_data.c
libelf_ehdr.c
libelf_extended.c
libelf_memory.c
libelf_open.c
libelf_phdr.c
libelf_shdr.c
libelf_xlate.c
)
$outdir/(libelf_convert.c libelf_fsize.c libelf_msize.c)
]])
file('lib/libelf.a', '644', '$outdir/libelf.a')
fetch 'curl'
|