master hovercats/oakiss / pkg / netsurf / gen.lua
  1cflags{'-D NDEBUG'}
  2
  3subgen 'libcss'
  4subgen 'libdom'
  5subgen 'libhubbub'
  6subgen 'libnsbmp'
  7subgen 'libnsgif'
  8subgen 'libnsutils'
  9subgen 'libparserutils'
 10subgen 'libsvgtiny'
 11subgen 'libwapcaplet'
 12
 13sub('tools.ninja', function()
 14	toolchain(config.host)
 15	exe('convert_image', {'frontends/framebuffer/convert_image.c'}, {'pkg/libpng/headers'}, {
 16		ldlibs='-lpng -lz',
 17	})
 18end)
 19
 20-- netsurf
 21cflags{
 22	'-include $dir/config.h',
 23	'-I $dir',
 24	'-I $srcdir',
 25	'-I $srcdir/include',
 26	'-I $srcdir/frontends',
 27	'-I $srcdir/content/handlers',
 28	'-I $outdir',
 29	'-I $outdir/libdom/include',
 30	'-I $dir/libcss/src/include',
 31	'-I $dir/libdom/src/include',
 32	'-I $dir/libhubbub/src/include',
 33	'-I $dir/libnsbmp/src/include',
 34	'-I $dir/libnsgif/src/include',
 35	'-I $dir/libnsutils/src/include',
 36	'-I $dir/libparserutils/src/include',
 37	'-I $dir/libsvgtiny/src/include',
 38	'-I $dir/libwapcaplet/src/include',
 39	'-isystem $builddir/pkg/curl/include',
 40	'-isystem $builddir/pkg/freetype/include',
 41	'-isystem $builddir/pkg/libjpeg-turbo/include',
 42	'-isystem $builddir/pkg/libpng/include',
 43	'-isystem $builddir/pkg/libxkbcommon/include',
 44	'-isystem $builddir/pkg/linux-headers/include',
 45	'-isystem $builddir/pkg/pixman/include',
 46	'-isystem $builddir/pkg/wayland/include',
 47	'-isystem $builddir/pkg/utf8proc/include',
 48	'-isystem $builddir/pkg/wayland-protocols/include',
 49	'-isystem $builddir/pkg/zlib/include',
 50	'-isystem $basedir/pkg/openbsd/include',
 51}
 52
 53pkg.deps = {
 54	'$dir/libcss/fetch',
 55	'$dir/libdom/fetch',
 56	'$gendir/libdom/headers',
 57	'$dir/libhubbub/fetch',
 58	'$dir/libnsbmp/fetch',
 59	'$dir/libnsgif/fetch',
 60	'$dir/libnsutils/fetch',
 61	'$dir/libparserutils/fetch',
 62	'$dir/libsvgtiny/fetch',
 63	'$dir/libwapcaplet/fetch',
 64	'pkg/curl/headers',
 65	'pkg/freetype/headers',
 66	'pkg/libjpeg-turbo/headers',
 67	'pkg/libpng/headers',
 68	'pkg/libxkbcommon/headers',
 69	'pkg/linux-headers/headers',
 70	'pkg/pixman/headers',
 71	'pkg/utf8proc/headers',
 72	'pkg/wayland/headers',
 73	'pkg/wayland-protocols/headers',
 74	'pkg/zlib/headers',
 75}
 76
 77exe('netsurf', [[
 78	desktop/(
 79		cookie_manager.c knockout.c hotlist.c mouse.c
 80		plot_style.c print.c search.c searchweb.c scrollbar.c
 81		textarea.c version.c system_colour.c
 82		local_history.c global_history.c treeview.c page-info.c
 83
 84		browser.c browser_window.c browser_history.c
 85		download.c frames.c netsurf.c cw_helper.c
 86		save_complete.c save_text.c selection.c textinput.c gui_factory.c
 87		save_pdf.c font_haru.c
 88	)
 89	frontends/tiny/(download.c fetch.c icons.c gui.c render.c schedule.c ui.c wl.c)
 90	content/(
 91		content.c
 92		content_factory.c
 93		dirlist.c
 94		fetch.c
 95		hlcache.c
 96		llcache.c
 97		mimesniff.c
 98		textsearch.c
 99		urldb.c
100		no_backing_store.c
101		fetchers/(curl.c data.c file.c about.c resource.c)
102		handlers/(
103			image/(image.c image_cache.c bmp.c gif.c ico.c jpeg.c png.c svg.c)
104			css/(css.c dump.c internal.c hints.c select.c utils.c)
105			javascript/(fetcher.c none/none.c)
106			html/(
107				box_construct.c
108				box_inspect.c
109				box_manipulate.c
110				box_normalise.c
111				box_special.c
112				box_textarea.c
113				css.c
114				css_fetcher.c
115				dom_event.c
116				font.c
117				form.c
118				forms.c
119				html.c
120				imagemap.c
121				interaction.c
122				layout.c
123				object.c
124				redraw.c
125				redraw_border.c
126				script.c
127				table.c
128				textselection.c
129			)
130			text/textplain.c
131		)
132	)
133	utils/(
134		bloom.c
135		corestrings.c
136		file.c
137		filename.c
138		filepath.c
139		hashmap.c
140		hashtable.c
141		idna.c
142		libdom.c
143		log.c
144		messages.c
145		nscolour.c
146		nsoption.c
147		punycode.c
148		ssl_certs.c
149		talloc.c
150		time.c
151		url.c
152		useragent.c
153		utf8.c
154		utils.c
155		http/(
156			challenge.c generics.c primitives.c parameter.c
157			cache-control.c content-disposition.c content-type.c
158			strict-transport-security.c www-authenticate.c
159		)
160		nsurl/(
161			nsurl.c
162			parse.c
163		)
164	)
165	$outdir/(
166		libcss/libcss.a.d
167		libdom/libdom.a.d
168		libnsbmp/libnsbmp.a
169		libnsgif/libnsgif.a
170		libnsutils/libnsutils.a
171		libsvgtiny/libsvgtiny.a.d
172	)
173	$builddir/pkg/(
174		curl/libcurl.a.d
175		freetype/libfreetype.a.d
176		libjpeg-turbo/libjpeg-turbo.a
177		libpng/libpng.a
178		libxkbcommon/libxkbcommon.a
179		pixman/libpixman.a
180		utf8proc/libutf8proc.a
181		wayland/(libwayland-client.a.d libwayland-cursor.a)
182		zlib/libz.a
183
184		wayland-protocols/xdg-shell-protocol.c.o
185	)
186]])
187file('bin/netsurf', '755', '$outdir/netsurf')
188
189build('sed', '$outdir/netsurf.1', '$srcdir/docs/netsurf-fb.1', {
190	expr='s,netsurf-fb,netsurf,g',
191})
192man{'$outdir/netsurf.1'}
193
194build('awk', '$outdir/Messages', {'$srcdir/resources/FatMessages', '|', '$dir/messages.awk'}, {
195	expr='-f $dir/messages.awk -v lang=en -v filter=any',
196})
197file('share/netsurf/Messages', '644', '$outdir/Messages')
198
199file('share/netsurf/SearchEngines', '644', '$srcdir/resources/SearchEngines')
200file('share/netsurf/adblock.css', '644', '$srcdir/resources/adblock.css')
201file('share/netsurf/credits.html', '644', '$srcdir/resources/en/credits.html')
202file('share/netsurf/default.css', '644', '$srcdir/resources/default.css')
203file('share/netsurf/favicon.png', '644', '$srcdir/resources/favicon.png')
204file('share/netsurf/internal.css', '644', '$srcdir/resources/internal.css')
205file('share/netsurf/licence.html', '644', '$srcdir/resources/en/licence.html')
206file('share/netsurf/netsurf.png', '644', '$srcdir/resources/netsurf.png')
207file('share/netsurf/quirks.css', '644', '$srcdir/resources/quirks.css')
208file('share/netsurf/welcome.html', '644', '$srcdir/resources/en/welcome.html')
209for icon in iterpaths[[back forward add remove home reload stop close up down]] do
210	file('share/netsurf/icons/'..icon..'.ff', '644', '$srcdir/frontends/tiny/res/icons/'..icon..'.ff')
211end
212
213fetch 'git'