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 (2591B)


  1. cflags{
  2. '-D NDEBUG',
  3. '-Wall', '-Wno-maybe-uninitialized', '-Wno-stringop-overflow', '-Wno-format-overflow',
  4. '-D FZ_ENABLE_JS=0',
  5. -- HTML and EPUB require harfbuzz
  6. '-D FZ_ENABLE_HTML=0',
  7. '-D FZ_ENABLE_EPUB=0',
  8. -- ICS requires lcms2
  9. '-D FZ_ENABLE_ICC=0',
  10. -- JPX requires openjpeg
  11. '-D FZ_ENABLE_JPX=0',
  12. '-D HAVE_PTHREAD',
  13. '-D NOTO_SMALL',
  14. '-D NO_CJK',
  15. '-D NO_ICC',
  16. '-D SHARE_JPEG',
  17. '-I $srcdir/include',
  18. '-I $outdir',
  19. '-isystem $builddir/pkg/freetype/include',
  20. '-isystem $builddir/pkg/jbig2dec/include',
  21. '-isystem $builddir/pkg/libjpeg-turbo/include',
  22. '-isystem $builddir/pkg/zlib/include',
  23. }
  24. sub('tools.ninja', function()
  25. toolchain(config.host)
  26. cflags{'-Wall'}
  27. exe('hexdump', {'scripts/hexdump.c'})
  28. end)
  29. rule('hexdump', '$outdir/hexdump -s $out $in')
  30. local fonts = lines('fonts.txt')
  31. for _, font in ipairs(fonts) do
  32. build('hexdump', '$outdir/'..font..'.c', {'$srcdir/resources/fonts/'..font, '|', '$outdir/hexdump'})
  33. end
  34. pkg.deps = {
  35. 'pkg/freetype/headers',
  36. 'pkg/jbig2dec/headers',
  37. 'pkg/libjpeg-turbo/headers',
  38. 'pkg/zlib/headers',
  39. }
  40. lib('libmupdf.a', {
  41. expand{'source/', lines('sources.txt')},
  42. expand{'$outdir/', fonts, '.c'},
  43. '$builddir/pkg/freetype/libfreetype.a.d',
  44. '$builddir/pkg/jbig2dec/libjbig2dec.a',
  45. '$builddir/pkg/libjpeg-turbo/libjpeg-turbo.a',
  46. '$builddir/pkg/zlib/libz.a',
  47. })
  48. lib('libmupdf-threads.a', {
  49. 'source/helpers/mu-threads/mu-threads.c',
  50. })
  51. lib('libmupdf-pkcs7.a', {
  52. 'source/helpers/pkcs7/pkcs7-check.c',
  53. 'source/helpers/pkcs7/pkcs7-openssl.c',
  54. })
  55. exe('bin/mutool', [[
  56. source/tools/(
  57. mutool.c muconvert.c mudraw.c murun.c mutrace.c cmapdump.c
  58. pdfclean.c pdfcreate.c pdfextract.c pdfinfo.c pdfmerge.c pdfpages.c
  59. pdfposter.c pdfshow.c pdfsign.c
  60. )
  61. libmupdf.a.d
  62. libmupdf-pkcs7.a
  63. libmupdf-threads.a
  64. ]])
  65. file('bin/mutool', '755', '$outdir/bin/mutool')
  66. cc('platform/x11/wl_main.c', {
  67. '$gendir/deps',
  68. 'pkg/libxkbcommon/headers',
  69. 'pkg/pixman/headers',
  70. 'pkg/wayland/headers',
  71. 'pkg/wayland-protocols/headers',
  72. }, {cflags={
  73. '$cflags',
  74. '-isystem $builddir/pkg/libxkbcommon/include',
  75. '-isystem $builddir/pkg/pixman/include',
  76. '-isystem $builddir/pkg/wayland/include',
  77. '-isystem $builddir/pkg/wayland-protocols/include',
  78. }})
  79. exe('bin/mupdf', [[
  80. platform/x11/(pdfapp.c wl_main.c.o)
  81. libmupdf.a.d
  82. libmupdf-pkcs7.a
  83. $builddir/pkg/(
  84. jbig2dec/libjbig2dec.a
  85. libxkbcommon/libxkbcommon.a
  86. pixman/libpixman.a
  87. wayland-protocols/xdg-shell-protocol.c.o
  88. wayland/libwayland-client.a.d
  89. wayland/libwayland-cursor.a
  90. )
  91. ]])
  92. file('bin/mupdf', '755', '$outdir/bin/mupdf')
  93. man{'docs/man/mutool.1', 'docs/man/mupdf.1'}
  94. fetch 'git'