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/swc | |
| parent | cb362b531d79708a259bbf070dee5104fd63df08 (diff) | |
Rewrite ninja generation scripts in Lua
Diffstat (limited to 'pkg/swc')
| -rw-r--r-- | pkg/swc/gen.lua | 104 | ||||
| -rw-r--r-- | pkg/swc/gen.rc | 95 |
2 files changed, 104 insertions, 95 deletions
diff --git a/pkg/swc/gen.lua b/pkg/swc/gen.lua new file mode 100644 index 00000000..523503bb --- /dev/null +++ b/pkg/swc/gen.lua @@ -0,0 +1,104 @@ +cflags{ + '-D _GNU_SOURCE', + '-D screen_new=swc__screen_new', + '-D remove_resource=swc__remove_resource', + '-I $outdir', + '-I $outdir/include', + '-I $srcdir', + '-I pkg/fontconfig/src', + '-I pkg/libdrm/src/include/drm', + '-I pkg/libdrm/src', + '-I pkg/libinput/src/src', + '-I pkg/libxkbcommon/src', + '-I $builddir/pkg/pixman/include', + '-I $builddir/pkg/wayland-protocols/include', + '-I $builddir/pkg/wayland/include', + '-I $builddir/pkg/wld/include', +} + +cc('launch/protocol.c') + +waylandproto('protocol/swc.xml', 'include/swc-client-protocol.h', 'include/swc-server-protocol.h', 'swc-protocol.c') + +pkg.hdrs = { + copy('$outdir/include', '$srcdir/libswc', {'swc.h'}), + '$outdir/include/swc-client-protocol.h', + '$outdir/include/swc-server-protocol.h', +} + +copy('$outdir', '$builddir/pkg/wld/protocol', {'wayland-drm-server-protocol.h'}) + +sub('tools.ninja', function() + toolchain 'host' + cflags{'-std=c99', '-D _POSIX_C_SOURCE=200809L'} + exe('convert_font', {'cursor/convert_font.c'}) +end) + +rule('convert_font', '$outdir/convert_font $in $out.tmp 2>/dev/null && mv $out.tmp $out') +build('convert_font', '$outdir/cursor/cursor_data.h', {'$srcdir/cursor/cursor.pcf', '|', '$outdir/convert_font'}) + +pkg.deps = { + '$outdir/wayland-drm-server-protocol.h', + '$outdir/include/swc-server-protocol.h', + '$outdir/cursor/cursor_data.h', + '$builddir/pkg/fontconfig/fetch.stamp', + '$builddir/pkg/libdrm/fetch.stamp', + '$builddir/pkg/libinput/fetch.stamp', + '$builddir/pkg/libxkbcommon/fetch.stamp', + 'pkg/pixman/headers', + 'pkg/wayland/headers', + 'pkg/wayland-protocols/headers', + 'pkg/wld/headers', +} + +lib('libswc.a', [[ + libswc/( + bindings.c + compositor.c + cursor_plane.c + data.c + data_device.c + data_device_manager.c + drm.c + input.c + keyboard.c + launch.c + mode.c + output.c + panel.c + panel_manager.c + pointer.c + primary_plane.c + region.c + screen.c + seat.c + shell.c + shell_surface.c + shm.c + subcompositor.c + subsurface.c + surface.c + swc.c + util.c + view.c + wayland_buffer.c + window.c + xdg_popup.c + xdg_shell.c + xdg_surface.c + ) + launch/protocol.c.o + swc-protocol.c.o + $builddir/( + pkg/libinput/libinput.a.d + pkg/libxkbcommon/libxkbcommon.a + pkg/wayland-protocols/xdg-shell-unstable-v5-protocol.c.o + pkg/wayland/libwayland-server.a.d + pkg/wld/libwld.a.d + ) +]]) + +exe('swc-launch', {'launch/launch.c', 'launch/protocol.c.o', '$builddir/pkg/libdrm/libdrm.a'}) +file('bin/swc-launch', '4755', '$outdir/swc-launch') + +fetch 'git' diff --git a/pkg/swc/gen.rc b/pkg/swc/gen.rc deleted file mode 100644 index 78a8aaf2..00000000 --- a/pkg/swc/gen.rc +++ /dev/null @@ -1,95 +0,0 @@ -cflags\ - -D _GNU_SOURCE\ - -D 'screen_new=swc__screen_new' \ - -D 'remove_resource=swc__remove_resource' \ - -I '$outdir' \ - -I '$outdir'/include\ - -I '$srcdir' \ - -I pkg/fontconfig/src\ - -I pkg/libdrm/src/include/drm\ - -I pkg/libdrm/src\ - -I pkg/libinput/src/src\ - -I pkg/libxkbcommon/src\ - -I '$builddir'/pkg/pixman/include\ - -I '$builddir'/pkg/wayland-protocols/include\ - -I '$builddir'/pkg/wayland/include\ - -I '$builddir'/pkg/wld/include - -cc launch/protocol.c - -waylandproto protocol/swc.xml\ - include/swc-^(client server)^-protocol.h swc-protocol.c - -build '$outdir'/include/swc.h copy '$srcdir'/libswc/swc.h -phony headers '$outdir'/include/^(swc.h swc-^(client server)^-protocol.h) - -build '$outdir'/wayland-drm-server-protocol.h copy '$builddir'/pkg/wld/protocol/wayland-drm-server-protocol.h - -{ - toolchain host - cflags '-std=c99' -D '_POSIX_C_SOURCE=200809L' - exe convert_font cursor/convert_font.c -} >tools.ninja ; subninja tools.ninja - -rule convert_font '$outdir/convert_font $in $out.tmp 2>/dev/null && mv $out.tmp $out' -build '$outdir'/cursor/cursor_data.h convert_font '$srcdir'/cursor/cursor.pcf '|' '$outdir'/convert_font - -phony deps\ - '$outdir'/^(\ - wayland-drm-server-protocol.h\ - include/swc-server-protocol.h\ - cursor/cursor_data.h\ - )\ - '$builddir'/pkg/^(fontconfig libdrm libinput libxkbcommon)^/fetch.stamp\ - pkg/^(pixman wayland wayland-protocols wld)^/headers - -lib libswc.a -d '$dir'/deps\ - libswc/^(\ - bindings.c\ - compositor.c\ - cursor_plane.c\ - data.c\ - data_device.c\ - data_device_manager.c\ - drm.c\ - input.c\ - keyboard.c\ - launch.c\ - mode.c\ - output.c\ - panel.c\ - panel_manager.c\ - pointer.c\ - primary_plane.c\ - region.c\ - screen.c\ - seat.c\ - shell.c\ - shell_surface.c\ - shm.c\ - subcompositor.c\ - subsurface.c\ - surface.c\ - swc.c\ - util.c\ - view.c\ - wayland_buffer.c\ - window.c\ - xdg_popup.c\ - xdg_shell.c\ - xdg_surface.c\ - )\ - launch/protocol.c.o\ - swc-protocol.c.o\ - '$builddir'/^(\ - pkg/libinput/libinput.a.d\ - pkg/libxkbcommon/libxkbcommon.a\ - pkg/wayland-protocols/xdg-shell-unstable-v5-protocol.c.o\ - pkg/wayland/libwayland-server.a.d\ - pkg/wld/libwld.a.d\ - ) - -exe swc-launch launch/^(launch.c protocol.c.o) '$builddir'/pkg/libdrm/libdrm.a -file bin/swc-launch '$outdir'/swc-launch 4755 - -fetch git |
