meson.build

Sun, 18 Jul 2021 02:20:49 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Sun, 18 Jul 2021 02:20:49 -0500
changeset 40988
aaa0ec5b5e3b
parent 40873
68c7ef6c5320
child 40989
f77cf4694364
permissions
-rw-r--r--

Only allow gplugin version 0.32.0.

This will make it easier for everyone to update subprojects and the like by running `meson subprojects update` from the source directory. We'll need to add this to the documentation I'm just not sure exactly where right now.

Testing Done:
Ran `meson subprojects update` from the source directory with `subprojects/gplugin` on the default branch and the v0.31.0 tag. Verified that meson will update to whatever revision is specified and if the revision doesn't exist it will pull from the remote.

Reviewed at https://reviews.imfreedom.org/r/812/

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 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
8 # If any functions have been added to libpurple, Pidgin, or Finch:
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 #
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:
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 #
39443
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
23 project('pidgin', 'c',
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
24 version : '3.0.0-devel',
40675
2fcf11e235bd Bump the meson requirement to 0.52.0
Gary Kramlich <grim@reaperworld.com>
parents: 40669
diff changeset
25 meson_version : '>=0.52.0')
39443
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
26 purple_soversion = 20
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
27
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
28 parts = meson.project_version().split('-')
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
29 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
30 purple_extra_version = parts[1]
39443
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
31 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
32 purple_extra_version = ''
39443
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
33 endif
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
34
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
35 parts = parts[0].split('.')
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
36 purple_major_version = parts[0]
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
37 purple_minor_version = parts[1]
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
38 purple_micro_version = parts[2]
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
39
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
40 GETTEXT_PACKAGE=meson.project_name()
40609
42456b38da44 if we're doing nls make sure we have gettext available as it's required
Gary Kramlich <grim@reaperworld.com>
parents: 40576
diff changeset
41 if get_option('nls')
42456b38da44 if we're doing nls make sure we have gettext available as it's required
Gary Kramlich <grim@reaperworld.com>
parents: 40576
diff changeset
42 find_program('gettext')
42456b38da44 if we're doing nls make sure we have gettext available as it's required
Gary Kramlich <grim@reaperworld.com>
parents: 40576
diff changeset
43 endif
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
44
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
45 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
46 '-DHAVE_CONFIG_H=1',
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
47 '-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
48 '-DDISPLAY_VERSION="@0@"'.format(meson.project_version()),
40481
65040053e80f Fix online help link.
Alejandro Garcia <>
parents: 40461
diff changeset
49 '-DPURPLE_WEBSITE="https://pidgin.im/"',
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
50 '-DGETTEXT_PACKAGE="@0@"'.format(GETTEXT_PACKAGE)],
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
51 language : 'c')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
52 conf = configuration_data()
38512
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
53 man_conf = configuration_data()
38440
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
54 version_conf = configuration_data()
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
55
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
56 conf.set_quoted('GETTEXT_PACKAGE', GETTEXT_PACKAGE)
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
57 conf.set_quoted('PACKAGE', meson.project_name())
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
58 conf.set_quoted('PACKAGE_NAME', meson.project_name())
39443
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
59 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
60 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
61
38440
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
62 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
63 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
64 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
65 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
66 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
67 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
68
39443
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
69 PURPLE_LIB_VERSION = '@0@.@1@.@2@'.format(purple_soversion,
38518
1c2e969922b8 Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38515
diff changeset
70 purple_minor_version,
1c2e969922b8 Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38515
diff changeset
71 purple_micro_version)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
72
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
73 package_revision = vcs_tag(
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
74 input : 'package_revision.h.in',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
75 output : 'package_revision.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
76 fallback : meson.project_version())
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
77
38512
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
78 # For man pages.
39443
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
79 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
80 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
81
38783
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38704
diff changeset
82 # Used for pkg-config files.
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38704
diff changeset
83 pkgconfig = import('pkgconfig')
38512
a8ee459a518c Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38510
diff changeset
84
38538
b542a6787116 Add meson arguments to About dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38537
diff changeset
85 # Storing build arguments
39947
f551e29dba6b Bump minimum Meson to 0.47.0.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39932
diff changeset
86 meson.add_postconf_script('mkmesonconf.py')
f551e29dba6b Bump minimum Meson to 0.47.0.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39932
diff changeset
87 conf.set('HAVE_MESON_CONFIG', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
88
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
89 # Checks for programs.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
90 compiler = meson.get_compiler('c')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
91
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
92 # Check for Sun compiler
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
93 SUNCC = compiler.compiles('void main() {__SUNPRO_C;};')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
94
40805
1692f596a13d Manually check for xgettext as we need it for NLS support.
Gary Kramlich <grim@reaperworld.com>
parents: 40773
diff changeset
95 # Make sure we have xgettext
1692f596a13d Manually check for xgettext as we need it for NLS support.
Gary Kramlich <grim@reaperworld.com>
parents: 40773
diff changeset
96 if get_option('nls')
1692f596a13d Manually check for xgettext as we need it for NLS support.
Gary Kramlich <grim@reaperworld.com>
parents: 40773
diff changeset
97 find_program('xgettext')
1692f596a13d Manually check for xgettext as we need it for NLS support.
Gary Kramlich <grim@reaperworld.com>
parents: 40773
diff changeset
98 endif
1692f596a13d Manually check for xgettext as we need it for NLS support.
Gary Kramlich <grim@reaperworld.com>
parents: 40773
diff changeset
99
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
100 # Check for Win32
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
101 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
102 windows = import('windows')
9e341a7537bd Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38486
diff changeset
103
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
104 IS_WIN32 = true
38486
046f00bc7f33 Properly search for Windows DNS/socket libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38485
diff changeset
105 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
106 dnsapi = compiler.find_library('dnsapi')
38528
419900052fb1 Correctly set IS_WIN32_CROSS_COMPILED.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38527
diff changeset
107 if build_machine.system() != 'windows'
419900052fb1 Correctly set IS_WIN32_CROSS_COMPILED.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38527
diff changeset
108 conf.set('IS_WIN32_CROSS_COMPILED', true)
419900052fb1 Correctly set IS_WIN32_CROSS_COMPILED.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38527
diff changeset
109 endif
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
110 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
111
ac9849be4a10 win32: Define libpidgin DLL name in meson to avoid needing to change it
Mike Ruprecht <cmaiku@gmail.com>
parents: 39084
diff changeset
112 conf.set('LIBPIDGIN_DLL_NAMEW',
40091
ff90f032afe4 Fix name of DLL loaded on Windows.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40076
diff changeset
113 'L"libpidgin3-@0@.dll"'.format(purple_soversion))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
114 else
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
115 IS_WIN32 = false
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
116 ws2_32 = []
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
117 dnsapi = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
118 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
119
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
120 # Checks for header files.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
121 # 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
122 conf.set('HAVE_SYS_WAIT_H', compiler.has_header('sys/wait.h'))
40669
48dfed6f4f1f Fix Windows builds and tests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40668
diff changeset
123 conf.set('HAVE_UNISTD_H', compiler.has_header('unistd.h'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
124
40669
48dfed6f4f1f Fix Windows builds and tests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40668
diff changeset
125 foreach h : ['fcntl.h', 'stdint.h']
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
126 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
127 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
128 else
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
129 error(h + ' is required.')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
130 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
131 endforeach
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 # Checks for typedefs, structures, and compiler characteristics.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
134 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
135 prefix : '''
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
136 #include <stdio.h>
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
137 #include <time.h>
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
138 ''')
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
139 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
140
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
141 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
142
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
143 # Check for directories
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
144 if IS_WIN32
39084
b3aeca5f3dac Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents: 39049
diff changeset
145 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
146 path = get_option('prefix') / get_option(dir + 'dir')
39084
b3aeca5f3dac Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents: 39049
diff changeset
147 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
148 endforeach
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
149
39084
b3aeca5f3dac Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents: 39049
diff changeset
150 conf.set('PURPLE_LIBDIR',
b3aeca5f3dac Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents: 39049
diff changeset
151 'wpurple_lib_dir("purple-@0@")'.format(purple_major_version))
b3aeca5f3dac Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents: 39049
diff changeset
152 conf.set('PIDGIN_LIBDIR',
b3aeca5f3dac Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents: 39049
diff changeset
153 'wpurple_lib_dir("pidgin-@0@")'.format(purple_major_version))
b3aeca5f3dac Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents: 39049
diff changeset
154 conf.set('FINCH_LIBDIR',
b3aeca5f3dac Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents: 39049
diff changeset
155 'wpurple_lib_dir("finch-@0@")'.format(purple_major_version))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
156
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
157 conf.set('PURPLE_DATADIR', 'wpurple_data_dir()')
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
158 conf.set('PURPLE_SYSCONFDIR', 'wpurple_sysconf_dir()')
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
159 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
160 else
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
161 foreach dir : ['data', 'sysconf', 'locale']
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40523
diff changeset
162 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
163 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
164 endforeach
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
165
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40523
diff changeset
166 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
167 conf.set_quoted('PURPLE_LIBDIR',
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40523
diff changeset
168 common_libdir / 'purple-@0@'.format(purple_major_version))
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
169 conf.set_quoted('PIDGIN_LIBDIR',
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40523
diff changeset
170 common_libdir / 'pidgin-@0@'.format(purple_major_version))
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
171 conf.set_quoted('FINCH_LIBDIR',
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40523
diff changeset
172 common_libdir / 'finch-@0@'.format(purple_major_version))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
173 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
174
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40523
diff changeset
175 abslibdir = get_option('prefix') / get_option('libdir')
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40523
diff changeset
176 PURPLE_PLUGINDIR = abslibdir / 'purple-@0@'.format(purple_major_version)
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
177 conf.set_quoted('PURPLE_PLUGINDIR', PURPLE_PLUGINDIR)
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40523
diff changeset
178 PIDGIN_PLUGINDIR = abslibdir / 'pidgin-@0@'.format(purple_major_version)
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
179 conf.set_quoted('PIDGIN_PLUGINDIR', PIDGIN_PLUGINDIR)
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40523
diff changeset
180 FINCH_PLUGINDIR = abslibdir / 'finch-@0@'.format(purple_major_version)
38537
cc15d8626c0d Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
181 conf.set_quoted('FINCH_PLUGINDIR', FINCH_PLUGINDIR)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
182
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
183 # Check for socklen_t (in Unix98)
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
184 if IS_WIN32
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
185 socket_header = 'ws2tcpip.h'
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
186 else
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
187 socket_header = 'sys/socket.h'
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
188 endif
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
189 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
190 code = '''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
191 #include <sys/types.h>
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
192 #include <@0@>
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
193 int accept(int, struct sockaddr *, size_t *);
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
194 int main() {}
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
195 '''.format(socket_header)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
196 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
197 conf.set('socklen_t', 'size_t')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
198 else
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
199 conf.set('socklen_t', 'int')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
200 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
201 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
202
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
203 # 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
204 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
205 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
206 prefix : '#include <@0@>'.format(socket_header)))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
207
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
208 # 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
209 # of the C library
40669
48dfed6f4f1f Fix Windows builds and tests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40668
diff changeset
210 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
211
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
212 # 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
213 IOKIT = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
214 if host_machine.system() == 'darwin'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
215 if compiler.has_header('CoreFoundation/CoreFoundation.h')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
216 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
217 conf.set('HAVE_IOKIT', true)
38508
d2fd9608f691 Properly add Apple Frameworks to build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38507
diff changeset
218 IOKIT = dependency('appleframeworks',
d2fd9608f691 Properly add Apple Frameworks to build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38507
diff changeset
219 modules : ['IOKit', 'CoreFoundation'])
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
220 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
221 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
222
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
223 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
224 # FIXME: Not done...
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
225 #CPPFLAGS="$CPPFLAGS -I/sw/include"
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
226 #LDFLAGS="$LDFLAGS -L/sw/lib"
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
227 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
228 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
229
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
230 # #######################################################################
39532
04b8df1f20c3 Bump minimum GLib to 2.44 to get G_DECLARE* macros.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39443
diff changeset
231 # # Check for GLib 2.44 (required)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
232 # #######################################################################
40519
974dbfd7e52f Remove and replace a number of the purple utility functions
Gary Kramlich <grim@reaperworld.com>
parents: 40512
diff changeset
233 glib = dependency('glib-2.0', version : '>= 2.52.0')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
234 gio = dependency('gio-2.0')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
235 gobject = dependency('gobject-2.0')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
236 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
237 gnome = import('gnome')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
238
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
239 #######################################################################
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
240 # Check for GObject Introspection
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
241 #######################################################################
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
242
40640
ce42c0efab90 Fix introspection meson option.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40619
diff changeset
243 if get_option('introspection')
ce42c0efab90 Fix introspection meson option.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40619
diff changeset
244 enable_introspection = dependency('gobject-introspection-1.0', version : '>= 1.30.0').found()
ce42c0efab90 Fix introspection meson option.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40619
diff changeset
245 else
ce42c0efab90 Fix introspection meson option.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40619
diff changeset
246 enable_introspection = false
ce42c0efab90 Fix introspection meson option.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40619
diff changeset
247 endif
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
248 conf.set('ENABLE_INTROSPECTION', enable_introspection)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
249
40197
75ffd76260fc Bump the gtk minimum to 3.22 and remove gtk3compat.h
Gary Kramlich <grim@reaperworld.com>
parents: 40193
diff changeset
250 #######################################################################
40617
3e8d3f5d6b01 Depend on libnice as farstream already pulled it in and replace purple_network_get_all_local_system_ips with nice_interfaces_get_local_ips.
Gary Kramlich <grim@reaperworld.com>
parents: 40609
diff changeset
251 # Check for libnice
3e8d3f5d6b01 Depend on libnice as farstream already pulled it in and replace purple_network_get_all_local_system_ips with nice_interfaces_get_local_ips.
Gary Kramlich <grim@reaperworld.com>
parents: 40609
diff changeset
252 #######################################################################
40619
e139fc54c76c FreeBSD only has libnice 0.1.13 so make that our minimum
Gary Kramlich <grim@reaperworld.com>
parents: 40617
diff changeset
253 nice = dependency('nice', version : '>=0.1.13')
40617
3e8d3f5d6b01 Depend on libnice as farstream already pulled it in and replace purple_network_get_all_local_system_ips with nice_interfaces_get_local_ips.
Gary Kramlich <grim@reaperworld.com>
parents: 40609
diff changeset
254
3e8d3f5d6b01 Depend on libnice as farstream already pulled it in and replace purple_network_get_all_local_system_ips with nice_interfaces_get_local_ips.
Gary Kramlich <grim@reaperworld.com>
parents: 40609
diff changeset
255 #######################################################################
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
256 # 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
257 #######################################################################
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
258 if get_option('gtkui')
40197
75ffd76260fc Bump the gtk minimum to 3.22 and remove gtk3compat.h
Gary Kramlich <grim@reaperworld.com>
parents: 40193
diff changeset
259 gtk = dependency('gtk+-3.0', version : '>= 3.22.0')
40873
68c7ef6c5320 Convert credentials page to use HdyPreferencesGroup and a list box.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40805
diff changeset
260 libhandy = dependency('libhandy-1', version : '>= 1')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
261
39427
603dec76dd4a Add fallback for talkatu.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39426
diff changeset
262 talkatu_dep = dependency('talkatu', version: '>=0.1.0', required : false)
603dec76dd4a Add fallback for talkatu.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39426
diff changeset
263 if talkatu_dep.found()
40678
8f1d8122f07e Add extra-dir options for gtkdoc-fixxref to correctly link to other gtkdoc books
Gary Kramlich <grim@reaperworld.com>
parents: 40675
diff changeset
264 talkatu_docpath = talkatu_dep.get_pkgconfig_variable('prefix') / 'share/gtk-doc/html'
8f1d8122f07e Add extra-dir options for gtkdoc-fixxref to correctly link to other gtkdoc books
Gary Kramlich <grim@reaperworld.com>
parents: 40675
diff changeset
265
40040
3f81150e326b Fix up the introspection feature so it can be disabled correctly
Gary Kramlich <grim@reaperworld.com>
parents: 40001
diff changeset
266 if enable_introspection
3f81150e326b Fix up the introspection feature so it can be disabled correctly
Gary Kramlich <grim@reaperworld.com>
parents: 40001
diff changeset
267 talkatu_gir = 'Talkatu-0.0'
39994
56806a989a33 Don't set GIR include directories if introspection=false.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39932
diff changeset
268 talkatu_include_directories = include_directories(
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40523
diff changeset
269 talkatu_dep.get_pkgconfig_variable('prefix') / 'share/gir-1.0')
39994
56806a989a33 Don't set GIR include directories if introspection=false.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39932
diff changeset
270 else
56806a989a33 Don't set GIR include directories if introspection=false.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39932
diff changeset
271 talkatu_include_directories = []
56806a989a33 Don't set GIR include directories if introspection=false.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39932
diff changeset
272 endif
39427
603dec76dd4a Add fallback for talkatu.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39426
diff changeset
273 else
39428
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39427
diff changeset
274 talkatu_proj = subproject('talkatu',
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39427
diff changeset
275 default_options : [
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39427
diff changeset
276 'doc=' + get_option('doc').to_string(),
40640
ce42c0efab90 Fix introspection meson option.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40619
diff changeset
277 'introspection=' + enable_introspection.to_string(),
39428
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39427
diff changeset
278 'nls=' + get_option('nls').to_string(),
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39427
diff changeset
279 ]
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39427
diff changeset
280 )
39427
603dec76dd4a Add fallback for talkatu.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39426
diff changeset
281 talkatu_dep = talkatu_proj.get_variable('talkatu_dep')
40678
8f1d8122f07e Add extra-dir options for gtkdoc-fixxref to correctly link to other gtkdoc books
Gary Kramlich <grim@reaperworld.com>
parents: 40675
diff changeset
282
8f1d8122f07e Add extra-dir options for gtkdoc-fixxref to correctly link to other gtkdoc books
Gary Kramlich <grim@reaperworld.com>
parents: 40675
diff changeset
283 talkatu_docpath = meson.build_root() / 'subprojects/talkatu/talkatu/reference/'
40040
3f81150e326b Fix up the introspection feature so it can be disabled correctly
Gary Kramlich <grim@reaperworld.com>
parents: 40001
diff changeset
284 if enable_introspection
3f81150e326b Fix up the introspection feature so it can be disabled correctly
Gary Kramlich <grim@reaperworld.com>
parents: 40001
diff changeset
285 talkatu_gir = talkatu_proj.get_variable('talkatu_gir')[0]
3f81150e326b Fix up the introspection feature so it can be disabled correctly
Gary Kramlich <grim@reaperworld.com>
parents: 40001
diff changeset
286 endif
39427
603dec76dd4a Add fallback for talkatu.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39426
diff changeset
287 talkatu_include_directories = []
603dec76dd4a Add fallback for talkatu.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39426
diff changeset
288 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
289 endif # GTK
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
290
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
291 ENABLE_GTK = get_option('gtkui')
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
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
294 #######################################################################
38865
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
295 # Check if we should compile with X support
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
296 #######################################################################
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
297 if IS_WIN32
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
298 x11 = disabler()
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
299 else
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
300 x11 = dependency('x11', required : get_option('x'))
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
301 endif
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
302 conf.set('HAVE_X11', x11.found())
38865
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
303
a62a8251e350 Use correct X flag when configuring GNT plugins.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38851
diff changeset
304 #######################################################################
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
305 # Check for LibXML2 (required)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
306 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
307 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
308 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
309 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
310 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
311
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
312 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
313 # Check for JSON-GLib (required)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
314 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
315
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
316 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
317
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
318 #######################################################################
39989
e557e081686c Check for libsoup as a dependency.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39951
diff changeset
319 # Check for libsoup (required)
e557e081686c Check for libsoup as a dependency.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39951
diff changeset
320 #######################################################################
e557e081686c Check for libsoup as a dependency.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39951
diff changeset
321
e557e081686c Check for libsoup as a dependency.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39951
diff changeset
322 libsoup = dependency('libsoup-2.4', version : '>= 2.42')
e557e081686c Check for libsoup as a dependency.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39951
diff changeset
323
e557e081686c Check for libsoup as a dependency.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39951
diff changeset
324 #######################################################################
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
325 # Check for GStreamer
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
326 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
327
40547
86e0c5080a58 vv: Switch to GTK sinks by default.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40536
diff changeset
328 gstreamer = dependency('gstreamer-1.0', version : '>=1.14')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
329
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
330 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
331 # Check for GStreamer Video
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
332 #######################################################################
40523
9bcf96663cb9 Make gstreamer-1.0 a required dependency
Gary Kramlich <grim@reaperworld.com>
parents: 40519
diff changeset
333 gstreamer_video = dependency('gstreamer-video-1.0',
9bcf96663cb9 Make gstreamer-1.0 a required dependency
Gary Kramlich <grim@reaperworld.com>
parents: 40519
diff changeset
334 required : get_option('gstreamer-video'))
9bcf96663cb9 Make gstreamer-1.0 a required dependency
Gary Kramlich <grim@reaperworld.com>
parents: 40519
diff changeset
335 conf.set('USE_GSTVIDEO', gstreamer_video.found())
38439
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 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
338 # Check for Farstream
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 farstream = dependency('farstream-0.2', version : '>= 0.2.7',
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
341 required : get_option('farstream'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
342
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
343 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
344 # Check for Voice and Video support
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
345 #######################################################################
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
346 if get_option('vv').enabled() or get_option('vv').auto()
40523
9bcf96663cb9 Make gstreamer-1.0 a required dependency
Gary Kramlich <grim@reaperworld.com>
parents: 40519
diff changeset
347 if gstreamer_video.found() and farstream.found()
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
348 conf.set('USE_VV', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
349 enable_vv = true
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
350 else
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
351 if get_option('vv').enabled()
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
352 error('''
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
353 Dependencies for voice/video were not met.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
354 Install the necessary gstreamer and farstream packages first.
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
355 Or use -Dvv=disabled if you do not need voice/video support.
38439
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 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
358 enable_vv = false
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
359 endif
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
360 else
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
361 enable_vv = false
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
362 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
363
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
364 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
365 # 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
366 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
367 if enable_vv
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
368 gstreamer_app = dependency('gstreamer-app-1.0',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
369 required : false)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
370 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
371 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
372 conf.set('HAVE_MEDIA_APPLICATION', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
373 endif
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
374 else
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
375 gstreamer_app = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
376 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
377
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
378 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
379 # Check for Meanwhile headers (for Sametime)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
380 #######################################################################
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
381 meanwhile = dependency('meanwhile', version : ['>= 1.0.0', '< 2.0.0'], required : get_option('meanwhile'))
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
382 gmime = dependency('gmime-3.0', version : '>= 3.0.0', required : get_option('meanwhile'))
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
383 enable_meanwhile = meanwhile.found() and gmime.found()
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 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
386 # Check for Native Avahi headers (for Bonjour)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
387 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
388
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
389 if IS_WIN32
38497
fcf50c9e4138 Remove non-pkg-config fallbacks.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38496
diff changeset
390 # Just keep enabled.
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
391 enable_avahi = get_option('avahi').enabled() or get_option('avahi').auto()
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
392 avahi = []
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
393 else
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
394 # Attempt to autodetect Avahi
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
395 avahi_client = dependency('avahi-client', required : get_option('avahi'))
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
396 avahi_glib = dependency('avahi-glib', required : get_option('avahi'))
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
397 avahi = [avahi_client, avahi_glib]
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
398 enable_avahi = avahi_client.found() and avahi_glib.found()
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
399 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
400
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
401
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
402 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
403 # Check for SILC client includes and libraries
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
404 #######################################################################
40113
cfe7bb06fd11 Require silc >= 1.1.1.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40091
diff changeset
405 silc = dependency('silcclient', version : '>= 1.1.1', required : get_option('silc'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
406
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
407 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
408 # Check for Gadu-Gadu protocol library (libgadu)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
409 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
410
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
411 libgadu = dependency('libgadu', version : '>= 1.12.0', required : get_option('libgadu'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
412
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
413 if libgadu.found()
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
414 if not compiler.has_function('gg_is_gpl_compliant', dependencies : libgadu)
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
415 if get_option('libgadu').auto()
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
416 libgadu = disabler()
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
417 else
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
418 message('''
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
419 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
420
38532
ce789b341027 Fix a few inconsistencies between build systems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38531
diff changeset
421 To link against libgadu, please recompile it using:
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
422 ./configure --with-openssl=no
38532
ce789b341027 Fix a few inconsistencies between build systems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38531
diff changeset
423 Then rerun this Meson build
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
424 ''')
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
425 endif
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
426 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
427 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
428
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
429
38491
2dcf249eb9c1 Remove deleted prpls from meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38487
diff changeset
430 DEFAULT_PRPLS = ['bonjour', 'facebook', 'gg', 'irc', 'jabber', 'novell',
40566
0aa669949990 Remove the SIMPLE protocol plugin
Gary Kramlich <grim@reaperworld.com>
parents: 40547
diff changeset
431 'null', 'sametime', 'silc', 'zephyr']
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
432 ALL_PRPLS = DEFAULT_PRPLS + ['null']
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
433
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
434 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
435 if dynamic_list == ['all']
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
436 dynamic_list = DEFAULT_PRPLS
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
437 endif
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
438 DYNAMIC_PRPLS = []
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
439 foreach prpl : dynamic_list
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
440 if prpl == ''
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
441 # 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
442 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
443 # Do nothing.
38485
1e6d05a66fd2 Fix several undefined variables when things are disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38483
diff changeset
444 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
445 # Do nothing.
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
446 elif prpl == 'silc' and not silc.found()
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
447 # Do nothing.
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
448 elif prpl == 'gg' and not libgadu.found()
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
449 # Do nothing.
38505
34ec73e49cd8 Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38503
diff changeset
450 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
451 # Do nothing.
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
452 else
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
453 DYNAMIC_PRPLS += [prpl]
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
454 endif
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
455 endforeach
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
456
38443
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
457 DYNAMIC_BONJOUR = DYNAMIC_PRPLS.contains('bonjour')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
458 DYNAMIC_FACEBOOK = DYNAMIC_PRPLS.contains('facebook')
38784
d003e9305e58 Fix broken gg enabling.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38783
diff changeset
459 DYNAMIC_GG = DYNAMIC_PRPLS.contains('gg')
38443
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
460 DYNAMIC_IRC = DYNAMIC_PRPLS.contains('irc')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
461 DYNAMIC_JABBER = DYNAMIC_PRPLS.contains('jabber')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
462 DYNAMIC_NOVELL = DYNAMIC_PRPLS.contains('novell')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
463 DYNAMIC_NULL = DYNAMIC_PRPLS.contains('null')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
464 DYNAMIC_SAMETIME = DYNAMIC_PRPLS.contains('sametime')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
465 DYNAMIC_SILC = DYNAMIC_PRPLS.contains('silc')
86f66bcb3d62 Add bonjour to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38442
diff changeset
466 DYNAMIC_ZEPHYR = DYNAMIC_PRPLS.contains('zephyr')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
467
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
468 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
469 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
470 conf.set('HAVE_UNAME',
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
471 compiler.has_function('uname'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
472
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
473
38524
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
474 add_project_arguments(
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
475 '-DPURPLE_DISABLE_DEPRECATED',
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
476 '-DPIDGIN_DISABLE_DEPRECATED',
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
477 '-DFINCH_DISABLE_DEPRECATED',
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
478 '-DGNT_DISABLE_DEPRECATED',
4b665cbc6aa7 Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38523
diff changeset
479 language : 'c')
39247
ee65e9be3a5f Don't mess with flags when using plain buildtype.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39206
diff changeset
480 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
481 # We enable -Wall later.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
482 # 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
483 # 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
484 # CFLAGS=`echo $CFLAGS |$sedpath 's/-Wall//'`
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
485
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
486 # 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
487 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
488 # Future Possibilities
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
489 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
490 # Consider adding -Wbad-function-cast.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
491 # 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
492 # We'd need an intermediate variable.
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
493 #
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
494 foreach newflag : [
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
495 '-Waggregate-return',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
496 '-Wcast-align',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
497 '-Wdeclaration-after-statement',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
498 '-Wendif-labels',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
499 '-Werror-implicit-function-declaration',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
500 '-Wextra -Wno-unused-parameter',
39109
1bb4f9bcee45 meson: Silence -Wformat-security ignored without -Wformat warning
Mike Ruprecht <cmaiku@gmail.com>
parents: 39088
diff changeset
501 '-Wformat',
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
502 '-Wformat-security',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
503 '-Werror=format-security',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
504 '-Winit-self',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
505 '-Wmissing-declarations',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
506 '-Wmissing-noreturn',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
507 '-Wmissing-prototypes',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
508 '-Wpointer-arith',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
509 '-Wfloat-equal',
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
510 '-Wundef']
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
511 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
512 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
513 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
514 endforeach
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
515 endif
39247
ee65e9be3a5f Don't mess with flags when using plain buildtype.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39206
diff changeset
516 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
517 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
518 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
519
38565
bda3c4b25b9b Fix building without pidgin installed
Mike Ruprecht <cmaiku@gmail.com>
parents: 38542
diff changeset
520 pidginpath = find_program('pidgin', required : false)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
521
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
522 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
523 # 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
524 # 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
525 #######################################################################
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
526 UNITY = [
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
527 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
528 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
529 ]
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
530 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
531 if enable_unity
38509
551e37963d38 Fix some missing substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
532 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
533 else
ba0c47533bb2 Fix Meson warning of undefined substitution.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38641
diff changeset
534 conf.set('USES_MM_CHAT_SECTION', '')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
535 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
536
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 # Check for Secret Service headers
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
539 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
540
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
541 if IS_WIN32
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
542 secretservice = disabler()
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
543 else
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
544 secretservice = dependency('libsecret-1', required : get_option('secret-service'))
38482
aeed00394acf Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38480
diff changeset
545 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
546
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
547 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
548 # Check for KWallet headers
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
549 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
550
40568
0f0215662de5 Don't require C++ compiler if kwallet is not required.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40566
diff changeset
551 if IS_WIN32 or not add_languages('cpp', required : get_option('kwallet'))
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
552 kwallet = disabler()
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
553 else
40568
0f0215662de5 Don't require C++ compiler if kwallet is not required.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40566
diff changeset
554 # Use C++ compiler
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
555 cxx_compiler = meson.get_compiler('cpp')
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
556 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
557 '-DHAVE_CONFIG_H=1',
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
558 '-DDISPLAY_VERSION="@0@"'.format(meson.project_version()),
40481
65040053e80f Fix online help link.
Alejandro Garcia <>
parents: 40461
diff changeset
559 '-DPURPLE_WEBSITE="https://pidgin.im/"',
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
560 '-DGETTEXT_PACKAGE="@0@"'.format(GETTEXT_PACKAGE)],
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
561 language : 'cpp')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
562
39923
f977be37ebc0 Get the kwallet plugin compiling again
Gary Kramlich <grim@reaperworld.com>
parents: 39830
diff changeset
563 qt5 = import('qt5')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
564
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
565 qt5_dep = dependency('qt5', modules: ['Core'], required : get_option('kwallet'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
566
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
567 kwallet = dependency('KF5Wallet', required : get_option('kwallet'))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
568 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
569
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
570 #######################################################################
40224
6b658d1458c8 Fix a handful of issues found in review
Gary Kramlich <grim@reaperworld.com>
parents: 40219
diff changeset
571 # Check for GPlugin
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
572 #######################################################################
40988
aaa0ec5b5e3b Only allow gplugin version 0.32.0.
Gary Kramlich <grim@reaperworld.com>
parents: 40873
diff changeset
573 gplugin_dep = dependency('gplugin', version : '= 0.32.0', required : false)
39426
2e4f09a49404 Add fallback for gplugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39419
diff changeset
574 if gplugin_dep.found()
40678
8f1d8122f07e Add extra-dir options for gtkdoc-fixxref to correctly link to other gtkdoc books
Gary Kramlich <grim@reaperworld.com>
parents: 40675
diff changeset
575 gplugin_docpath = gplugin_dep.get_pkgconfig_variable('prefix') / 'share/gtk-doc/html'
8f1d8122f07e Add extra-dir options for gtkdoc-fixxref to correctly link to other gtkdoc books
Gary Kramlich <grim@reaperworld.com>
parents: 40675
diff changeset
576
40040
3f81150e326b Fix up the introspection feature so it can be disabled correctly
Gary Kramlich <grim@reaperworld.com>
parents: 40001
diff changeset
577 if enable_introspection
40354
2501cac980a8 GPlugin's gobject introspection was moved to 1.0 recently and we need to account for that
Gary Kramlich <grim@reaperworld.com>
parents: 40349
diff changeset
578 gplugin_gir = 'GPlugin-1.0'
39994
56806a989a33 Don't set GIR include directories if introspection=false.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39932
diff changeset
579 gplugin_include_directories = include_directories(
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40523
diff changeset
580 gplugin_dep.get_pkgconfig_variable('prefix') / 'share/gir-1.0')
39994
56806a989a33 Don't set GIR include directories if introspection=false.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39932
diff changeset
581 else
56806a989a33 Don't set GIR include directories if introspection=false.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39932
diff changeset
582 gplugin_include_directories = []
56806a989a33 Don't set GIR include directories if introspection=false.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39932
diff changeset
583 endif
40216
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
584
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
585 if get_option('gtkui')
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
586 gplugin_gtk_dep = dependency('gplugin-gtk', required : true)
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
587
40678
8f1d8122f07e Add extra-dir options for gtkdoc-fixxref to correctly link to other gtkdoc books
Gary Kramlich <grim@reaperworld.com>
parents: 40675
diff changeset
588 gplugin_gtk_docpath = gplugin_gtk_dep.get_pkgconfig_variable('prefix') / 'share/gtk-doc/html'
40216
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
589 if enable_introspection
40354
2501cac980a8 GPlugin's gobject introspection was moved to 1.0 recently and we need to account for that
Gary Kramlich <grim@reaperworld.com>
parents: 40349
diff changeset
590 gplugin_gtk_gir = 'GPluginGtk-1.0'
40216
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
591 gplugin_gtk_include_directories = include_directories(
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40523
diff changeset
592 gplugin_gtk_dep.get_pkgconfig_variable('prefix') / 'share/gir-1.0')
40216
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
593 else
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
594 gplugin_gtk_include_directories = []
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
595 endif
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
596 endif
39426
2e4f09a49404 Add fallback for gplugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39419
diff changeset
597 else
39428
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39427
diff changeset
598 gplugin_proj = subproject('gplugin',
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39427
diff changeset
599 default_options : [
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39427
diff changeset
600 'doc=' + get_option('doc').to_string(),
40640
ce42c0efab90 Fix introspection meson option.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40619
diff changeset
601 'introspection=' + enable_introspection.to_string(),
39428
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39427
diff changeset
602 'nls=' + get_option('nls').to_string(),
40216
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
603 'gtk3=' + get_option('gtkui').to_string(),
39428
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39427
diff changeset
604 ]
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39427
diff changeset
605 )
40216
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
606
39426
2e4f09a49404 Add fallback for gplugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39419
diff changeset
607 gplugin_dep = gplugin_proj.get_variable('gplugin_dep')
40678
8f1d8122f07e Add extra-dir options for gtkdoc-fixxref to correctly link to other gtkdoc books
Gary Kramlich <grim@reaperworld.com>
parents: 40675
diff changeset
608
8f1d8122f07e Add extra-dir options for gtkdoc-fixxref to correctly link to other gtkdoc books
Gary Kramlich <grim@reaperworld.com>
parents: 40675
diff changeset
609 gplugin_docpath = meson.build_root() / 'subprojects/gplugin/gplugin/reference/'
8f1d8122f07e Add extra-dir options for gtkdoc-fixxref to correctly link to other gtkdoc books
Gary Kramlich <grim@reaperworld.com>
parents: 40675
diff changeset
610
40040
3f81150e326b Fix up the introspection feature so it can be disabled correctly
Gary Kramlich <grim@reaperworld.com>
parents: 40001
diff changeset
611 if enable_introspection
3f81150e326b Fix up the introspection feature so it can be disabled correctly
Gary Kramlich <grim@reaperworld.com>
parents: 40001
diff changeset
612 gplugin_gir = gplugin_proj.get_variable('gplugin_gir')[0]
3f81150e326b Fix up the introspection feature so it can be disabled correctly
Gary Kramlich <grim@reaperworld.com>
parents: 40001
diff changeset
613 endif
39426
2e4f09a49404 Add fallback for gplugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39419
diff changeset
614 gplugin_include_directories = []
40216
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
615
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
616 if get_option('gtkui')
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
617 gplugin_gtk_dep = gplugin_proj.get_variable('gplugin_gtk_dep')
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
618
40678
8f1d8122f07e Add extra-dir options for gtkdoc-fixxref to correctly link to other gtkdoc books
Gary Kramlich <grim@reaperworld.com>
parents: 40675
diff changeset
619 gplugin_gtk_docpath = meson.build_root() / 'subprojects/gplugin/gplugin-gtk/reference/'
8f1d8122f07e Add extra-dir options for gtkdoc-fixxref to correctly link to other gtkdoc books
Gary Kramlich <grim@reaperworld.com>
parents: 40675
diff changeset
620
40216
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
621 if enable_introspection
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
622 gplugin_gtk_gir = gplugin_proj.get_variable('gplugin_gtk_gir')[0]
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
623 endif
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
624 gplugin_gtk_include_directories = []
bf78d5476c6a initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents: 40207
diff changeset
625 endif
39426
2e4f09a49404 Add fallback for gplugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39419
diff changeset
626 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
627
39949
e04b5ac32433 Re-order Meson options in nicer groups.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39947
diff changeset
628 PLUGINS = get_option('plugins')
38439
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 #######################################################################
38534
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
631 # Check for Nettle (Crypto Library)
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
632 #######################################################################
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
633
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
634 nettle = dependency('nettle', version : '>= 3.0', required : get_option('nettle'))
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
635 conf.set('HAVE_NETTLE', nettle.found())
38534
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
636
28747a3cea35 Switch GnuTLS/NSS for Nettle in Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38532
diff changeset
637 #######################################################################
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
638 # Check for Cyrus-SASL (for xmpp/irc)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
639 #######################################################################
40668
4be4ea8a8dca Delete some now-unused networking bits
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40665
diff changeset
640 foreach func : ['snprintf']
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
641 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
642 compiler.has_function(func))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
643 endforeach
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
644 sasl = dependency('libsasl2', version : '>= 2.0', required : get_option('cyrus-sasl'))
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
645 conf.set('HAVE_CYRUS_SASL', sasl.found())
39058
c189b8dbd56e meson: Update Cyrus SASL dependency to use pkg-config
Mike Ruprecht <cmaiku@gmail.com>
parents: 39049
diff changeset
646
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
647 #######################################################################
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
648 # Check for external libzephyr
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
649 #######################################################################
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
650 ext_zephyr = dependency('zephyr', required : get_option('zephyr'))
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
651 EXTERNAL_LIBZEPHYR = ext_zephyr.found()
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
652 conf.set('LIBZEPHYR_EXT', EXTERNAL_LIBZEPHYR)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
653
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
654 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
655 # Check for Kerberos (for Zephyr)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
656 #######################################################################
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
657 conf.set('ZEPHYR_INT32', 'long')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
658 #AC_SUBST(KRB4_CFLAGS)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
659 #AC_SUBST(KRB4_LDFLAGS)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
660 #AC_SUBST(KRB4_LIBS)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
661 kerberos = get_option('krb4')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
662 if kerberos
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
663 if kerberos != 'yes'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
664 # KRB4_CFLAGS='-I${kerberos}/include'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
665 # if test -d '$kerberos/include/kerberosIV' ; then
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
666 # 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
667 # fi
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
668 # KRB4_LDFLAGS='-L${kerberos}/lib'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
669 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
670 # KRB4_CFLAGS='-I/usr/local/include/kerberosIV'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
671 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
672 # KRB4_CFLAGS='-I/usr/include/kerberosIV'
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
673 endif
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
674 conf.set('ZEPHYR_USES_KERBEROS', true)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
675
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
676 # AC_CHECK_LIB(krb4, krb_rd_req,
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
677 # [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
678 # [AC_CHECK_LIB(krb, krb_rd_req,
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
679 # [KRB4_LIBS='-lkrb -ldes'],
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
680 # [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
681 # -ldes)],
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
682 # -ldes425 -lkrb5 -lk5crypto -lcom_err)
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
683 # 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
684 # 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
685 krb4 = []
38456
43e01a578957 Add zephyr to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38453
diff changeset
686 endif
43e01a578957 Add zephyr to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38453
diff changeset
687 if not kerberos
38499
4f6cafbbf4f1 Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38497
diff changeset
688 krb4 = []
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
689 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
690
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
691 #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
692 #AC_MSG_RESULT(no)
39830
c6fc1928c22c zephyr: Remove unused defines and headers.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39710
diff changeset
693 foreach func : ['timegm']
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
694 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
695 compiler.has_function(func))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
696 endforeach
40773
75794647db18 Remove unused Windows ioctl wrapper.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40678
diff changeset
697 foreach header : 'sgtty.h sys/cdefs.h sys/file.h sys/filio.h sys/msgbuf.h sys/select.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
698 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
699 compiler.has_header(header))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
700 endforeach
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
701
40512
05663def7b82 Fix some easy compiler warnings
Gary Kramlich <grim@reaperworld.com>
parents: 40509
diff changeset
702 # OpenBSD 6.7 and FreeBSD 12 require including sys/types.h before sys/sysctl.h.
05663def7b82 Fix some easy compiler warnings
Gary Kramlich <grim@reaperworld.com>
parents: 40509
diff changeset
703 # NetBSD 9.0 doesn't care.
05663def7b82 Fix some easy compiler warnings
Gary Kramlich <grim@reaperworld.com>
parents: 40509
diff changeset
704 if target_machine.system() in ['freebsd', 'openbsd']
05663def7b82 Fix some easy compiler warnings
Gary Kramlich <grim@reaperworld.com>
parents: 40509
diff changeset
705 prefix = '''
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
706 #include <sys/types.h>
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
707 '''
40512
05663def7b82 Fix some easy compiler warnings
Gary Kramlich <grim@reaperworld.com>
parents: 40509
diff changeset
708
05663def7b82 Fix some easy compiler warnings
Gary Kramlich <grim@reaperworld.com>
parents: 40509
diff changeset
709 conf.set('HAVE_SYS_SYSCTL_H',
05663def7b82 Fix some easy compiler warnings
Gary Kramlich <grim@reaperworld.com>
parents: 40509
diff changeset
710 compiler.has_header('sys/sysctl.h', prefix : prefix))
05663def7b82 Fix some easy compiler warnings
Gary Kramlich <grim@reaperworld.com>
parents: 40509
diff changeset
711 conf.set('HAVE_SYS_SOCKET_H',
05663def7b82 Fix some easy compiler warnings
Gary Kramlich <grim@reaperworld.com>
parents: 40509
diff changeset
712 compiler.has_header('sys/socket.h'))
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
713 endif
40512
05663def7b82 Fix some easy compiler warnings
Gary Kramlich <grim@reaperworld.com>
parents: 40509
diff changeset
714
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
715 #AC_VAR_TIMEZONE_EXTERNALS
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
716
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 # Disable pixmap installation
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
719 #######################################################################
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
720 INSTALL_PIXMAPS = get_option('pixmaps-install')
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 # check for gtk-doc
38515
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
723 ENABLE_DOC = get_option('doc')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
724
39206
d190f9236dfb meson git has reserved the option named 'debug' (yep...) so change our option's name
Gary Kramlich <grim@reaperworld.com>
parents: 39201
diff changeset
725 enable_debug = get_option('console-logging')
38441
f8a1733e22bf Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38440
diff changeset
726 conf.set('DEBUG', enable_debug)
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
727
38440
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
728 # 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
729 toplevel_inc = include_directories('.')
98da84139485 Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38439
diff changeset
730
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
731 subdir('libpurple')
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38461
diff changeset
732 subdir('finch')
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38468
diff changeset
733 subdir('pidgin')
38515
2d4d3a8fd23c Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
734 subdir('doc')
40461
25f653ee017e Change the logic for determining whether or not to install translations
Gary Kramlich <grim@reaperworld.com>
parents: 40439
diff changeset
735 subdir('po')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
736
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
737 configure_file(output : 'config.h',
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
738 configuration : conf)
38439
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 message('')
39443
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
741 message('pidgin ' + meson.project_version())
38439
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 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
744 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
745 message('Build console UI.............. : ' + enable_consoleui.to_string())
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
746 message('Build for X11................. : ' + x11.found().to_string())
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
747 message('')
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
748 message('Protocols to build dynamically : @0@'.format(DYNAMIC_PRPLS))
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
749 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
750 message('Build with voice and video.... : ' + enable_vv.to_string())
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
751 message('Build with Nettle support..... : ' + nettle.found().to_string())
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
752 message('Build with Cyrus SASL support. : ' + sasl.found().to_string())
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
753 message('Use external libzephyr........ : ' + EXTERNAL_LIBZEPHYR.to_string())
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
754 if not EXTERNAL_LIBZEPHYR
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
755 message('Use kerberos 4 with zephyr.... : ' + kerberos.to_string())
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
756 endif
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
757 message('Install pixmaps............... : ' + INSTALL_PIXMAPS.to_string())
40461
25f653ee017e Change the logic for determining whether or not to install translations
Gary Kramlich <grim@reaperworld.com>
parents: 40439
diff changeset
758 message('Install translations.......... : ' + get_option('nls').to_string())
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
759 message('Has you....................... : yes')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
760 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
761 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
762 message('')
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
763 message('Build with KWallet............ : ' + kwallet.found().to_string())
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39950
diff changeset
764 message('Build with Secret Service..... : ' + secretservice.found().to_string())
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
765 message('')
39416
b117963f4ff8 meson: Update plugins option to reflect what it now does
Mike Ruprecht <cmaiku@gmail.com>
parents: 39415
diff changeset
766 message('Build plugins................. : ' + PLUGINS.to_string())
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
767 message('Enable Introspection...........: ' + enable_introspection.to_string())
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
768 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
769 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
770 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
771 message('')
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40523
diff changeset
772 bindir = get_option('prefix') / get_option('bindir')
38464
fbd38fefb3b3 Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38463
diff changeset
773 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
774 if pidginpath.found()
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
775 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
776 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
777 if not INSTALL_PIXMAPS
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
778 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
779 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
780 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
781 endif
40461
25f653ee017e Change the logic for determining whether or not to install translations
Gary Kramlich <grim@reaperworld.com>
parents: 40439
diff changeset
782 if not get_option('nls')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
783 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
784 message('Warning: You have disabled the building and installation of translation')
38611
4cf9b6a6e259 Rename .desktop and .appdata files using reverse-DNS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38542
diff changeset
785 message('data. This will prevent building Pidgin desktop files.')
38439
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
786 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
787 endif
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
788 message('')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
789 message('configure complete, now type \'ninja\'')
03f1a1642a68 Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
790 message('')

mercurial