meson.build

Thu, 22 Jun 2017 21:56:44 -0400

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Thu, 22 Jun 2017 21:56:44 -0400
branch
meson
changeset 38524
4b665cbc6aa7
parent 38523
2457e9c0f5de
child 38525
ad2a76edf6af
permissions
-rw-r--r--

Actually apply deprecation flags.

38480
49ba0ce64335 Require meson 0.37.0.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38479
diff changeset
1 project('pidgin', 'c', meson_version : '>0.36.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()
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
73 pkg_conf = configuration_data()
38440
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
74 version_conf = configuration_data()
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
75
38448
18c8f9843c82 Add jabber to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38447
diff changeset
76 conf.set('PACKAGE', '"@0@"'.format(meson.project_name()))
38449
cde4a085b70c Add msn to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38448
diff changeset
77 conf.set('PACKAGE_NAME', '"@0@"'.format(meson.project_name()))
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
78 conf.set('VERSION', '"@0@"'.format(purple_display_version))
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
79
38440
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
80 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
81 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
82 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
83 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
84 version_conf.set('PURPLE_API_VERSION',
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
85 purple_lt_current - purple_minor_version)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
86
38518
1c2e969922b8 Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38515
diff changeset
87 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
88 purple_minor_version,
1c2e969922b8 Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38515
diff changeset
89 purple_micro_version)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
90
38440
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
91 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
92 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
93 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
94 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
95 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
96
38518
1c2e969922b8 Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38515
diff changeset
97 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
98 gnt_minor_version,
1c2e969922b8 Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38515
diff changeset
99 gnt_micro_version)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
100
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
101 package_revision = vcs_tag(
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
102 input : 'package_revision.h.in',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
103 output : 'package_revision.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
104 fallback : meson.project_version())
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
105
38512
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
106 # For man pages.
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
107 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
108 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
109
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
110 # This is used for pkg-config files. This probably can be removed and the
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
111 # builtin generator used instead once we drop the Autotools build.
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
112 pkg_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
113 pkg_conf.set('PURPLE_MAJOR_VERSION', purple_major_version)
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
114 pkg_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
115 pkg_conf.set('exec_prefix', '${prefix}')
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
116 pkg_conf.set('libdir', join_paths('${exec_prefix}', get_option('libdir')))
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
117 pkg_conf.set('includedir', join_paths('${prefix}', get_option('includedir')))
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
118 pkg_conf.set('datarootdir', join_paths('${prefix}', get_option('datadir')))
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
119 pkg_conf.set('datadir', '${datarootdir}')
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
120 pkg_conf.set('sysconfdir', join_paths('${prefix}', get_option('sysconfdir')))
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
121
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
122 sedpath = find_program('sed')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
123
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
124 # Storing configure arguments
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
125 # conf.set('CONFIG_ARGS', ac_configure_args)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
126
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
127 # Checks for programs.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
128 compiler = meson.get_compiler('c')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
129
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
130 if compiler.has_function('alloca') # FIXME: Probably not enough.
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
131 conf.set('HAVE_ALLOCA_H', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
132 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
133 error('alloca could not be found')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
134 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
135
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
136 # Check for Sun compiler
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
137 SUNCC = compiler.compiles('void main() {__SUNPRO_C;};')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
138
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
139 # Check for Win32
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
140 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
141 windows = import('windows')
9e341a7537bd Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38486
diff changeset
142
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
143 IS_WIN32 = true
38486
046f00bc7f33 Properly search for Windows DNS/socket libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38485
diff changeset
144 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
145 dnsapi = compiler.find_library('dnsapi')
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
146 conf.set('IS_WIN32_CROSS_COMPILED', true)
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
147 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
148 else
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
149 IS_WIN32 = false
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
150 ws2_32 = []
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
151 dnsapi = []
38439
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
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
154 # Checks for header files.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
155 # 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
156 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
157
38468
2add82b38ba5 Remove extra checks from meson build as well.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38465
diff changeset
158 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
159 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
160 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
161 else
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
162 error(h + ' is required.')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
163 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
164 endforeach
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
165
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
166 # Checks for typedefs, structures, and compiler characteristics.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
167 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
168 prefix : '''
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
169 #include <stdio.h>
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
170 #include <time.h>
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
171 ''')
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
172 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
173
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
174 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
175
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
176 conf.set('USE_WIN32_FHS',
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
177 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
178
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
179 # Check for directories
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
180 if IS_WIN32
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
181 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
182 foreach dir : ['bin', 'lib', 'data', 'sysconf', 'locale']
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
183 path = get_option(dir + 'dir')
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
184 if not path.startswith('/')
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
185 path = get_option('prefix') + '/' + path
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
186 endif
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
187 conf.set('WIN32_FHS_@0@DIR'.format(dir.to_upper()), path)
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
188 endforeach
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
189
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
190 purple_libdir = 'wpurple_lib_dir("purple-@0@")'.format(purple_major_version)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
191 pidgin_libdir = 'wpurple_lib_dir("pidgin-@0@")'.format(purple_major_version)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
192 finch_libdir = 'wpurple_lib_dir("finch-@0@")'.format(purple_major_version)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
193 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
194 purple_libdir = 'wpurple_lib_dir(NULL)'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
195 pidgin_libdir = 'wpurple_lib_dir(NULL)'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
196 finch_libdir = 'wpurple_lib_dir(NULL)'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
197 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
198
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
199 purple_datadir = 'wpurple_data_dir()'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
200 purple_sysconfdir = 'wpurple_sysconf_dir()'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
201 purple_localedir = 'wpurple_locale_dir()'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
202 else
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
203 foreach dir : ['data', 'sysconf', 'locale']
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
204 path = get_option(dir + 'dir')
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
205 if not path.startswith('/')
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
206 path = get_option('prefix') + '/' + path
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
207 endif
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
208 set_variable('purple_@0@dir'.format(dir), '"@0@"'.format(path))
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
209 endforeach
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
210
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
211 common_libdir = get_option('libdir')
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
212 if not common_libdir.startswith('/')
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
213 common_libdir = get_option('prefix') + '/' + common_libdir
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
214 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
215 purple_libdir = '"@0@/purple-@1@"'.format(common_libdir, purple_major_version)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
216 pidgin_libdir = '"@0@/pidgin-@1@"'.format(common_libdir, purple_major_version)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
217 finch_libdir = '"@0@/finch-@1@"'.format(common_libdir, purple_major_version)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
218 endif
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
219 conf.set('PURPLE_DATADIR', purple_datadir)
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
220 conf.set('PURPLE_LIBDIR', purple_libdir)
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
221 conf.set('PIDGIN_LIBDIR', pidgin_libdir)
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
222 conf.set('FINCH_LIBDIR', finch_libdir)
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
223 conf.set('PURPLE_SYSCONFDIR', purple_sysconfdir)
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
224 conf.set('PURPLE_LOCALEDIR', purple_localedir)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
225
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
226 abslibdir = get_option('libdir')
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
227 if not abslibdir.startswith('/')
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
228 abslibdir = get_option('prefix') + '/' + abslibdir
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
229 endif
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
230 PURPLE_PLUGINDIR = '@0@/purple-@1@'.format(abslibdir, purple_major_version)
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
231 conf.set('PURPLE_PLUGINDIR', '"@0@"'.format(PURPLE_PLUGINDIR))
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
232 PIDGIN_PLUGINDIR = '@0@/pidgin-@1@'.format(abslibdir, purple_major_version)
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
233 conf.set('PIDGIN_PLUGINDIR', '"@0@"'.format(PIDGIN_PLUGINDIR))
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
234 FINCH_PLUGINDIR = '@0@/finch-@1@'.format(abslibdir, purple_major_version)
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
235 conf.set('FINCH_PLUGINDIR', '"@0@"'.format(FINCH_PLUGINDIR))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
236
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
237 # Checks for library functions.
38468
2add82b38ba5 Remove extra checks from meson build as well.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38465
diff changeset
238 foreach func : ['strdup']
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
239 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
240 compiler.has_function(func))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
241 endforeach
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
242 # Checks for getopt in standard library
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
243 if compiler.has_function('getopt_long')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
244 getopt_files = []
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
245 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
246 getopt_files = ['getopt.c', 'getopt1.c']
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
247 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
248
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
249 # Check for inet_aton
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
250 if not IS_WIN32
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
251 if not compiler.has_function('inet_aton')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
252 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
253 # 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
254 error('inet_aton not found')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
255 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
256 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
257 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
258 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
259 conf.set('HAVE_LIBNSL', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
260 endif
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
261 if IS_WIN32
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
262 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
263 conf.set('HAVE_INET_NTOP', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
264 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
265 if not compiler.has_function('socket')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
266 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
267 error('socket not found')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
268 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
269 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
270 # 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
271 # 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
272 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
273 conf.set('HAVE_GETADDRINFO', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
274 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
275 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
276 conf.set('HAVE_GETADDRINFO', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
277 # 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
278 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
279 endif
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
280 conf.set('HAVE_INET_NTOP',
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
281 compiler.has_function('inet_ntop'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
282 endif
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
283 conf.set('HAVE_GETIFADDRS',
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
284 compiler.has_function('getifaddrs'))
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
285
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
286 # Check for socklen_t (in Unix98)
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
287 if IS_WIN32
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
288 socket_header = 'ws2tcpip.h'
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
289 else
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
290 socket_header = 'sys/socket.h'
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
291 endif
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
292 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
293 code = '''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
294 #include <sys/types.h>
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
295 #include <@0@>
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
296 int accept(int, struct sockaddr *, size_t *);
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
297 int main() {}
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
298 '''.format(socket_header)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
299 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
300 conf.set('socklen_t', 'size_t')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
301 else
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
302 conf.set('socklen_t', 'int')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
303 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
304 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
305
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
306 # 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
307 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
308 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
309 prefix : '#include <@0@>'.format(socket_header)))
38439
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 # Check for v6-only sockets
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
312 if IS_WIN32
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
313 header = 'ws2tcpip.h'
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
314 else
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
315 header = 'netinet/in.h'
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
316 endif
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
317 conf.set('HAVE_IPV6_V6ONLY',
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
318 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
319
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
320 # FreeBSD doesn't have libdl, dlopen is provided by libc
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
321 if compiler.has_function('dlopen')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
322 LIBDL = ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
323 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
324 if compiler.has_function('dlopen', args : '-ldl')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
325 LIBDL = '-ldl'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
326 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
327 endif
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 # 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
330 # of the C library
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
331 math = compiler.find_library('m')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
332
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
333 code = '''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
334 #include <stdio.h>
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
335
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
336 int main(int argc, char *argv[])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
337 {
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
338 int fd;
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
339
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
340 fd = fileno(stdout);
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
341
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
342 return !(fd > 0);
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
343 }
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
344 '''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
345 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
346 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
347
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
348 code = '''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
349 #include <time.h>
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
350 #include <stdio.h>
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
351
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
352 int main()
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 char buf[64];
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
355 time_t t = time(NULL);
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
356
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
357 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
358 return 1;
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
359
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
360 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
361
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
362 return !((buf[0] == '-' || buf[0] == '+') &&
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
363 (buf[1] >= '0' && buf[1] <= '9') &&
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
364 (buf[2] >= '0' && buf[2] <= '9') &&
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
365 (buf[3] >= '0' && buf[3] <= '9') &&
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
366 (buf[4] >= '0' && buf[4] <= '9')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
367 );
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
368 }
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
369 '''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
370 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
371 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
372
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
373 # 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
374 IOKIT = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
375 if host_machine.system() == 'darwin'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
376 if compiler.has_header('CoreFoundation/CoreFoundation.h')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
377 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
378 conf.set('HAVE_IOKIT', true)
38508
d2fd9608f691 Properly add Apple Frameworks to build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38507
diff changeset
379 IOKIT = dependency('appleframeworks',
d2fd9608f691 Properly add Apple Frameworks to build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38507
diff changeset
380 modules : ['IOKit', 'CoreFoundation'])
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
381 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
382 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
383
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
384 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
385 # FIXME: Not done...
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
386 #CPPFLAGS="$CPPFLAGS -I/sw/include"
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
387 #LDFLAGS="$LDFLAGS -L/sw/lib"
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
388 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
389 endif
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 # # Disable creation and installation of translation files
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
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
395 INSTALL_I18N = get_option('nls')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
396
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
397 if INSTALL_I18N
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
398 subdir('po')
38473
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38469
diff changeset
399
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38469
diff changeset
400 intltool_merge = find_program('intltool-merge')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
401 endif
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 # #######################################################################
38520
3c293fc8515e Fix glib version requirement.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38518
diff changeset
404 # # Check for GLib 2.35 (required)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
405 # #######################################################################
38520
3c293fc8515e Fix glib version requirement.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38518
diff changeset
406 glib = dependency('glib-2.0', version : '>= 2.36.0')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
407 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
408 gmodule = dependency('gmodule-2.0')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
409 gobject = dependency('gobject-2.0')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
410 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
411 gnome = import('gnome')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
412
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
413 if get_option('extraversion') != ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
414 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
415 get_option('extraversion'))
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
416 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
417 DISPLAY_VERSION = meson.project_version()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
418 endif
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
419 conf.set('DISPLAY_VERSION', '"@0@"'.format(DISPLAY_VERSION))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
420
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
421 force_deps = not get_option('missing-dependencies')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
422
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
423 with_x = get_option('x') and not IS_WIN32
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
424
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
425 # #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
426 # # 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
427 # #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
428 enable_screensaver = get_option('screensaver')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
429 enable_sm = get_option('sm')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
430 enable_startup_notification = get_option('startup-notification')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
431 enable_enchant = get_option('enchant')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
432 enable_gevolution = get_option('gevolution')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
433 enable_cap = get_option('cap')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
434 enable_gestures = get_option('gestures')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
435 enable_gcr = get_option('gcr')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
436
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
437 # #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
438 # Check Pidgin dependencies
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
439 # #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
440 if get_option('gtkui')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
441 gtk = dependency('gtk+-3.0', version : '>= 3.0.0')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
442 # 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
443 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
444 conf.set('HAVE_PANGO14', pango.found())
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
445
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
446 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
447
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 # 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
450 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
451 # 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
452 # because webkit1 doesn't have this.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
453 use_enchant = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
454 if enable_enchant
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
455 use_enchant = true
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
456 enchant = dependency('enchant', required : force_deps)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
457 use_enchant = enchant.found()
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
458 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
459 else
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
460 enchant = []
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 # Check if we should compile with X support
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
465 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
466 if with_x
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
467 x11 = dependency('x11')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
468 if x11.found()
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
469 conf.set('HAVE_X11', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
470 else
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
471 with_x = false
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
472 if force_deps
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
473 error('''
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
474 X11 development headers not found.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
475 Use -Dx=false if you do not need X11 support.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
476 ''')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
477 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
478 endif
38500
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
479 endif
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
480 if not with_x
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
481 if enable_screensaver
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
482 msg = 'X support is required to build with XScreenSaver extensions'
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
483 if force_deps
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
484 error(msg)
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
485 else
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
486 message(msg)
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
487 endif
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
488 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
489 enable_screensaver = false
38500
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
490 if enable_sm
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
491 msg = 'X support is required to build with X session management support'
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
492 if force_deps
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
493 error(msg)
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
494 else
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
495 message(msg)
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
496 endif
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
497 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
498 enable_sm = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
499 enable_gestures = false
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
500 x11 = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
501 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
502
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
503 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
504 # Check for XScreenSaver
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
505 #######################################################################
38500
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
506 xss_libs = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
507 if enable_screensaver
38500
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
508 if compiler.has_function('XScreenSaverRegister',
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
509 args : ['-lXext', '-lX11', '-lXext', '-lm'])
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
510 xss_libs = ['-lXext', '-lX11', '-lXext', '-lm']
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
511 elif compiler.has_function('XScreenSaverRegister',
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
512 args : ['-lXss', '-lX11', '-lXext', '-lm'])
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
513 xss_libs = ['-lXss', '-lX11', '-lXext', '-lm']
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
514 endif
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
515 if xss_libs != []
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
516 if not compiler.has_header('X11/extensions/scrnsaver.h',
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
517 prefix : '#include <X11/Xlib.h>')
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
518 enable_screensaver = false
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
519 xss_libs = []
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38468
diff changeset
520 endif
38500
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
521 else
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
522 enable_screensaver = false
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
523 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
524
38500
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
525 if not enable_screensaver and force_deps
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
526 error('''
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
527 XScreenSaver extension development headers (libXScrnSaver-devel or libxss-dev) not found.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
528 Use -Dscreensaver=false if you do not need XScreenSaver extension support,
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
529 this is required for detecting idle time by mouse and keyboard usage.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
530 ''')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
531 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
532 endif
38500
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
533 conf.set('USE_SCREENSAVER', enable_screensaver)
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
534 xss = declare_dependency(
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
535 link_args : xss_libs
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
536 )
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
537
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
538 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
539 # Check for X session management libs
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 enable_sm
38500
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
542 enable_sm = false
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
543 found_sm_lib = compiler.has_function('SmcSaveYourselfDone',
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
544 args : '-lSM')
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
545 if found_sm_lib
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
546 if compiler.has_header('X11/SM/SMlib.h')
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
547 sm = declare_dependency(
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
548 link_args : ['-lSM', '-lICE']
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
549 )
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
550 enable_sm = true
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
551 endif
38500
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
552 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
553
38500
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
554 if not enable_sm and force_deps
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
555 error('''
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
556 X session management development headers not found.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
557 Use -Dsm=false if you do not need session management support.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
558 ''')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
559 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
560 endif
38500
c55c70790329 Simplify X11 and dependent library checks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38499
diff changeset
561 conf.set('USE_SM', enable_sm)
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38468
diff changeset
562 if not enable_sm
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
563 sm = []
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38468
diff changeset
564 endif
38439
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 # 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
568 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
569 if enable_gevolution
38503
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
570 evo_deps = [
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
571 ['libebook-1.2', []],
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
572 ['libedata-book-1.2', []],
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
573 ['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
574 ]
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
575 EVOLUTION_ADDRESSBOOK = []
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
576 foreach dep : evo_deps
38503
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
577 EVOLUTION_ADDRESSBOOK += [
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
578 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
579 ]
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
580 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
581 enable_gevolution = false
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
582 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
583 endforeach
38503
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
584 endif
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
585 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
586 if not enable_gevolution
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
587 EVOLUTION_ADDRESSBOOK = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
588 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
589
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
590 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
591 # 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
592 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
593 if enable_cap
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
594 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
595 enable_cap = SQLITE3.found()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
596 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
597
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
598 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
599 # Check for GCR for its certificate widgets
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 if enable_gcr
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
602 GCR = dependency('gcr-3', required : force_deps)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
603 if GCR.found()
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
604 conf.set('ENABLE_GCR', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
605 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
606 enable_gcr = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
607 endif
38503
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
608 else
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
609 GCR = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
610 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
611
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
612
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
613 else # GTK
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
614 enable_cap = false
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
615 enable_gcr = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
616 enable_gevolution = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
617 enable_screensaver = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
618 enable_sm = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
619 enable_startup_notification = false
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
620 use_enchant = false
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
621 endif # GTK
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
622
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
623 ENABLE_GTK = get_option('gtkui')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
624 BUILD_GEVOLUTION = enable_gevolution
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
625 ENABLE_CAP = enable_cap
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
626 ENABLE_GESTURES = enable_gestures
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
627 ENABLE_GCR = enable_gcr
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 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
631 # 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
632 #######################################################################
38461
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
633 ncurses_inc = []
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
634 ncurses_libs = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
635 enable_consoleui = get_option('consoleui')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
636 force_finch = enable_consoleui
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
637 if enable_consoleui
38461
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
638 ncurses_libs = [
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
639 compiler.find_library('ncursesw', required : false),
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
640 compiler.find_library('panelw', required : false)
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
641 ]
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
642 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
643 enable_consoleui = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
644 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
645
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
646 if IS_WIN32
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
647 # FIXME: $host ?
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
648 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
649 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
650 ncurses_sys_prefix = '/usr'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
651 endif
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 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
654 ncurses_sys_prefix + '/include']
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
655
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
656 if enable_consoleui
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
657 # 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
658 found_ncurses_h = false
38461
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
659 foreach location : ncurses_sys_dirs
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
660 f = location + '/ncurses.h'
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
661 if not found_ncurses_h
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
662 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
663 prefix : '#define _XOPEN_SOURCE_EXTENDED')
38461
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
664 if location != '.'
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
665 ncurses_inc += [include_directories(location)]
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
666 endif
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
667 found_ncurses_h = true
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
668 endif
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
669 endif
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
670 endforeach
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
671
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
672 if not found_ncurses_h
38461
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
673 ncurses_inc = []
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
674 ncurses_libs = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
675 enable_consoleui = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
676 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
677 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
678 # 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
679 ncurses_libs = [
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
680 compiler.find_library('ncurses', required : false),
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
681 compiler.find_library('panel', required : false)
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
682 ]
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
683 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
684 conf.set('NO_WIDECHAR', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
685 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
686 endif
38461
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
687 ncurses = declare_dependency(
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
688 include_directories : ncurses_inc,
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
689 dependencies : ncurses_libs
e0684ea74d72 Add libgnt to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38459
diff changeset
690 )
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
691
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
692 if force_finch and not enable_consoleui
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
693 error('''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
694
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
695 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
696
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
697 ''')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
698 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
699
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
700 ENABLE_GNT = enable_consoleui
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
701
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
702 #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
703
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
704 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
705 # Check for LibXML2 (required)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
706 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
707 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
708 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
709 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
710 endif
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 JSON-GLib (required)
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
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
716 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
717
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
718 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
719 # Check for zlib (required)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
720 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
721
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
722 zlib = dependency('zlib', version : '>= 1.2.0')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
723
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
724 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
725 # Check for GStreamer
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
726 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
727
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
728 enable_gst = get_option('gstreamer')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
729 if enable_gst
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
730 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
731 if gstreamer.found()
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
732 conf.set('USE_GSTREAMER', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
733 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
734 enable_gst = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
735 endif
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
736 else
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
737 gstreamer = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
738 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
739
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
740 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
741 # Check for GStreamer Video
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
742 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
743 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
744 if enable_gstvideo
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
745 gstreamer_video = dependency('gstreamer-video-1.0',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
746 required : false)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
747 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
748 conf.set('USE_GSTVIDEO', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
749 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
750 enable_gstvideo = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
751 endif
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
752 else
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
753 gstreamer_video = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
754 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
755
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
756 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
757 # Check for Farstream
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
758 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
759 if get_option('farstream')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
760 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
761 required : false)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
762 enable_farstream = farstream.found()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
763 else
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
764 farstream = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
765 enable_farstream = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
766 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
767
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
768 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
769 # Check for Voice and Video support
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
770 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
771 if get_option('vv')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
772 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
773 conf.set('USE_VV', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
774 enable_vv = true
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
775 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
776 if force_deps
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
777 error('''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
778 Dependencies for voice/video were not met.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
779 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
780 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
781 ''')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
782 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
783 enable_vv = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
784 endif
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
785 else
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
786 enable_vv = false
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
787 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
788 USE_VV = enable_vv
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
789
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
790 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
791 # 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
792 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
793 if enable_vv
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
794 gstreamer_app = dependency('gstreamer-app-1.0',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
795 required : false)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
796 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
797 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
798 conf.set('HAVE_MEDIA_APPLICATION', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
799 endif
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
800 else
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
801 gstreamer_app = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
802 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
803
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
804 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
805 # Check for Internationalized Domain Name support
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
806 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
807
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
808 if get_option('idn')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
809 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
810 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
811 else
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
812 idn = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
813 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
814
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
815 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
816 # Check for Meanwhile headers (for Sametime)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
817 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
818 if get_option('meanwhile')
38480
49ba0ce64335 Require meson 0.37.0.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38479
diff changeset
819 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
820 enable_meanwhile = meanwhile.found()
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
821 else
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
822 enable_meanwhile = false
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
823 meanwhile = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
824 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
825
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
826 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
827 # Check for Native Avahi headers (for Bonjour)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
828 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
829
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
830 enable_avahi = get_option('avahi')
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
831 avahi = []
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
832 if enable_avahi and IS_WIN32
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
833 # Just keep enabled.
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
834 elif enable_avahi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
835 # Attempt to autodetect Avahi
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
836 avahi_client = dependency('avahi-client', required : false)
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
837 avahi_glib = dependency('avahi-glib', required : false)
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
838 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
839 avahi = [avahi_client, avahi_glib]
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
840 else
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
841 enable_avahi = false
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
842 if force_deps
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
843 error('''
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
844 avahi development package not found.
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
845 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
846 ''')
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
847 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
848 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
849 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
850
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
851
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
852 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
853 # Check for SILC client includes and libraries
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
854 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
855 have_silc = false
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
856 if get_option('silc')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
857 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
858 if silc.found()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
859 have_silc = true
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
860 # 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
861 conf.set('HAVE_SILCMIME_H', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
862 else
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
863 if force_deps
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
864 error('''
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
865 SILC development package not found.
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
866 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
867 ''')
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
868 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
869 endif
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
870 endif
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 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
873 # Check for Gadu-Gadu protocol library (libgadu)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
874 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
875
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
876 enable_libgadu = get_option('libgadu')
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
877 if enable_libgadu
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
878 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
879 have_libgadu = libgadu.found()
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
880
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
881 if have_libgadu
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
882 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
883 have_libgadu = false
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
884 message('''
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
885 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
886
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
887 To link against libgadu, please recompile libgadu using:
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
888 ./configure --with-openssl=no
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
889 Then rerun this ./configure
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
890 ''')
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
891 endif
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
892 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
893
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
894 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
895 error('''
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
896 Libgadu development headers not found.
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
897 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
898 ''')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
899 endif
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
900 else
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
901 have_libgadu = false
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
902 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
903
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
904
38491
2dcf249eb9c1 Remove deleted prpls from meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38487
diff changeset
905 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
906 'oscar', 'sametime', 'silc', 'simple', 'zephyr']
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
907 ALL_PRPLS = DEFAULT_PRPLS + ['null']
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
908
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
909 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
910 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
911 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
912 dynamic_list = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
913 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
914
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
915 if static_list == ['all']
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
916 static_list = DEFAULT_PRPLS
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
917 endif
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
918 STATIC_PRPLS = []
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
919 foreach prpl : static_list
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
920 if prpl == ''
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
921 # 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
922 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
923 # Do nothing
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
924 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
925 # Do nothing
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
926 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
927 # Do nothing
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
928 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
929 # Do nothing
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
930 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
931 # Do nothing
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
932 else
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
933 STATIC_PRPLS += [prpl]
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
934 endif
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
935 endforeach
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
936 STATIC_LINK_LIBS = []
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
937 extern_load = []
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
938 load_proto = []
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
939 extern_unload = []
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
940 unload_proto = []
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
941 foreach prpl : STATIC_PRPLS
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
942 # 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
943 if prpl == 'silc'
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
944 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
945 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
946 # FIXME: Shouldn't be libtool:
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
947 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
948 endif
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
949 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
950 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
951 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
952 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
953 endforeach
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
954 STATIC_BONJOUR = STATIC_PRPLS.contains('bonjour')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
955 STATIC_FACEBOOK = STATIC_PRPLS.contains('facebook')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
956 STATIC_GG = STATIC_PRPLS.contains('gg')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
957 STATIC_IRC = STATIC_PRPLS.contains('irc')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
958 STATIC_JABBER = STATIC_PRPLS.contains('jabber')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
959 STATIC_NOVELL = STATIC_PRPLS.contains('novell')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
960 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
961 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
962 STATIC_SILC = STATIC_PRPLS.contains('silc')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
963 STATIC_SIMPLE = STATIC_PRPLS.contains('simple')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
964 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
965 conf.set('STATIC_PROTO_LOAD',
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
966 ' '.join(extern_load) +
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
967 ' 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
968 conf.set('STATIC_PROTO_UNLOAD',
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
969 ' '.join(extern_unload) +
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
970 ' 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
971
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
972 if dynamic_list == ['all']
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
973 dynamic_list = DEFAULT_PRPLS
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
974 endif
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
975 DYNAMIC_PRPLS = []
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
976 foreach prpl : dynamic_list
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
977 if prpl == ''
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
978 # 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
979 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
980 # Do nothing.
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
981 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
982 # Do nothing.
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
983 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
984 # Do nothing.
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
985 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
986 # Do nothing.
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
987 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
988 # Do nothing.
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
989 else
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
990 DYNAMIC_PRPLS += [prpl]
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
991 endif
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
992 endforeach
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
993
38443
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
994 DYNAMIC_BONJOUR = DYNAMIC_PRPLS.contains('bonjour')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
995 DYNAMIC_FACEBOOK = DYNAMIC_PRPLS.contains('facebook')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
996 DYNAMIC_GG = DYNAMIC_PRPLS.contains('gg ')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
997 DYNAMIC_IRC = DYNAMIC_PRPLS.contains('irc')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
998 DYNAMIC_JABBER = DYNAMIC_PRPLS.contains('jabber')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
999 DYNAMIC_NOVELL = DYNAMIC_PRPLS.contains('novell')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
1000 DYNAMIC_NULL = DYNAMIC_PRPLS.contains('null')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
1001 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
1002 DYNAMIC_SAMETIME = DYNAMIC_PRPLS.contains('sametime')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
1003 DYNAMIC_SILC = DYNAMIC_PRPLS.contains('silc')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
1004 DYNAMIC_SIMPLE = DYNAMIC_PRPLS.contains('simple')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
1005 DYNAMIC_ZEPHYR = DYNAMIC_PRPLS.contains('zephyr')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1006
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1007 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
1008 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
1009 conf.set('HAVE_UNAME',
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1010 compiler.has_function('uname'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1011
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1012
38524
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
1013 add_project_arguments(
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
1014 '-DPURPLE_DISABLE_DEPRECATED',
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
1015 '-DPIDGIN_DISABLE_DEPRECATED',
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
1016 '-DFINCH_DISABLE_DEPRECATED',
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
1017 '-DGNT_DISABLE_DEPRECATED',
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
1018 language : 'c')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1019 if compiler.get_id() == 'gcc'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1020 # We enable -Wall later.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1021 # 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
1022 # 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
1023 # CFLAGS=`echo $CFLAGS |$sedpath 's/-Wall//'`
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 # 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
1026 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1027 # Future Possibilities
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1028 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1029 # Consider adding -Wbad-function-cast.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1030 # 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
1031 # We'd need an intermediate variable.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1032 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1033 foreach newflag : [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1034 '-Waggregate-return',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1035 '-Wcast-align',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1036 '-Wdeclaration-after-statement',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1037 '-Wendif-labels',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1038 '-Werror-implicit-function-declaration',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1039 '-Wextra -Wno-unused-parameter',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1040 '-Wformat-security',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1041 '-Werror=format-security',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1042 '-Winit-self',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1043 '-Wmissing-declarations',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1044 '-Wmissing-noreturn',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1045 '-Wmissing-prototypes',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1046 '-Wpointer-arith',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1047 '-Wfloat-equal',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1048 '-Wundef']
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1049 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
1050 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
1051 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1052 endforeach
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1053
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1054 if get_option('fortify')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1055 # AC_MSG_CHECKING(for FORTIFY_SOURCE support)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1056 # 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
1057 # #if !(__GNUC_PREREQ (4, 1) \
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1058 # || (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
1059 # || (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
1060 # && __GNUC_MINOR__ == 4 \
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1061 # && (__GNUC_PATCHLEVEL__ > 2 \
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1062 # || (__GNUC_PATCHLEVEL__ == 2 && __GNUC_RH_RELEASE__ >= 8))))
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1063 # #error No FORTIFY_SOURCE support
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1064 # #endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1065 # return 0;
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1066 # ]])], [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1067 # AC_MSG_RESULT(yes)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1068 # 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
1069 # ], [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1070 # AC_MSG_RESULT(no)
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 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1073 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1074 if SUNCC
38523
2457e9c0f5de Use add_project_arguments instead of add_global_arguments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38520
diff changeset
1075 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
1076 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1077
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1078 pidginpath = find_program('pidgin')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1079
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1080 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
1081 if compiler.get_id() == 'clang'
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1082 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
1083 endif
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1084 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
1085 add_project_arguments('-rdynamic', language : 'c')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1086 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1087
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1088 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1089 # Check for D-Bus libraries
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
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1092 # 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
1093 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
1094
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1095 if enable_dbus
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1096 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
1097 enable_dbus = dbus_binding_tool.found()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1098 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1099
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1100 if enable_dbus
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1101 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
1102 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
1103 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
1104 else
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
1105 dbus = []
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
1106 dbus_glib = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1107 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1108
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 # Check for Unity and Messaging Menu
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1111 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1112 enable_unity = get_option('unity-integration')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1113 if enable_unity
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1114 UNITY = [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1115 dependency('unity', version : '>= 6.8'),
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1116 dependency('messaging-menu', version : '>= 12.10')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1117 ]
38509
551e37963d38 Fix some missing substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
1118 conf.set('USES_MM_CHAT_SECTION', 'X-MessagingMenu-UsesChatSection=true')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1119 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1120 ENABLE_UNITY = enable_unity
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 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1123 # Check for Secret Service headers
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1124 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1125
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
1126 enable_secret_service = get_option('secret-service')
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
1127 if enable_secret_service
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
1128 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
1129 if secretservice.found()
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
1130 else
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
1131 enable_secret_service = false
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
1132 endif
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
1133 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1134
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
1135 ENABLE_SECRETSERVICE = enable_secret_service
38439
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 # Check for GNOME Keyring headers
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
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
1141 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
1142
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1143 if enable_gnome_keyring
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1144 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
1145 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
1146 conf.set('HAVE_GNOMEKEYRING', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1147 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1148 enable_gnome_keyring = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1149 endif
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
1150 else
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
1151 gnome_keyring = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1152 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1153
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1154 ENABLE_GNOMEKEYRING = enable_gnome_keyring
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1155
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1156 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1157 # Check for KWallet headers
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
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
1160 enable_kwallet = get_option('kwallet') and not IS_WIN32
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1161
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1162 if enable_kwallet
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1163 # Ensure C++ compiler works
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1164 add_languages('cpp')
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1165 cxx_compiler = meson.get_compiler('cpp')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1166
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1167 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
1168 enable_kwallet = qt4.found()
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1169 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1170
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1171 if enable_kwallet
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1172 # AC_MSG_CHECKING([for metaobject compiler])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1173 # MOC=`$PKG_CONFIG --variable=moc_location QtCore`
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1174 # AC_SUBST(MOC)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1175 # AC_MSG_RESULT([$MOC])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1176 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1177 # KWALLET_CXXFLAGS=''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1178 # KWALLET_LIBS=''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1179 # 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
1180 # 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
1181 # if test 'x$KDE4_CONFIG' = 'xno'; then
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1182 # enable_kwallet = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1183 # if test 'x$force_deps' = 'xyes'; then
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1184 # AC_MSG_ERROR([
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1185 #kde4-config not found. $KDE4_CONFIG
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1186 #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
1187 #])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1188 # fi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1189 # fi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1190 # fi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1191 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1192
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1193 if enable_kwallet
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
1194 # 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
1195 # 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
1196 # fi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1197 # CPPFLAGS='$CPPFLAGS $KWALLET_CXXFLAGS'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1198 # AC_CHECK_HEADER([kwallet.h], , [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1199 # enable_kwallet = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1200 # if test 'x$force_deps' = 'xyes'; then
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1201 # AC_MSG_ERROR([
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1202 #KWallet development headers not found.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1203 #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
1204 #])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1205 # fi
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 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1208
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1209 if enable_kwallet
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1210 # AC_MSG_CHECKING([for KWallet libraries])
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
1211 # 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
1212 # 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
1213 # else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1214 # KWALLET_LIBS='-lkdeui'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1215 # fi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1216 # KWALLET_LIBS='$KWALLET_LIBS'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1217 # LIBS='$LIBS $KWALLET_LIBS $QT4_LIBS'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1218 # 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
1219 # [KWallet::Wallet::LocalWallet();])], [AC_MSG_RESULT([yes])],
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1220 # [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1221 # AC_MSG_RESULT(no)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1222 # enable_kwallet = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1223 # if test 'x$force_deps' = 'xyes'; then
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1224 # AC_MSG_ERROR([
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1225 #KWallet development libraries not found.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1226 #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
1227 #])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1228 # fi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1229 # ])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1230 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1231
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1232 ENABLE_KWALLET = enable_kwallet and false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1233
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1234 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1235 # Check for GPlugin 0.0.17
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1236 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1237 if get_option('plugins')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1238 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
1239 # GPLUGIN_REQ sets pkg-config requirements in the .pc file
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
1240 pkg_conf.set('GPLUGIN_REQ', ', gplugin')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1241 enable_introspection = true
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1242 else
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
1243 gplugin = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1244 enable_introspection = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1245 endif
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 if enable_introspection
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1248 conf.set('ENABLE_INTROSPECTION', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1249 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1250
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1251 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1252 # Check for Python
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1253 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1254
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1255 # 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
1256 # 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
1257 # it is now accessible through D-Bus.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1258
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1259 if enable_dbus or enable_consoleui
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1260 python = find_program('python3')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1261 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1262
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1263 ###########################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1264 # Find the D-Bus services dir.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1265 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1266 # This is a 3 step process that
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 # 1. checks if --with-dbus-services was set, if so use that.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1269 # 2. checks if --prefix was given, if so use that.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1270 # 3. fallbacks to installing into what should be the correct system
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1271 # directories.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1272 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1273 # This is still prone to error if one of the legacy directories exist
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1274 # although a newer dbus is installed. But I have tried to order the
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1275 # directory searching to keep this situation at a minimum.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1276 ###########################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1277
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1278 DBUS_SERVICES_DIR = ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1279 dbus_services = get_option('dbus-services')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1280
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1281 if enable_dbus
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1282 # AC_MSG_CHECKING([location of the D-Bus services directory])
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1283 if dbus_services != ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1284 if run_command('test', '-d', dbus_services).returncode() != 0
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1285 error(dbus_services + ' 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
1286 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1287
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1288 DBUS_SERVICES_DIR = dbus_services
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1289 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1290 if get_option('prefix') != ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1291 # no prefix given, so we look for the correct dbus system paths.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1292 # if a prefix is given, we use it.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1293
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1294 serviceprefixes = [get_option('prefix') + '/share', get_option('prefix') + '/lib', '/usr/share', '/usr/local/share']
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1295 DBUS_SERVICES_DIR = ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1296
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1297 foreach d : serviceprefixes
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1298 dir = d + '/dbus-1/services'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1299 if DBUS_SERVICES_DIR == '' and run_command('test', '-d', dir).returncode() == 0
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1300 DBUS_SERVICES_DIR = dir
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1301 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1302 endforeach
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1303
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1304 if DBUS_SERVICES_DIR == ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1305 error('D-Bus services directory was not found! Please use --with-dbus-services and specify its location.')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1306 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1307 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1308 DBUS_SERVICES_DIR = get_option('datadir') + '/dbus-1/services'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1309 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1310 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1311 # AC_MSG_RESULT([$DBUS_SERVICES_DIR])
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1312 conf.set('HAVE_DBUS', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1313 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1314 #AC_SUBST(DBUS_SERVICES_DIR)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1315
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1316 if enable_dbus
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1317 message('Building with D-Bus support')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1318 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1319 message('Building without D-Bus support')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1320 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1321
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1322 ENABLE_DBUS = enable_dbus
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1323
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1324 # Check for Python headers (currently useful only for libgnt)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1325 # (Thanks to XChat)
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1326 if enable_consoleui
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1327 python_dep = dependency('python')
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1328 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1329 #AC_SUBST(PY_CFLAGS)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1330 #AC_SUBST(PY_LIBS)
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 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1333 # SSL support
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1334 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1335
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1336 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
1337
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1338 SSL_CERTIFICATES_DIR = ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1339 if ssl_certificates_dir != ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1340 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
1341 if IS_WIN32
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1342 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
1343 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1344 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
1345 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1346 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1347 SSL_CERTIFICATES_DIR = ssl_certificates_dir
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1348 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1349 if SSL_CERTIFICATES_DIR != ''
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1350 conf.set('SSL_CERTIFICATES_DIR',
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1351 '"@0@"'.format(SSL_CERTIFICATES_DIR))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1352 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1353 INSTALL_SSL_CERTIFICATES = SSL_CERTIFICATES_DIR == ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1354
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1355 enable_gnutls = get_option('gnutls')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1356 have_gnutls = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1357 enable_nss = get_option('nss')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1358 have_nss = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1359
38491
2dcf249eb9c1 Remove deleted prpls from meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38487
diff changeset
1360 msg_ssl = 'None. Novell Groupwise and Google Talk will not work without GnuTLS or NSS. OpenSSL is NOT usable!'
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1361 msg_gnutls = ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1362 msg_nss = ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1363
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1364 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1365 # Check for GnuTLS if it isn't disabled
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1366 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1367 looked_for_gnutls = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1368 if enable_gnutls
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1369 looked_for_gnutls = true
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1370
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1371 # minimum required version should almost certainly be higher
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1372 gnutls = dependency('gnutls', version : '>= 2.10', required : false)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1373 have_gnutls = gnutls.found()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1374 if have_gnutls
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1375 conf.set('HAVE_GNUTLS', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1376 msg_gnutls = 'GnuTLS'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1377 endif
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
1378 else
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
1379 gnutls = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1380 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1381
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1382 USE_GNUTLS = have_gnutls
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1383
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1384 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1385 # Check for NSS if it isn't disabled
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1386 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1387 looked_for_nss = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1388 if enable_nss
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1389 looked_for_nss = true
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1390
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1391 # TODO: set required minimum version
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1392 nss = dependency('mozilla-nss', required : false)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1393 if nss.found()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1394 have_nss = true
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1395 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1396 # TODO: set required minimum version
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1397 nss = dependency('nss', required : false)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1398 have_nss = nss.found()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1399 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1400
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1401 if have_nss
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1402 conf.set('HAVE_NSS', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1403 msg_nss = 'Mozilla NSS'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1404 endif
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
1405 else
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38500
diff changeset
1406 nss = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1407 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1408
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1409 USE_NSS = have_nss
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1410
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1411
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1412 if msg_nss != '' and msg_gnutls != ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1413 msg_ssl = msg_nss + ' and ' + msg_gnutls
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1414 elif msg_nss != ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1415 msg_ssl = msg_nss
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1416 elif msg_gnutls != ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1417 msg_ssl = msg_gnutls
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1418 elif looked_for_gnutls and looked_for_nss and force_deps
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1419 error('''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1420 Neither GnuTLS or NSS SSL development headers found.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1421 Use -Dnss=false -Dgnutls=false if you do not need SSL support.
38491
2dcf249eb9c1 Remove deleted prpls from meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38487
diff changeset
1422 Novell Groupwise and Google Talk will not work without GnuTLS or NSS. OpenSSL is NOT usable!
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1423 ''')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1424 elif looked_for_gnutls and force_deps
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1425 error('''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1426 GnuTLS SSL development headers not found.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1427 Use -Dgnutls=false if you do not need SSL support.
38491
2dcf249eb9c1 Remove deleted prpls from meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38487
diff changeset
1428 Novell Groupwise and Google Talk will not work without SSL support.
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1429 ''')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1430 elif looked_for_nss and force_deps
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1431 error('''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1432 NSS SSL development headers not found.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1433 Use -Dnss=false if you do not need SSL support.
38491
2dcf249eb9c1 Remove deleted prpls from meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38487
diff changeset
1434 Novell Groupwise and Google Talk will not work without SSL support.
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1435 ''')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1436 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1437
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1438 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
1439 conf.set('PURPLE_PLUGINS', 1)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1440 PLUGINS = true
38509
551e37963d38 Fix some missing substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
1441 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
1442 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1443 PLUGINS = false
38509
551e37963d38 Fix some missing substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
1444 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
1445 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1446
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1447 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1448 # Check for Cyrus-SASL (for xmpp/irc)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1449 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1450 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
1451 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
1452 compiler.has_function(func))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1453 endforeach
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1454 enable_cyrus_sasl = get_option('cyrus-sasl')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1455 if enable_cyrus_sasl
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1456 if compiler.has_function('sasl_client_init', args : '-lsasl2')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1457 USE_CYRUS_SASL = true
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1458 conf.set('HAVE_CYRUS_SASL', true)
38447
024f841fe99a Add irc to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38443
diff changeset
1459 sasl = declare_dependency(link_args : '-lsasl2')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1460 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1461 USE_CYRUS_SASL = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1462 error('Cyrus SASL library not found')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1463 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1464 else
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1465 USE_CYRUS_SASL = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1466 endif
38447
024f841fe99a Add irc to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38443
diff changeset
1467 if not USE_CYRUS_SASL
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
1468 sasl = []
38447
024f841fe99a Add irc to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38443
diff changeset
1469 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1470
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1471 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1472 # Check for Kerberos (for Zephyr)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1473 #######################################################################
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1474 conf.set('ZEPHYR_INT32', 'long')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1475 #AC_SUBST(KRB4_CFLAGS)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1476 #AC_SUBST(KRB4_LDFLAGS)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1477 #AC_SUBST(KRB4_LIBS)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1478 kerberos = get_option('krb4')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1479 if kerberos
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1480 if kerberos != 'yes'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1481 # KRB4_CFLAGS='-I${kerberos}/include'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1482 # if test -d '$kerberos/include/kerberosIV' ; then
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1483 # 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
1484 # fi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1485 # KRB4_LDFLAGS='-L${kerberos}/lib'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1486 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
1487 # KRB4_CFLAGS='-I/usr/local/include/kerberosIV'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1488 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
1489 # KRB4_CFLAGS='-I/usr/include/kerberosIV'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1490 endif
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1491 conf.set('ZEPHYR_USES_KERBEROS', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1492
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1493 # AC_CHECK_LIB(krb4, krb_rd_req,
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1494 # [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
1495 # [AC_CHECK_LIB(krb, krb_rd_req,
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1496 # [KRB4_LIBS='-lkrb -ldes'],
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1497 # [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
1498 # -ldes)],
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1499 # -ldes425 -lkrb5 -lk5crypto -lcom_err)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1500 # 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
1501 # 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
1502 krb4 = []
38456
43e01a578957 Add zephyr to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38453
diff changeset
1503 endif
43e01a578957 Add zephyr to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38453
diff changeset
1504 if not kerberos
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
1505 krb4 = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1506 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1507
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1508 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1509 # Check for external libzephyr
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1510 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1511 zephyr = get_option('zephyr')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1512 if zephyr
38503
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
1513 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
1514 zephyr = ext_zephyr.found()
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
1515 else
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
1516 ext_zephyr = []
38456
43e01a578957 Add zephyr to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38453
diff changeset
1517 endif
38503
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
1518 EXTERNAL_LIBZEPHYR = zephyr
fbf8f6020744 Fix Meson build with mostly everything enabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38502
diff changeset
1519 conf.set('LIBZEPHYR_EXT', EXTERNAL_LIBZEPHYR)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1520
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1521 #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
1522 #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
1523 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
1524 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
1525 compiler.has_function(func))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1526 endforeach
38468
2add82b38ba5 Remove extra checks from meson build as well.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38465
diff changeset
1527 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
1528 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
1529 compiler.has_header(header))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1530 endforeach
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1531
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1532 # 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
1533 # 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
1534 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
1535 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
1536 prefix = '''
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1537 #include <sys/types.h>
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1538 '''
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1539 if have_sys_param_h
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1540 prefix += '''
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1541 #include <sys/param.h>
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1542 '''
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1543 endif
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1544 conf.set('HAVE_SYS_SYSCTL_H',
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1545 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
1546 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
1547 compiler.has_header('sys/socket.h'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1548 #AC_VAR_TIMEZONE_EXTERNALS
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1549
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
1550 conf.set('HAVE_TM_GMTOFF',
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1551 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
1552 prefix : '#include<time.h>'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1553
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1554 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1555 # Disable pixmap installation
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1556 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1557 INSTALL_PIXMAPS = get_option('pixmaps-install')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1558
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1559 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1560 # Tweak status tray icon installation directory
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1561 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1562 ENABLE_TRAYCOMPAT = get_option('trayicon-compat')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1563
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1564 # check for gtk-doc
38515
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1565 ENABLE_DOC = get_option('doc')
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1566 if ENABLE_DOC
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1567 if meson.version().version_compare('<0.42.0')
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1568 if force_deps
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1569 error('Meson 0.42.0 or newer is required to build documentation.')
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1570 endif
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1571 ENABLE_DOC = false
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1572 endif
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1573 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1574
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1575 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
1576 conf.set('DEBUG', enable_debug)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1577
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1578 PURPLE_AVAILABLE = true
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1579
38440
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
1580 # 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
1581 toplevel_inc = include_directories('.')
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
1582
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1583 subdir('libpurple')
38459
68a239bd1d12 Add shared files to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38456
diff changeset
1584 subdir('share/sounds')
68a239bd1d12 Add shared files to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38456
diff changeset
1585 subdir('share/ca-certs')
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
1586 subdir('finch')
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38468
diff changeset
1587 subdir('pidgin')
38515
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
1588 subdir('doc')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1589
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1590 configure_file(output : 'config.h',
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1591 configuration : conf)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1592
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1593 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1594 message('pidgin ' + purple_display_version)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1595
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1596 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1597 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
1598 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
1599 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
1600 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1601 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
1602 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
1603 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
1604 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1605 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
1606 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
1607 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
1608 if enable_dbus
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1609 message('D-Bus services directory...... :' + DBUS_SERVICES_DIR)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1610 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1611 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
1612 message('SSL Library/Libraries......... : ' + msg_ssl)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1613 if SSL_CERTIFICATES_DIR != ''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1614 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
1615 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1616 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
1617 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
1618 message('Use external libzephyr........ : ' + zephyr.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1619 message('Install pixmaps............... : ' + INSTALL_PIXMAPS.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1620 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
1621 message('Install translations.......... : ' + INSTALL_I18N.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1622 message('Has you....................... : yes')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1623 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1624 message('Use XScreenSaver Extension.... : ' + enable_screensaver.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1625 message('Use X Session Management...... : ' + enable_sm.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1626 message('Use startup notification...... : ' + enable_startup_notification.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1627 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
1628 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
1629 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
1630 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1631 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
1632 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
1633 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
1634 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1635 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
1636 message('Enable Introspection...........: ' + enable_introspection.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1637
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
1638 if IS_WIN32
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1639 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1640 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
1641 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1642
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1643 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1644 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
1645 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
1646 message('')
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1647 bindir = get_option('bindir')
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1648 if not bindir.startswith('/')
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1649 bindir = get_option('prefix') + '/' + bindir
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1650 endif
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
1651 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
1652 if pidginpath.found()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1653 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
1654 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1655 if not INSTALL_PIXMAPS
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1656 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1657 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
1658 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
1659 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1660 if not INSTALL_I18N
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1661 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1662 message('Warning: You have disabled the building and installation of translation')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1663 message('data. This will prevent building pidgin.desktop and the GConf schemas.')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1664 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
1665 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1666 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1667 message('configure complete, now type \'ninja\'')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1668 message('')

mercurial