1 # UPDATING VERSION NUMBERS FOR RELEASES
3 # The version number is:
4 # <major>.<minor>.<micro><suffix>
8 # If any functions have been added to libpurple, Pidgin, or Finch:
12 # If backwards compatibility has been broken in libpurple, Pidgin, or Finch:
16 # purple_soversion += 1
18 # suffix should be similar to one of the following:
19 # For beta releases: '-beta2'
20 # For code under development: '-devel'
21 # For production releases: ''
23 project('pidgin', 'c',
24 version : '3.0.0-devel',
25 meson_version : '>=0.47.0')
28 parts = meson.project_version().split('-')
30 purple_version_suffix = parts[1]
32 purple_version_suffix = ''
35 parts = parts[0].split('.')
36 purple_major_version = parts[0]
37 purple_minor_version = parts[1]
38 purple_micro_version = parts[2]
40 add_project_arguments('-DHAVE_CONFIG_H=1', language : 'c')
41 conf = configuration_data()
42 man_conf = configuration_data()
43 version_conf = configuration_data()
45 conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
46 conf.set_quoted('PACKAGE', meson.project_name())
47 conf.set_quoted('PACKAGE_NAME', meson.project_name())
48 conf.set_quoted('VERSION', meson.project_version())
50 version_conf.set('PURPLE_MAJOR_VERSION', purple_major_version)
51 version_conf.set('PURPLE_MINOR_VERSION', purple_minor_version)
52 version_conf.set('PURPLE_MICRO_VERSION', purple_micro_version)
53 version_conf.set('PURPLE_VERSION', meson.project_version())
54 version_conf.set('PURPLE_API_VERSION', purple_soversion)
56 PURPLE_LIB_VERSION = '@0@.@1@.@2@'.format(purple_soversion,
60 package_revision = vcs_tag(
61 input : 'package_revision.h.in',
62 output : 'package_revision.h',
63 fallback : meson.project_version())
66 man_conf.set('VERSION', meson.project_version())
67 man_conf.set('prefix', get_option('prefix'))
69 # Used for pkg-config files.
70 pkgconfig = import('pkgconfig')
72 sedpath = find_program('sed')
74 # Storing build arguments
75 meson.add_postconf_script('mkmesonconf.py')
76 conf.set('HAVE_MESON_CONFIG', true)
78 # Checks for programs.
79 compiler = meson.get_compiler('c')
81 # Check for Sun compiler
82 SUNCC = compiler.compiles('void main() {__SUNPRO_C;};')
85 if host_machine.system() == 'windows'
86 windows = import('windows')
89 ws2_32 = compiler.find_library('ws2_32')
90 dnsapi = compiler.find_library('dnsapi')
91 if build_machine.system() != 'windows'
92 conf.set('IS_WIN32_CROSS_COMPILED', true)
94 conf.set('WIN32_LEAN_AND_MEAN', true)
96 conf.set('LIBPIDGIN_DLL_NAMEW',
97 'L"libpidgin-@0@.dll"'.format(purple_soversion))
104 # Checks for header files.
105 # AC_HEADER_SYS_WAIT:
106 conf.set('HAVE_SYS_WAIT_H', compiler.has_header('sys/wait.h'))
108 foreach h : ['fcntl.h', 'unistd.h', 'stdint.h']
109 if compiler.has_header(h)
110 conf.set('HAVE_' + h.to_upper().underscorify(), true)
112 error(h + ' is required.')
116 # Checks for typedefs, structures, and compiler characteristics.
117 time_t_size = compiler.sizeof('time_t',
122 conf.set('SIZEOF_TIME_T', time_t_size)
124 conf.set('WORDS_BIGENDIAN', host_machine.endian() != 'little')
126 # Check for directories
128 foreach dir : ['bin', 'lib', 'data', 'sysconf', 'locale']
129 path = join_paths(get_option('prefix'), get_option(dir + 'dir'))
130 conf.set_quoted('WIN32_FHS_@0@DIR'.format(dir.to_upper()), path)
133 conf.set('PURPLE_LIBDIR',
134 'wpurple_lib_dir("purple-@0@")'.format(purple_major_version))
135 conf.set('PIDGIN_LIBDIR',
136 'wpurple_lib_dir("pidgin-@0@")'.format(purple_major_version))
137 conf.set('FINCH_LIBDIR',
138 'wpurple_lib_dir("finch-@0@")'.format(purple_major_version))
140 conf.set('PURPLE_DATADIR', 'wpurple_data_dir()')
141 conf.set('PURPLE_SYSCONFDIR', 'wpurple_sysconf_dir()')
142 conf.set('PURPLE_LOCALEDIR', 'wpurple_locale_dir()')
144 foreach dir : ['data', 'sysconf', 'locale']
145 path = join_paths(get_option('prefix'), get_option(dir + 'dir'))
146 conf.set_quoted('PURPLE_@0@DIR'.format(dir.to_upper()), path)
149 common_libdir = join_paths(get_option('prefix'), get_option('libdir'))
150 conf.set_quoted('PURPLE_LIBDIR',
151 join_paths(common_libdir,
152 'purple-@0@'.format(purple_major_version)))
153 conf.set_quoted('PIDGIN_LIBDIR',
154 join_paths(common_libdir,
155 'pidgin-@0@'.format(purple_major_version)))
156 conf.set_quoted('FINCH_LIBDIR',
157 join_paths(common_libdir,
158 'finch-@0@'.format(purple_major_version)))
161 abslibdir = join_paths(get_option('prefix'), get_option('libdir'))
162 PURPLE_PLUGINDIR = join_paths(abslibdir, 'purple-@0@'.format(purple_major_version))
163 conf.set_quoted('PURPLE_PLUGINDIR', PURPLE_PLUGINDIR)
164 PIDGIN_PLUGINDIR = join_paths(abslibdir, 'pidgin-@0@'.format(purple_major_version))
165 conf.set_quoted('PIDGIN_PLUGINDIR', PIDGIN_PLUGINDIR)
166 FINCH_PLUGINDIR = join_paths(abslibdir, 'finch-@0@'.format(purple_major_version))
167 conf.set_quoted('FINCH_PLUGINDIR', FINCH_PLUGINDIR)
169 # Check for inet_aton
171 if not compiler.has_function('inet_aton')
172 if not compiler.has_function('inet_aton', args : '-lresolv')
173 # FIXME: Someone needs to link with -lresolv if needed.
174 error('inet_aton not found')
178 if compiler.has_function('gethostent', args : '-lnsl')
179 conf.set('HAVE_LIBNSL', true)
182 conf.set('HAVE_GETADDRINFO', true)
183 conf.set('HAVE_INET_NTOP', true)
185 if not compiler.has_function('socket')
186 if not compiler.has_function('socket', args : '-lsocket')
187 error('socket not found')
190 # If all goes well, by this point the previous two checks will have
191 # pulled in -lsocket and -lnsl if we need them.
192 if compiler.has_function('getaddrinfo')
193 conf.set('HAVE_GETADDRINFO', true)
195 if compiler.has_function('getaddrinfo', args : '-lsocket -lnsl')
196 conf.set('HAVE_GETADDRINFO', true)
197 # FIXME: LIBS += declare_dependency(link_with : ['socket', 'nsl'])
200 conf.set('HAVE_INET_NTOP',
201 compiler.has_function('inet_ntop'))
203 conf.set('HAVE_GETIFADDRS',
204 compiler.has_function('getifaddrs'))
206 # Check for socklen_t (in Unix98)
208 socket_header = 'ws2tcpip.h'
210 socket_header = 'sys/socket.h'
212 if not compiler.has_header_symbol(socket_header, 'socklen_t')
214 #include <sys/types.h>
216 int accept(int, struct sockaddr *, size_t *);
218 '''.format(socket_header)
219 if compiler.compiles(code, name : 'socklen_t is size_t')
220 conf.set('socklen_t', 'size_t')
222 conf.set('socklen_t', 'int')
226 # Some systems do not have sa_len field for struct sockaddr.
227 conf.set('HAVE_STRUCT_SOCKADDR_SA_LEN',
228 compiler.has_member('struct sockaddr', 'sa_len',
229 prefix : '#include <@0@>'.format(socket_header)))
231 # Check for v6-only sockets
233 header = 'ws2tcpip.h'
235 header = 'netinet/in.h'
237 conf.set('HAVE_IPV6_V6ONLY',
238 compiler.has_header_symbol(header, 'IPV6_V6ONLY'))
240 # Windows and Haiku do not use libm for the math functions, they are part
242 math = compiler.find_library('m')
244 # before gettexting, in case iconv matters
246 if host_machine.system() == 'darwin'
247 if compiler.has_header('CoreFoundation/CoreFoundation.h')
248 if compiler.has_header('IOKit/IOKitLib.h')
249 conf.set('HAVE_IOKIT', true)
250 IOKIT = dependency('appleframeworks',
251 modules : ['IOKit', 'CoreFoundation'])
255 if run_command('test', '-d', '/sw').returncode() == 0
257 #CPPFLAGS="$CPPFLAGS -I/sw/include"
258 #LDFLAGS="$LDFLAGS -L/sw/lib"
262 # #######################################################################
263 # # Disable creation and installation of translation files
264 # #######################################################################
266 INSTALL_I18N = get_option('nls')
269 i18n = import('i18n')
274 # #######################################################################
275 # # Check for GLib 2.44 (required)
276 # #######################################################################
277 glib = dependency('glib-2.0', version : '>= 2.44.0')
278 gio = dependency('gio-2.0')
279 gobject = dependency('gobject-2.0')
280 gthread = dependency('gthread-2.0')
281 gnome = import('gnome')
283 if get_option('extraversion') != ''
284 DISPLAY_VERSION = '@0@-@1@'.format(meson.project_version(),
285 get_option('extraversion'))
287 DISPLAY_VERSION = meson.project_version()
289 conf.set_quoted('DISPLAY_VERSION', DISPLAY_VERSION)
291 #######################################################################
292 # Check for GObject Introspection
293 #######################################################################
295 enable_introspection = dependency('gobject-introspection-1.0', version : '>= 1.30.0',
296 required : get_option('introspection')).found()
297 conf.set('ENABLE_INTROSPECTION', enable_introspection)
299 # #######################################################################
300 # # Check for GTK+ 2.18 and other things used by the GTK UI
301 # #######################################################################
302 # #######################################################################
303 # Check Pidgin dependencies
304 # #######################################################################
305 if get_option('gtkui')
306 gtk = dependency('gtk+-3.0', version : '>= 3.20.0')
308 talkatu_dep = dependency('talkatu', version: '>=0.1.0', required : false)
309 if talkatu_dep.found()
310 talkatu_gir = 'Talkatu-0.0'
311 if get_option('introspection')
312 talkatu_include_directories = include_directories(
313 join_paths(talkatu_dep.get_pkgconfig_variable('prefix'),
316 talkatu_include_directories = []
319 talkatu_proj = subproject('talkatu',
321 'doc=' + get_option('doc').to_string(),
322 'gobject-introspection=' + enable_introspection.to_string(),
323 'nls=' + get_option('nls').to_string(),
326 talkatu_dep = talkatu_proj.get_variable('talkatu_dep')
327 talkatu_gir = talkatu_proj.get_variable('talkatu_gir')[0]
328 talkatu_include_directories = []
332 ENABLE_GTK = get_option('gtkui')
335 #######################################################################
336 # Check if we should compile with X support
337 #######################################################################
341 x11 = dependency('x11', required : get_option('x'))
343 conf.set('HAVE_X11', x11.found())
345 enable_gestures = get_option('gestures')
346 if not get_option('gtkui') or not x11.found()
347 enable_gestures = false
350 #######################################################################
351 # Check for LibXML2 (required)
352 #######################################################################
353 libxml = dependency('libxml-2.0', version : '>= 2.6.0')
354 if libxml.version().version_compare('<2.6.18')
355 message('Versions of libxml2 < 2.6.18 may contain bugs that could cause XMPP messages to be discarded.')
358 #######################################################################
359 # Check for JSON-GLib (required)
360 #######################################################################
362 json = dependency('json-glib-1.0', version : '>= 0.14.0')
364 #######################################################################
365 # Check for libsoup (required)
366 #######################################################################
368 libsoup = dependency('libsoup-2.4', version : '>= 2.42')
370 #######################################################################
371 # Check for GStreamer
372 #######################################################################
374 gstreamer = dependency('gstreamer-1.0', required : get_option('gstreamer'))
375 conf.set('USE_GSTREAMER', gstreamer.found())
377 #######################################################################
378 # Check for GStreamer Video
379 #######################################################################
381 gstreamer_video = dependency('gstreamer-video-1.0',
382 required : get_option('gstreamer-video'))
383 conf.set('USE_GSTVIDEO', gstreamer_video.found())
385 gstreamer_video = disabler()
388 #######################################################################
389 # Check for Farstream
390 #######################################################################
391 farstream = dependency('farstream-0.2', version : '>= 0.2.7',
392 required : get_option('farstream'))
394 #######################################################################
395 # Check for Voice and Video support
396 #######################################################################
397 if get_option('vv').enabled() or get_option('vv').auto()
398 if gstreamer.found() and gstreamer_video.found() and farstream.found()
399 conf.set('USE_VV', true)
402 if get_option('vv').enabled()
404 Dependencies for voice/video were not met.
405 Install the necessary gstreamer and farstream packages first.
406 Or use -Dvv=disabled if you do not need voice/video support.
415 #######################################################################
416 # Check for Raw data streams support in Farstream
417 #######################################################################
419 gstreamer_app = dependency('gstreamer-app-1.0',
421 if gstreamer_app.found()
422 conf.set('USE_GSTAPP', true)
423 conf.set('HAVE_MEDIA_APPLICATION', true)
429 #######################################################################
430 # Check for Meanwhile headers (for Sametime)
431 #######################################################################
432 meanwhile = dependency('meanwhile', version : ['>= 1.0.0', '< 2.0.0'], required : get_option('meanwhile'))
433 gmime = dependency('gmime-3.0', version : '>= 3.0.0', required : get_option('meanwhile'))
434 enable_meanwhile = meanwhile.found() and gmime.found()
436 #######################################################################
437 # Check for Native Avahi headers (for Bonjour)
438 #######################################################################
442 enable_avahi = get_option('avahi').enabled() or get_option('avahi').auto()
445 # Attempt to autodetect Avahi
446 avahi_client = dependency('avahi-client', required : get_option('avahi'))
447 avahi_glib = dependency('avahi-glib', required : get_option('avahi'))
448 avahi = [avahi_client, avahi_glib]
449 enable_avahi = avahi_client.found() and avahi_glib.found()
453 #######################################################################
454 # Check for SILC client includes and libraries
455 #######################################################################
456 silc = dependency('silcclient', version : '>= 1.1', required : get_option('silc'))
458 #######################################################################
459 # Check for Gadu-Gadu protocol library (libgadu)
460 #######################################################################
462 libgadu = dependency('libgadu', version : '>= 1.12.0', required : get_option('libgadu'))
465 if not compiler.has_function('gg_is_gpl_compliant', dependencies : libgadu)
466 if get_option('libgadu').auto()
470 libgadu is not compatible with the GPL when compiled with OpenSSL support.
472 To link against libgadu, please recompile it using:
473 ./configure --with-openssl=no
474 Then rerun this Meson build
481 DEFAULT_PRPLS = ['bonjour', 'facebook', 'gg', 'irc', 'jabber', 'novell',
482 'null', 'oscar', 'sametime', 'silc', 'simple', 'zephyr']
483 ALL_PRPLS = DEFAULT_PRPLS + ['null']
485 dynamic_list = get_option('dynamic-prpls').split(',')
486 if dynamic_list == ['all']
487 dynamic_list = DEFAULT_PRPLS
490 foreach prpl : dynamic_list
492 # The list was empty; do nothing.
493 elif prpl == 'sametime' and not enable_meanwhile
495 elif prpl == 'bonjour' and not enable_avahi
497 elif prpl == 'silc' and not silc.found()
499 elif prpl == 'gg' and not libgadu.found()
501 elif prpl == 'zephyr' and IS_WIN32
504 DYNAMIC_PRPLS += [prpl]
508 DYNAMIC_BONJOUR = DYNAMIC_PRPLS.contains('bonjour')
509 DYNAMIC_FACEBOOK = DYNAMIC_PRPLS.contains('facebook')
510 DYNAMIC_GG = DYNAMIC_PRPLS.contains('gg')
511 DYNAMIC_IRC = DYNAMIC_PRPLS.contains('irc')
512 DYNAMIC_JABBER = DYNAMIC_PRPLS.contains('jabber')
513 DYNAMIC_NOVELL = DYNAMIC_PRPLS.contains('novell')
514 DYNAMIC_NULL = DYNAMIC_PRPLS.contains('null')
515 DYNAMIC_OSCAR = DYNAMIC_PRPLS.contains('oscar') or DYNAMIC_PRPLS.contains('aim') or DYNAMIC_PRPLS.contains('icq')
516 DYNAMIC_SAMETIME = DYNAMIC_PRPLS.contains('sametime')
517 DYNAMIC_SILC = DYNAMIC_PRPLS.contains('silc')
518 DYNAMIC_SIMPLE = DYNAMIC_PRPLS.contains('simple')
519 DYNAMIC_ZEPHYR = DYNAMIC_PRPLS.contains('zephyr')
521 conf.set('HAVE_SYS_UTSNAME_H',
522 compiler.has_header('sys/utsname.h'))
523 conf.set('HAVE_UNAME',
524 compiler.has_function('uname'))
527 add_project_arguments(
528 '-DPURPLE_DISABLE_DEPRECATED',
529 '-DPIDGIN_DISABLE_DEPRECATED',
530 '-DFINCH_DISABLE_DEPRECATED',
531 '-DGNT_DISABLE_DEPRECATED',
533 if get_option('buildtype') != 'plain' and compiler.get_id() == 'gcc'
534 # We enable -Wall later.
535 # If it's set after the warning CFLAGS in the compiler invocation, it counteracts the -Wno... flags.
536 # This leads to warnings we don't want.
537 # CFLAGS=`echo $CFLAGS |$sedpath 's/-Wall//'`
539 # ENABLE WARNINGS SUPPORTED BY THE VERSION OF GCC IN USE
541 # Future Possibilities
543 # Consider adding -Wbad-function-cast.
544 # This leads to spurious warnings using GPOINTER_TO_INT(), et al. directly on a function call.
545 # We'd need an intermediate variable.
548 '-Waggregate-return',
550 '-Wdeclaration-after-statement',
552 '-Werror-implicit-function-declaration',
553 '-Wextra -Wno-unused-parameter',
556 '-Werror=format-security',
558 '-Wmissing-declarations',
559 '-Wmissing-noreturn',
560 '-Wmissing-prototypes',
564 if compiler.has_argument(newflag)
565 add_project_arguments(newflag, language : 'c')
569 if get_option('buildtype') != 'plain' and SUNCC
570 add_project_arguments('-features=extensions', language : 'c')
573 pidginpath = find_program('pidgin', required : false)
575 if get_option('glib-errors-trace')
576 if compiler.get_id() == 'clang'
577 error('--enable-glib-errors-trace doesn\'t work with clang')
579 conf.set('ENABLE_GLIBTRACE', true)
580 add_project_arguments('-rdynamic', language : 'c')
583 #######################################################################
584 # Check for Unity and Messaging Menu
585 # Remove when Ubuntu 16.04 is EOL
586 #######################################################################
588 dependency('unity', version : '>= 6.8', required : get_option('unity-integration')),
589 dependency('messaging-menu', version : '>= 12.10', required : get_option('unity-integration'))
591 enable_unity = UNITY[0].found() and UNITY[1].found()
593 conf.set('USES_MM_CHAT_SECTION', 'X-MessagingMenu-UsesChatSection=true')
595 conf.set('USES_MM_CHAT_SECTION', '')
598 #######################################################################
599 # Check for Secret Service headers
600 #######################################################################
603 secretservice = disabler()
605 secretservice = dependency('libsecret-1', required : get_option('secret-service'))
608 #######################################################################
609 # Check for KWallet headers
610 #######################################################################
615 # Ensure C++ compiler works
617 cxx_compiler = meson.get_compiler('cpp')
618 add_project_arguments('-DHAVE_CONFIG_H=1', language : 'cpp')
622 qt5_dep = dependency('qt5', modules: ['Core'], required : get_option('kwallet'))
624 kwallet = dependency('KF5Wallet', required : get_option('kwallet'))
627 #######################################################################
628 # Check for GPlugin 0.28.0
629 #######################################################################
630 gplugin_dep = dependency('gplugin', version : '>= 0.28.0', required : false)
631 if gplugin_dep.found()
632 gplugin_gir = 'GPlugin-0.0'
633 if get_option('introspection')
634 gplugin_include_directories = include_directories(
635 join_paths(gplugin_dep.get_pkgconfig_variable('prefix'),
638 gplugin_include_directories = []
641 gplugin_proj = subproject('gplugin',
643 'doc=' + get_option('doc').to_string(),
644 'gobject-introspection=' + enable_introspection.to_string(),
645 'nls=' + get_option('nls').to_string(),
648 gplugin_dep = gplugin_proj.get_variable('gplugin_dep')
649 gplugin_gir = gplugin_proj.get_variable('gplugin_gir')[0]
650 gplugin_include_directories = []
653 PLUGINS = get_option('plugins')
655 #######################################################################
656 # Check for Nettle (Crypto Library)
657 #######################################################################
659 nettle = dependency('nettle', version : '>= 3.0', required : get_option('nettle'))
660 conf.set('HAVE_NETTLE', nettle.found())
662 #######################################################################
663 # Check for Cyrus-SASL (for xmpp/irc)
664 #######################################################################
665 foreach func : ['snprintf', 'connect']
666 conf.set('HAVE_' + func.to_upper(),
667 compiler.has_function(func))
669 sasl = dependency('libsasl2', version : '>= 2.0', required : get_option('cyrus-sasl'))
670 conf.set('HAVE_CYRUS_SASL', sasl.found())
672 #######################################################################
673 # Check for external libzephyr
674 #######################################################################
675 ext_zephyr = dependency('zephyr', required : get_option('zephyr'))
676 EXTERNAL_LIBZEPHYR = ext_zephyr.found()
677 conf.set('LIBZEPHYR_EXT', EXTERNAL_LIBZEPHYR)
679 #######################################################################
680 # Check for Kerberos (for Zephyr)
681 #######################################################################
682 conf.set('ZEPHYR_INT32', 'long')
683 #AC_SUBST(KRB4_CFLAGS)
684 #AC_SUBST(KRB4_LDFLAGS)
686 kerberos = get_option('krb4')
689 # KRB4_CFLAGS='-I${kerberos}/include'
690 # if test -d '$kerberos/include/kerberosIV' ; then
691 # KRB4_CFLAGS='$KRB4_CFLAGS -I${kerberos}/include/kerberosIV'
693 # KRB4_LDFLAGS='-L${kerberos}/lib'
694 elif run_command('test', '-d', '/usr/local/include/kerberosIV').returncode() == 0
695 # KRB4_CFLAGS='-I/usr/local/include/kerberosIV'
696 elif run_command('test', '-d', '/usr/include/kerberosIV').returncode() == 0
697 # KRB4_CFLAGS='-I/usr/include/kerberosIV'
699 conf.set('ZEPHYR_USES_KERBEROS', true)
701 # AC_CHECK_LIB(krb4, krb_rd_req,
702 # [KRB4_LIBS='-lkrb4 -ldes425 -lkrb5 -lk5crypto -lcom_err'],
703 # [AC_CHECK_LIB(krb, krb_rd_req,
704 # [KRB4_LIBS='-lkrb -ldes'],
705 # [AC_MSG_ERROR([Kerberos 4 libraries not found])],
707 # -ldes425 -lkrb5 -lk5crypto -lcom_err)
708 # AC_CHECK_FUNCS(krb_set_key krb_rd_req krb_get_lrealm)
709 # AC_CHECK_FUNCS(krb_get_err_text krb_log)
716 #AC_MSG_CHECKING(for me pot o' gold)
718 foreach func : ['timegm']
719 conf.set('HAVE_' + func.to_upper(),
720 compiler.has_function(func))
722 foreach header : 'sgtty.h sys/cdefs.h sys/file.h sys/filio.h sys/ioctl.h sys/msgbuf.h sys/select.h sys/wait.h termios.h'.split()
723 conf.set('HAVE_' + header.to_upper().underscorify(),
724 compiler.has_header(header))
727 # sys/sysctl.h on OpenBSD 4.2 requires sys/param.h
728 # sys/sysctl.h on FreeBSD requires sys/types.h
729 have_sys_param_h = compiler.has_header('sys/param.h')
730 conf.set('HAVE_SYS_PARAM_H', have_sys_param_h)
732 #include <sys/types.h>
736 #include <sys/param.h>
739 conf.set('HAVE_SYS_SYSCTL_H',
740 compiler.has_header('sys/sysctl.h', prefix : prefix))
741 conf.set('HAVE_SYS_SOCKET_H',
742 compiler.has_header('sys/socket.h'))
743 #AC_VAR_TIMEZONE_EXTERNALS
745 #######################################################################
746 # Disable pixmap installation
747 #######################################################################
748 INSTALL_PIXMAPS = get_option('pixmaps-install')
751 ENABLE_DOC = get_option('doc')
753 enable_debug = get_option('console-logging')
754 conf.set('DEBUG', enable_debug)
756 # So that config.h may be found.
757 toplevel_inc = include_directories('.')
760 subdir('share/sounds')
765 configure_file(output : 'config.h',
766 configuration : conf)
769 message('pidgin ' + meson.project_version())
772 message('Build GTK+ UI................. : ' + get_option('gtkui').to_string())
773 message('Build console UI.............. : ' + enable_consoleui.to_string())
774 message('Build for X11................. : ' + x11.found().to_string())
776 message('Enable Gestures............... : ' + enable_gestures.to_string())
777 message('Protocols to build dynamically : @0@'.format(DYNAMIC_PRPLS))
779 message('Build with GStreamer support.. : ' + gstreamer.found().to_string())
780 message('Build with voice and video.... : ' + enable_vv.to_string())
781 message('Build with GNU Libidn......... : ' + idn.found().to_string())
782 message('Build with Nettle support..... : ' + nettle.found().to_string())
783 message('Build with Cyrus SASL support. : ' + sasl.found().to_string())
784 message('Use external libzephyr........ : ' + EXTERNAL_LIBZEPHYR.to_string())
785 if not EXTERNAL_LIBZEPHYR
786 message('Use kerberos 4 with zephyr.... : ' + kerberos.to_string())
788 message('Install pixmaps............... : ' + INSTALL_PIXMAPS.to_string())
789 message('Install translations.......... : ' + INSTALL_I18N.to_string())
790 message('Has you....................... : yes')
792 message('Build Unity integration plugin.: ' + enable_unity.to_string())
794 message('Build with KWallet............ : ' + kwallet.found().to_string())
795 message('Build with Secret Service..... : ' + secretservice.found().to_string())
797 message('Build plugins................. : ' + PLUGINS.to_string())
798 message('Enable Introspection...........: ' + enable_introspection.to_string())
800 message('Print debugging messages...... : ' + enable_debug.to_string())
801 message('Generate documentation........ : ' + ENABLE_DOC.to_string())
803 bindir = join_paths(get_option('prefix'), get_option('bindir'))
804 message('Pidgin will be installed in @0@.'.format(bindir))
805 if pidginpath.found()
806 message('Warning: You have an old copy of Pidgin at @0@.'.format(pidginpath.path()))
808 if not INSTALL_PIXMAPS
810 message('Warning: You have disabled the installation of pixmap data, but Pidgin')
811 message('still requires installed pixmaps. Be sure you know what you are doing.')
815 message('Warning: You have disabled the building and installation of translation')
816 message('data. This will prevent building Pidgin desktop files.')
817 message('Be sure you know what you are doing.')
820 message('configure complete, now type \'ninja\'')