Skip to content

Commit 89a63fe

Browse files
committed
Implement Meson Build
This is a first pass at porting autoconf/automake to Meson. Signed-off-by: Matt Jolly <[email protected]>
1 parent f6e9710 commit 89a63fe

File tree

8 files changed

+1047
-0
lines changed

8 files changed

+1047
-0
lines changed

dpi/meson.build

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
dpi_link_libs = [dlib, dpip]
2+
3+
bookmarks_dpi_sources = files(
4+
'bookmarks.c',
5+
'dpiutil.c',
6+
)
7+
8+
cookies_dpi_sources = files(
9+
'cookies.c',
10+
'dpiutil.c',
11+
)
12+
13+
datauri_filter_dpi_sources = files(
14+
'datauri.c',
15+
'dpiutil.c',
16+
)
17+
18+
downloads_dpi_sources = files(
19+
'downloads.cc',
20+
'dpiutil.c',
21+
)
22+
23+
file_dpi_sources = files(
24+
'dpiutil.c',
25+
'file.c',
26+
)
27+
28+
ftp_filter_dpi_sources = files(
29+
'dpiutil.c',
30+
'ftp.c',
31+
)
32+
33+
hello_filter_dpi_sources = files(
34+
'dpiutil.c',
35+
'hello.c',
36+
)
37+
38+
vsource_filter_dpi_sources = files(
39+
'dpiutil.c',
40+
'vsource.c',
41+
)
42+
43+
dpis = {
44+
'bookmarks': bookmarks_dpi_sources,
45+
'cookies': cookies_dpi_sources,
46+
'datauri.filter': datauri_filter_dpi_sources,
47+
'downloads': downloads_dpi_sources,
48+
'file': file_dpi_sources,
49+
'ftp.filter': ftp_filter_dpi_sources,
50+
'hello.filter': hello_filter_dpi_sources,
51+
'vsource.filter': vsource_filter_dpi_sources,
52+
}
53+
54+
# These are all so similar that it's trivial to iterate over
55+
foreach dpi_name, dpi : dpis
56+
installdir = (
57+
get_option('libdir') / meson.project_name() / 'dpi' / dpi_name.split(
58+
'.',
59+
)[0]
60+
)
61+
executable(
62+
63+
sources: dpi,
64+
dependencies: fltk,
65+
link_with: dpi_link_libs,
66+
install: true,
67+
install_dir: installdir,
68+
include_directories: incdir,
69+
)
70+
endforeach

dpid/meson.build

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
dpid_sources = files(
2+
'dpi.c',
3+
'dpi_socket_dir.c',
4+
'dpid.c',
5+
'dpid_common.c',
6+
'main.c',
7+
'misc_new.c',
8+
)
9+
10+
link_libs = [
11+
dlib,
12+
dpip,
13+
]
14+
15+
executable(
16+
'dpid',
17+
sources: dpid_sources,
18+
include_directories: incdir,
19+
link_with: link_libs,
20+
install: true,
21+
)
22+
23+
executable(
24+
'dpidc',
25+
sources: 'dpidc.c',
26+
include_directories: incdir,
27+
link_with: link_libs,
28+
install: true,
29+
)
30+
31+
sed = find_program('sed', required: true)
32+
dpid_libdir = get_option('libdir') # TODO: Can we reuse this?
33+
configure_file(
34+
input: 'dpidrc.in',
35+
output: 'dpidrc',
36+
command: [
37+
sed,
38+
'-e', f's|[@]libdir[@]|@dpid_libdir@|;s|[@]EXEEXT[@]|@exe_suffix@|g',
39+
'@INPUT@',
40+
],
41+
capture: true,
42+
install_dir: get_option('sysconfdir'),
43+
install: true,
44+
install_tag: 'runtime',
45+
)

dw/meson.build

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
dwcore_sources = files(
2+
'findtext.cc',
3+
'imgrenderer.cc',
4+
'iterator.cc',
5+
'layout.cc',
6+
'selection.cc',
7+
'stackingcontextmgr.cc',
8+
'style.cc',
9+
'tools.cc',
10+
'types.cc',
11+
'ui.cc',
12+
'widget.cc',
13+
)
14+
15+
dw_fltk_sources = files(
16+
'fltkcomplexbutton.cc',
17+
'fltkflatview.cc',
18+
'fltkimgbuf.cc',
19+
'fltkmisc.cc',
20+
'fltkplatform.cc',
21+
'fltkpreview.cc',
22+
'fltkui.cc',
23+
'fltkviewbase.cc',
24+
'fltkviewport.cc',
25+
)
26+
27+
dw_widgets_sources = files(
28+
'alignedtablecell.cc',
29+
'alignedtextblock.cc',
30+
'bullet.cc',
31+
'hyphenator.cc',
32+
'image.cc',
33+
'listitem.cc',
34+
'oofawarewidget.cc',
35+
'oofawarewidget_iterator.cc',
36+
'ooffloatsmgr.cc',
37+
'oofposabslikemgr.cc',
38+
'oofposabsmgr.cc',
39+
'oofposfixedmgr.cc',
40+
'oofpositionedmgr.cc',
41+
'oofposrelmgr.cc',
42+
'outofflowmgr.cc',
43+
'regardingborder.cc',
44+
'ruler.cc',
45+
'simpletablecell.cc',
46+
'table.cc',
47+
'table_iterator.cc',
48+
'tablecell.cc',
49+
'textblock.cc',
50+
'textblock_iterator.cc',
51+
'textblock_linebreaking.cc',
52+
)
53+
54+
dwcore = static_library(
55+
'dwcore',
56+
sources: dwcore_sources,
57+
include_directories: incdir,
58+
)
59+
60+
dw_fltk = static_library(
61+
'dw_fltk',
62+
sources: dw_fltk_sources,
63+
dependencies: fltk,
64+
include_directories: incdir,
65+
)
66+
67+
dw_widgets = static_library(
68+
'dw_widgets',
69+
sources: dw_widgets_sources,
70+
include_directories: incdir,
71+
link_with: liblout,
72+
)
73+
74+
dillo_libs += [dwcore, dw_fltk, dw_widgets]

0 commit comments

Comments
 (0)