summaryrefslogtreecommitdiff
path: root/pkg/mupdf
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2017-09-17 00:03:34 -0700
committerMichael Forney <mforney@mforney.org>2017-09-25 19:23:06 -0700
commitba94a8513d9a0aadb3f2c834c74b64aa644c61e8 (patch)
tree48ac6c85baa7b9d960b9e1e726a906e61ca60967 /pkg/mupdf
parentcb362b531d79708a259bbf070dee5104fd63df08 (diff)
Rewrite ninja generation scripts in Lua
Diffstat (limited to 'pkg/mupdf')
-rw-r--r--pkg/mupdf/gen.lua102
-rw-r--r--pkg/mupdf/gen.rc86
-rw-r--r--pkg/mupdf/sources.txt3
3 files changed, 103 insertions, 88 deletions
diff --git a/pkg/mupdf/gen.lua b/pkg/mupdf/gen.lua
new file mode 100644
index 00000000..9cd4d6ce
--- /dev/null
+++ b/pkg/mupdf/gen.lua
@@ -0,0 +1,102 @@
+cflags{
+ '-D NDEBUG',
+ '-Wall',
+ '-Wno-maybe-uninitialized',
+ '-D FZ_ENABLE_JS=0',
+ -- HTML and EPUB require harfbuzz
+ '-D FZ_ENABLE_HTML=0',
+ '-D FZ_ENABLE_EPUB=0',
+ -- JPX requires openjpeg
+ '-D FZ_ENABLE_JPX=0',
+ '-D NOTO_SMALL',
+ '-D NOCJK',
+ '-D SHARE_JPEG',
+ '-I $srcdir/include',
+ '-I $outdir',
+ '-I pkg/freetype/src/include',
+ '-I pkg/jbig2dec/src',
+ '-I $builddir/pkg/libjpeg-turbo/include',
+ '-I $builddir/pkg/zlib/include',
+}
+
+sub('tools.ninja', function()
+ toolchain 'host'
+ cflags{'-Wall'}
+
+ exe('namedump', {'scripts/namedump.c'})
+ exe('hexdump', {'scripts/hexdump.c'})
+end)
+
+rule('namedump', '$outdir/namedump $in $out')
+build('namedump', {'$outdir/mupdf/pdf/name-table.h', '$outdir/pdf-name-table.h'}, {
+ '$srcdir/resources/pdf/names.txt', '|', '$outdir/namedump',
+})
+
+rule('hexdump', '$outdir/hexdump -p $srcdir/ $out.tmp $in && mv $out.tmp $out')
+local fonts = lines('fonts.txt')
+for _, font in ipairs(fonts) do
+ build('hexdump', '$outdir/'..font..'.c', {'$srcdir/resources/fonts/'..font, '|', '$outdir/hexdump'})
+end
+
+pkg.deps = {
+ 'pkg/curl/headers',
+ 'pkg/libjpeg-turbo/headers',
+ 'pkg/zlib/headers',
+ '$builddir/pkg/freetype/fetch.stamp',
+ '$builddir/pkg/jbig2dec/fetch.stamp',
+ '$outdir/mupdf/pdf/name-table.h',
+}
+
+lib('libmupdf.a', {
+ expand{'source/', lines('sources.txt')},
+ expand{'$outdir/', fonts, '.c'},
+ '$builddir/pkg/freetype/libfreetype.a.d',
+ '$builddir/pkg/jbig2dec/libjbig2dec.a',
+ '$builddir/pkg/libjpeg-turbo/libjpeg-turbo.a',
+ '$builddir/pkg/zlib/libz.a',
+})
+
+exe('bin/mutool', [[
+ source/tools/(
+ mutool.c muconvert.c mudraw.c murun.c
+ pdfclean.c pdfcreate.c pdfextract.c pdfinfo.c pdfmerge.c pdfpages.c
+ pdfportfolio.c pdfposter.c pdfshow.c
+ )
+ libmupdf.a.d
+]])
+file('bin/mutool', '755', '$outdir/bin/mutool')
+
+cc('platform/x11/curl_stream.c', {'pkg/curl/headers'}, {
+ cflags='$cflags -I $builddir/pkg/curl/include',
+})
+cc('platform/x11/wl_main.c', {
+ '$dir/deps',
+ '$builddir/pkg/libxkbcommon/fetch.stamp',
+ 'pkg/pixman/headers',
+ 'pkg/wayland/headers',
+ 'pkg/wayland-protocols/headers',
+}, {cflags={
+ '$cflags',
+ '-I $builddir/pkg/pixman/include',
+ '-I $builddir/pkg/wayland/include',
+ '-I $builddir/pkg/wayland-protocols/include',
+ '-I pkg/libxkbcommon/src',
+}})
+exe('bin/mupdf', [[
+ platform/x11/(pdfapp.c curl_stream.c.o wl_main.c.o)
+ libmupdf.a.d
+ $builddir/pkg/(
+ curl/libcurl.a.d
+ jbig2dec/libjbig2dec.a
+ libxkbcommon/libxkbcommon.a
+ pixman/libpixman.a
+ wayland-protocols/xdg-shell-unstable-v5-protocol.c.o
+ wayland/libwayland-client.a.d
+ wayland/libwayland-cursor.a
+ )
+]])
+file('bin/mupdf', '755', '$outdir/bin/mupdf')
+
+man{'docs/man/mutool.1', 'docs/man/mupdf.1'}
+
+fetch 'git'
diff --git a/pkg/mupdf/gen.rc b/pkg/mupdf/gen.rc
deleted file mode 100644
index fcffe9c6..00000000
--- a/pkg/mupdf/gen.rc
+++ /dev/null
@@ -1,86 +0,0 @@
-# HTML/EPUB require harfbuzz, JPX requires openjpeg
-cflags\
- -D NDEBUG\
- -Wall\
- -Wno-maybe-uninitialized\
- -D 'FZ_ENABLE_JS=0' \
- -D 'FZ_ENABLE_HTML=0' \
- -D 'FZ_ENABLE_EPUB=0' \
- -D 'FZ_ENABLE_JPX=0' \
- -D NOTO_SMALL\
- -D NOCJK\
- -D SHARE_JPEG\
- -I '$srcdir'/include\
- -I '$outdir' \
- -I pkg/freetype/src/include\
- -I pkg/jbig2dec/src\
- -I '$builddir'/pkg/libjpeg-turbo/include\
- -I '$builddir'/pkg/zlib/include
-
-{
- toolchain host
- cflags -Wall
-
- exe namedump scripts/namedump.c
- exe hexdump scripts/hexdump.c
-} >tools.ninja && subninja tools.ninja
-
-rule namedump '$outdir/namedump $in $out'
-outs='$outdir'/^(mupdf/pdf/name-table.h pdf-name-table.h)
-build $"outs namedump '$srcdir'/resources/pdf/names.txt '|' '$outdir'/namedump
-
-rule hexdump '$outdir/hexdump -p $srcdir/ $out.tmp $in && mv $out.tmp $out'
-fonts=`{grep -v '^#' fonts.txt} ; checkstatus
-for(font in $fonts)
- build '$outdir'/$font.c hexdump '$srcdir'/resources/fonts/$font '|' '$outdir'/hexdump
-
-phony deps\
- pkg/^(curl libjpeg-turbo zlib)^/headers\
- '$builddir'/pkg/^(freetype jbig2dec)^/fetch.stamp\
- '$outdir'/mupdf/pdf/name-table.h
-
-srcs=`{grep -v -e '^#' -e harfbuzz.c sources.txt} ; checkstatus
-lib libmupdf.a -d '$dir'/deps source/$srcs '$outdir'/$fonts.c\
- '$builddir'/pkg/^(\
- freetype/libfreetype.a.d\
- jbig2dec/libjbig2dec.a\
- libjpeg-turbo/libjpeg-turbo.a\
- zlib/libz.a\
- )
-
-exe bin/mutool -d '$dir'/deps source/tools/^(\
- mutool.c muconvert.c mudraw.c murun.c\
- pdfclean.c pdfcreate.c pdfextract.c pdfinfo.c pdfmerge.c pdfpages.c\
- pdfportfolio.c pdfposter.c pdfshow.c\
-) libmupdf.a.d
-file bin/mutool '$outdir'/bin/mutool 755
-
-cc platform/x11/curl_stream.c '||' pkg/curl/headers ; with\
- cflags '$cflags -I $builddir/pkg/curl/include'
-phony wldeps\
- '$dir'/deps\
- '$builddir'/pkg/libxkbcommon/fetch.stamp\
- pkg/^(pixman wayland wayland-protocols)^/headers
-cc platform/x11/wl_main.c '||' '$dir'/wldeps ; cflags=(\
- -I '$builddir'/pkg/pixman/include\
- -I '$builddir'/pkg/wayland/include\
- -I '$builddir'/pkg/wayland-protocols/include\
- -I pkg/libxkbcommon/src\
-) with cflags '$cflags '$"cflags
-exe bin/mupdf -d '$dir'/deps platform/x11/^(pdfapp.c curl_stream.c.o wl_main.c.o)\
- libmupdf.a.d\
- '$builddir'/pkg/^(\
- curl/libcurl.a.d\
- jbig2dec/libjbig2dec.a\
- libxkbcommon/libxkbcommon.a\
- pixman/libpixman.a\
- wayland-protocols/xdg-shell-unstable-v5-protocol.c.o\
- wayland/libwayland-client.a.d\
- wayland/libwayland-cursor.a\
- )
-file bin/mupdf '$outdir'/bin/mupdf 755
-
-man -d docs/man 1 mutool.1 mupdf.1
-
-fetch git
-gen_inputs='$dir'/^(sources.txt fonts.txt)
diff --git a/pkg/mupdf/sources.txt b/pkg/mupdf/sources.txt
index 55ea4ef6..c48c49bf 100644
--- a/pkg/mupdf/sources.txt
+++ b/pkg/mupdf/sources.txt
@@ -1,4 +1,4 @@
-# 2,<cd src/source && ls fitz/*.c pdf/*.c xps/*.c svg/*.c cbz/*.c gprf/*.c helpers/mu-threads/*.c
+# 2,<cd src/source && ls fitz/*.c pdf/*.c xps/*.c svg/*.c cbz/*.c gprf/*.c helpers/mu-threads/*.c | grep -v fitz/harfbuzz.c
cbz/mucbz.c
cbz/muimg.c
cbz/mutiff.c
@@ -47,7 +47,6 @@ fitz/geometry.c
fitz/getopt.c
fitz/glyph.c
fitz/halftone.c
-fitz/harfbuzz.c
fitz/hash.c
fitz/image.c
fitz/jmemcust.c