Fri, 28 Feb 2025 14:00:25 -0600
Update the xeme version and standardize its name in the build system
Testing Done:
Called in the turtles after running `meson subprojects update`
Reviewed at https://reviews.imfreedom.org/r/3866/
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
1 | # UPDATING VERSION NUMBERS FOR RELEASES |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
2 | # |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
3 | # The version number is: |
|
40206
566c210f7003
Add PURPLE_VERSION and PURPLE_EXTRA_VERSION to libpurple/version.h and clean up some other related stuff
Gary Kramlich <grim@reaperworld.com>
parents:
40193
diff
changeset
|
4 | # <major>.<minor>.<micro><extra> |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
5 | # |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
6 | # micro += 1 |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
7 | # |
| 42678 | 8 | # If any functions have been added to libpurple or Pidgin: |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
9 | # micro = 0 |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
10 | # minor += 1 |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
11 | # |
| 42678 | 12 | # If backwards compatibility has been broken in libpurple or Pidgin: |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
13 | # micro = 0 |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
14 | # minor = 0 |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
15 | # major += 1 |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
16 | # purple_soversion += 1 |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
17 | # |
|
40206
566c210f7003
Add PURPLE_VERSION and PURPLE_EXTRA_VERSION to libpurple/version.h and clean up some other related stuff
Gary Kramlich <grim@reaperworld.com>
parents:
40193
diff
changeset
|
18 | # extra should be similar to one of the following: |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
19 | # For beta releases: '-beta2' |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
20 | # For code under development: '-devel' |
|
38439
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 | # |
|
43134
dd4dc828a49d
Switch the meson project name to pidgin3
Gary Kramlich <grim@reaperworld.com>
parents:
43123
diff
changeset
|
23 | project('pidgin3', 'c', |
|
43122
1f63e7d9d689
Prepare for the next round of development
Gary Kramlich <grim@reaperworld.com>
parents:
43120
diff
changeset
|
24 | version : '2.90.2-devel', |
| 42621 | 25 | meson_version : '>=1.0.0', |
|
42073
31532581724a
Set our global C standard to C17 and warning_level to 2
Gary Kramlich <grim@reaperworld.com>
parents:
42033
diff
changeset
|
26 | default_options : ['c_std=c17', 'warning_level=2']) |
|
42010
3820d0d16092
Change the soname of libpurple to libpurple3
Gary Kramlich <grim@reaperworld.com>
parents:
41921
diff
changeset
|
27 | purple_soversion = 0 |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
28 | |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
29 | parts = meson.project_version().split('-') |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
30 | if parts.length() > 1 |
|
40206
566c210f7003
Add PURPLE_VERSION and PURPLE_EXTRA_VERSION to libpurple/version.h and clean up some other related stuff
Gary Kramlich <grim@reaperworld.com>
parents:
40193
diff
changeset
|
31 | purple_extra_version = parts[1] |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
32 | else |
|
40206
566c210f7003
Add PURPLE_VERSION and PURPLE_EXTRA_VERSION to libpurple/version.h and clean up some other related stuff
Gary Kramlich <grim@reaperworld.com>
parents:
40193
diff
changeset
|
33 | purple_extra_version = '' |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
34 | endif |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
35 | |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
36 | parts = parts[0].split('.') |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
37 | purple_major_version = parts[0] |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
38 | purple_minor_version = parts[1] |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
39 | purple_micro_version = parts[2] |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
40 | |
|
42980
6781522ea5f3
Add a purple_api_minor version to complement purple_api_major_version
Gary Kramlich <grim@reaperworld.com>
parents:
42978
diff
changeset
|
41 | # purple_api_major_version and purple_api_minor_version should generally match |
|
6781522ea5f3
Add a purple_api_minor version to complement purple_api_major_version
Gary Kramlich <grim@reaperworld.com>
parents:
42978
diff
changeset
|
42 | # purple_major_version and purple_minor_version. However, when working towards |
|
6781522ea5f3
Add a purple_api_minor version to complement purple_api_major_version
Gary Kramlich <grim@reaperworld.com>
parents:
42978
diff
changeset
|
43 | # a new major version, these numbers should be set to the new major and new |
|
6781522ea5f3
Add a purple_api_minor version to complement purple_api_major_version
Gary Kramlich <grim@reaperworld.com>
parents:
42978
diff
changeset
|
44 | # minor versions while the meson project version should be something |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
45 | # like 2.90.0. This allows us to get the versioning sane, while changing the |
|
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
46 | # major version. |
|
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
47 | purple_api_major_version = '3' |
|
42980
6781522ea5f3
Add a purple_api_minor version to complement purple_api_major_version
Gary Kramlich <grim@reaperworld.com>
parents:
42978
diff
changeset
|
48 | purple_api_minor_version = '0' |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
49 | |
|
42454
37bcbcd66c6f
Set our gettext package to pidgin3 so it can we can install next to pidgin2
Gary Kramlich <grim@reaperworld.com>
parents:
42410
diff
changeset
|
50 | GETTEXT_PACKAGE='pidgin3' |
|
41485
74a04628357f
Remove some no longer necessary meson options
Gary Kramlich <grim@reaperworld.com>
parents:
41402
diff
changeset
|
51 | find_program('gettext') |
|
74a04628357f
Remove some no longer necessary meson options
Gary Kramlich <grim@reaperworld.com>
parents:
41402
diff
changeset
|
52 | find_program('xgettext') |
|
40439
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
53 | |
|
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
54 | add_project_arguments([ |
|
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
55 | '-DVERSION="@0@"'.format(meson.project_version()), |
|
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
56 | '-DDISPLAY_VERSION="@0@"'.format(meson.project_version()), |
| 40481 | 57 | '-DPURPLE_WEBSITE="https://pidgin.im/"', |
|
41888
9db0b73c8fab
Take advantage of f-strings in Meson
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41887
diff
changeset
|
58 | f'-DGETTEXT_PACKAGE="@GETTEXT_PACKAGE@"'], |
|
40439
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
59 | language : 'c') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
60 | conf = configuration_data() |
|
38512
a8ee459a518c
Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38510
diff
changeset
|
61 | man_conf = configuration_data() |
|
38440
98da84139485
Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38439
diff
changeset
|
62 | version_conf = configuration_data() |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
63 | |
|
40439
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
64 | conf.set_quoted('GETTEXT_PACKAGE', GETTEXT_PACKAGE) |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
65 | conf.set_quoted('VERSION', meson.project_version()) |
|
40206
566c210f7003
Add PURPLE_VERSION and PURPLE_EXTRA_VERSION to libpurple/version.h and clean up some other related stuff
Gary Kramlich <grim@reaperworld.com>
parents:
40193
diff
changeset
|
66 | conf.set_quoted('DISPLAY_VERSION', meson.project_version()) |
|
38441
f8a1733e22bf
Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38440
diff
changeset
|
67 | |
|
42564
867b39d2bc08
Add the cpu, cpu_family, and endianness of the host machine to the about dialog
Gary Kramlich <grim@reaperworld.com>
parents:
42547
diff
changeset
|
68 | conf.set_quoted('PURPLE_BUILD_CPU', host_machine.cpu()) |
|
867b39d2bc08
Add the cpu, cpu_family, and endianness of the host machine to the about dialog
Gary Kramlich <grim@reaperworld.com>
parents:
42547
diff
changeset
|
69 | conf.set_quoted('PURPLE_BUILD_ARCHITECTURE', host_machine.cpu_family()) |
|
867b39d2bc08
Add the cpu, cpu_family, and endianness of the host machine to the about dialog
Gary Kramlich <grim@reaperworld.com>
parents:
42547
diff
changeset
|
70 | conf.set_quoted('PURPLE_BUILD_ENDIANNESS', host_machine.endian()) |
|
42886
d9d26508be61
Automatically turn on print debugging in debug builds
Gary Kramlich <grim@reaperworld.com>
parents:
42850
diff
changeset
|
71 | conf.set_quoted('PURPLE_BUILD_BUILDTYPE', get_option('buildtype')) |
|
42923
09fb857fb48c
Some random cleanup in Pidgin.Application
Gary Kramlich <grim@reaperworld.com>
parents:
42910
diff
changeset
|
72 | conf.set('PURPLE_DEBUG', get_option('debug')) |
|
42564
867b39d2bc08
Add the cpu, cpu_family, and endianness of the host machine to the about dialog
Gary Kramlich <grim@reaperworld.com>
parents:
42547
diff
changeset
|
73 | |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
74 | version_conf.set('PURPLE_API_MAJOR_VERSION', purple_api_major_version) |
|
38440
98da84139485
Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38439
diff
changeset
|
75 | 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
|
76 | 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
|
77 | version_conf.set('PURPLE_MICRO_VERSION', purple_micro_version) |
|
40206
566c210f7003
Add PURPLE_VERSION and PURPLE_EXTRA_VERSION to libpurple/version.h and clean up some other related stuff
Gary Kramlich <grim@reaperworld.com>
parents:
40193
diff
changeset
|
78 | version_conf.set('PURPLE_EXTRA_VERSION', purple_extra_version) |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
79 | version_conf.set('PURPLE_VERSION', meson.project_version()) |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
80 | version_conf.set('PURPLE_API_VERSION', purple_soversion) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
81 | |
|
41888
9db0b73c8fab
Take advantage of f-strings in Meson
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41887
diff
changeset
|
82 | PURPLE_LIB_VERSION = f'@purple_soversion@.@purple_minor_version@.@purple_micro_version@' |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
83 | |
|
38462
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38461
diff
changeset
|
84 | package_revision = vcs_tag( |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38461
diff
changeset
|
85 | input : 'package_revision.h.in', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38461
diff
changeset
|
86 | output : 'package_revision.h', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38461
diff
changeset
|
87 | fallback : meson.project_version()) |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38461
diff
changeset
|
88 | |
|
42847
fbb0d252bc35
Move the documentation into more appropriate places
Gary Kramlich <grim@reaperworld.com>
parents:
42846
diff
changeset
|
89 | # Global variable for doc targets to add themselves to which we use for the |
|
fbb0d252bc35
Move the documentation into more appropriate places
Gary Kramlich <grim@reaperworld.com>
parents:
42846
diff
changeset
|
90 | # doc alias below. |
|
fbb0d252bc35
Move the documentation into more appropriate places
Gary Kramlich <grim@reaperworld.com>
parents:
42846
diff
changeset
|
91 | doc_targets = [] |
|
fbb0d252bc35
Move the documentation into more appropriate places
Gary Kramlich <grim@reaperworld.com>
parents:
42846
diff
changeset
|
92 | |
|
41066
00e6bda3ef95
Add a Meson devenv configuration.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41060
diff
changeset
|
93 | # For running `meson devenv`. |
|
00e6bda3ef95
Add a Meson devenv configuration.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41060
diff
changeset
|
94 | devenv = environment() |
|
00e6bda3ef95
Add a Meson devenv configuration.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41060
diff
changeset
|
95 | |
|
42814
59e6529a1e78
Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
96 | # Set G_ENABLE_DIAGNOSTIC so we get warnings about deprecated signals and |
|
59e6529a1e78
Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
97 | # properties. |
|
59e6529a1e78
Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
98 | devenv.set('G_ENABLE_DIAGNOSTIC', '1') |
|
59e6529a1e78
Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
99 | |
|
38512
a8ee459a518c
Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38510
diff
changeset
|
100 | # For man pages. |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
101 | man_conf.set('VERSION', meson.project_version()) |
|
38512
a8ee459a518c
Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38510
diff
changeset
|
102 | 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
|
103 | |
|
38783
93d9173b62c8
Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38704
diff
changeset
|
104 | # Used for pkg-config files. |
|
93d9173b62c8
Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38704
diff
changeset
|
105 | pkgconfig = import('pkgconfig') |
|
38512
a8ee459a518c
Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38510
diff
changeset
|
106 | |
|
38538
b542a6787116
Add meson arguments to About dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38537
diff
changeset
|
107 | # Storing build arguments |
|
42357
0073491e35ff
Fix postconf script when used as a subproject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42289
diff
changeset
|
108 | meson.add_postconf_script('mkmesonconf.py', meson.project_build_root()) |
|
39947
f551e29dba6b
Bump minimum Meson to 0.47.0.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39932
diff
changeset
|
109 | conf.set('HAVE_MESON_CONFIG', true) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
110 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
111 | # Checks for programs. |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
112 | compiler = meson.get_compiler('c') |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
113 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
114 | # Check for Sun compiler |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
115 | SUNCC = compiler.compiles('void main() {__SUNPRO_C;};') |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
116 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
117 | # Check for Win32 |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
118 | 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
|
119 | windows = import('windows') |
|
9e341a7537bd
Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38486
diff
changeset
|
120 | |
|
38505
34ec73e49cd8
Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38503
diff
changeset
|
121 | IS_WIN32 = true |
|
38486
046f00bc7f33
Properly search for Windows DNS/socket libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38485
diff
changeset
|
122 | 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
|
123 | 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
|
124 | conf.set('WIN32_LEAN_AND_MEAN', true) |
|
39087
ac9849be4a10
win32: Define libpidgin DLL name in meson to avoid needing to change it
Mike Ruprecht <cmaiku@gmail.com>
parents:
39084
diff
changeset
|
125 | |
|
43089
0e1498cd22b2
Fix DLL name for Windows loader
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42983
diff
changeset
|
126 | conf.set('LIBPIDGIN_DLL_NAMEW', f'L"libpidgin3-@purple_soversion@.dll"') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
127 | else |
|
38505
34ec73e49cd8
Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38503
diff
changeset
|
128 | IS_WIN32 = false |
|
38499
4f6cafbbf4f1
Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38497
diff
changeset
|
129 | ws2_32 = [] |
|
4f6cafbbf4f1
Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38497
diff
changeset
|
130 | dnsapi = [] |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
131 | endif |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
132 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
133 | # Check for directories |
|
38505
34ec73e49cd8
Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38503
diff
changeset
|
134 | if IS_WIN32 |
|
39084
b3aeca5f3dac
Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents:
39049
diff
changeset
|
135 | foreach dir : ['bin', 'lib', 'data', 'sysconf', 'locale'] |
|
40536
c0ea70247280
Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40523
diff
changeset
|
136 | path = get_option('prefix') / get_option(dir + 'dir') |
|
39084
b3aeca5f3dac
Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents:
39049
diff
changeset
|
137 | conf.set_quoted('WIN32_FHS_@0@DIR'.format(dir.to_upper()), path) |
|
b3aeca5f3dac
Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents:
39049
diff
changeset
|
138 | endforeach |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
139 | |
|
39084
b3aeca5f3dac
Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents:
39049
diff
changeset
|
140 | conf.set('PURPLE_LIBDIR', |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
141 | f'wpurple_lib_dir("purple-@purple_api_major_version@")') |
|
39084
b3aeca5f3dac
Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents:
39049
diff
changeset
|
142 | conf.set('PIDGIN_LIBDIR', |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
143 | f'wpurple_lib_dir("pidgin-@purple_api_major_version@")') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
144 | |
|
38537
cc15d8626c0d
Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
145 | conf.set('PURPLE_DATADIR', 'wpurple_data_dir()') |
|
cc15d8626c0d
Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
146 | conf.set('PURPLE_SYSCONFDIR', 'wpurple_sysconf_dir()') |
|
cc15d8626c0d
Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
147 | conf.set('PURPLE_LOCALEDIR', 'wpurple_locale_dir()') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
148 | else |
|
38464
fbd38fefb3b3
Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38463
diff
changeset
|
149 | foreach dir : ['data', 'sysconf', 'locale'] |
|
40536
c0ea70247280
Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40523
diff
changeset
|
150 | path = get_option('prefix') / get_option(dir + 'dir') |
|
38537
cc15d8626c0d
Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
151 | conf.set_quoted('PURPLE_@0@DIR'.format(dir.to_upper()), path) |
|
38464
fbd38fefb3b3
Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38463
diff
changeset
|
152 | endforeach |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
153 | |
|
40536
c0ea70247280
Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40523
diff
changeset
|
154 | common_libdir = get_option('prefix') / get_option('libdir') |
|
38537
cc15d8626c0d
Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
155 | conf.set_quoted('PURPLE_LIBDIR', |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
156 | common_libdir / f'purple-@purple_api_major_version@') |
|
38537
cc15d8626c0d
Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
157 | conf.set_quoted('PIDGIN_LIBDIR', |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
158 | common_libdir / f'pidgin-@purple_api_major_version@') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
159 | endif |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
160 | |
|
40536
c0ea70247280
Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40523
diff
changeset
|
161 | abslibdir = get_option('prefix') / get_option('libdir') |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
162 | PURPLE_PLUGINDIR = abslibdir / f'purple-@purple_api_major_version@' |
|
38537
cc15d8626c0d
Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
163 | conf.set_quoted('PURPLE_PLUGINDIR', PURPLE_PLUGINDIR) |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
164 | PIDGIN_PLUGINDIR = abslibdir / f'pidgin-@purple_api_major_version@' |
|
38537
cc15d8626c0d
Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
165 | conf.set_quoted('PIDGIN_PLUGINDIR', PIDGIN_PLUGINDIR) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
166 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
167 | # 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
|
168 | # of the C library |
|
40669
48dfed6f4f1f
Fix Windows builds and tests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40668
diff
changeset
|
169 | math = compiler.find_library('m', required: false) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
170 | |
|
41319
04d027ed3d63
Add gdk-pixbuf as a libpurple dependency and move helpers from pidgin to purple
Gary Kramlich <grim@reaperworld.com>
parents:
41317
diff
changeset
|
171 | ####################################################################### |
|
04d027ed3d63
Add gdk-pixbuf as a libpurple dependency and move helpers from pidgin to purple
Gary Kramlich <grim@reaperworld.com>
parents:
41317
diff
changeset
|
172 | # Check for GLib (required) |
|
04d027ed3d63
Add gdk-pixbuf as a libpurple dependency and move helpers from pidgin to purple
Gary Kramlich <grim@reaperworld.com>
parents:
41317
diff
changeset
|
173 | ####################################################################### |
|
43136
36eba703e2b9
Add some additional methods to Purple.ProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
43134
diff
changeset
|
174 | glib = dependency('glib-2.0', version : '>= 2.80.0') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
175 | 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
|
176 | gnome = import('gnome') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
177 | |
|
41150
b60171ce4589
remove the glib version macros from internal.h to meson and make sure everything is consistent
Gary Kramlich <grim@reaperworld.com>
parents:
41142
diff
changeset
|
178 | add_project_arguments( |
|
43136
36eba703e2b9
Add some additional methods to Purple.ProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
43134
diff
changeset
|
179 | '-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_80', |
|
36eba703e2b9
Add some additional methods to Purple.ProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
43134
diff
changeset
|
180 | '-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_80', |
|
41150
b60171ce4589
remove the glib version macros from internal.h to meson and make sure everything is consistent
Gary Kramlich <grim@reaperworld.com>
parents:
41142
diff
changeset
|
181 | language : 'c',) |
|
b60171ce4589
remove the glib version macros from internal.h to meson and make sure everything is consistent
Gary Kramlich <grim@reaperworld.com>
parents:
41142
diff
changeset
|
182 | |
|
39951
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
183 | ####################################################################### |
|
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
184 | # Check for GObject Introspection |
|
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
185 | ####################################################################### |
|
40640
ce42c0efab90
Fix introspection meson option.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40619
diff
changeset
|
186 | if get_option('introspection') |
|
41175
372df64f6b1a
Bump minimum requirements to match GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41173
diff
changeset
|
187 | enable_introspection = dependency('gobject-introspection-1.0', version : '>= 1.39.0').found() |
|
40640
ce42c0efab90
Fix introspection meson option.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40619
diff
changeset
|
188 | else |
|
ce42c0efab90
Fix introspection meson option.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40619
diff
changeset
|
189 | enable_introspection = false |
|
ce42c0efab90
Fix introspection meson option.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40619
diff
changeset
|
190 | endif |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
191 | |
|
40197
75ffd76260fc
Bump the gtk minimum to 3.22 and remove gtk3compat.h
Gary Kramlich <grim@reaperworld.com>
parents:
40193
diff
changeset
|
192 | ####################################################################### |
|
43186
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
193 | # Documentation |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
194 | ####################################################################### |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
195 | |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
196 | if get_option('doc') and not get_option('introspection') |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
197 | error('Documentation requires GObject Introspection.') |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
198 | endif |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
199 | |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
200 | dependency( |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
201 | 'gi-docgen', version: '>= 2021.1', |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
202 | fallback: ['gi-docgen', 'dummy_dep'], |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
203 | required: get_option('doc') |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
204 | ) |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
205 | |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
206 | gidocgen = find_program('gi-docgen', required : get_option('doc')) |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
207 | docs_dir = get_option('prefix') / get_option('datadir') / 'doc' |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
208 | |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
209 | ####################################################################### |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
210 | # Check Pidgin dependencies |
|
40197
75ffd76260fc
Bump the gtk minimum to 3.22 and remove gtk3compat.h
Gary Kramlich <grim@reaperworld.com>
parents:
40193
diff
changeset
|
211 | ####################################################################### |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
212 | if get_option('gtkui') |
|
42251
63639da06cbd
Require GTK 4.10 and GLib 2.76
Gary Kramlich <grim@reaperworld.com>
parents:
42229
diff
changeset
|
213 | gtk = dependency('gtk4', version : '>= 4.10.0') |
|
43186
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
214 | |
|
42970
365a518a6c7b
Fix Adwaita 1.6 deprecations
Markus Fischer <ivanhoe@fiscari.de>
parents:
42969
diff
changeset
|
215 | libadwaita = dependency('libadwaita-1', version : '>= 1.5') |
|
43107
43ea01e26865
Silence Adwaita deprecation warning
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
43090
diff
changeset
|
216 | add_project_arguments( |
|
43ea01e26865
Silence Adwaita deprecation warning
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
43090
diff
changeset
|
217 | '-DADW_VERSION_MIN_REQUIRED=ADW_VERSION_1_5', |
|
43ea01e26865
Silence Adwaita deprecation warning
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
43090
diff
changeset
|
218 | '-DADW_VERSION_MAX_ALLOWED=ADW_VERSION_1_5', |
|
43ea01e26865
Silence Adwaita deprecation warning
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
43090
diff
changeset
|
219 | language: 'c') |
|
43186
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
220 | |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
221 | libspelling = dependency('libspelling-1', version : '>= 0.4.0', |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
222 | default_options : ['sysprof=false']) |
|
42934
36a64c2e14ce
Require Adwaita 1.4 and replace Adw.Flap with Adw.OverlaySplitView
Gary Kramlich <grim@reaperworld.com>
parents:
42923
diff
changeset
|
223 | endif |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
224 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
225 | ENABLE_GTK = get_option('gtkui') |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
226 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
227 | ####################################################################### |
|
43175
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
228 | # Additional Dependencies |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
229 | ####################################################################### |
|
43175
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
230 | birb_dep = dependency('birb', version : '>=0.3.1') |
|
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
231 | gdk_pixbuf = dependency('gdk-pixbuf-2.0', version : '>= 2.26.0') |
|
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
232 | gstreamer = dependency('gstreamer-1.0', version : '>=1.14') |
|
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
233 | gstreamer_app = dependency('gstreamer-app-1.0') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
234 | 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
|
235 | |
|
41921
24e5305ebcb6
Remove soupcompat.h since we require libsoup3 now
Gary Kramlich <grim@reaperworld.com>
parents:
41913
diff
changeset
|
236 | libsoup = dependency('libsoup-3.0', version : '>= 3') |
|
24e5305ebcb6
Remove soupcompat.h since we require libsoup3 now
Gary Kramlich <grim@reaperworld.com>
parents:
41913
diff
changeset
|
237 | add_project_arguments( |
|
24e5305ebcb6
Remove soupcompat.h since we require libsoup3 now
Gary Kramlich <grim@reaperworld.com>
parents:
41913
diff
changeset
|
238 | '-DSOUP_VERSION_MIN_REQUIRED=SOUP_VERSION_3_0', |
|
24e5305ebcb6
Remove soupcompat.h since we require libsoup3 now
Gary Kramlich <grim@reaperworld.com>
parents:
41913
diff
changeset
|
239 | '-DSOUP_VERSION_MAX_ALLOWED=SOUP_VERSION_3_0', |
|
24e5305ebcb6
Remove soupcompat.h since we require libsoup3 now
Gary Kramlich <grim@reaperworld.com>
parents:
41913
diff
changeset
|
240 | language : 'c') |
|
39989
e557e081686c
Check for libsoup as a dependency.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39951
diff
changeset
|
241 | |
|
43175
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
242 | libxml = dependency('libxml-2.0', version : '>= 2.6.0') |
|
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
243 | if libxml.version().version_compare('<2.6.18') |
|
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
244 | message('Versions of libxml2 < 2.6.18 may contain bugs that could cause XMPP messages to be discarded.') |
|
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
245 | endif |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
246 | |
|
43175
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
247 | seagull_dep = dependency('seagull', version : '>= 0.1.1') |
|
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
248 | sqlite3 = dependency('sqlite3', version : '>= 3.27.0') |
|
43189
3f33bf2e4efc
Update the xeme version and standardize its name in the build system
Gary Kramlich <grim@reaperworld.com>
parents:
43186
diff
changeset
|
249 | xeme_dep = dependency('xeme') |
|
42529
f00a798a38a6
Stub out our new modern XMPP implementation
Gary Kramlich <grim@reaperworld.com>
parents:
42520
diff
changeset
|
250 | |
|
42289
27ca1fa06a24
Require hasl 0.2.0 or newer
Gary Kramlich <grim@reaperworld.com>
parents:
42284
diff
changeset
|
251 | dependency('shoes', required : false) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
252 | |
|
42671
68cc8544b438
Remove the old Jabber/XMPP protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
42670
diff
changeset
|
253 | DEFAULT_PRPLS = ['demo', 'ircv3', 'xmpp'] |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
254 | |
|
38464
fbd38fefb3b3
Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38463
diff
changeset
|
255 | 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
|
256 | if dynamic_list == ['all'] |
|
fbd38fefb3b3
Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38463
diff
changeset
|
257 | dynamic_list = DEFAULT_PRPLS |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
258 | endif |
|
38464
fbd38fefb3b3
Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38463
diff
changeset
|
259 | DYNAMIC_PRPLS = [] |
|
fbd38fefb3b3
Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38463
diff
changeset
|
260 | foreach prpl : dynamic_list |
|
fbd38fefb3b3
Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38463
diff
changeset
|
261 | if prpl == '' |
|
fbd38fefb3b3
Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38463
diff
changeset
|
262 | # The list was empty; do nothing. |
|
43189
3f33bf2e4efc
Update the xeme version and standardize its name in the build system
Gary Kramlich <grim@reaperworld.com>
parents:
43186
diff
changeset
|
263 | elif prpl == 'xmpp' and not xeme_dep.found() |
|
42529
f00a798a38a6
Stub out our new modern XMPP implementation
Gary Kramlich <grim@reaperworld.com>
parents:
42520
diff
changeset
|
264 | # Do nothing. |
|
38464
fbd38fefb3b3
Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38463
diff
changeset
|
265 | else |
|
fbd38fefb3b3
Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38463
diff
changeset
|
266 | DYNAMIC_PRPLS += [prpl] |
|
fbd38fefb3b3
Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38463
diff
changeset
|
267 | endif |
|
fbd38fefb3b3
Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38463
diff
changeset
|
268 | endforeach |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
269 | |
|
41224
32a7796a2a36
Create a demo protocol plugin that right now just adds contacts and statuses.
Gary Kramlich <grim@reaperworld.com>
parents:
41217
diff
changeset
|
270 | DYNAMIC_DEMO = DYNAMIC_PRPLS.contains('demo') |
|
41750
7ab7d79ac0c5
Create a skeleton for the IRCv3 protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents:
41707
diff
changeset
|
271 | DYNAMIC_IRCV3 = DYNAMIC_PRPLS.contains('ircv3') |
|
42529
f00a798a38a6
Stub out our new modern XMPP implementation
Gary Kramlich <grim@reaperworld.com>
parents:
42520
diff
changeset
|
272 | DYNAMIC_XMPP = DYNAMIC_PRPLS.contains('xmpp') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
273 | |
|
38524
4b665cbc6aa7
Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38523
diff
changeset
|
274 | add_project_arguments( |
|
4b665cbc6aa7
Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38523
diff
changeset
|
275 | '-DPURPLE_DISABLE_DEPRECATED', |
|
4b665cbc6aa7
Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38523
diff
changeset
|
276 | '-DPIDGIN_DISABLE_DEPRECATED', |
|
4b665cbc6aa7
Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38523
diff
changeset
|
277 | '-DGNT_DISABLE_DEPRECATED', |
|
4b665cbc6aa7
Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38523
diff
changeset
|
278 | language : 'c') |
|
39247
ee65e9be3a5f
Don't mess with flags when using plain buildtype.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39206
diff
changeset
|
279 | if get_option('buildtype') != 'plain' and compiler.get_id() == 'gcc' |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
280 | # We enable -Wall later. |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
281 | # 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
|
282 | # 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
|
283 | # CFLAGS=`echo $CFLAGS |$sedpath 's/-Wall//'` |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
284 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
285 | # 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
|
286 | # |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
287 | # Future Possibilities |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
288 | # |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
289 | # Consider adding -Wbad-function-cast. |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
290 | # 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
|
291 | # We'd need an intermediate variable. |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
292 | # |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
293 | foreach newflag : [ |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
294 | '-Waggregate-return', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
295 | '-Wcast-align', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
296 | '-Wdeclaration-after-statement', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
297 | '-Wendif-labels', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
298 | '-Werror-implicit-function-declaration', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
299 | '-Wextra -Wno-unused-parameter', |
|
39109
1bb4f9bcee45
meson: Silence -Wformat-security ignored without -Wformat warning
Mike Ruprecht <cmaiku@gmail.com>
parents:
39088
diff
changeset
|
300 | '-Wformat', |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
301 | '-Wformat-security', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
302 | '-Werror=format-security', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
303 | '-Winit-self', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
304 | '-Wmissing-declarations', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
305 | '-Wmissing-noreturn', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
306 | '-Wmissing-prototypes', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
307 | '-Wpointer-arith', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
308 | '-Wfloat-equal', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
309 | '-Wundef'] |
|
38464
fbd38fefb3b3
Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38463
diff
changeset
|
310 | 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
|
311 | 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
|
312 | endif |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
313 | endforeach |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
314 | endif |
|
39247
ee65e9be3a5f
Don't mess with flags when using plain buildtype.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39206
diff
changeset
|
315 | if get_option('buildtype') != 'plain' and SUNCC |
|
38523
2457e9c0f5de
Use add_project_arguments instead of add_global_arguments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38520
diff
changeset
|
316 | 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
|
317 | endif |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
318 | |
|
40989
f77cf4694364
We should be checking for the pidgin3 executable not pidgin
Gary Kramlich <grim@reaperworld.com>
parents:
40988
diff
changeset
|
319 | pidgin3path = find_program('pidgin3', required : false) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
320 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
321 | ####################################################################### |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
322 | # Check for Unity and Messaging Menu |
|
38531
0b7c991bc3e4
Clean up stuff from grim's review.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38529
diff
changeset
|
323 | # Remove when Ubuntu 16.04 is EOL |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
324 | ####################################################################### |
|
39951
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
325 | UNITY = [ |
|
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
326 | dependency('unity', version : '>= 6.8', required : get_option('unity-integration')), |
|
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
327 | dependency('messaging-menu', version : '>= 12.10', required : get_option('unity-integration')) |
|
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
328 | ] |
|
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
329 | enable_unity = UNITY[0].found() and UNITY[1].found() |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
330 | if enable_unity |
|
38509
551e37963d38
Fix some missing substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38508
diff
changeset
|
331 | conf.set('USES_MM_CHAT_SECTION', 'X-MessagingMenu-UsesChatSection=true') |
|
38704
ba0c47533bb2
Fix Meson warning of undefined substitution.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38641
diff
changeset
|
332 | else |
|
ba0c47533bb2
Fix Meson warning of undefined substitution.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38641
diff
changeset
|
333 | conf.set('USES_MM_CHAT_SECTION', '') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
334 | endif |
|
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 | ####################################################################### |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
337 | # Check for Secret Service headers |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
338 | ####################################################################### |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
339 | |
|
39951
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
340 | if IS_WIN32 |
|
41172
db38cdfbc59e
Rename the secretservice plugin to libsecret and move it into the plugins directory
Gary Kramlich <grim@reaperworld.com>
parents:
41169
diff
changeset
|
341 | libsecret = disabler() |
|
39951
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
342 | else |
|
41172
db38cdfbc59e
Rename the secretservice plugin to libsecret and move it into the plugins directory
Gary Kramlich <grim@reaperworld.com>
parents:
41169
diff
changeset
|
343 | libsecret = dependency('libsecret-1', required : get_option('libsecret')) |
|
38482
aeed00394acf
Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38480
diff
changeset
|
344 | endif |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
345 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
346 | ####################################################################### |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
347 | # Check for KWallet headers |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
348 | ####################################################################### |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
349 | |
|
40999
9e5a5eb54a57
bump the minimum meson to 0.56.0 and fix the deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
40989
diff
changeset
|
350 | if IS_WIN32 or not add_languages('cpp', required : get_option('kwallet'), native: false) |
|
39951
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
351 | kwallet = disabler() |
|
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
352 | else |
|
40439
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
353 | add_project_arguments([ |
|
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
354 | '-DDISPLAY_VERSION="@0@"'.format(meson.project_version()), |
| 40481 | 355 | '-DPURPLE_WEBSITE="https://pidgin.im/"', |
|
41888
9db0b73c8fab
Take advantage of f-strings in Meson
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41887
diff
changeset
|
356 | f'-DGETTEXT_PACKAGE="@GETTEXT_PACKAGE@"'], |
|
40439
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
357 | language : 'cpp') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
358 | |
|
42978
bf58b98751aa
bump KWallet and Qt to version 6
Markus Fischer <ivanhoe@fiscari.de>
parents:
42970
diff
changeset
|
359 | qt6 = import('qt6') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
360 | |
|
42978
bf58b98751aa
bump KWallet and Qt to version 6
Markus Fischer <ivanhoe@fiscari.de>
parents:
42970
diff
changeset
|
361 | qt6_dep = dependency('qt6', modules: ['Core'], required : get_option('kwallet')) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
362 | |
|
42978
bf58b98751aa
bump KWallet and Qt to version 6
Markus Fischer <ivanhoe@fiscari.de>
parents:
42970
diff
changeset
|
363 | kwallet = dependency('KF6Wallet', required : get_option('kwallet')) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
364 | endif |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
365 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
366 | ####################################################################### |
|
40224
6b658d1458c8
Fix a handful of issues found in review
Gary Kramlich <grim@reaperworld.com>
parents:
40219
diff
changeset
|
367 | # Check for GPlugin |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
368 | ####################################################################### |
|
42983
c65fa958d972
Update all of our subprojects
Gary Kramlich <grim@reaperworld.com>
parents:
42980
diff
changeset
|
369 | gplugin_version = ['>=0.44.2', '<0.45.0'] |
|
41056
a9447c1653a5
Convert the gplugin subproject to use the auto fallback stuff of dependency.
Gary Kramlich <grim@reaperworld.com>
parents:
41040
diff
changeset
|
370 | gplugin_dep = dependency('gplugin', |
|
41402
4f7076b8234a
Update gplugin to 0.38
Gary Kramlich <grim@reaperworld.com>
parents:
41331
diff
changeset
|
371 | version : gplugin_version, |
|
41056
a9447c1653a5
Convert the gplugin subproject to use the auto fallback stuff of dependency.
Gary Kramlich <grim@reaperworld.com>
parents:
41040
diff
changeset
|
372 | fallback : ['gplugin', 'gplugin_dep']) |
|
40216
bf78d5476c6a
initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents:
40207
diff
changeset
|
373 | |
|
41056
a9447c1653a5
Convert the gplugin subproject to use the auto fallback stuff of dependency.
Gary Kramlich <grim@reaperworld.com>
parents:
41040
diff
changeset
|
374 | if get_option('gtkui') |
|
41518
31072565a926
And so begins the start of the GTK4 port
Gary Kramlich <grim@reaperworld.com>
parents:
41490
diff
changeset
|
375 | gplugin_gtk_dep = dependency('gplugin-gtk4', |
|
41402
4f7076b8234a
Update gplugin to 0.38
Gary Kramlich <grim@reaperworld.com>
parents:
41331
diff
changeset
|
376 | version : gplugin_version, |
|
41518
31072565a926
And so begins the start of the GTK4 port
Gary Kramlich <grim@reaperworld.com>
parents:
41490
diff
changeset
|
377 | fallback : ['gplugin-gtk4', 'gplugin_gtk4_dep']) |
|
39426
2e4f09a49404
Add fallback for gplugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39419
diff
changeset
|
378 | endif |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
379 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
380 | ####################################################################### |
|
42110
23dae27bd7ca
Remove cyrus sasl as a dependency
Gary Kramlich <grim@reaperworld.com>
parents:
42094
diff
changeset
|
381 | # Check for Hasl |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
382 | ####################################################################### |
|
43159
2bde48da761d
Make all of the subprojects use tarballs
Gary Kramlich <grim@reaperworld.com>
parents:
43136
diff
changeset
|
383 | hasl = dependency('hasl', version : '>= 0.4.0') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
384 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
385 | ####################################################################### |
|
41105
02c3569bc32b
Add gi-docgen as a subproject so we can convert the documentation to it
Gary Kramlich <grim@reaperworld.com>
parents:
41103
diff
changeset
|
386 | # Random Stuff |
|
02c3569bc32b
Add gi-docgen as a subproject so we can convert the documentation to it
Gary Kramlich <grim@reaperworld.com>
parents:
41103
diff
changeset
|
387 | ####################################################################### |
|
42410
563e7a17c220
Fix possible clash of config headers
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42405
diff
changeset
|
388 | # So that purpleconfig.h may be found. |
|
38440
98da84139485
Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38439
diff
changeset
|
389 | toplevel_inc = include_directories('.') |
|
98da84139485
Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38439
diff
changeset
|
390 | |
|
42594
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42581
diff
changeset
|
391 | # make sure we found our license checker script |
|
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42581
diff
changeset
|
392 | check_license_header = find_program('./scripts/check_license_header.py', required : true) |
|
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42581
diff
changeset
|
393 | |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
394 | subdir('libpurple') |
|
41090
741992355ead
GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents:
41082
diff
changeset
|
395 | subdir('purple-history') |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38468
diff
changeset
|
396 | subdir('pidgin') |
|
42529
f00a798a38a6
Stub out our new modern XMPP implementation
Gary Kramlich <grim@reaperworld.com>
parents:
42520
diff
changeset
|
397 | subdir('protocols') |
|
38515
2d4d3a8fd23c
Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38512
diff
changeset
|
398 | subdir('doc') |
|
40461
25f653ee017e
Change the logic for determining whether or not to install translations
Gary Kramlich <grim@reaperworld.com>
parents:
40439
diff
changeset
|
399 | subdir('po') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
400 | |
|
42410
563e7a17c220
Fix possible clash of config headers
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42405
diff
changeset
|
401 | configure_file(output: 'purpleconfig.h', configuration: conf) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
402 | |
|
41194
8c2b4f1de39c
Remove a no longer necessary meson version check
Gary Kramlich <grim@reaperworld.com>
parents:
41192
diff
changeset
|
403 | config_home = get_option('devenv-config-dir') |
|
8c2b4f1de39c
Remove a no longer necessary meson version check
Gary Kramlich <grim@reaperworld.com>
parents:
41192
diff
changeset
|
404 | if config_home == '' |
|
8c2b4f1de39c
Remove a no longer necessary meson version check
Gary Kramlich <grim@reaperworld.com>
parents:
41192
diff
changeset
|
405 | config_home = meson.global_build_root() / 'config' |
|
8c2b4f1de39c
Remove a no longer necessary meson version check
Gary Kramlich <grim@reaperworld.com>
parents:
41192
diff
changeset
|
406 | endif |
|
8c2b4f1de39c
Remove a no longer necessary meson version check
Gary Kramlich <grim@reaperworld.com>
parents:
41192
diff
changeset
|
407 | devenv.set('XDG_CONFIG_HOME', config_home) |
|
41066
00e6bda3ef95
Add a Meson devenv configuration.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41060
diff
changeset
|
408 | |
|
42910
0e06c220042d
Add all XDG Base Dir values to the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42886
diff
changeset
|
409 | devenv.set('XDG_CACHE_HOME', meson.global_build_root() / 'cache') |
|
0e06c220042d
Add all XDG Base Dir values to the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42886
diff
changeset
|
410 | devenv.set('XDG_DATA_HOME', meson.global_build_root() / 'share') |
|
0e06c220042d
Add all XDG Base Dir values to the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42886
diff
changeset
|
411 | devenv.set('XDG_STATE_HOME', meson.global_build_root() / 'state') |
|
0e06c220042d
Add all XDG Base Dir values to the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42886
diff
changeset
|
412 | devenv.set('XDG_RUNTIME_DIR', meson.global_build_root() / 'run') |
|
0e06c220042d
Add all XDG Base Dir values to the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42886
diff
changeset
|
413 | |
|
41194
8c2b4f1de39c
Remove a no longer necessary meson version check
Gary Kramlich <grim@reaperworld.com>
parents:
41192
diff
changeset
|
414 | meson.add_devenv(devenv) |
|
41066
00e6bda3ef95
Add a Meson devenv configuration.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41060
diff
changeset
|
415 | |
|
42183
865a36ca9b33
Add a custom target for running everything when landing a pull request
Gary Kramlich <grim@reaperworld.com>
parents:
42146
diff
changeset
|
416 | if meson.backend() == 'ninja' |
|
865a36ca9b33
Add a custom target for running everything when landing a pull request
Gary Kramlich <grim@reaperworld.com>
parents:
42146
diff
changeset
|
417 | run_target('turtles', |
|
42454
37bcbcd66c6f
Set our gettext package to pidgin3 so it can we can install next to pidgin2
Gary Kramlich <grim@reaperworld.com>
parents:
42410
diff
changeset
|
418 | command : ['ninja', '-C', '@BUILD_ROOT@', 'pidgin3-pot', 'all', 'test']) |
|
42183
865a36ca9b33
Add a custom target for running everything when landing a pull request
Gary Kramlich <grim@reaperworld.com>
parents:
42146
diff
changeset
|
419 | endif |
|
865a36ca9b33
Add a custom target for running everything when landing a pull request
Gary Kramlich <grim@reaperworld.com>
parents:
42146
diff
changeset
|
420 | |
|
42847
fbb0d252bc35
Move the documentation into more appropriate places
Gary Kramlich <grim@reaperworld.com>
parents:
42846
diff
changeset
|
421 | # doc alias target, depends on doc_targets defined above and populated in sub |
|
fbb0d252bc35
Move the documentation into more appropriate places
Gary Kramlich <grim@reaperworld.com>
parents:
42846
diff
changeset
|
422 | # directories. |
|
42850
838621d0d816
Only add the doc alias_target if we have documentation to build
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
423 | if doc_targets.length() > 0 |
|
838621d0d816
Only add the doc alias_target if we have documentation to build
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
424 | alias_target('doc', doc_targets) |
|
838621d0d816
Only add the doc alias_target if we have documentation to build
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
425 | endif |
|
42847
fbb0d252bc35
Move the documentation into more appropriate places
Gary Kramlich <grim@reaperworld.com>
parents:
42846
diff
changeset
|
426 | |
|
41000
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
427 | summary({ |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
428 | 'prefix': get_option('prefix'), |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
429 | 'bindir': get_option('bindir'), |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
430 | 'libdir': get_option('libdir'), |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
431 | 'datadir': get_option('datadir'), |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
432 | }, section : 'Directories') |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
433 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41826
diff
changeset
|
434 | # TODO: Remove `.found()` once https://github.com/mesonbuild/meson/pull/10949 |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41826
diff
changeset
|
435 | # is merged and in a release that we require. |
|
41000
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
436 | summary({ |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
437 | 'GTK': get_option('gtkui'), |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
438 | }, section: 'User Interfaces', bool_yn: true) |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
439 | |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
440 | summary({ |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
441 | 'Dynamic protocols': DYNAMIC_PRPLS, |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
442 | }, section: 'Protocol Support', bool_yn: true, list_sep: ', ') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
443 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41826
diff
changeset
|
444 | # TODO: Remove `.found()` once https://github.com/mesonbuild/meson/pull/10949 |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41826
diff
changeset
|
445 | # is merged and in a release that we require. |
|
41000
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
446 | summary({ |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
447 | 'KWallet credential provider': kwallet.found(), |
|
41172
db38cdfbc59e
Rename the secretservice plugin to libsecret and move it into the plugins directory
Gary Kramlich <grim@reaperworld.com>
parents:
41169
diff
changeset
|
448 | 'libsecret credential provider': libsecret.found(), |
|
41000
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
449 | 'Unity integration': enable_unity, |
|
42520
bdd5204a9e10
Add WinCred provider to plugin support summary
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42504
diff
changeset
|
450 | 'WinCred credential provider': IS_WIN32, |
|
41000
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
451 | }, section: 'Plugin support', bool_yn: true) |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
452 | |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
453 | summary({ |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
454 | 'Enable Introspection': enable_introspection, |
|
41105
02c3569bc32b
Add gi-docgen as a subproject so we can convert the documentation to it
Gary Kramlich <grim@reaperworld.com>
parents:
41103
diff
changeset
|
455 | 'Generate documentation': get_option('doc'), |
|
41000
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
456 | 'Has you': true, |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
457 | }, section: 'Miscellaneous', bool_yn: true) |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
458 | |
|
40989
f77cf4694364
We should be checking for the pidgin3 executable not pidgin
Gary Kramlich <grim@reaperworld.com>
parents:
40988
diff
changeset
|
459 | if pidgin3path.found() |
|
41000
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
460 | summary('You have an old copy of pidgin3 at', pidgin3path.full_path(), |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
461 | section: 'Warnings') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
462 | endif |