summaryrefslogtreecommitdiff
path: root/pkg/wayland/gen.lua
blob: c09562ddfe501c120c005e7132b938116b1163f7 (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
cflags{
	'-I include',
	'-I $dir',
	'-I $outdir/include',
	'-I $srcdir',
	'-I $srcdir/src',
	'-I $builddir/pkg/expat/include',
	'-I $builddir/pkg/libffi/include',
}

build('sed', '$outdir/include/wayland-version.h', '$srcdir/src/wayland-version.h.in', {
	expr={
		'-e s,@WAYLAND_VERSION_MAJOR@,1,',
		'-e s,@WAYLAND_VERSION_MINOR@,11,',
		'-e s,@WAYLAND_VERSION_MICRO@,0,',
		'-e s,@WAYLAND_VERSION@,1.11.0,',
	},
})

cc('src/wayland-util.c')
cc('src/wayland-os.c')
cc('src/connection.c', {'pkg/libffi/headers'})

waylandproto('protocol/wayland.xml',
	'include/wayland-client-protocol.h',
	'include/wayland-server-protocol.h',
	'src/wayland-protocol.c'
)

pkg.hdrs = {
	copy('$outdir/include', '$srcdir/src', {
		'wayland-client-core.h',
		'wayland-client.h',
		'wayland-egl-core.h',
		'wayland-egl.h',
		'wayland-server-core.h',
		'wayland-server.h',
		'wayland-util.h',
	}),
	copy('$outdir/include', '$srcdir/cursor', {'wayland-cursor.h'}),
}
pkg.deps = {
	'$dir/headers',
	'$outdir/include/wayland-version.h',
	'pkg/expat/headers',
}

exe('wayland-scanner', {'src/scanner.c', 'src/wayland-util.c.o', '$builddir/pkg/expat/libexpat.a.d'})
file('bin/wayland-scanner', '755', '$outdir/wayland-scanner')

lib('libwayland-server.a', [[src/(
	connection.c.o
	wayland-os.c.o
	wayland-protocol.c.o
	wayland-server.c
	wayland-shm.c
	wayland-util.c.o
	event-loop.c
) $builddir/pkg/libffi/libffi.a]])

lib('libwayland-client.a', [[src/(
	connection.c.o
	wayland-os.c.o
	wayland-protocol.c.o
	wayland-client.c
	wayland-util.c.o
) $builddir/pkg/libffi/libffi.a]])

lib('libwayland-cursor.a', [[cursor/(
	os-compatibility.c
	wayland-cursor.c
	xcursor.c
) libwayland-client.a.d]])

fetch 'git'