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 if enable_introspection
311 talkatu_gir = 'Talkatu-0.0'
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 if enable_introspection
328 talkatu_gir = talkatu_proj.get_variable('talkatu_gir')[0]
330 talkatu_include_directories = []
334 ENABLE_GTK = get_option('gtkui')
337 #######################################################################
338 # Check if we should compile with X support
339 #######################################################################
343 x11 = dependency('x11', required : get_option('x'))
345 conf.set('HAVE_X11', x11.found())
347 enable_gestures = get_option('gestures')
348 if not get_option('gtkui') or not x11.found()
349 enable_gestures = false
352 #######################################################################
353 # Check for LibXML2 (required)
354 #######################################################################
355 libxml = dependency('libxml-2.0', version : '>= 2.6.0')
356 if libxml.version().version_compare('<2.6.18')
357 message('Versions of libxml2 < 2.6.18 may contain bugs that could cause XMPP messages to be discarded.')
360 #######################################################################
361 # Check for JSON-GLib (required)
362 #######################################################################
364 json = dependency('json-glib-1.0', version : '>= 0.14.0')
366 #######################################################################
367 # Check for libsoup (required)
368 #######################################################################
370 libsoup = dependency('libsoup-2.4', version : '>= 2.42')
372 #######################################################################
373 # Check for GStreamer
374 #######################################################################
376 gstreamer = dependency('gstreamer-1.0', required : get_option('gstreamer'))
377 conf.set('USE_GSTREAMER', gstreamer.found())
379 #######################################################################
380 # Check for GStreamer Video
381 #######################################################################
383 gstreamer_video = dependency('gstreamer-video-1.0',
384 required : get_option('gstreamer-video'))
385 conf.set('USE_GSTVIDEO', gstreamer_video.found())
387 gstreamer_video = disabler()
390 #######################################################################
391 # Check for Farstream
392 #######################################################################
393 farstream = dependency('farstream-0.2', version : '>= 0.2.7',
394 required : get_option('farstream'))
396 #######################################################################
397 # Check for Voice and Video support
398 #######################################################################
399 if get_option('vv').enabled() or get_option('vv').auto()
400 if gstreamer.found() and gstreamer_video.found() and farstream.found()
401 conf.set('USE_VV', true)
404 if get_option('vv').enabled()
406 Dependencies for voice/video were not met.
407 Install the necessary gstreamer and farstream packages first.
408 Or use -Dvv=disabled if you do not need voice/video support.
417 #######################################################################
418 # Check for Raw data streams support in Farstream
419 #######################################################################
421 gstreamer_app = dependency('gstreamer-app-1.0',
423 if gstreamer_app.found()
424 conf.set('USE_GSTAPP', true)
425 conf.set('HAVE_MEDIA_APPLICATION', true)
431 #######################################################################
432 # Check for Meanwhile headers (for Sametime)
433 #######################################################################
434 meanwhile = dependency('meanwhile', version : ['>= 1.0.0', '< 2.0.0'], required : get_option('meanwhile'))
435 gmime = dependency('gmime-3.0', version : '>= 3.0.0', required : get_option('meanwhile'))
436 enable_meanwhile = meanwhile.found() and gmime.found()
438 #######################################################################
439 # Check for Native Avahi headers (for Bonjour)
440 #######################################################################
444 enable_avahi = get_option('avahi').enabled() or get_option('avahi').auto()
447 # Attempt to autodetect Avahi
448 avahi_client = dependency('avahi-client', required : get_option('avahi'))
449 avahi_glib = dependency('avahi-glib', required : get_option('avahi'))
450 avahi = [avahi_client, avahi_glib]
451 enable_avahi = avahi_client.found() and avahi_glib.found()
455 #######################################################################
456 # Check for SILC client includes and libraries
457 #######################################################################
458 silc = dependency('silcclient', version : '>= 1.1', required : get_option('silc'))
460 #######################################################################
461 # Check for Gadu-Gadu protocol library (libgadu)
462 #######################################################################
464 libgadu = dependency('libgadu', version : '>= 1.12.0', required : get_option('libgadu'))
467 if not compiler.has_function('gg_is_gpl_compliant', dependencies : libgadu)
468 if get_option('libgadu').auto()
472 libgadu is not compatible with the GPL when compiled with OpenSSL support.
474 To link against libgadu, please recompile it using:
475 ./configure --with-openssl=no
476 Then rerun this Meson build
483 DEFAULT_PRPLS = ['bonjour', 'facebook', 'gg', 'irc', 'jabber', 'novell',
484 'null', 'oscar', 'sametime', 'silc', 'simple', 'zephyr']
485 ALL_PRPLS = DEFAULT_PRPLS + ['null']
487 dynamic_list = get_option('dynamic-prpls').split(',')
488 if dynamic_list == ['all']
489 dynamic_list = DEFAULT_PRPLS
492 foreach prpl : dynamic_list
494 # The list was empty; do nothing.
495 elif prpl == 'sametime' and not enable_meanwhile
497 elif prpl == 'bonjour' and not enable_avahi
499 elif prpl == 'silc' and not silc.found()
501 elif prpl == 'gg' and not libgadu.found()
503 elif prpl == 'zephyr' and IS_WIN32
506 DYNAMIC_PRPLS += [prpl]
510 DYNAMIC_BONJOUR = DYNAMIC_PRPLS.contains('bonjour')
511 DYNAMIC_FACEBOOK = DYNAMIC_PRPLS.contains('facebook')
512 DYNAMIC_GG = DYNAMIC_PRPLS.contains('gg')
513 DYNAMIC_IRC = DYNAMIC_PRPLS.contains('irc')
514 DYNAMIC_JABBER = DYNAMIC_PRPLS.contains('jabber')
515 DYNAMIC_NOVELL = DYNAMIC_PRPLS.contains('novell')
516 DYNAMIC_NULL = DYNAMIC_PRPLS.contains('null')
517 DYNAMIC_OSCAR = DYNAMIC_PRPLS.contains('oscar') or DYNAMIC_PRPLS.contains('aim') or DYNAMIC_PRPLS.contains('icq')
518 DYNAMIC_SAMETIME = DYNAMIC_PRPLS.contains('sametime')
519 DYNAMIC_SILC = DYNAMIC_PRPLS.contains('silc')
520 DYNAMIC_SIMPLE = DYNAMIC_PRPLS.contains('simple')
521 DYNAMIC_ZEPHYR = DYNAMIC_PRPLS.contains('zephyr')
523 conf.set('HAVE_SYS_UTSNAME_H',
524 compiler.has_header('sys/utsname.h'))
525 conf.set('HAVE_UNAME',
526 compiler.has_function('uname'))
529 add_project_arguments(
530 '-DPURPLE_DISABLE_DEPRECATED',
531 '-DPIDGIN_DISABLE_DEPRECATED',
532 '-DFINCH_DISABLE_DEPRECATED',
533 '-DGNT_DISABLE_DEPRECATED',
535 if get_option('buildtype') != 'plain' and compiler.get_id() == 'gcc'
536 # We enable -Wall later.
537 # If it's set after the warning CFLAGS in the compiler invocation, it counteracts the -Wno... flags.
538 # This leads to warnings we don't want.
539 # CFLAGS=`echo $CFLAGS |$sedpath 's/-Wall//'`
541 # ENABLE WARNINGS SUPPORTED BY THE VERSION OF GCC IN USE
543 # Future Possibilities
545 # Consider adding -Wbad-function-cast.
546 # This leads to spurious warnings using GPOINTER_TO_INT(), et al. directly on a function call.
547 # We'd need an intermediate variable.
550 '-Waggregate-return',
552 '-Wdeclaration-after-statement',
554 '-Werror-implicit-function-declaration',
555 '-Wextra -Wno-unused-parameter',
558 '-Werror=format-security',
560 '-Wmissing-declarations',
561 '-Wmissing-noreturn',
562 '-Wmissing-prototypes',
566 if compiler.has_argument(newflag)
567 add_project_arguments(newflag, language : 'c')
571 if get_option('buildtype') != 'plain' and SUNCC
572 add_project_arguments('-features=extensions', language : 'c')
575 pidginpath = find_program('pidgin', required : false)
577 if get_option('glib-errors-trace')
578 if compiler.get_id() == 'clang'
579 error('--enable-glib-errors-trace doesn\'t work with clang')
581 conf.set('ENABLE_GLIBTRACE', true)
582 add_project_arguments('-rdynamic', language : 'c')
585 #######################################################################
586 # Check for Unity and Messaging Menu
587 # Remove when Ubuntu 16.04 is EOL
588 #######################################################################
590 dependency('unity', version : '>= 6.8', required : get_option('unity-integration')),
591 dependency('messaging-menu', version : '>= 12.10', required : get_option('unity-integration'))
593 enable_unity = UNITY[0].found() and UNITY[1].found()
595 conf.set('USES_MM_CHAT_SECTION', 'X-MessagingMenu-UsesChatSection=true')
597 conf.set('USES_MM_CHAT_SECTION', '')
600 #######################################################################
601 # Check for Secret Service headers
602 #######################################################################
605 secretservice = disabler()
607 secretservice = dependency('libsecret-1', required : get_option('secret-service'))
610 #######################################################################
611 # Check for KWallet headers
612 #######################################################################
617 # Ensure C++ compiler works
619 cxx_compiler = meson.get_compiler('cpp')
620 add_project_arguments('-DHAVE_CONFIG_H=1', language : 'cpp')
624 qt5_dep = dependency('qt5', modules: ['Core'], required : get_option('kwallet'))
626 kwallet = dependency('KF5Wallet', required : get_option('kwallet'))
629 #######################################################################
630 # Check for GPlugin 0.28.0
631 #######################################################################
632 gplugin_dep = dependency('gplugin', version : '>= 0.28.0', required : false)
633 if gplugin_dep.found()
634 if enable_introspection
635 gplugin_gir = 'GPlugin-0.0'
636 gplugin_include_directories = include_directories(
637 join_paths(gplugin_dep.get_pkgconfig_variable('prefix'),
640 gplugin_include_directories = []
643 gplugin_proj = subproject('gplugin',
645 'doc=' + get_option('doc').to_string(),
646 'gobject-introspection=' + enable_introspection.to_string(),
647 'nls=' + get_option('nls').to_string(),
650 gplugin_dep = gplugin_proj.get_variable('gplugin_dep')
651 if enable_introspection
652 gplugin_gir = gplugin_proj.get_variable('gplugin_gir')[0]
654 gplugin_include_directories = []
657 PLUGINS = get_option('plugins')
659 #######################################################################
660 # Check for Nettle (Crypto Library)
661 #######################################################################
663 nettle = dependency('nettle', version : '>= 3.0', required : get_option('nettle'))
664 conf.set('HAVE_NETTLE', nettle.found())
666 #######################################################################
667 # Check for Cyrus-SASL (for xmpp/irc)
668 #######################################################################
669 foreach func : ['snprintf', 'connect']
670 conf.set('HAVE_' + func.to_upper(),
671 compiler.has_function(func))
673 sasl = dependency('libsasl2', version : '>= 2.0', required : get_option('cyrus-sasl'))
674 conf.set('HAVE_CYRUS_SASL', sasl.found())
676 #######################################################################
677 # Check for external libzephyr
678 #######################################################################
679 ext_zephyr = dependency('zephyr', required : get_option('zephyr'))
680 EXTERNAL_LIBZEPHYR = ext_zephyr.found()
681 conf.set('LIBZEPHYR_EXT', EXTERNAL_LIBZEPHYR)
683 #######################################################################
684 # Check for Kerberos (for Zephyr)
685 #######################################################################
686 conf.set('ZEPHYR_INT32', 'long')
687 #AC_SUBST(KRB4_CFLAGS)
688 #AC_SUBST(KRB4_LDFLAGS)
690 kerberos = get_option('krb4')
693 # KRB4_CFLAGS='-I${kerberos}/include'
694 # if test -d '$kerberos/include/kerberosIV' ; then
695 # KRB4_CFLAGS='$KRB4_CFLAGS -I${kerberos}/include/kerberosIV'
697 # KRB4_LDFLAGS='-L${kerberos}/lib'
698 elif run_command('test', '-d', '/usr/local/include/kerberosIV').returncode() == 0
699 # KRB4_CFLAGS='-I/usr/local/include/kerberosIV'
700 elif run_command('test', '-d', '/usr/include/kerberosIV').returncode() == 0
701 # KRB4_CFLAGS='-I/usr/include/kerberosIV'
703 conf.set('ZEPHYR_USES_KERBEROS', true)
705 # AC_CHECK_LIB(krb4, krb_rd_req,
706 # [KRB4_LIBS='-lkrb4 -ldes425 -lkrb5 -lk5crypto -lcom_err'],
707 # [AC_CHECK_LIB(krb, krb_rd_req,
708 # [KRB4_LIBS='-lkrb -ldes'],
709 # [AC_MSG_ERROR([Kerberos 4 libraries not found])],
711 # -ldes425 -lkrb5 -lk5crypto -lcom_err)
712 # AC_CHECK_FUNCS(krb_set_key krb_rd_req krb_get_lrealm)
713 # AC_CHECK_FUNCS(krb_get_err_text krb_log)
720 #AC_MSG_CHECKING(for me pot o' gold)
722 foreach func : ['timegm']
723 conf.set('HAVE_' + func.to_upper(),
724 compiler.has_function(func))
726 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()
727 conf.set('HAVE_' + header.to_upper().underscorify(),
728 compiler.has_header(header))
731 # sys/sysctl.h on OpenBSD 4.2 requires sys/param.h
732 # sys/sysctl.h on FreeBSD requires sys/types.h
733 have_sys_param_h = compiler.has_header('sys/param.h')
734 conf.set('HAVE_SYS_PARAM_H', have_sys_param_h)
736 #include <sys/types.h>
740 #include <sys/param.h>
743 conf.set('HAVE_SYS_SYSCTL_H',
744 compiler.has_header('sys/sysctl.h', prefix : prefix))
745 conf.set('HAVE_SYS_SOCKET_H',
746 compiler.has_header('sys/socket.h'))
747 #AC_VAR_TIMEZONE_EXTERNALS
749 #######################################################################
750 # Disable pixmap installation
751 #######################################################################
752 INSTALL_PIXMAPS = get_option('pixmaps-install')
755 ENABLE_DOC = get_option('doc')
757 enable_debug = get_option('console-logging')
758 conf.set('DEBUG', enable_debug)
760 # So that config.h may be found.
761 toplevel_inc = include_directories('.')
764 subdir('share/sounds')
769 configure_file(output : 'config.h',
770 configuration : conf)
773 message('pidgin ' + meson.project_version())
776 message('Build GTK+ UI................. : ' + get_option('gtkui').to_string())
777 message('Build console UI.............. : ' + enable_consoleui.to_string())
778 message('Build for X11................. : ' + x11.found().to_string())
780 message('Enable Gestures............... : ' + enable_gestures.to_string())
781 message('Protocols to build dynamically : @0@'.format(DYNAMIC_PRPLS))
783 message('Build with GStreamer support.. : ' + gstreamer.found().to_string())
784 message('Build with voice and video.... : ' + enable_vv.to_string())
785 message('Build with GNU Libidn......... : ' + idn.found().to_string())
786 message('Build with Nettle support..... : ' + nettle.found().to_string())
787 message('Build with Cyrus SASL support. : ' + sasl.found().to_string())
788 message('Use external libzephyr........ : ' + EXTERNAL_LIBZEPHYR.to_string())
789 if not EXTERNAL_LIBZEPHYR
790 message('Use kerberos 4 with zephyr.... : ' + kerberos.to_string())
792 message('Install pixmaps............... : ' + INSTALL_PIXMAPS.to_string())
793 message('Install translations.......... : ' + INSTALL_I18N.to_string())
794 message('Has you....................... : yes')
796 message('Build Unity integration plugin.: ' + enable_unity.to_string())
798 message('Build with KWallet............ : ' + kwallet.found().to_string())
799 message('Build with Secret Service..... : ' + secretservice.found().to_string())
801 message('Build plugins................. : ' + PLUGINS.to_string())
802 message('Enable Introspection...........: ' + enable_introspection.to_string())
804 message('Print debugging messages...... : ' + enable_debug.to_string())
805 message('Generate documentation........ : ' + ENABLE_DOC.to_string())
807 bindir = join_paths(get_option('prefix'), get_option('bindir'))
808 message('Pidgin will be installed in @0@.'.format(bindir))
809 if pidginpath.found()
810 message('Warning: You have an old copy of Pidgin at @0@.'.format(pidginpath.path()))
812 if not INSTALL_PIXMAPS
814 message('Warning: You have disabled the installation of pixmap data, but Pidgin')
815 message('still requires installed pixmaps. Be sure you know what you are doing.')
819 message('Warning: You have disabled the building and installation of translation')
820 message('data. This will prevent building Pidgin desktop files.')
821 message('Be sure you know what you are doing.')
824 message('configure complete, now type \'ninja\'')