logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git

gen.lua (2935B)


  1. cflags{
  2. '-Wall',
  3. '-D _GNU_SOURCE',
  4. '-D screen_new=swc__screen_new',
  5. '-D remove_resource=swc__remove_resource',
  6. '-I $outdir',
  7. '-I $outdir/include',
  8. '-I $srcdir',
  9. '-isystem $builddir/pkg/fontconfig/include',
  10. '-isystem $builddir/pkg/libinput/include',
  11. '-isystem $builddir/pkg/libxkbcommon/include',
  12. '-isystem $builddir/pkg/libdrm/include',
  13. '-isystem $builddir/pkg/linux-headers/include',
  14. '-isystem $builddir/pkg/pixman/include',
  15. '-isystem $builddir/pkg/wayland-protocols/include',
  16. '-isystem $builddir/pkg/wayland/include',
  17. '-isystem $builddir/pkg/wld/include',
  18. }
  19. cc('launch/protocol.c')
  20. waylandproto('protocol/swc.xml', {
  21. client='include/swc-client-protocol.h',
  22. server='include/swc-server-protocol.h',
  23. code='swc-protocol.c',
  24. })
  25. waylandproto('protocol/server-decoration.xml', {
  26. server='include/server-decoration-server-protocol.h',
  27. code='server-decoration-protocol.c',
  28. })
  29. pkg.hdrs = {
  30. copy('$outdir/include', '$srcdir/libswc', {'swc.h'}),
  31. '$outdir/include/server-decoration-server-protocol.h',
  32. '$outdir/include/swc-client-protocol.h',
  33. '$outdir/include/swc-server-protocol.h',
  34. }
  35. copy('$outdir', '$builddir/pkg/wld/protocol', {'wayland-drm-server-protocol.h'})
  36. sub('tools.ninja', function()
  37. toolchain(config.host)
  38. cflags{'-std=c99', '-D _POSIX_C_SOURCE=200809L'}
  39. exe('convert_font', {'cursor/convert_font.c'})
  40. end)
  41. rule('convert_font', '$outdir/convert_font $in $out 2>/dev/null')
  42. build('convert_font', '$outdir/cursor/cursor_data.h', {'$srcdir/cursor/cursor.pcf', '|', '$outdir/convert_font'})
  43. pkg.deps = {
  44. '$outdir/wayland-drm-server-protocol.h',
  45. '$outdir/include/swc-server-protocol.h',
  46. '$outdir/cursor/cursor_data.h',
  47. 'pkg/fontconfig/headers',
  48. 'pkg/libdrm/headers',
  49. 'pkg/libinput/headers',
  50. 'pkg/libxkbcommon/headers',
  51. 'pkg/linux-headers/headers',
  52. 'pkg/pixman/headers',
  53. 'pkg/wayland/headers',
  54. 'pkg/wayland-protocols/headers',
  55. 'pkg/wld/headers',
  56. }
  57. lib('libswc.a', [[
  58. libswc/(
  59. bindings.c
  60. compositor.c
  61. data.c
  62. data_device.c
  63. data_device_manager.c
  64. dmabuf.c
  65. drm.c
  66. input.c
  67. kde_decoration.c
  68. keyboard.c
  69. launch.c
  70. mode.c
  71. output.c
  72. panel.c
  73. panel_manager.c
  74. plane.c
  75. pointer.c
  76. primary_plane.c
  77. region.c
  78. screen.c
  79. shell.c
  80. shell_surface.c
  81. seat.c
  82. shm.c
  83. subcompositor.c
  84. subsurface.c
  85. surface.c
  86. swc.c
  87. util.c
  88. view.c
  89. wayland_buffer.c
  90. window.c
  91. xdg_decoration.c
  92. xdg_shell.c
  93. )
  94. launch/protocol.c.o
  95. server-decoration-protocol.c.o
  96. swc-protocol.c.o
  97. $builddir/(
  98. pkg/libinput/libinput.a.d
  99. pkg/libxkbcommon/libxkbcommon.a
  100. pkg/wayland-protocols/xdg-decoration-unstable-v1-protocol.c.o
  101. pkg/wayland-protocols/xdg-shell-protocol.c.o
  102. pkg/wayland-protocols/linux-dmabuf-unstable-v1-protocol.c.o
  103. pkg/wayland/libwayland-server.a.d
  104. pkg/wld/libwld.a.d
  105. )
  106. ]])
  107. exe('swc-launch', {'launch/launch.c', 'launch/devmajor-linux.c', 'launch/protocol.c.o', '$builddir/pkg/libdrm/libdrm.a'})
  108. file('bin/swc-launch', '4755', '$outdir/swc-launch')
  109. fetch 'git'