meson.build

Fri, 27 Apr 2018 17:15:02 -0500

author
Mike Ruprecht <cmaiku@gmail.com>
date
Fri, 27 Apr 2018 17:15:02 -0500
changeset 38976
8707640197a2
parent 38975
091556e47540
child 38992
cefa174d905d
permissions
-rw-r--r--

meson: Quote win32-dirs when using FHS directory layout in Windows

The configuration generating code wasn't quoting the strings of the
FHS directories when using that option in Windows. This patch
fixes that issue.

38531
0b7c991bc3e4 Clean up stuff from grim's review.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38529
diff changeset
1 project('pidgin', 'c', meson_version : '>=0.37.0')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
2
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
3 # UPDATING VERSION NUMBERS FOR RELEASES
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
4 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
5 # purple_micro_version += 1
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
6 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
7 # If any functions have been added to libpurple, Pidgin, or Finch:
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
8 # purple_micro_version = 0
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
9 # purple_minor_version += 1
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
10 # purple_lt_current += 1
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
11 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
12 # If backwards compatibility has been broken in libpurple, Pidgin, or Finch:
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
13 # purple_micro_version = 0
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
14 # purple_minor_version = 0
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
15 # purple_major_version += 1;
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
16 # purple_lt_current += 1
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
17 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
18 # purple_version_suffix should be similar to one of the following:
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
19 # For beta releases: 'beta2'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
20 # For code under development: 'devel'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
21 # For production releases: ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
22 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
23 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
24 # If any code has changed in libgnt:
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
25 # gnt_micro_version += 1
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
26 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
27 # If any functions have been added to libgnt:
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
28 # gnt_micro_version = 0
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
29 # gnt_minor_version += 1
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
30 # gnt_lt_current += 1
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
31 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
32 # If backwards compatibility has been broken in libgnt:
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
33 # gnt_micro_version = 0
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
34 # gnt_minor_version = 0
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
35 # gnt_major_version += 1;
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
36 # gnt_lt_current += 1
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
37 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
38 # gnt_version_suffix should be similar to one of the following:
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
39 # For beta releases: 'beta2'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
40 # For code under development: 'devel'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
41 # For production releases: ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
42 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
43 # Make sure to update finch/libgnt/configure.ac with libgnt version changes.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
44 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
45 purple_lt_current = 20
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
46 purple_major_version = 3
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
47 purple_minor_version = 0
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
48 purple_micro_version = 0
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
49 purple_version_suffix = 'devel'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
50 purple_version = '@0@.@1@.@2@'.format(purple_major_version,
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
51 purple_minor_version,
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
52 purple_micro_version)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
53 purple_display_version = '@0@@1@'.format(purple_version,
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
54 purple_version_suffix)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
55
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
56 # the last version for Finch 2 was 2.8.10,
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
57 # the first version for Finch 3 was 2.9.0
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
58 gnt_lt_current = 9
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
59 gnt_major_version = 2
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
60 gnt_minor_version = 9
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
61 gnt_micro_version = 0
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
62 gnt_version_suffix = 'devel'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
63 gnt_version = '@0@.@1@.@2@'.format(gnt_major_version,
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
64 gnt_minor_version,
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
65 gnt_micro_version)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
66 gnt_display_version = '@0@@1@'.format(gnt_version,
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
67 gnt_version_suffix)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
68
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
69
38523
2457e9c0f5de Use add_project_arguments instead of add_global_arguments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38520
diff changeset
70 add_project_arguments('-DHAVE_CONFIG_H=1', language : 'c')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
71 conf = configuration_data()
38512
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
72 man_conf = configuration_data()
38440
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
73 version_conf = configuration_data()
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
74
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
75 conf.set_quoted('PACKAGE', meson.project_name())
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
76 conf.set_quoted('PACKAGE_NAME', meson.project_name())
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
77 conf.set_quoted('VERSION', purple_display_version)
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
78
38440
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
79 version_conf.set('PURPLE_MAJOR_VERSION', purple_major_version)
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
80 version_conf.set('PURPLE_MINOR_VERSION', purple_minor_version)
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
81 version_conf.set('PURPLE_MICRO_VERSION', purple_micro_version)
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
82 version_conf.set('PURPLE_VERSION', purple_display_version)
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
83 version_conf.set('PURPLE_API_VERSION',
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
84 purple_lt_current - purple_minor_version)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
85
38518
1c2e969922b8 Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38515
diff changeset
86 PURPLE_LIB_VERSION = '@0@.@1@.@2@'.format(purple_lt_current - purple_minor_version,
1c2e969922b8 Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38515
diff changeset
87 purple_minor_version,
1c2e969922b8 Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38515
diff changeset
88 purple_micro_version)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
89
38440
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
90 version_conf.set('GNT_MAJOR_VERSION', gnt_major_version)
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
91 version_conf.set('GNT_MINOR_VERSION', gnt_minor_version)
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
92 version_conf.set('GNT_MICRO_VERSION', gnt_micro_version)
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
93 version_conf.set('GNT_VERSION', gnt_display_version)
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
94 version_conf.set('GNT_API_VERSION', gnt_lt_current - gnt_minor_version)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
95
38518
1c2e969922b8 Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38515
diff changeset
96 GNT_LIB_VERSION = '@0@.@1@.@2@'.format(gnt_lt_current - gnt_minor_version,
1c2e969922b8 Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38515
diff changeset
97 gnt_minor_version,
1c2e969922b8 Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38515
diff changeset
98 gnt_micro_version)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
99
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
100 package_revision = vcs_tag(
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
101 input : 'package_revision.h.in',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
102 output : 'package_revision.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
103 fallback : meson.project_version())
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
104
38512
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
105 # For man pages.
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
106 man_conf.set('VERSION', purple_display_version)
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
107 man_conf.set('prefix', get_option('prefix'))
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
108
38783
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38704
diff changeset
109 # Used for pkg-config files.
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38704
diff changeset
110 pkgconfig = import('pkgconfig')
38512
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
111
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
112 sedpath = find_program('sed')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
113
38538
b542a6787116 Add meson arguments to About dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38537
diff changeset
114 # Storing build arguments
38542
b0c4ad7949de Require latest meson to get MESON_ARGS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38539
diff changeset
115 if meson.version().version_compare('>=0.42.0')
38538
b542a6787116 Add meson arguments to About dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38537
diff changeset
116 meson.add_postconf_script('mkmesonconf.py')
b542a6787116 Add meson arguments to About dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38537
diff changeset
117 conf.set('HAVE_MESON_CONFIG', true)
b542a6787116 Add meson arguments to About dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38537
diff changeset
118 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
119
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
120 # Checks for programs.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
121 compiler = meson.get_compiler('c')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
122
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
123 # Check for Sun compiler
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
124 SUNCC = compiler.compiles('void main() {__SUNPRO_C;};')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
125
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
126 # Check for Win32
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
127 if host_machine.system() == 'windows'
38487
9e341a7537bd Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38486
diff changeset
128 windows = import('windows')
9e341a7537bd Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38486
diff changeset
129
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
130 IS_WIN32 = true
38486
046f00bc7f33 Properly search for Windows DNS/socket libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38485
diff changeset
131 ws2_32 = compiler.find_library('ws2_32')
046f00bc7f33 Properly search for Windows DNS/socket libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38485
diff changeset
132 dnsapi = compiler.find_library('dnsapi')
38528
419900052fb1 Correctly set IS_WIN32_CROSS_COMPILED.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38527
diff changeset
133 if build_machine.system() != 'windows'
419900052fb1 Correctly set IS_WIN32_CROSS_COMPILED.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38527
diff changeset
134 conf.set('IS_WIN32_CROSS_COMPILED', true)
419900052fb1 Correctly set IS_WIN32_CROSS_COMPILED.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38527
diff changeset
135 endif
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
136 conf.set('WIN32_LEAN_AND_MEAN', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
137 else
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
138 IS_WIN32 = false
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
139 ws2_32 = []
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
140 dnsapi = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
141 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
142
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
143 # Checks for header files.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
144 # AC_HEADER_SYS_WAIT:
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
145 conf.set('HAVE_SYS_WAIT_H', compiler.has_header('sys/wait.h'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
146
38468
2add82b38ba5 Remove extra checks from meson build as well.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38465
diff changeset
147 foreach h : ['fcntl.h', 'unistd.h', 'stdint.h']
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
148 if compiler.has_header(h)
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
149 conf.set('HAVE_' + h.to_upper().underscorify(), true)
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
150 else
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
151 error(h + ' is required.')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
152 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
153 endforeach
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
154
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
155 # Checks for typedefs, structures, and compiler characteristics.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
156 time_t_size = compiler.sizeof('time_t',
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
157 prefix : '''
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
158 #include <stdio.h>
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
159 #include <time.h>
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
160 ''')
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
161 conf.set('SIZEOF_TIME_T', time_t_size)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
162
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
163 conf.set('WORDS_BIGENDIAN', host_machine.endian() != 'little')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
164
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
165 conf.set('USE_WIN32_FHS',
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
166 IS_WIN32 and get_option('win32-dirs') == 'fhs')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
167
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
168 # Check for directories
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
169 if IS_WIN32
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
170 if get_option('win32-dirs') == 'fhs'
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
171 foreach dir : ['bin', 'lib', 'data', 'sysconf', 'locale']
38527
7ea85d785dfa Use join_paths instead of manual path manipulations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38526
diff changeset
172 path = join_paths(get_option('prefix'), get_option(dir + 'dir'))
38976
8707640197a2 meson: Quote win32-dirs when using FHS directory layout in Windows
Mike Ruprecht <cmaiku@gmail.com>
parents: 38975
diff changeset
173 conf.set_quoted('WIN32_FHS_@0@DIR'.format(dir.to_upper()), path)
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
174 endforeach
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
175
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
176 conf.set('PURPLE_LIBDIR',
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
177 'wpurple_lib_dir("purple-@0@")'.format(purple_major_version))
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
178 conf.set('PIDGIN_LIBDIR',
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
179 'wpurple_lib_dir("pidgin-@0@")'.format(purple_major_version))
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
180 conf.set('FINCH_LIBDIR',
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
181 'wpurple_lib_dir("finch-@0@")'.format(purple_major_version))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
182 else
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
183 conf.set('PURPLE_LIBDIR', 'wpurple_lib_dir(NULL)')
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
184 conf.set('PIDGIN_LIBDIR', 'wpurple_lib_dir(NULL)')
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
185 conf.set('FINCH_LIBDIR', 'wpurple_lib_dir(NULL)')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
186 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
187
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
188 conf.set('PURPLE_DATADIR', 'wpurple_data_dir()')
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
189 conf.set('PURPLE_SYSCONFDIR', 'wpurple_sysconf_dir()')
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
190 conf.set('PURPLE_LOCALEDIR', 'wpurple_locale_dir()')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
191 else
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
192 foreach dir : ['data', 'sysconf', 'locale']
38527
7ea85d785dfa Use join_paths instead of manual path manipulations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38526
diff changeset
193 path = join_paths(get_option('prefix'), get_option(dir + 'dir'))
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
194 conf.set_quoted('PURPLE_@0@DIR'.format(dir.to_upper()), path)
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
195 endforeach
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
196
38527
7ea85d785dfa Use join_paths instead of manual path manipulations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38526
diff changeset
197 common_libdir = join_paths(get_option('prefix'), get_option('libdir'))
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
198 conf.set_quoted('PURPLE_LIBDIR',
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
199 join_paths(common_libdir,
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
200 'purple-@0@'.format(purple_major_version)))
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
201 conf.set_quoted('PIDGIN_LIBDIR',
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
202 join_paths(common_libdir,
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
203 'pidgin-@0@'.format(purple_major_version)))
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
204 conf.set_quoted('FINCH_LIBDIR',
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
205 join_paths(common_libdir,
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
206 'finch-@0@'.format(purple_major_version)))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
207 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
208
38527
7ea85d785dfa Use join_paths instead of manual path manipulations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38526
diff changeset
209 abslibdir = join_paths(get_option('prefix'), get_option('libdir'))
7ea85d785dfa Use join_paths instead of manual path manipulations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38526
diff changeset
210 PURPLE_PLUGINDIR = join_paths(abslibdir, 'purple-@0@'.format(purple_major_version))
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
211 conf.set_quoted('PURPLE_PLUGINDIR', PURPLE_PLUGINDIR)
38527
7ea85d785dfa Use join_paths instead of manual path manipulations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38526
diff changeset
212 PIDGIN_PLUGINDIR = join_paths(abslibdir, 'pidgin-@0@'.format(purple_major_version))
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
213 conf.set_quoted('PIDGIN_PLUGINDIR', PIDGIN_PLUGINDIR)
38527
7ea85d785dfa Use join_paths instead of manual path manipulations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38526
diff changeset
214 FINCH_PLUGINDIR = join_paths(abslibdir, 'finch-@0@'.format(purple_major_version))
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
215 conf.set_quoted('FINCH_PLUGINDIR', FINCH_PLUGINDIR)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
216
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
217 # Check for inet_aton
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
218 if not IS_WIN32
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
219 if not compiler.has_function('inet_aton')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
220 if not compiler.has_function('inet_aton', args : '-lresolv')
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
221 # FIXME: Someone needs to link with -lresolv if needed.
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
222 error('inet_aton not found')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
223 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
224 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
225 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
226 if compiler.has_function('gethostent', args : '-lnsl')
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
227 conf.set('HAVE_LIBNSL', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
228 endif
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
229 if IS_WIN32
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
230 conf.set('HAVE_GETADDRINFO', true)
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
231 conf.set('HAVE_INET_NTOP', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
232 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
233 if not compiler.has_function('socket')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
234 if not compiler.has_function('socket', args : '-lsocket')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
235 error('socket not found')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
236 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
237 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
238 # If all goes well, by this point the previous two checks will have
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
239 # pulled in -lsocket and -lnsl if we need them.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
240 if compiler.has_function('getaddrinfo')
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
241 conf.set('HAVE_GETADDRINFO', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
242 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
243 if compiler.has_function('getaddrinfo', args : '-lsocket -lnsl')
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
244 conf.set('HAVE_GETADDRINFO', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
245 # FIXME: LIBS += declare_dependency(link_with : ['socket', 'nsl'])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
246 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
247 endif
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
248 conf.set('HAVE_INET_NTOP',
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
249 compiler.has_function('inet_ntop'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
250 endif
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
251 conf.set('HAVE_GETIFADDRS',
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
252 compiler.has_function('getifaddrs'))
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
253
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
254 # Check for socklen_t (in Unix98)
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
255 if IS_WIN32
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
256 socket_header = 'ws2tcpip.h'
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
257 else
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
258 socket_header = 'sys/socket.h'
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
259 endif
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
260 if not compiler.has_header_symbol(socket_header, 'socklen_t')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
261 code = '''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
262 #include <sys/types.h>
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
263 #include <@0@>
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
264 int accept(int, struct sockaddr *, size_t *);
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
265 int main() {}
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
266 '''.format(socket_header)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
267 if compiler.compiles(code, name : 'socklen_t is size_t')
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
268 conf.set('socklen_t', 'size_t')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
269 else
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
270 conf.set('socklen_t', 'int')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
271 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
272 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
273
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
274 # Some systems do not have sa_len field for struct sockaddr.
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
275 conf.set('HAVE_STRUCT_SOCKADDR_SA_LEN',
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
276 compiler.has_member('struct sockaddr', 'sa_len',
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
277 prefix : '#include <@0@>'.format(socket_header)))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
278
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
279 # Check for v6-only sockets
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
280 if IS_WIN32
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
281 header = 'ws2tcpip.h'
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
282 else
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
283 header = 'netinet/in.h'
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
284 endif
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
285 conf.set('HAVE_IPV6_V6ONLY',
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
286 compiler.has_header_symbol(header, 'IPV6_V6ONLY'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
287
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
288 # Windows and Haiku do not use libm for the math functions, they are part
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
289 # of the C library
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
290 math = compiler.find_library('m')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
291
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
292 code = '''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
293 #include <stdio.h>
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
294
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
295 int main(int argc, char *argv[])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
296 {
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
297 int fd;
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
298
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
299 fd = fileno(stdout);
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
300
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
301 return !(fd > 0);
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
302 }
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
303 '''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
304 result = compiler.run(code, name : 'fileno()')
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
305 conf.set('HAVE_FILENO', result.returncode() == 0)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
306
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
307 code = '''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
308 #include <time.h>
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
309 #include <stdio.h>
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
310
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
311 int main()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
312 {
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
313 char buf[64];
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
314 time_t t = time(NULL);
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
315
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
316 if (strftime(buf, sizeof(buf), "%z", localtime(&t)) != 5)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
317 return 1;
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
318
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
319 fprintf(stderr, "strftime(\"%%z\") yields: \"%s\"\n", buf);
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
320
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
321 return !((buf[0] == '-' || buf[0] == '+') &&
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
322 (buf[1] >= '0' && buf[1] <= '9') &&
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
323 (buf[2] >= '0' && buf[2] <= '9') &&
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
324 (buf[3] >= '0' && buf[3] <= '9') &&
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
325 (buf[4] >= '0' && buf[4] <= '9')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
326 );
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
327 }
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
328 '''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
329 result = compiler.run(code, name : 'the %z format string in strftime()')
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
330 conf.set('HAVE_STRFTIME_Z_FORMAT', result.returncode() == 0)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
331
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
332 # before gettexting, in case iconv matters
38508
d2fd9608f691 Properly add Apple Frameworks to build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38507
diff changeset
333 IOKIT = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
334 if host_machine.system() == 'darwin'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
335 if compiler.has_header('CoreFoundation/CoreFoundation.h')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
336 if compiler.has_header('IOKit/IOKitLib.h')
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
337 conf.set('HAVE_IOKIT', true)
38508
d2fd9608f691 Properly add Apple Frameworks to build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38507
diff changeset
338 IOKIT = dependency('appleframeworks',
d2fd9608f691 Properly add Apple Frameworks to build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38507
diff changeset
339 modules : ['IOKit', 'CoreFoundation'])
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
340 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
341 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
342
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
343 if run_command('test', '-d', '/sw').returncode() == 0
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
344 # FIXME: Not done...
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
345 #CPPFLAGS="$CPPFLAGS -I/sw/include"
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
346 #LDFLAGS="$LDFLAGS -L/sw/lib"
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
347 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
348 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
349
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
350 # #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
351 # # Disable creation and installation of translation files
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
352 # #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
353
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
354 INSTALL_I18N = get_option('nls')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
355
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
356 if INSTALL_I18N
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
357 subdir('po')
38473
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38469
diff changeset
358
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38469
diff changeset
359 intltool_merge = find_program('intltool-merge')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
360 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
361
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
362 # #######################################################################
38586
ef473e04f524 Bump GLib dependency to 2.40
Mike Ruprecht <cmaiku@gmail.com>
parents: 38582
diff changeset
363 # # Check for GLib 2.40 (required)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
364 # #######################################################################
38586
ef473e04f524 Bump GLib dependency to 2.40
Mike Ruprecht <cmaiku@gmail.com>
parents: 38582
diff changeset
365 glib = dependency('glib-2.0', version : '>= 2.40.0')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
366 gio = dependency('gio-2.0')
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
367 gmodule = dependency('gmodule-2.0')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
368 gobject = dependency('gobject-2.0')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
369 gthread = dependency('gthread-2.0')
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
370 gnome = import('gnome')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
371
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
372 if get_option('extraversion') != ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
373 DISPLAY_VERSION = '@0@-@1@'.format(meson.project_version(),
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
374 get_option('extraversion'))
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
375 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
376 DISPLAY_VERSION = meson.project_version()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
377 endif
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
378 conf.set_quoted('DISPLAY_VERSION', DISPLAY_VERSION)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
379
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
380 force_deps = not get_option('missing-dependencies')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
381
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
382 # #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
383 # # Check for GTK+ 2.18 and other things used by the GTK UI
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
384 # #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
385 enable_enchant = get_option('enchant')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
386 enable_gevolution = get_option('gevolution')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
387 enable_cap = get_option('cap')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
388 enable_gestures = get_option('gestures')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
389 enable_gcr = get_option('gcr')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
390
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
391 # #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
392 # Check Pidgin dependencies
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
393 # #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
394 if get_option('gtkui')
38851
2c1acd998186 The new about box stuff that was merged awhile ago needs gtk >= 3.10.0 so this bumps the requirement to that
Gary Kramlich <grim@reaperworld.com>
parents: 38784
diff changeset
395 gtk = dependency('gtk+-3.0', version : '>= 3.10.0')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
396 # We only really need Pango >= 1.4 for decent RTL support
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
397 pango = dependency('pango', version : '>= 1.4.0')
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
398 conf.set('HAVE_PANGO14', pango.found())
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
399
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
400 webkit = dependency('webkitgtk-3.0', version : '>= 1.3.7')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
401
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
402 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
403 # Check if we should compile with enchant support
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
404 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
405 # We need enchant for spell checking dictionary enumeration,
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
406 # because webkit1 doesn't have this.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
407 use_enchant = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
408 if enable_enchant
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
409 use_enchant = true
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
410 enchant = dependency('enchant', required : force_deps)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
411 use_enchant = enchant.found()
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
412 conf.set('USE_ENCHANT', use_enchant)
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
413 else
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
414 enchant = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
415 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
416
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
417 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
418 # Check for stuff needed by the Evolution integration plugin.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
419 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
420 if enable_gevolution
38503
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
421 evo_deps = [
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
422 ['libebook-1.2', []],
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
423 ['libedata-book-1.2', []],
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
424 ['evolution-data-server-1.2', '>= 3.6']
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
425 ]
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
426 EVOLUTION_ADDRESSBOOK = []
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
427 foreach dep : evo_deps
38503
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
428 EVOLUTION_ADDRESSBOOK += [
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
429 dependency(dep[0], version : dep[1], required : force_deps)
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
430 ]
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
431 if not EVOLUTION_ADDRESSBOOK[-1].found()
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
432 enable_gevolution = false
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
433 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
434 endforeach
38503
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
435 endif
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
436 conf.set('HAVE_EVOLUTION_ADDRESSBOOK', enable_gevolution)
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
437 if not enable_gevolution
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
438 EVOLUTION_ADDRESSBOOK = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
439 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
440
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
441 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
442 # Check for libsqlite3 (for the Contact Availability Prediction plugin)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
443 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
444 if enable_cap
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
445 SQLITE3 = dependency('sqlite3', version : '>= 3.3', required : force_deps)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
446 enable_cap = SQLITE3.found()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
447 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
448
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
449 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
450 # Check for GCR for its certificate widgets
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
451 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
452 if enable_gcr
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
453 GCR = dependency('gcr-3', required : force_deps)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
454 if GCR.found()
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
455 conf.set('ENABLE_GCR', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
456 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
457 enable_gcr = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
458 endif
38503
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
459 else
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
460 GCR = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
461 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
462
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
463
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
464 else # GTK
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
465 enable_cap = false
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
466 enable_gcr = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
467 enable_gevolution = false
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
468 use_enchant = false
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
469 endif # GTK
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
470
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
471 ENABLE_GTK = get_option('gtkui')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
472
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
473
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
474 #######################################################################
38865
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
475 # Check if we should compile with X support
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
476 #######################################################################
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
477 with_x = get_option('x') and not IS_WIN32
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
478
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
479 if with_x
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
480 x11 = dependency('x11')
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
481 if x11.found()
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
482 conf.set('HAVE_X11', true)
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
483 else
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
484 with_x = false
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
485 if force_deps
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
486 error('''
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
487 X11 development headers not found.
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
488 Use -Dx=false if you do not need X11 support.
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
489 ''')
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
490 endif
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
491 endif
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
492 else
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
493 x11 = []
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
494 endif
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
495 if not get_option('gtkui') or not with_x
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
496 enable_gestures = false
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
497 endif
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
498
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
499 #######################################################################
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
500 # Check for ncurses and other things used by the console UI
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
501 #######################################################################
38461
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
502 ncurses_inc = []
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
503 ncurses_libs = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
504 enable_consoleui = get_option('consoleui')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
505 force_finch = enable_consoleui
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
506 if enable_consoleui
38461
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
507 ncurses_libs = [
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
508 compiler.find_library('ncursesw', required : false),
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
509 compiler.find_library('panelw', required : false)
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
510 ]
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
511 if not ncurses_libs[0].found() or not ncurses_libs[1].found()
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
512 enable_consoleui = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
513 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
514
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
515 if IS_WIN32
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
516 # FIXME: $host ?
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
517 ncurses_sys_prefix = '/usr/$host/sys-root/mingw'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
518 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
519 ncurses_sys_prefix = '/usr'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
520 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
521
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
522 ncurses_sys_dirs = [ncurses_sys_prefix + '/include/ncursesw',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
523 ncurses_sys_prefix + '/include']
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
524
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
525 if enable_consoleui
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
526 # Some distros put the headers in ncursesw/, some don't
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
527 found_ncurses_h = false
38461
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
528 foreach location : ncurses_sys_dirs
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
529 f = location + '/ncurses.h'
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
530 if not found_ncurses_h
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
531 if compiler.has_header_symbol(f, 'get_wch',
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
532 prefix : '#define _XOPEN_SOURCE_EXTENDED')
38461
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
533 if location != '.'
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
534 ncurses_inc += [include_directories(location)]
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
535 endif
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
536 found_ncurses_h = true
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
537 endif
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
538 endif
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
539 endforeach
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
540
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
541 if not found_ncurses_h
38461
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
542 ncurses_inc = []
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
543 ncurses_libs = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
544 enable_consoleui = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
545 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
546 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
547 # ncursesw was not found. Look for plain old ncurses
38461
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
548 ncurses_libs = [
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
549 compiler.find_library('ncurses', required : false),
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
550 compiler.find_library('panel', required : false)
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
551 ]
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
552 enable_consoleui = ncurses_libs[0].found() and ncurses_libs[1].found()
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
553 conf.set('NO_WIDECHAR', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
554 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
555 endif
38461
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
556 ncurses = declare_dependency(
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
557 include_directories : ncurses_inc,
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
558 dependencies : ncurses_libs
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
559 )
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
560
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
561 if force_finch and not enable_consoleui
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
562 error('''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
563
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
564 Finch will not be built. You need to install ncursesw (or ncurses) and its development headers.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
565
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
566 ''')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
567 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
568
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
569 #conf.set('HAVE_WCWIDTH', compiler.has_function('wcwidth'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
570
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
571 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
572 # Check for LibXML2 (required)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
573 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
574 libxml = dependency('libxml-2.0', version : '>= 2.6.0')
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
575 if libxml.version().version_compare('<2.6.18')
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
576 message('Versions of libxml2 < 2.6.18 may contain bugs that could cause XMPP messages to be discarded.')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
577 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
578
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
579 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
580 # Check for JSON-GLib (required)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
581 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
582
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
583 json = dependency('json-glib-1.0', version : '>= 0.14.0')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
584
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
585 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
586 # Check for GStreamer
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
587 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
588
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
589 enable_gst = get_option('gstreamer')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
590 if enable_gst
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
591 gstreamer = dependency('gstreamer-1.0', required : force_deps)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
592 if gstreamer.found()
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
593 conf.set('USE_GSTREAMER', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
594 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
595 enable_gst = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
596 endif
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
597 else
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
598 gstreamer = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
599 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
600
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
601 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
602 # Check for GStreamer Video
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
603 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
604 enable_gstvideo = enable_gst and get_option('gstreamer-video')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
605 if enable_gstvideo
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
606 gstreamer_video = dependency('gstreamer-video-1.0',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
607 required : false)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
608 if gstreamer_video.found()
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
609 conf.set('USE_GSTVIDEO', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
610 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
611 enable_gstvideo = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
612 endif
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
613 else
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
614 gstreamer_video = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
615 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
616
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
617 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
618 # Check for Farstream
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
619 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
620 if get_option('farstream')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
621 farstream = dependency('farstream-0.2', version : '>= 0.2.7',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
622 required : false)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
623 enable_farstream = farstream.found()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
624 else
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
625 farstream = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
626 enable_farstream = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
627 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
628
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
629 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
630 # Check for Voice and Video support
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
631 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
632 if get_option('vv')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
633 if enable_gst and enable_gstvideo and enable_farstream
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
634 conf.set('USE_VV', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
635 enable_vv = true
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
636 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
637 if force_deps
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
638 error('''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
639 Dependencies for voice/video were not met.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
640 Install the necessary gstreamer and farstream packages first.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
641 Or use -Dvv=false if you do not need voice/video support.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
642 ''')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
643 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
644 enable_vv = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
645 endif
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
646 else
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
647 enable_vv = false
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
648 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
649
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
650 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
651 # Check for Raw data streams support in Farstream
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
652 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
653 if enable_vv
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
654 gstreamer_app = dependency('gstreamer-app-1.0',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
655 required : false)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
656 if gstreamer_app.found()
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
657 conf.set('USE_GSTAPP', true)
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
658 conf.set('HAVE_MEDIA_APPLICATION', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
659 endif
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
660 else
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
661 gstreamer_app = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
662 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
663
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
664 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
665 # Check for Internationalized Domain Name support
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
666 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
667
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
668 if get_option('idn')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
669 idn = dependency('libidn', version : '>= 0.0.0', required : force_deps)
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
670 conf.set('USE_IDN', idn.found())
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
671 else
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
672 idn = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
673 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
674
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
675 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
676 # Check for Meanwhile headers (for Sametime)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
677 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
678 if get_option('meanwhile')
38480
49ba0ce64335 Require meson 0.37.0.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38479
diff changeset
679 meanwhile = dependency('meanwhile', version : ['>= 1.0.0', '< 2.0.0'], required : force_deps)
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
680 enable_meanwhile = meanwhile.found()
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
681 else
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
682 enable_meanwhile = false
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
683 meanwhile = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
684 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
685
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
686 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
687 # Check for Native Avahi headers (for Bonjour)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
688 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
689
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
690 enable_avahi = get_option('avahi')
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
691 avahi = []
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
692 if enable_avahi and IS_WIN32
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
693 # Just keep enabled.
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
694 elif enable_avahi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
695 # Attempt to autodetect Avahi
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
696 avahi_client = dependency('avahi-client', required : false)
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
697 avahi_glib = dependency('avahi-glib', required : false)
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
698 if avahi_client.found() and avahi_glib.found()
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
699 avahi = [avahi_client, avahi_glib]
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
700 else
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
701 enable_avahi = false
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
702 if force_deps
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
703 error('''
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
704 avahi development package not found.
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
705 Use -Davahi=false if you do not need avahi (Bonjour) support.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
706 ''')
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
707 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
708 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
709 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
710
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
711
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
712 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
713 # Check for SILC client includes and libraries
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
714 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
715 have_silc = false
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
716 if get_option('silc')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
717 silc = dependency('silcclient', version : '>= 1.1', required : false)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
718 if silc.found()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
719 have_silc = true
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
720 # SILC Toolkit >= 1.0.1 has a new MIME API
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
721 conf.set('HAVE_SILCMIME_H', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
722 else
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
723 if force_deps
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
724 error('''
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
725 SILC development package not found.
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
726 Use -Dsilc=false if you do not need SILC support.
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
727 ''')
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
728 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
729 endif
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
730 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
731
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
732 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
733 # Check for Gadu-Gadu protocol library (libgadu)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
734 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
735
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
736 enable_libgadu = get_option('libgadu')
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
737 if enable_libgadu
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
738 libgadu = dependency('libgadu', version : '>= 1.12.0', required : false)
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
739 have_libgadu = libgadu.found()
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
740
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
741 if have_libgadu
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
742 if not compiler.has_function('gg_is_gpl_compliant', dependencies : libgadu)
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
743 have_libgadu = false
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
744 message('''
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
745 libgadu is not compatible with the GPL when compiled with OpenSSL support.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
746
38532
ce789b341027 Fix a few inconsistencies between build systems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38531
diff changeset
747 To link against libgadu, please recompile it using:
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
748 ./configure --with-openssl=no
38532
ce789b341027 Fix a few inconsistencies between build systems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38531
diff changeset
749 Then rerun this Meson build
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
750 ''')
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
751 endif
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
752 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
753
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
754 if not have_libgadu and force_deps
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
755 error('''
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
756 Libgadu development headers not found.
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
757 Use -Dlibgadu=false if you do not need GG (GaduGadu) support.
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
758 ''')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
759 endif
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
760 else
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
761 have_libgadu = false
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
762 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
763
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
764
38491
2dcf249eb9c1 Remove deleted prpls from meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38487
diff changeset
765 DEFAULT_PRPLS = ['bonjour', 'facebook', 'gg', 'irc', 'jabber', 'novell',
2dcf249eb9c1 Remove deleted prpls from meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38487
diff changeset
766 'oscar', 'sametime', 'silc', 'simple', 'zephyr']
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
767 ALL_PRPLS = DEFAULT_PRPLS + ['null']
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
768
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
769 dynamic_list = get_option('dynamic-prpls').split(',')
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
770 static_list = get_option('static-prpls').split(',')
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
771 if (static_list != [''] and static_list != []) and dynamic_list == ['all']
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
772 dynamic_list = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
773 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
774
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
775 if static_list == ['all']
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
776 static_list = DEFAULT_PRPLS
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
777 endif
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
778 STATIC_PRPLS = []
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
779 foreach prpl : static_list
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
780 if prpl == ''
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
781 # The list was empty; do nothing.
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
782 elif prpl == 'sametime' and not enable_meanwhile
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
783 # Do nothing
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
784 elif prpl == 'bonjour' and not enable_avahi
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
785 # Do nothing
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
786 elif prpl == 'silc' and not have_silc
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
787 # Do nothing
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
788 elif prpl == 'gg' and not have_libgadu
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
789 # Do nothing
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
790 elif prpl == 'zephyr' and IS_WIN32
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
791 # Do nothing
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
792 else
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
793 STATIC_PRPLS += [prpl]
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
794 endif
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
795 endforeach
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
796 STATIC_LINK_LIBS = []
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
797 extern_load = []
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
798 load_proto = []
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
799 extern_unload = []
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
800 unload_proto = []
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
801 foreach prpl : STATIC_PRPLS
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
802 # Ugly special case for 'libsilcpurple.la':
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
803 if prpl == 'silc'
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
804 STATIC_LINK_LIBS.append('\$(top_builddir)/libpurple/protocols/@1@/lib@1@purple.la'.format(meson.build_root(), prpl))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
805 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
806 # FIXME: Shouldn't be libtool:
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
807 STATIC_LINK_LIBS.append('\$(top_builddir)/libpurple/protocols/@1@/lib@1@.la'.format(meson.build_root(), prpl))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
808 endif
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
809 extern_load.append('extern gboolean @0@_plugin_load();'.format(prpl))
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
810 load_proto.append('@0@_plugin_load();'.format(prpl))
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
811 extern_unload.append('extern gboolean @0@_plugin_unload();'.format(prpl))
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
812 unload_proto.append('@0@_plugin_unload();'.format(prpl))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
813 endforeach
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
814 STATIC_BONJOUR = STATIC_PRPLS.contains('bonjour')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
815 STATIC_FACEBOOK = STATIC_PRPLS.contains('facebook')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
816 STATIC_GG = STATIC_PRPLS.contains('gg')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
817 STATIC_IRC = STATIC_PRPLS.contains('irc')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
818 STATIC_JABBER = STATIC_PRPLS.contains('jabber')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
819 STATIC_NOVELL = STATIC_PRPLS.contains('novell')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
820 STATIC_OSCAR = STATIC_PRPLS.contains('oscar') or STATIC_PRPLS.contains('aim') or STATIC_PRPLS.contains('icq')
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
821 STATIC_SAMETIME = STATIC_PRPLS.contains('sametime')
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
822 STATIC_SILC = STATIC_PRPLS.contains('silc')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
823 STATIC_SIMPLE = STATIC_PRPLS.contains('simple')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
824 STATIC_ZEPHYR = STATIC_PRPLS.contains('zephyr')
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
825 conf.set('STATIC_PROTO_LOAD',
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
826 ' '.join(extern_load) +
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
827 ' static void static_proto_load(void) { ' + ' '.join(load_proto) + ' }')
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
828 conf.set('STATIC_PROTO_UNLOAD',
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
829 ' '.join(extern_unload) +
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
830 ' static void static_proto_unload(void) { ' + ' '.join(unload_proto) + ' }')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
831
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
832 if dynamic_list == ['all']
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
833 dynamic_list = DEFAULT_PRPLS
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
834 endif
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
835 DYNAMIC_PRPLS = []
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
836 foreach prpl : dynamic_list
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
837 if prpl == ''
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
838 # The list was empty; do nothing.
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
839 elif prpl == 'sametime' and not enable_meanwhile
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
840 # Do nothing.
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
841 elif prpl == 'bonjour' and not enable_avahi
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
842 # Do nothing.
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
843 elif prpl == 'silc' and not have_silc
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
844 # Do nothing.
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
845 elif prpl == 'gg' and not have_libgadu
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
846 # Do nothing.
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
847 elif prpl == 'zephyr' and IS_WIN32
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
848 # Do nothing.
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
849 else
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
850 DYNAMIC_PRPLS += [prpl]
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
851 endif
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
852 endforeach
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
853
38443
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
854 DYNAMIC_BONJOUR = DYNAMIC_PRPLS.contains('bonjour')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
855 DYNAMIC_FACEBOOK = DYNAMIC_PRPLS.contains('facebook')
38784
d003e9305e58 Fix broken gg enabling.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38783
diff changeset
856 DYNAMIC_GG = DYNAMIC_PRPLS.contains('gg')
38443
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
857 DYNAMIC_IRC = DYNAMIC_PRPLS.contains('irc')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
858 DYNAMIC_JABBER = DYNAMIC_PRPLS.contains('jabber')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
859 DYNAMIC_NOVELL = DYNAMIC_PRPLS.contains('novell')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
860 DYNAMIC_NULL = DYNAMIC_PRPLS.contains('null')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
861 DYNAMIC_OSCAR = DYNAMIC_PRPLS.contains('oscar') or DYNAMIC_PRPLS.contains('aim') or DYNAMIC_PRPLS.contains('icq')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
862 DYNAMIC_SAMETIME = DYNAMIC_PRPLS.contains('sametime')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
863 DYNAMIC_SILC = DYNAMIC_PRPLS.contains('silc')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
864 DYNAMIC_SIMPLE = DYNAMIC_PRPLS.contains('simple')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
865 DYNAMIC_ZEPHYR = DYNAMIC_PRPLS.contains('zephyr')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
866
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
867 conf.set('HAVE_SYS_UTSNAME_H',
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
868 compiler.has_header('sys/utsname.h'))
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
869 conf.set('HAVE_UNAME',
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
870 compiler.has_function('uname'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
871
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
872
38524
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
873 add_project_arguments(
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
874 '-DPURPLE_DISABLE_DEPRECATED',
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
875 '-DPIDGIN_DISABLE_DEPRECATED',
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
876 '-DFINCH_DISABLE_DEPRECATED',
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
877 '-DGNT_DISABLE_DEPRECATED',
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
878 language : 'c')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
879 if compiler.get_id() == 'gcc'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
880 # We enable -Wall later.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
881 # If it's set after the warning CFLAGS in the compiler invocation, it counteracts the -Wno... flags.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
882 # This leads to warnings we don't want.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
883 # CFLAGS=`echo $CFLAGS |$sedpath 's/-Wall//'`
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
884
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
885 # ENABLE WARNINGS SUPPORTED BY THE VERSION OF GCC IN USE
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
886 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
887 # Future Possibilities
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
888 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
889 # Consider adding -Wbad-function-cast.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
890 # This leads to spurious warnings using GPOINTER_TO_INT(), et al. directly on a function call.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
891 # We'd need an intermediate variable.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
892 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
893 foreach newflag : [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
894 '-Waggregate-return',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
895 '-Wcast-align',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
896 '-Wdeclaration-after-statement',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
897 '-Wendif-labels',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
898 '-Werror-implicit-function-declaration',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
899 '-Wextra -Wno-unused-parameter',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
900 '-Wformat-security',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
901 '-Werror=format-security',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
902 '-Winit-self',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
903 '-Wmissing-declarations',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
904 '-Wmissing-noreturn',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
905 '-Wmissing-prototypes',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
906 '-Wpointer-arith',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
907 '-Wfloat-equal',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
908 '-Wundef']
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
909 if compiler.has_argument(newflag)
38523
2457e9c0f5de Use add_project_arguments instead of add_global_arguments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38520
diff changeset
910 add_project_arguments(newflag, language : 'c')
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
911 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
912 endforeach
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
913
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
914 if get_option('fortify')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
915 # AC_MSG_CHECKING(for FORTIFY_SOURCE support)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
916 # AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <features.h>]], [[
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
917 # #if !(__GNUC_PREREQ (4, 1) \
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
918 # || (defined __GNUC_RH_RELEASE__ && __GNUC_PREREQ (4, 0)) \
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
919 # || (defined __GNUC_RH_RELEASE__ && __GNUC_PREREQ (3, 4) \
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
920 # && __GNUC_MINOR__ == 4 \
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
921 # && (__GNUC_PATCHLEVEL__ > 2 \
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
922 # || (__GNUC_PATCHLEVEL__ == 2 && __GNUC_RH_RELEASE__ >= 8))))
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
923 # #error No FORTIFY_SOURCE support
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
924 # #endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
925 # return 0;
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
926 # ]])], [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
927 # AC_MSG_RESULT(yes)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
928 # DEBUG_CFLAGS='$DEBUG_CFLAGS -Wp,-D_FORTIFY_SOURCE=2'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
929 # ], [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
930 # AC_MSG_RESULT(no)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
931 # ])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
932 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
933 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
934 if SUNCC
38523
2457e9c0f5de Use add_project_arguments instead of add_global_arguments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38520
diff changeset
935 add_project_arguments('-features=extensions', language : 'c')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
936 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
937
38565
bda3c4b25b9b Fix building without pidgin installed
Mike Ruprecht <cmaiku@gmail.com>
parents: 38542
diff changeset
938 pidginpath = find_program('pidgin', required : false)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
939
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
940 if get_option('glib-errors-trace')
38506
ecd4dc017068 Remove commented stuff that should no longer be needed.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38505
diff changeset
941 if compiler.get_id() == 'clang'
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
942 error('--enable-glib-errors-trace doesn\'t work with clang')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
943 endif
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
944 conf.set('ENABLE_GLIBTRACE', true)
38523
2457e9c0f5de Use add_project_arguments instead of add_global_arguments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38520
diff changeset
945 add_project_arguments('-rdynamic', language : 'c')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
946 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
947
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
948 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
949 # Check for D-Bus libraries
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
950 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
951
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
952 # dbus doesn't compile for win32 at the moment
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
953 enable_dbus = get_option('dbus') and not IS_WIN32
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
954
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
955 if enable_dbus
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
956 dbus_binding_tool = find_program('dbus-binding-tool')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
957 enable_dbus = dbus_binding_tool.found()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
958 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
959
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
960 if enable_dbus
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
961 dbus = dependency('dbus-1', version : '>= 0.60', required : force_deps)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
962 dbus_glib = dependency('dbus-glib-1', version : '>= 0.60', required : force_deps)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
963 enable_dbus = dbus.found() and dbus_glib.found()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
964 else
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
965 dbus = []
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
966 dbus_glib = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
967 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
968
38526
35d66becac73 Remove checks for D-Bus services directory.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38525
diff changeset
969 if enable_dbus
35d66becac73 Remove checks for D-Bus services directory.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38525
diff changeset
970 conf.set('HAVE_DBUS', true)
35d66becac73 Remove checks for D-Bus services directory.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38525
diff changeset
971 endif
35d66becac73 Remove checks for D-Bus services directory.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38525
diff changeset
972
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
973 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
974 # Check for Unity and Messaging Menu
38531
0b7c991bc3e4 Clean up stuff from grim's review.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38529
diff changeset
975 # Remove when Ubuntu 16.04 is EOL
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
976 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
977 enable_unity = get_option('unity-integration')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
978 if enable_unity
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
979 UNITY = [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
980 dependency('unity', version : '>= 6.8'),
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
981 dependency('messaging-menu', version : '>= 12.10')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
982 ]
38509
551e37963d38 Fix some missing substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
983 conf.set('USES_MM_CHAT_SECTION', 'X-MessagingMenu-UsesChatSection=true')
38704
ba0c47533bb2 Fix Meson warning of undefined substitution.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38641
diff changeset
984 else
ba0c47533bb2 Fix Meson warning of undefined substitution.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38641
diff changeset
985 conf.set('USES_MM_CHAT_SECTION', '')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
986 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
987
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
988 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
989 # Check for Secret Service headers
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
990 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
991
38975
091556e47540 meson: Disable Secret Service keyring from building on Windows
Mike Ruprecht <cmaiku@gmail.com>
parents: 38938
diff changeset
992 enable_secret_service = get_option('secret-service') and not IS_WIN32
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
993 if enable_secret_service
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
994 secretservice = dependency('libsecret-1', required : force_deps)
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
995 if secretservice.found()
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
996 else
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
997 enable_secret_service = false
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
998 endif
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
999 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1000
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1001 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1002 # Check for GNOME Keyring headers
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1003 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1004
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
1005 enable_gnome_keyring = get_option('gnome-keyring') and not IS_WIN32
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1006
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1007 if enable_gnome_keyring
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1008 gnome_keyring = dependency('gnome-keyring-1', required : force_deps)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1009 if gnome_keyring.found()
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1010 conf.set('HAVE_GNOMEKEYRING', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1011 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1012 enable_gnome_keyring = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1013 endif
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
1014 else
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
1015 gnome_keyring = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1016 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1017
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1018 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1019 # Check for KWallet headers
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1020 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1021
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
1022 enable_kwallet = get_option('kwallet') and not IS_WIN32
38529
6b1f391a52ba Remove redundant option variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38528
diff changeset
1023 enable_kwallet = false
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1024
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1025 if enable_kwallet
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1026 # Ensure C++ compiler works
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1027 add_languages('cpp')
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1028 cxx_compiler = meson.get_compiler('cpp')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1029
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1030 qt4 = dependency('qt4', modules : 'Core', required : force_deps)
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1031 enable_kwallet = qt4.found()
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1032 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1033
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1034 if enable_kwallet
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1035 # AC_MSG_CHECKING([for metaobject compiler])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1036 # MOC=`$PKG_CONFIG --variable=moc_location QtCore`
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1037 # AC_SUBST(MOC)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1038 # AC_MSG_RESULT([$MOC])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1039 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1040 # KWALLET_CXXFLAGS=''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1041 # KWALLET_LIBS=''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1042 # if test -z '$with_kwallet_includes' || test -z '$with_kwallet_libs'; then
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1043 # AC_CHECK_PROG(KDE4_CONFIG, kde4-config, kde4-config, no)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1044 # if test 'x$KDE4_CONFIG' = 'xno'; then
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1045 # enable_kwallet = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1046 # if test 'x$force_deps' = 'xyes'; then
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1047 # AC_MSG_ERROR([
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1048 #kde4-config not found. $KDE4_CONFIG
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1049 #Use -Dkwallet=false if you do not need KWallet support.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1050 #])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1051 # fi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1052 # fi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1053 # fi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1054 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1055
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1056 if enable_kwallet
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
1057 # if test 'x$KDE4_CONFIG' != 'xno'; then
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1058 # KWALLET_CXXFLAGS='$QT4_CFLAGS -I`$KDE4_CONFIG --path include`'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1059 # fi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1060 # CPPFLAGS='$CPPFLAGS $KWALLET_CXXFLAGS'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1061 # AC_CHECK_HEADER([kwallet.h], , [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1062 # enable_kwallet = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1063 # if test 'x$force_deps' = 'xyes'; then
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1064 # AC_MSG_ERROR([
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1065 #KWallet development headers not found.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1066 #Use -Dkwallet=false if you do not need KWallet support.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1067 #])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1068 # fi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1069 #])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1070 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1071
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1072 if enable_kwallet
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1073 # AC_MSG_CHECKING([for KWallet libraries])
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
1074 # if test 'x$KDE4_CONFIG' != 'xno'; then
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1075 # KWALLET_LIBS='-L`$KDE4_CONFIG --install lib`/kde4/devel -lkdeui'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1076 # else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1077 # KWALLET_LIBS='-lkdeui'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1078 # fi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1079 # KWALLET_LIBS='$KWALLET_LIBS'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1080 # LIBS='$LIBS $KWALLET_LIBS $QT4_LIBS'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1081 # AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <kwallet.h>],
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1082 # [KWallet::Wallet::LocalWallet();])], [AC_MSG_RESULT([yes])],
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1083 # [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1084 # AC_MSG_RESULT(no)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1085 # enable_kwallet = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1086 # if test 'x$force_deps' = 'xyes'; then
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1087 # AC_MSG_ERROR([
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1088 #KWallet development libraries not found.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1089 #Use -Dkwallet=false if you do not need KWallet support.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1090 #])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1091 # fi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1092 # ])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1093 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1094
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1095 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1096 # Check for GPlugin 0.0.17
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1097 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1098 if get_option('plugins')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1099 gplugin = dependency('gplugin', version : '>= 0.0.17')
38512
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
1100 # GPLUGIN_REQ sets pkg-config requirements in the .pc file
38783
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38704
diff changeset
1101 GPLUGIN_REQ = ['gplugin']
38605
7822ba08659a meson: Make gobject-introspection optional
Mike Ruprecht <cmaiku@gmail.com>
parents: 38586
diff changeset
1102 enable_introspection = dependency('gobject-introspection-1.0',
7822ba08659a meson: Make gobject-introspection optional
Mike Ruprecht <cmaiku@gmail.com>
parents: 38586
diff changeset
1103 version : '>= 1.30.0', required : false).found()
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1104 else
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
1105 gplugin = []
38783
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38704
diff changeset
1106 GPLUGIN_REQ = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1107 enable_introspection = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1108 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1109
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1110 if enable_introspection
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1111 conf.set('ENABLE_INTROSPECTION', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1112 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1113
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1114 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1115 # Check for Python
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1116 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1117
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1118 # Python scripts are used to auto-generate about 3000 lines of C
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1119 # and XML code that wraps (part of) the existing API so that
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1120 # it is now accessible through D-Bus.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1121
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1122 if enable_dbus or enable_consoleui
38525
ad2a76edf6af Update Python dependencies.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38524
diff changeset
1123 if meson.version().version_compare('>=0.38.0')
ad2a76edf6af Update Python dependencies.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38524
diff changeset
1124 python3_mod = import('python3')
ad2a76edf6af Update Python dependencies.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38524
diff changeset
1125 python = python3_mod.find_python()
ad2a76edf6af Update Python dependencies.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38524
diff changeset
1126 else
ad2a76edf6af Update Python dependencies.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38524
diff changeset
1127 python = find_program('python3')
ad2a76edf6af Update Python dependencies.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38524
diff changeset
1128 endif
ad2a76edf6af Update Python dependencies.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38524
diff changeset
1129 endif
ad2a76edf6af Update Python dependencies.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38524
diff changeset
1130
ad2a76edf6af Update Python dependencies.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38524
diff changeset
1131 # Check for Python headers (currently useful only for libgnt)
ad2a76edf6af Update Python dependencies.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38524
diff changeset
1132 if enable_consoleui
ad2a76edf6af Update Python dependencies.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38524
diff changeset
1133 python_dep = dependency('python3')
ad2a76edf6af Update Python dependencies.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38524
diff changeset
1134 conf.set('USE_PYTHON', python_dep.found())
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1135 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1136
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1137 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1138 # SSL support
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1139 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1140
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1141 ssl_certificates_dir = get_option('system-ssl-certs')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1142
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1143 SSL_CERTIFICATES_DIR = ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1144 if ssl_certificates_dir != ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1145 if run_command('test', '-d', ssl_certificates_dir).returncode() != 0
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
1146 if IS_WIN32
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1147 message(ssl_certificates_dir + ' does not exist. It may be OK when cross-compiling, but please make sure about it.')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1148 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1149 error(ssl_certificates_dir + ' does not exist, if this is the correct location please make sure that it exists.')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1150 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1151 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1152 SSL_CERTIFICATES_DIR = ssl_certificates_dir
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1153 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1154 if SSL_CERTIFICATES_DIR != ''
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
1155 conf.set_quoted('SSL_CERTIFICATES_DIR', SSL_CERTIFICATES_DIR)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1156 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1157 INSTALL_SSL_CERTIFICATES = SSL_CERTIFICATES_DIR == ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1158
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1159 if get_option('plugins')
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1160 conf.set('PURPLE_PLUGINS', 1)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1161 PLUGINS = true
38509
551e37963d38 Fix some missing substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
1162 conf.set('PLUGINS_DEFINE', '#define PURPLE_PLUGINS 1')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1163 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1164 PLUGINS = false
38509
551e37963d38 Fix some missing substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
1165 conf.set('PLUGINS_DEFINE', '#undef PURPLE_PLUGINS')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1166 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1167
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1168 #######################################################################
38534
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1169 # Check for Nettle (Crypto Library)
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1170 #######################################################################
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1171
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1172 enable_nettle = get_option('nettle')
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1173
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1174 if enable_nettle
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1175 nettle = dependency('nettle', version : '>= 3.0')
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1176 enable_nettle = nettle.found()
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1177 conf.set('HAVE_NETTLE', enable_nettle)
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1178
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1179 if not enable_nettle and force_deps
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1180 error('''
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1181 Nettle development headers not found
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1182 Use -Dnettle=false if you do not need it.
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1183 ''')
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1184 endif
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1185 endif
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1186
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1187 #######################################################################
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1188 # Check for Cyrus-SASL (for xmpp/irc)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1189 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1190 foreach func : ['snprintf', 'connect']
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1191 conf.set('HAVE_' + func.to_upper(),
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1192 compiler.has_function(func))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1193 endforeach
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1194 enable_cyrus_sasl = get_option('cyrus-sasl')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1195 if enable_cyrus_sasl
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1196 if compiler.has_function('sasl_client_init', args : '-lsasl2')
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1197 conf.set('HAVE_CYRUS_SASL', true)
38447
024f841fe99a Add irc to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38443
diff changeset
1198 sasl = declare_dependency(link_args : '-lsasl2')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1199 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1200 error('Cyrus SASL library not found')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1201 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1202 else
38529
6b1f391a52ba Remove redundant option variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38528
diff changeset
1203 enable_cyrus_sasl = false
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
1204 sasl = []
38447
024f841fe99a Add irc to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38443
diff changeset
1205 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1206
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1207 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1208 # Check for Kerberos (for Zephyr)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1209 #######################################################################
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1210 conf.set('ZEPHYR_INT32', 'long')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1211 #AC_SUBST(KRB4_CFLAGS)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1212 #AC_SUBST(KRB4_LDFLAGS)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1213 #AC_SUBST(KRB4_LIBS)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1214 kerberos = get_option('krb4')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1215 if kerberos
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1216 if kerberos != 'yes'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1217 # KRB4_CFLAGS='-I${kerberos}/include'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1218 # if test -d '$kerberos/include/kerberosIV' ; then
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1219 # KRB4_CFLAGS='$KRB4_CFLAGS -I${kerberos}/include/kerberosIV'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1220 # fi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1221 # KRB4_LDFLAGS='-L${kerberos}/lib'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1222 elif run_command('test', '-d', '/usr/local/include/kerberosIV').returncode() == 0
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1223 # KRB4_CFLAGS='-I/usr/local/include/kerberosIV'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1224 elif run_command('test', '-d', '/usr/include/kerberosIV').returncode() == 0
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1225 # KRB4_CFLAGS='-I/usr/include/kerberosIV'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1226 endif
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1227 conf.set('ZEPHYR_USES_KERBEROS', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1228
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1229 # AC_CHECK_LIB(krb4, krb_rd_req,
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1230 # [KRB4_LIBS='-lkrb4 -ldes425 -lkrb5 -lk5crypto -lcom_err'],
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1231 # [AC_CHECK_LIB(krb, krb_rd_req,
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1232 # [KRB4_LIBS='-lkrb -ldes'],
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1233 # [AC_MSG_ERROR([Kerberos 4 libraries not found])],
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1234 # -ldes)],
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1235 # -ldes425 -lkrb5 -lk5crypto -lcom_err)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1236 # AC_CHECK_FUNCS(krb_set_key krb_rd_req krb_get_lrealm)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1237 # AC_CHECK_FUNCS(krb_get_err_text krb_log)
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
1238 krb4 = []
38456
43e01a578957 Add zephyr to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38453
diff changeset
1239 endif
43e01a578957 Add zephyr to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38453
diff changeset
1240 if not kerberos
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
1241 krb4 = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1242 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1243
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1244 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1245 # Check for external libzephyr
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1246 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1247 zephyr = get_option('zephyr')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1248 if zephyr
38503
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
1249 ext_zephyr = dependency('zephyr', required : force_deps)
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
1250 zephyr = ext_zephyr.found()
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
1251 else
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
1252 ext_zephyr = []
38456
43e01a578957 Add zephyr to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38453
diff changeset
1253 endif
38503
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
1254 EXTERNAL_LIBZEPHYR = zephyr
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
1255 conf.set('LIBZEPHYR_EXT', EXTERNAL_LIBZEPHYR)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1256
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1257 #AC_MSG_CHECKING(for me pot o' gold)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1258 #AC_MSG_RESULT(no)
38468
2add82b38ba5 Remove extra checks from meson build as well.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38465
diff changeset
1259 foreach func : ['gethostid', 'timegm']
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1260 conf.set('HAVE_' + func.to_upper(),
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1261 compiler.has_function(func))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1262 endforeach
38468
2add82b38ba5 Remove extra checks from meson build as well.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38465
diff changeset
1263 foreach header : 'paths.h sgtty.h sys/cdefs.h sys/file.h sys/filio.h sys/ioctl.h sys/msgbuf.h sys/select.h sys/uio.h sys/utsname.h sys/wait.h termios.h'.split()
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1264 conf.set('HAVE_' + header.to_upper().underscorify(),
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1265 compiler.has_header(header))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1266 endforeach
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1267
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1268 # sys/sysctl.h on OpenBSD 4.2 requires sys/param.h
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1269 # sys/sysctl.h on FreeBSD requires sys/types.h
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1270 have_sys_param_h = compiler.has_header('sys/param.h')
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1271 conf.set('HAVE_SYS_PARAM_H', have_sys_param_h)
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1272 prefix = '''
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1273 #include <sys/types.h>
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1274 '''
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1275 if have_sys_param_h
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1276 prefix += '''
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1277 #include <sys/param.h>
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1278 '''
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1279 endif
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1280 conf.set('HAVE_SYS_SYSCTL_H',
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1281 compiler.has_header('sys/sysctl.h', prefix : prefix))
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1282 conf.set('HAVE_SYS_SOCKET_H',
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1283 compiler.has_header('sys/socket.h'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1284 #AC_VAR_TIMEZONE_EXTERNALS
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1285
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1286 conf.set('HAVE_TM_GMTOFF',
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1287 compiler.has_member('struct tm', 'tm_gmtoff',
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1288 prefix : '#include<time.h>'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1289
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1290 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1291 # Disable pixmap installation
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1292 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1293 INSTALL_PIXMAPS = get_option('pixmaps-install')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1294
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1295 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1296 # Tweak status tray icon installation directory
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1297 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1298 ENABLE_TRAYCOMPAT = get_option('trayicon-compat')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1299
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1300 # check for gtk-doc
38515
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1301 ENABLE_DOC = get_option('doc')
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1302 if ENABLE_DOC
38631
89ded010f76c If we're compiling with gstreamer, make sure we includ the gstreamer gir when building the gir
Gary Kramlich <grim@reaperworld.com>
parents: 38600
diff changeset
1303 if meson.version().version_compare('<0.41.2')
38515
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1304 if force_deps
38631
89ded010f76c If we're compiling with gstreamer, make sure we includ the gstreamer gir when building the gir
Gary Kramlich <grim@reaperworld.com>
parents: 38600
diff changeset
1305 error('Meson 0.41.2 or newer is required to build documentation.')
38515
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1306 endif
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1307 ENABLE_DOC = false
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1308 endif
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1309 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1310
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1311 enable_debug = get_option('debug')
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1312 conf.set('DEBUG', enable_debug)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1313
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1314 PURPLE_AVAILABLE = true
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1315
38440
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
1316 # So that config.h may be found.
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
1317 toplevel_inc = include_directories('.')
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
1318
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1319 subdir('libpurple')
38459
68a239bd1d12 Add shared files to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38456
diff changeset
1320 subdir('share/sounds')
68a239bd1d12 Add shared files to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38456
diff changeset
1321 subdir('share/ca-certs')
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
1322 subdir('finch')
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38468
diff changeset
1323 subdir('pidgin')
38515
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1324 subdir('doc')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1325
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1326 configure_file(output : 'config.h',
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1327 configuration : conf)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1328
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1329 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1330 message('pidgin ' + purple_display_version)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1331
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1332 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1333 message('Build GTK+ UI................. : ' + get_option('gtkui').to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1334 message('Build console UI.............. : ' + enable_consoleui.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1335 message('Build for X11................. : ' + with_x.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1336 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1337 message('Enable Gestures............... : ' + enable_gestures.to_string())
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1338 message('Protocols to build dynamically : @0@'.format(DYNAMIC_PRPLS))
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1339 message('Protocols to link statically.. : @0@'.format(STATIC_PRPLS))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1340 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1341 message('Build with GStreamer support.. : ' + enable_gst.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1342 message('Build with D-Bus support...... : ' + enable_dbus.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1343 message('Build with voice and video.... : ' + enable_vv.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1344 message('Build with GNU Libidn......... : ' + get_option('idn').to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1345 if SSL_CERTIFICATES_DIR != ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1346 message('SSL CA certificates directory. : ' + SSL_CERTIFICATES_DIR)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1347 endif
38534
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
1348 message('Build with Nettle support..... : ' + enable_nettle.to_string())
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1349 message('Build with Cyrus SASL support. : ' + enable_cyrus_sasl.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1350 message('Use kerberos 4 with zephyr.... : ' + kerberos.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1351 message('Use external libzephyr........ : ' + zephyr.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1352 message('Install pixmaps............... : ' + INSTALL_PIXMAPS.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1353 message('Old tray icon compatibility... : ' + ENABLE_TRAYCOMPAT.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1354 message('Install translations.......... : ' + INSTALL_I18N.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1355 message('Has you....................... : yes')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1356 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1357 message('Build with Enchant support.... : ' + use_enchant.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1358 message('Build with GCR widgets........ : ' + enable_gcr.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1359 message('Build Unity integration plugin.: ' + enable_unity.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1360 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1361 message('Build with GNOME Keyring...... : ' + enable_gnome_keyring.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1362 message('Build with KWallet............ : ' + enable_kwallet.to_string())
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
1363 message('Build with Secret Service..... : ' + enable_secret_service.to_string())
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1364 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1365 message('Build with plugin support..... : ' + PLUGINS.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1366 message('Enable Introspection...........: ' + enable_introspection.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1367
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
1368 if IS_WIN32
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1369 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1370 message('Win32 directory structure..... : ' + get_option('win32-dirs'))
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1371 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1372
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1373 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1374 message('Print debugging messages...... : ' + enable_debug.to_string())
38515
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1375 message('Generate documentation........ : ' + ENABLE_DOC.to_string())
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1376 message('')
38527
7ea85d785dfa Use join_paths instead of manual path manipulations.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38526
diff changeset
1377 bindir = join_paths(get_option('prefix'), get_option('bindir'))
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1378 message('Pidgin will be installed in @0@.'.format(bindir))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1379 if pidginpath.found()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1380 message('Warning: You have an old copy of Pidgin at @0@.'.format(pidginpath.path()))
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1381 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1382 if not INSTALL_PIXMAPS
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1383 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1384 message('Warning: You have disabled the installation of pixmap data, but Pidgin')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1385 message('still requires installed pixmaps. Be sure you know what you are doing.')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1386 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1387 if not INSTALL_I18N
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1388 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1389 message('Warning: You have disabled the building and installation of translation')
38611
4cf9b6a6e259 Rename .desktop and .appdata files using reverse-DNS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38542
diff changeset
1390 message('data. This will prevent building Pidgin desktop files.')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1391 message('Be sure you know what you are doing.')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1392 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1393 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1394 message('configure complete, now type \'ninja\'')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1395 message('')

mercurial