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'