summaryrefslogtreecommitdiff
path: root/pkg/netsurf/gen.lua
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/netsurf/gen.lua')
-rw-r--r--pkg/netsurf/gen.lua197
1 files changed, 197 insertions, 0 deletions
diff --git a/pkg/netsurf/gen.lua b/pkg/netsurf/gen.lua
new file mode 100644
index 00000000..dfd71dc2
--- /dev/null
+++ b/pkg/netsurf/gen.lua
@@ -0,0 +1,197 @@
+cflags{'-D NDEBUG'}
+
+subgen 'libcss'
+subgen 'libdom'
+subgen 'libhubbub'
+subgen 'libnsbmp'
+subgen 'libnsgif'
+subgen 'libnsutils'
+subgen 'libparserutils'
+subgen 'libsvgtiny'
+subgen 'libwapcaplet'
+subgen 'nsgenbind'
+
+sub('tools.ninja', function()
+ toolchain 'host'
+ exe('convert_image', {'frontends/framebuffer/convert_image.c'}, {'pkg/libpng/headers'}, {
+ ldlibs='-lpng -lz',
+ })
+end)
+
+-- netsurf
+cflags{
+ '-include $dir/config.h',
+ '-I $dir',
+ '-I $srcdir',
+ '-I $srcdir/include',
+ '-I $srcdir/frontends',
+ '-I $srcdir/content/handlers',
+ '-I $outdir',
+ '-I $outdir/libdom/include',
+ '-I $builddir/pkg/curl/include',
+ '-I $builddir/pkg/libjpeg-turbo/include',
+ '-I $builddir/pkg/libpng/include',
+ '-I $builddir/pkg/libressl/include',
+ '-I $builddir/pkg/pixman/include',
+ '-I $builddir/pkg/wayland/include',
+ '-I $builddir/pkg/wayland-protocols/include',
+ '-I $builddir/pkg/zlib/include',
+ '-I $dir/libcss/src/include',
+ '-I $dir/libdom/src/include',
+ '-I $dir/libhubbub/src/include',
+ '-I $dir/libnsbmp/src/include',
+ '-I $dir/libnsgif/src/include',
+ '-I $dir/libnsutils/src/include',
+ '-I $dir/libparserutils/src/include',
+ '-I $dir/libsvgtiny/src/include',
+ '-I $dir/libwapcaplet/src/include',
+ '-I pkg/freetype/src/include',
+ '-I pkg/libxkbcommon/src',
+ '-I pkg/openbsd/include',
+ '-I pkg/utf8proc/src',
+}
+
+rule('nsgenbind', '$outdir/nsgenbind/nsgenbind -I $srcdir/content/handlers/javascript/WebIDL $in $outdir/duktape', {
+ restat='1',
+})
+
+local nsgenbind = expand{'$outdir/duktape/', lines('nsgenbind.txt')}
+build('nsgenbind', nsgenbind, {
+ '$srcdir/content/handlers/javascript/duktape/netsurf.bnd',
+ '|', '$outdir/nsgenbind/nsgenbind',
+})
+
+pkg.deps = {
+ '$builddir/pkg/freetype/fetch.stamp',
+ '$builddir/pkg/libxkbcommon/fetch.stamp',
+ '$builddir/pkg/utf8proc/fetch.stamp',
+ '$dir/libdom/headers',
+ '$outdir/duktape/binding.c',
+ '$outdir/libcss/fetch.stamp',
+ '$outdir/libdom/fetch.stamp',
+ '$outdir/libhubbub/fetch.stamp',
+ '$outdir/libnsbmp/fetch.stamp',
+ '$outdir/libnsgif/fetch.stamp',
+ '$outdir/libnsutils/fetch.stamp',
+ '$outdir/libparserutils/fetch.stamp',
+ '$outdir/libsvgtiny/fetch.stamp',
+ '$outdir/libwapcaplet/fetch.stamp',
+ 'pkg/curl/headers',
+ 'pkg/libjpeg-turbo/headers',
+ 'pkg/libpng/headers',
+ 'pkg/libressl/headers',
+ 'pkg/zlib/headers',
+}
+
+local sources = {}
+for _, src in ipairs(nsgenbind) do
+ if src:hassuffix('.c') then
+ table.insert(sources, src)
+ end
+end
+exe('netsurf', {sources, paths[[
+ desktop/(
+ cookie_manager.c knockout.c hotlist.c mouse.c
+ plot_style.c print.c search.c searchweb.c scrollbar.c
+ sslcert_viewer.c textarea.c version.c system_colour.c
+ local_history.c global_history.c treeview.c
+
+ browser.c browser_history.c download.c frames.c netsurf.c
+ save_complete.c save_text.c selection.c textinput.c gui_factory.c
+ save_pdf.c font_haru.c
+ )
+ frontends/tiny/(download.c fetch.c icons.c gui.c render.c schedule.c ui.c wl.c)
+ content/(
+ content.c content_factory.c dirlist.c fetch.c hlcache.c
+ llcache.c mimesniff.c urldb.c no_backing_store.c
+ fetchers/(curl.c data.c file.c about.c resource.c)
+ handlers/(
+ javascript/(fetcher.c content.c duktape/(dukky.c duktape.c))
+ css/(css.c dump.c internal.c hints.c select.c utils.c)
+ image/(image.c image_cache.c bmp.c gif.c ico.c jpeg.c png.c svg.c)
+ )
+ )
+ utils/(
+ bloom.c
+ corestrings.c
+ file.c
+ filename.c
+ filepath.c
+ hashtable.c
+ idna.c
+ libdom.c
+ log.c
+ messages.c
+ nsoption.c
+ punycode.c
+ talloc.c
+ time.c
+ url.c
+ useragent.c
+ utf8.c
+ utils.c
+ http/(
+ challenge.c generics.c primitives.c parameter.c
+ content-disposition.c content-type.c www-authenticate.c
+ )
+ nsurl/(
+ nsurl.c
+ parse.c
+ )
+ )
+ render/(
+ box.c box_construct.c box_normalise.c box_textarea.c
+ font.c form.c imagemap.c layout.c search.c table.c textplain.c
+ html.c html_css.c html_css_fetcher.c html_script.c
+ html_interaction.c html_redraw.c html_redraw_border.c
+ html_forms.c html_object.c
+ )
+ $outdir/(
+ libcss/libcss.a.d
+ libdom/libdom.a.d
+ libnsbmp/libnsbmp.a
+ libnsgif/libnsgif.a
+ libnsutils/libnsutils.a
+ libsvgtiny/libsvgtiny.a.d
+ )
+ $builddir/pkg/(
+ curl/libcurl.a.d
+ freetype/libfreetype.a.d
+ libjpeg-turbo/libjpeg-turbo.a
+ libpng/libpng.a
+ libxkbcommon/libxkbcommon.a
+ pixman/libpixman.a
+ utf8proc/libutf8proc.a
+ wayland/(libwayland-client.a.d libwayland-cursor.a)
+ zlib/libz.a
+
+ wayland-protocols/xdg-shell-unstable-v5-protocol.c.o
+ )
+]]})
+file('bin/netsurf', '755', '$outdir/netsurf')
+
+build('sed', '$outdir/netsurf.1', '$srcdir/docs/netsurf-fb.1', {
+ expr='s,netsurf-fb,netsurf,g',
+})
+man{'$outdir/netsurf.1'}
+
+build('awk', '$outdir/Messages', {'$srcdir/resources/FatMessages', '|', '$dir/messages.awk'}, {
+ expr='-f $dir/messages.awk -v lang=en -v filter=any',
+})
+file('share/netsurf/Messages', '644', '$outdir/Messages')
+
+file('share/netsurf/adblock.css', '644', '$srcdir/!NetSurf/Resources/AdBlock,f79')
+file('share/netsurf/credits.html', '644', '$srcdir/!NetSurf/Resources/en/credits.html,faf')
+file('share/netsurf/default.css', '644', '$srcdir/!NetSurf/Resources/CSS,f79')
+file('share/netsurf/favicon.png', '644', '$srcdir/resources/favicon.png')
+file('share/netsurf/internal.css', '644', '$srcdir/!NetSurf/Resources/internal.css,f79')
+file('share/netsurf/licence.html', '644', '$srcdir/!NetSurf/Resources/en/licence.html,faf')
+sym('share/netsurf/maps.html', 'welcome.html')
+file('share/netsurf/netsurf.png', '644', '$srcdir/!NetSurf/Resources/netsurf.png,b60')
+file('share/netsurf/quirks.css', '644', '$srcdir/!NetSurf/Resources/Quirks,f79')
+file('share/netsurf/welcome.html', '644', '$srcdir/!NetSurf/Resources/en/welcome.html,faf')
+for icon in iterpaths[[back forward add remove home reload stop close up down]] do
+ file('share/netsurf/icons/'..icon..'.ff', '644', '$srcdir/frontends/tiny/res/icons/'..icon..'.ff')
+end
+
+fetch 'git'