meson.build

branch
meson
changeset 38464
fbd38fefb3b3
parent 38463
879af84c9a51
child 38465
7639468580d6
equal deleted inserted replaced
38463:879af84c9a51 38464:fbd38fefb3b3
109 # Storing configure arguments 109 # Storing configure arguments
110 # conf.set('CONFIG_ARGS', ac_configure_args) 110 # conf.set('CONFIG_ARGS', ac_configure_args)
111 111
112 # Checks for programs. 112 # Checks for programs.
113 compiler = meson.get_compiler('c') 113 compiler = meson.get_compiler('c')
114 #cxx_compiler = meson.get_compiler('cpp')
115 114
116 if compiler.has_function('alloca') # FIXME: Probably not enough. 115 if compiler.has_function('alloca') # FIXME: Probably not enough.
117 conf.set('HAVE_ALLOCA_H', true) 116 conf.set('HAVE_ALLOCA_H', true)
118 else 117 else
119 error('alloca could not be found') 118 error('alloca could not be found')
124 123
125 # Check for Win32 124 # Check for Win32
126 if host_machine.system() == 'windows' 125 if host_machine.system() == 'windows'
127 is_win32 = true 126 is_win32 = true
128 is_not_win32 = false 127 is_not_win32 = false
129 LIBS += [declare_dependency(link_with : 'ws2_32')] 128 # FIXME: Need to add ws2_32 to some target.
129 ws2_32 = declare_dependency(link_with : 'ws2_32')
130 dnsapi = declare_dependency(link_with : 'dnsapi') 130 dnsapi = declare_dependency(link_with : 'dnsapi')
131 PLUGIN_LDFLAGS = '-avoid-version -no-undefined'
132 WINDRES = generator(find_program('windres'), 131 WINDRES = generator(find_program('windres'),
133 output : '@BASENAME@.o', 132 output : '@BASENAME@.o',
134 arguments : ['-i', '@INPUT@', '-o', '@OUTPUT@']) 133 arguments : ['-i', '@INPUT@', '-o', '@OUTPUT@'])
135 conf.set('IS_WIN32_CROSS_COMPILED', true) 134 conf.set('IS_WIN32_CROSS_COMPILED', true)
136 conf.set('WIN32_LEAN_AND_MEAN', true) 135 conf.set('WIN32_LEAN_AND_MEAN', true)
137 else 136 else
138 is_win32 = false 137 is_win32 = false
139 is_not_win32 = true 138 is_not_win32 = true
139 ws2_32 = declare_dependency()
140 dnsapi = declare_dependency() 140 dnsapi = declare_dependency()
141 PLUGIN_LDFLAGS = '-avoid-version'
142 if not compiler.has_header('signal.h') 141 if not compiler.has_header('signal.h')
143 error('signal.h is required.') 142 error('signal.h is required.')
144 endif 143 endif
145 endif 144 endif
146 IS_WIN32 = is_win32 145 IS_WIN32 = is_win32
147 #AC_SUBST([PLUGIN_LDFLAGS])
148
149 # Define *_LIBS
150 PURPLE_LIBS='\$(top_builddir)/libpurple/libpurple.la \$(GLIB_LIBS)'
151 PIDGIN_LIBS='\$(top_builddir)/pidgin/libpidgin.la \$(GTK_LIBS)'
152 FINCH_LIBS='\$(top_builddir)/finch/libfinch.la \$(top_builddir)/finch/libgnt/libgnt.la \$(GLIB_LIBS)'
153 146
154 # Checks for header files. 147 # Checks for header files.
155 # AC_HEADER_STDC: 148 # AC_HEADER_STDC:
156 stdc = true 149 stdc = true
157 foreach h : ['stdlib.h', 'stdarg.h', 'string.h', 'float.h'] 150 foreach h : ['stdlib.h', 'stdarg.h', 'string.h', 'float.h']
190 endif 183 endif
191 endforeach 184 endforeach
192 185
193 # Checks for typedefs, structures, and compiler characteristics. 186 # Checks for typedefs, structures, and compiler characteristics.
194 time_t_size = compiler.sizeof('time_t', 187 time_t_size = compiler.sizeof('time_t',
195 prefix : ''' 188 prefix : '''
196 #include <stdio.h> 189 #include <stdio.h>
197 #include <time.h> 190 #include <time.h>
198 ''') 191 ''')
199 conf.set('SIZEOF_TIME_T', time_t_size) 192 conf.set('SIZEOF_TIME_T', time_t_size)
200 193
201 #AC_C_BIGENDIAN 194 conf.set('WORDS_BIGENDIAN', host_machine.endian() != 'little')
202 195
203 conf.set('USE_WIN32_FHS', 196 conf.set('USE_WIN32_FHS',
204 is_win32 and get_option('win32-dirs') == 'fhs') 197 is_win32 and get_option('win32-dirs') == 'fhs')
205 198
206 # Check for directories 199 # Check for directories
207 if is_win32 200 if is_win32
208 if get_option('win32-dirs') == 'fhs' 201 if get_option('win32-dirs') == 'fhs'
209 conf.set('WIN32_FHS_BINDIR', get_option('bindir')) 202 foreach dir : ['bin', 'lib', 'data', 'sysconf', 'locale']
210 conf.set('WIN32_FHS_LIBDIR', get_option('libdir')) 203 path = get_option(dir + 'dir')
211 conf.set('WIN32_FHS_DATADIR', get_option('datadir')) 204 if not path.startswith('/')
212 conf.set('WIN32_FHS_SYSCONFDIR', get_option('sysconfdir')) 205 path = get_option('prefix') + '/' + path
213 conf.set('WIN32_FHS_LOCALEDIR', get_option('localedir')) 206 endif
207 conf.set('WIN32_FHS_@0@DIR'.format(dir.to_upper()), path)
208 endforeach
214 209
215 purple_libdir = 'wpurple_lib_dir("purple-@0@")'.format(purple_major_version) 210 purple_libdir = 'wpurple_lib_dir("purple-@0@")'.format(purple_major_version)
216 pidgin_libdir = 'wpurple_lib_dir("pidgin-@0@")'.format(purple_major_version) 211 pidgin_libdir = 'wpurple_lib_dir("pidgin-@0@")'.format(purple_major_version)
217 finch_libdir = 'wpurple_lib_dir("finch-@0@")'.format(purple_major_version) 212 finch_libdir = 'wpurple_lib_dir("finch-@0@")'.format(purple_major_version)
218 else 213 else
223 218
224 purple_datadir = 'wpurple_data_dir()' 219 purple_datadir = 'wpurple_data_dir()'
225 purple_sysconfdir = 'wpurple_sysconf_dir()' 220 purple_sysconfdir = 'wpurple_sysconf_dir()'
226 purple_localedir = 'wpurple_locale_dir()' 221 purple_localedir = 'wpurple_locale_dir()'
227 else 222 else
228 purple_datadir = '"@0@"'.format(get_option('datadir')) 223 foreach dir : ['data', 'sysconf', 'locale']
229 purple_sysconfdir = '"@0@"'.format(get_option('sysconfdir')) 224 path = get_option(dir + 'dir')
230 purple_localedir = '"@0@"'.format(get_option('localedir')) 225 if not path.startswith('/')
226 path = get_option('prefix') + '/' + path
227 endif
228 set_variable('purple_@0@dir'.format(dir), '"@0@"'.format(path))
229 endforeach
231 230
232 common_libdir = get_option('libdir') 231 common_libdir = get_option('libdir')
232 if not common_libdir.startswith('/')
233 common_libdir = get_option('prefix') + '/' + common_libdir
234 endif
233 purple_libdir = '"@0@/purple-@1@"'.format(common_libdir, purple_major_version) 235 purple_libdir = '"@0@/purple-@1@"'.format(common_libdir, purple_major_version)
234 pidgin_libdir = '"@0@/pidgin-@1@"'.format(common_libdir, purple_major_version) 236 pidgin_libdir = '"@0@/pidgin-@1@"'.format(common_libdir, purple_major_version)
235 finch_libdir = '"@0@/finch-@1@"'.format(common_libdir, purple_major_version) 237 finch_libdir = '"@0@/finch-@1@"'.format(common_libdir, purple_major_version)
236 endif 238 endif
237 conf.set('PURPLE_DATADIR', purple_datadir) 239 conf.set('PURPLE_DATADIR', purple_datadir)
239 conf.set('PIDGIN_LIBDIR', pidgin_libdir) 241 conf.set('PIDGIN_LIBDIR', pidgin_libdir)
240 conf.set('FINCH_LIBDIR', finch_libdir) 242 conf.set('FINCH_LIBDIR', finch_libdir)
241 conf.set('PURPLE_SYSCONFDIR', purple_sysconfdir) 243 conf.set('PURPLE_SYSCONFDIR', purple_sysconfdir)
242 conf.set('PURPLE_LOCALEDIR', purple_localedir) 244 conf.set('PURPLE_LOCALEDIR', purple_localedir)
243 245
244 # FIXME: 246 abslibdir = get_option('libdir')
245 PURPLE_PLUGINDIR = '@0@/purple-@1@'.format(get_option('libdir'), purple_major_version) 247 if not abslibdir.startswith('/')
248 abslibdir = get_option('prefix') + '/' + abslibdir
249 endif
250 PURPLE_PLUGINDIR = '@0@/purple-@1@'.format(abslibdir, purple_major_version)
246 conf.set('PURPLE_PLUGINDIR', '"@0@"'.format(PURPLE_PLUGINDIR)) 251 conf.set('PURPLE_PLUGINDIR', '"@0@"'.format(PURPLE_PLUGINDIR))
247 PIDGIN_PLUGINDIR = '@0@/pidgin-@1@'.format(get_option('libdir'), purple_major_version) 252 PIDGIN_PLUGINDIR = '@0@/pidgin-@1@'.format(abslibdir, purple_major_version)
248 conf.set('PIDGIN_PLUGINDIR', '"@0@"'.format(PIDGIN_PLUGINDIR)) 253 conf.set('PIDGIN_PLUGINDIR', '"@0@"'.format(PIDGIN_PLUGINDIR))
249 FINCH_PLUGINDIR = '@0@/finch-@1@'.format(get_option('libdir'), purple_major_version) 254 FINCH_PLUGINDIR = '@0@/finch-@1@'.format(abslibdir, purple_major_version)
250 conf.set('FINCH_PLUGINDIR', '"@0@"'.format(FINCH_PLUGINDIR)) 255 conf.set('FINCH_PLUGINDIR', '"@0@"'.format(FINCH_PLUGINDIR))
251 256
252 # Checks for library functions. 257 # Checks for library functions.
253 foreach func : ['strdup', 'strstr', 'atexit', 'setlocale'] 258 foreach func : ['strdup', 'strstr', 'atexit', 'setlocale']
254 conf.set('HAVE_' + func.to_upper(), 259 conf.set('HAVE_' + func.to_upper(),
255 compiler.has_function(func)) 260 compiler.has_function(func))
256 endforeach 261 endforeach
257 # Checks for getopt in standard library 262 # Checks for getopt in standard library
258 if compiler.has_function('getopt_long') 263 if compiler.has_function('getopt_long')
259 getopt_files = [] 264 getopt_files = []
260 else 265 else
292 if compiler.has_function('getaddrinfo', args : '-lsocket -lnsl') 297 if compiler.has_function('getaddrinfo', args : '-lsocket -lnsl')
293 conf.set('HAVE_GETADDRINFO', true) 298 conf.set('HAVE_GETADDRINFO', true)
294 # FIXME: LIBS += declare_dependency(link_with : ['socket', 'nsl']) 299 # FIXME: LIBS += declare_dependency(link_with : ['socket', 'nsl'])
295 endif 300 endif
296 endif 301 endif
297 if compiler.has_function('inet_ntop') 302 conf.set('HAVE_INET_NTOP',
298 conf.set('HAVE_INET_NTOP', true) 303 compiler.has_function('inet_ntop'))
299 endif 304 endif
300 endif 305 conf.set('HAVE_GETIFADDRS',
301 if compiler.has_function('getifaddrs') 306 compiler.has_function('getifaddrs'))
302 conf.set('HAVE_GETIFADDRS', true) 307
303 endif
304 # Check for socklen_t (in Unix98) 308 # Check for socklen_t (in Unix98)
305 code = ''' 309 if is_win32
306 #include <sys/types.h> 310 socket_header = 'ws2tcpip.h'
307 #ifdef _WIN32 311 else
308 # include <ws2tcpip.h> 312 socket_header = 'sys/socket.h'
309 #else 313 endif
310 # include <sys/socket.h> 314 if not compiler.has_header_symbol(socket_header, 'socklen_t')
311 #endif
312 socklen_t x;
313
314 int main() {}
315 '''
316 if not compiler.compiles(code, name : 'socklen_t')
317 code = ''' 315 code = '''
318 #include <sys/types.h> 316 #include <sys/types.h>
319 #ifdef _WIN32 317 #include <@0@>
320 # include <ws2tcpip.h>
321 #else
322 # include <sys/socket.h>
323 #endif
324 int accept(int, struct sockaddr *, size_t *); 318 int accept(int, struct sockaddr *, size_t *);
325 int main() {} 319 int main() {}
326 ''' 320 '''.format(socket_header)
327 if compiler.compiles(code, name : 'socklen_t is size_t') 321 if compiler.compiles(code, name : 'socklen_t is size_t')
328 conf.set('socklen_t', 'size_t') 322 conf.set('socklen_t', 'size_t')
329 else 323 else
330 conf.set('socklen_t', 'int') 324 conf.set('socklen_t', 'int')
331 endif 325 endif
332 endif 326 endif
333 327
334 # Some systems do not have sa_len field for struct sockaddr. 328 # Some systems do not have sa_len field for struct sockaddr.
335 if compiler.has_member('struct sockaddr', 'sa_len', 329 conf.set('HAVE_STRUCT_SOCKADDR_SA_LEN',
336 prefix : ''' 330 compiler.has_member('struct sockaddr', 'sa_len',
337 #ifdef _WIN32 331 prefix : '#include <@0@>'.format(socket_header)))
338 # include <ws2tcpip.h>
339 #else
340 # include <sys/socket.h>
341 #endif
342 ''')
343 conf.set('HAVE_STRUCT_SOCKADDR_SA_LEN', true)
344 endif
345 332
346 # Check for v6-only sockets 333 # Check for v6-only sockets
347 code = ''' 334 if is_win32
348 #ifdef _WIN32 335 header = 'ws2tcpip.h'
349 # include <ws2tcpip.h> 336 else
350 #else 337 header = 'netinet/in.h'
351 # include <netinet/in.h> 338 endif
352 #endif 339 conf.set('HAVE_IPV6_V6ONLY',
353 void main() {IPV6_V6ONLY;}; 340 compiler.has_header_symbol(header, 'IPV6_V6ONLY'))
354 '''
355 if compiler.compiles(code)
356 conf.set('HAVE_IPV6_V6ONLY', true)
357 endif
358 341
359 # to prevent the g_stat()/g_unlink() crash, 342 # to prevent the g_stat()/g_unlink() crash,
360 # (09:50:07) Robot101: LSchiere2: it's easy. +LC_SYS_LARGEFILE somewhere in configure.ac 343 # (09:50:07) Robot101: LSchiere2: it's easy. +LC_SYS_LARGEFILE somewhere in configure.ac
361 #AC_SYS_LARGEFILE 344 #AC_SYS_LARGEFILE
362 345
448 # ####################################################################### 431 # #######################################################################
449 glib = dependency('glib-2.0', version : '>= 2.23.0') 432 glib = dependency('glib-2.0', version : '>= 2.23.0')
450 gio = dependency('gio-2.0') 433 gio = dependency('gio-2.0')
451 gobject = dependency('gobject-2.0') 434 gobject = dependency('gobject-2.0')
452 gthread = dependency('gthread-2.0') 435 gthread = dependency('gthread-2.0')
453 # glib = all of the above
454 436
455 GLIB_GENMARSHAL = find_program('glib-genmarshal') 437 GLIB_GENMARSHAL = find_program('glib-genmarshal')
456 GLIB_MKENUMS = find_program('glib-mkenums') 438 GLIB_MKENUMS = find_program('glib-mkenums')
457
458 GTESTER = find_program('gtester')
459 #GLIB_TESTS
460 439
461 if get_option('extraversion') != '' 440 if get_option('extraversion') != ''
462 DISPLAY_VERSION = '@0@-@1@'.format(meson.project_version(), 441 DISPLAY_VERSION = '@0@-@1@'.format(meson.project_version(),
463 get_option('extraversion')) 442 get_option('extraversion'))
464 else 443 else
727 # foreach location : NCURSES_HEADERS + ncurses_sys_dirs 706 # foreach location : NCURSES_HEADERS + ncurses_sys_dirs
728 foreach location : ncurses_sys_dirs 707 foreach location : ncurses_sys_dirs
729 f = location + '/ncurses.h' 708 f = location + '/ncurses.h'
730 if not found_ncurses_h 709 if not found_ncurses_h
731 if compiler.has_header_symbol(f, 'get_wch', 710 if compiler.has_header_symbol(f, 'get_wch',
732 prefix : '#define _XOPEN_SOURCE_EXTENDED') 711 prefix : '#define _XOPEN_SOURCE_EXTENDED')
733 if location != '.' 712 if location != '.'
734 ncurses_inc += [include_directories(location)] 713 ncurses_inc += [include_directories(location)]
735 endif 714 endif
736 found_ncurses_h = true 715 found_ncurses_h = true
737 endif 716 endif
778 757
779 ####################################################################### 758 #######################################################################
780 # Check for LibXML2 (required) 759 # Check for LibXML2 (required)
781 ####################################################################### 760 #######################################################################
782 libxml = dependency('libxml-2.0', version : '>= 2.6.0') 761 libxml = dependency('libxml-2.0', version : '>= 2.6.0')
783 libxml_okay = dependency('libxml-2.0', version : '>= 2.6.18', required : false) 762 if libxml.version().version_compare('<2.6.18')
784 if not libxml_okay.found() 763 message('Versions of libxml2 < 2.6.18 may contain bugs that could cause XMPP messages to be discarded.')
785 message('Versions of libxml2 < 2.6.18 may contain bugs that could cause XMPP messages to be discarded.')
786 endif 764 endif
787 765
788 ####################################################################### 766 #######################################################################
789 # Check for JSON-GLib (required) 767 # Check for JSON-GLib (required)
790 ####################################################################### 768 #######################################################################
950 # Check for SILC client includes and libraries 928 # Check for SILC client includes and libraries
951 ####################################################################### 929 #######################################################################
952 SILC_CFLAGS = '' 930 SILC_CFLAGS = ''
953 SILC_LIBS = '' 931 SILC_LIBS = ''
954 have_silc = false 932 have_silc = false
933 silcclient = false
955 if get_option('silc-includes') != '' or get_option('silc-libs') != '' 934 if get_option('silc-includes') != '' or get_option('silc-libs') != ''
956 silc_manual_check = true 935 silc_manual_check = true
957 else 936 else
958 silc_manual_check = false 937 silc_manual_check = false
959 endif 938 endif
986 # fi 965 # fi
987 endif 966 endif
988 #AC_SUBST(SILC_LIBS) 967 #AC_SUBST(SILC_LIBS)
989 #AC_SUBST(SILC_CFLAGS) 968 #AC_SUBST(SILC_CFLAGS)
990 # SILC Toolkit >= 1.0.1 has a new MIME API 969 # SILC Toolkit >= 1.0.1 has a new MIME API
991 #if test 'x$silcclient' = 'xyes'; then 970 if silcclient
992 # conf.set('HAVE_SILCMIME_H', true) 971 conf.set('HAVE_SILCMIME_H', true)
993 #fi 972 endif
994 973
995 ####################################################################### 974 #######################################################################
996 # Check for Gadu-Gadu protocol library (libgadu) 975 # Check for Gadu-Gadu protocol library (libgadu)
997 ####################################################################### 976 #######################################################################
998 977
1034 if gg_have_gnutls_csxst 1013 if gg_have_gnutls_csxst
1035 conf.set('HAVE_GNUTLS_CERTIFICATE_SET_X509_SYSTEM_TRUST', true) 1014 conf.set('HAVE_GNUTLS_CERTIFICATE_SET_X509_SYSTEM_TRUST', true)
1036 endif 1015 endif
1037 if gg_gnutls_sts != '' 1016 if gg_gnutls_sts != ''
1038 conf.set('GG_CONFIG_GNUTLS_SYSTEM_TRUST_STORE', 1017 conf.set('GG_CONFIG_GNUTLS_SYSTEM_TRUST_STORE',
1039 '"@0@"'.format(gg_gnutls_sts)) 1018 '"@0@"'.format(gg_gnutls_sts))
1040 endif 1019 endif
1041 1020
1042 # redundant - only here to stay compatible with libgadu upstream 1021 # redundant - only here to stay compatible with libgadu upstream
1043 GNUTLS_2_10 = dependency('gnutls', version : '>= 2.10.0', required : false) 1022 GNUTLS_2_10 = dependency('gnutls', version : '>= 2.10.0', required : false)
1044 conf.set('HAVE_GNUTLS_2_10', GNUTLS_2_10.found()) 1023 conf.set('HAVE_GNUTLS_2_10', GNUTLS_2_10.found())
1045 endif 1024 endif
1046 1025
1047 #AC_SUBST(LIBGADU_LIBS) 1026 #AC_SUBST(LIBGADU_LIBS)
1048 #AC_SUBST(LIBGADU_CFLAGS) 1027 #AC_SUBST(LIBGADU_CFLAGS)
1049 1028
1029 DEFAULT_PRPLS = ['bonjour', 'facebook', 'gg', 'irc', 'jabber', 'msn', 'mxit',
1030 'novell', 'oscar', 'sametime', 'silc', 'simple', 'yahoo',
1031 'zephyr']
1032 ALL_PRPLS = DEFAULT_PRPLS + ['null']
1050 1033
1051 DISTRIB = get_option('distrib') 1034 DISTRIB = get_option('distrib')
1052 DYNAMIC_PRPLS = ' '.join(get_option('dynamic-prpls').split(',')) 1035 dynamic_list = get_option('dynamic-prpls').split(',')
1053 STATIC_PRPLS = ' '.join(get_option('static-prpls').split(',')) 1036 static_list = get_option('static-prpls').split(',')
1054 if STATIC_PRPLS != '' and DYNAMIC_PRPLS == 'all' 1037 if (static_list != [''] and static_list != []) and dynamic_list == ['all']
1055 DYNAMIC_PRPLS = '' 1038 dynamic_list = []
1056 endif 1039 endif
1057 1040
1058 if STATIC_PRPLS == 'all' 1041 if static_list == ['all']
1059 STATIC_PRPLS = 'bonjour facebook gg irc jabber msn mxit novell oscar sametime silc simple yahoo zephyr' 1042 static_list = DEFAULT_PRPLS
1060 endif 1043 endif
1061 #if not have_meanwhile 1044 STATIC_PRPLS = []
1062 # STATIC_PRPLS=`echo $STATIC_PRPLS | $sedpath 's/sametime//'` 1045 foreach prpl : static_list
1063 #fi 1046 if prpl == ''
1064 if not avahiincludes or not avahilibs 1047 # The list was empty; do nothing.
1065 # STATIC_PRPLS=`echo $STATIC_PRPLS | $sedpath 's/bonjour//'` 1048 elif prpl == 'sametime' and not meanwhile.found()
1066 endif 1049 # Do nothing
1067 if not silcincludes or not silcclient 1050 elif prpl == 'bonjour' and (not avahiincludes or not avahilibs)
1068 # STATIC_PRPLS=`echo $STATIC_PRPLS | $sedpath 's/silc//'` 1051 # Do nothing
1069 endif 1052 elif prpl == 'silc' and (not silcincludes or not silcclient)
1070 if is_win32 1053 # Do nothing
1071 # STATIC_PRPLS=`echo $STATIC_PRPLS | $sedpath 's/zephyr//'` 1054 elif prpl == 'zephyr' and is_win32
1072 endif 1055 # Do nothing
1073 #AC_SUBST(STATIC_PRPLS) 1056 else
1057 STATIC_PRPLS += [prpl]
1058 endif
1059 endforeach
1074 STATIC_LINK_LIBS = [] 1060 STATIC_LINK_LIBS = []
1075 extern_load = [] 1061 extern_load = []
1076 load_proto = [] 1062 load_proto = []
1077 extern_unload = [] 1063 extern_unload = []
1078 unload_proto = [] 1064 unload_proto = []
1079 foreach i : STATIC_PRPLS.split() 1065 foreach prpl : STATIC_PRPLS
1080 # Ugly special case for 'libsilcpurple.la': 1066 # Ugly special case for 'libsilcpurple.la':
1081 if i == 'silc' 1067 if prpl == 'silc'
1082 STATIC_LINK_LIBS.append('\$(top_builddir)/libpurple/protocols/@1@/lib@1@purple.la'.format(meson.build_root(), i)) 1068 STATIC_LINK_LIBS.append('\$(top_builddir)/libpurple/protocols/@1@/lib@1@purple.la'.format(meson.build_root(), prpl))
1083 else 1069 else
1084 # FIXME: Shouldn't be libtool: 1070 # FIXME: Shouldn't be libtool:
1085 STATIC_LINK_LIBS.append('\$(top_builddir)/libpurple/protocols/@1@/lib@1@.la'.format(meson.build_root(), i)) 1071 STATIC_LINK_LIBS.append('\$(top_builddir)/libpurple/protocols/@1@/lib@1@.la'.format(meson.build_root(), prpl))
1086 endif 1072 endif
1087 extern_load.append('extern gboolean @0@_plugin_load();'.format(i)) 1073 extern_load.append('extern gboolean @0@_plugin_load();'.format(prpl))
1088 load_proto.append('@0@_plugin_load();'.format(i)) 1074 load_proto.append('@0@_plugin_load();'.format(prpl))
1089 extern_unload.append('extern gboolean @0@_plugin_unload();'.format(i)) 1075 extern_unload.append('extern gboolean @0@_plugin_unload();'.format(prpl))
1090 unload_proto.append('@0@_plugin_unload();'.format(i)) 1076 unload_proto.append('@0@_plugin_unload();'.format(prpl))
1091 endforeach 1077 endforeach
1092 STATIC_BONJOUR = STATIC_PRPLS.contains('bonjour') 1078 STATIC_BONJOUR = STATIC_PRPLS.contains('bonjour')
1093 STATIC_FACEBOOK = STATIC_PRPLS.contains('facebook') 1079 STATIC_FACEBOOK = STATIC_PRPLS.contains('facebook')
1094 STATIC_GG = STATIC_PRPLS.contains('gg') 1080 STATIC_GG = STATIC_PRPLS.contains('gg')
1095 STATIC_IRC = STATIC_PRPLS.contains('irc') 1081 STATIC_IRC = STATIC_PRPLS.contains('irc')
1096 STATIC_JABBER = STATIC_PRPLS.contains('jabber') 1082 STATIC_JABBER = STATIC_PRPLS.contains('jabber')
1097 STATIC_MSN = STATIC_PRPLS.contains('msn') 1083 STATIC_MSN = STATIC_PRPLS.contains('msn')
1098 STATIC_MXIT = STATIC_PRPLS.contains('mxit') 1084 STATIC_MXIT = STATIC_PRPLS.contains('mxit')
1099 STATIC_NOVELL = STATIC_PRPLS.contains('novell') 1085 STATIC_NOVELL = STATIC_PRPLS.contains('novell')
1100 STATIC_OSCAR = STATIC_PRPLS.contains('oscar') or STATIC_PRPLS.contains('aim') or STATIC_PRPLS.contains('icq') 1086 STATIC_OSCAR = STATIC_PRPLS.contains('oscar') or STATIC_PRPLS.contains('aim') or STATIC_PRPLS.contains('icq')
1101 STATIC_SAMETIME = STATIC_PRPLS.contains('sametime') and have_meanwhile 1087 STATIC_SAMETIME = STATIC_PRPLS.contains('sametime') and meanwhile.found()
1102 STATIC_SILC = STATIC_PRPLS.contains('silc') and have_silc 1088 STATIC_SILC = STATIC_PRPLS.contains('silc') and have_silc
1103 STATIC_SIMPLE = STATIC_PRPLS.contains('simple') 1089 STATIC_SIMPLE = STATIC_PRPLS.contains('simple')
1104 STATIC_YAHOO = STATIC_PRPLS.contains('yahoo') 1090 STATIC_YAHOO = STATIC_PRPLS.contains('yahoo')
1105 STATIC_ZEPHYR = STATIC_PRPLS.contains('zephyr') 1091 STATIC_ZEPHYR = STATIC_PRPLS.contains('zephyr')
1106 #AC_SUBST(STATIC_LINK_LIBS)
1107 conf.set('STATIC_PROTO_LOAD', 1092 conf.set('STATIC_PROTO_LOAD',
1108 ' '.join(extern_load) + 1093 ' '.join(extern_load) +
1109 ' static void static_proto_load(void) { ' + ' '.join(load_proto) + ' }') 1094 ' static void static_proto_load(void) { ' + ' '.join(load_proto) + ' }')
1110 conf.set('STATIC_PROTO_UNLOAD', 1095 conf.set('STATIC_PROTO_UNLOAD',
1111 ' '.join(extern_unload) + 1096 ' '.join(extern_unload) +
1112 ' static void static_proto_unload(void) { ' + ' '.join(unload_proto) + ' }') 1097 ' static void static_proto_unload(void) { ' + ' '.join(unload_proto) + ' }')
1113 1098
1114 if DYNAMIC_PRPLS == 'all' 1099 if dynamic_list == ['all']
1115 DYNAMIC_PRPLS = 'bonjour facebook gg irc jabber msn mxit novell oscar sametime silc simple yahoo zephyr' 1100 dynamic_list = DEFAULT_PRPLS
1116 endif 1101 endif
1117 #if not have_meanwhile 1102 DYNAMIC_PRPLS = []
1118 # DYNAMIC_PRPLS=`echo $DYNAMIC_PRPLS | $sedpath 's/sametime//'` 1103 foreach prpl : dynamic_list
1119 #endif 1104 if prpl == ''
1120 if not avahiincludes or not avahilibs 1105 # The list was empty; do nothing.
1121 # DYNAMIC_PRPLS=`echo $DYNAMIC_PRPLS | $sedpath 's/bonjour//'` 1106 elif prpl == 'sametime' and not meanwhile.found()
1122 endif 1107 # Do nothing.
1123 if not silcincludes or not silcclient 1108 elif prpl == 'bonjour' and (not avahiincludes or not avahilibs)
1124 # DYNAMIC_PRPLS=`echo $DYNAMIC_PRPLS | $sedpath 's/silc//'` 1109 # Do nothing.
1125 endif 1110 elif prpl == 'silc' and (not silcincludes or not silcclient)
1126 if is_win32 1111 # Do nothing.
1127 # DYNAMIC_PRPLS=`echo $DYNAMIC_PRPLS | $sedpath 's/zephyr//'` 1112 elif prpl == 'zephyr' and is_win32
1128 endif 1113 # Do nothing.
1129 #AC_SUBST(DYNAMIC_PRPLS) 1114 else
1115 DYNAMIC_PRPLS += [prpl]
1116 endif
1117 endforeach
1130 1118
1131 DYNAMIC_BONJOUR = DYNAMIC_PRPLS.contains('bonjour') 1119 DYNAMIC_BONJOUR = DYNAMIC_PRPLS.contains('bonjour')
1132 DYNAMIC_FACEBOOK = DYNAMIC_PRPLS.contains('facebook') 1120 DYNAMIC_FACEBOOK = DYNAMIC_PRPLS.contains('facebook')
1133 DYNAMIC_GG = DYNAMIC_PRPLS.contains('gg ') 1121 DYNAMIC_GG = DYNAMIC_PRPLS.contains('gg ')
1134 DYNAMIC_IRC = DYNAMIC_PRPLS.contains('irc') 1122 DYNAMIC_IRC = DYNAMIC_PRPLS.contains('irc')
1143 DYNAMIC_SIMPLE = DYNAMIC_PRPLS.contains('simple') 1131 DYNAMIC_SIMPLE = DYNAMIC_PRPLS.contains('simple')
1144 DYNAMIC_YAHOO = DYNAMIC_PRPLS.contains('yahoo') 1132 DYNAMIC_YAHOO = DYNAMIC_PRPLS.contains('yahoo')
1145 DYNAMIC_ZEPHYR = DYNAMIC_PRPLS.contains('zephyr') 1133 DYNAMIC_ZEPHYR = DYNAMIC_PRPLS.contains('zephyr')
1146 1134
1147 conf.set('HAVE_SYS_UTSNAME_H', 1135 conf.set('HAVE_SYS_UTSNAME_H',
1148 compiler.has_header('sys/utsname.h')) 1136 compiler.has_header('sys/utsname.h'))
1149 conf.set('HAVE_UNAME', 1137 conf.set('HAVE_UNAME',
1150 compiler.has_function('uname')) 1138 compiler.has_function('uname'))
1151 1139
1152 1140
1153 DEBUG_CFLAGS = '-DPURPLE_DISABLE_DEPRECATED -DPIDGIN_DISABLE_DEPRECATED -DFINCH_DISABLE_DEPRECATED -DGNT_DISABLE_DEPRECATED' 1141 DEBUG_CFLAGS = '-DPURPLE_DISABLE_DEPRECATED -DPIDGIN_DISABLE_DEPRECATED -DFINCH_DISABLE_DEPRECATED -DGNT_DISABLE_DEPRECATED'
1154 if compiler.get_id() == 'gcc' 1142 if compiler.get_id() == 'gcc'
1155 # We enable -Wall later. 1143 # We enable -Wall later.
1179 '-Wmissing-noreturn', 1167 '-Wmissing-noreturn',
1180 '-Wmissing-prototypes', 1168 '-Wmissing-prototypes',
1181 '-Wpointer-arith', 1169 '-Wpointer-arith',
1182 '-Wfloat-equal', 1170 '-Wfloat-equal',
1183 '-Wundef'] 1171 '-Wundef']
1184 # orig_CFLAGS='$CFLAGS' 1172 if compiler.has_argument(newflag)
1185 # CFLAGS='$CFLAGS $newflag' 1173 add_global_arguments(newflag, language : 'c')
1186 # AC_MSG_CHECKING(for $newflag option to gcc) 1174 endif
1187 # AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], [
1188 # AC_MSG_RESULT(yes)
1189 # CFLAGS='$orig_CFLAGS'
1190 # DEBUG_CFLAGS='$DEBUG_CFLAGS $newflag'
1191 # ], [
1192 # AC_MSG_RESULT(no)
1193 # CFLAGS='$orig_CFLAGS'
1194 # ])
1195 endforeach 1175 endforeach
1196 1176
1197 if get_option('fortify') 1177 if get_option('fortify')
1198 # AC_MSG_CHECKING(for FORTIFY_SOURCE support) 1178 # AC_MSG_CHECKING(for FORTIFY_SOURCE support)
1199 # AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <features.h>]], [[ 1179 # AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <features.h>]], [[
1218 # CFLAGS='-g $CFLAGS' 1198 # CFLAGS='-g $CFLAGS'
1219 endif 1199 endif
1220 #DEBUG_CPPFLAGS=`echo '$DEBUG_CFLAGS' | $sedpath 's/-Wdeclaration-after-statement//' | $sedpath 's/-Wmissing-prototypes//' | $sedpath 's/-Waggregate-return//'` 1200 #DEBUG_CPPFLAGS=`echo '$DEBUG_CFLAGS' | $sedpath 's/-Wdeclaration-after-statement//' | $sedpath 's/-Wmissing-prototypes//' | $sedpath 's/-Waggregate-return//'`
1221 # 1201 #
1222 if SUNCC 1202 if SUNCC
1223 # CFLAGS='$CFLAGS -features=extensions' 1203 add_global_arguments('-features=extensions', language : 'c')
1224 endif 1204 endif
1225 #AC_SUBST(CFLAGS)
1226 1205
1227 pidginpath = find_program('pidgin') 1206 pidginpath = find_program('pidgin')
1228 1207
1229 have_clang = compiler.get_id() == 'clang' 1208 have_clang = compiler.get_id() == 'clang'
1230
1231 if have_clang
1232 # GLIB_LIBS=`echo $GLIB_LIBS | $sedpath 's/-pthread/-lpthread/'`
1233 endif
1234 1209
1235 if get_option('glib-errors-trace') 1210 if get_option('glib-errors-trace')
1236 if have_clang 1211 if have_clang
1237 error('--enable-glib-errors-trace doesn\'t work with clang') 1212 error('--enable-glib-errors-trace doesn\'t work with clang')
1238 endif 1213 endif
1239 conf.set('ENABLE_GLIBTRACE', true) 1214 conf.set('ENABLE_GLIBTRACE', true)
1240 # CFLAGS='$CFLAGS -rdynamic' 1215 add_global_arguments('-rdynamic', language : 'c')
1241 endif 1216 endif
1242 1217
1243 ####################################################################### 1218 #######################################################################
1244 # Check for D-Bus libraries 1219 # Check for D-Bus libraries
1245 ####################################################################### 1220 #######################################################################
1316 1291
1317 enable_kwallet = get_option('kwallet') and is_not_win32 1292 enable_kwallet = get_option('kwallet') and is_not_win32
1318 1293
1319 if enable_kwallet 1294 if enable_kwallet
1320 # Ensure C++ compiler works 1295 # Ensure C++ compiler works
1321 # AC_CHECK_PROG(CXXTEST, [$CXX], [$CXX]) 1296 add_languages('cpp')
1322 # if test 'x$CXXTEST' = 'x'; then 1297 cxx_compiler = meson.get_compiler('cpp')
1323 # enable_kwallet = false 1298
1324 # if test 'x$force_deps' = 'xyes'; then 1299 qt4 = dependency('qt4', modules : 'Core', required : force_deps)
1325 # AC_MSG_ERROR([ 1300 enable_kwallet = qt4.found()
1326 #A C++ compiler was not found.
1327 #Use -Dkwallet=false if you do not need KWallet support.
1328 #])
1329 # fi
1330 # fi
1331 endif
1332
1333 #AC_LANG_PUSH([C++])
1334 #CPPFLAGS_save='$CPPFLAGS'
1335 #LIBS_save='$LIBS'
1336
1337 if enable_kwallet
1338 # PKG_CHECK_MODULES(QT4, [QtCore], [
1339 # AC_SUBST(QT4_CFLAGS)
1340 # AC_SUBST(QT4_LIBS)
1341 # ], [
1342 # AC_MSG_RESULT(no)
1343 # enable_kwallet = false
1344 # if test 'x$force_deps' = 'xyes'; then
1345 # AC_MSG_ERROR([
1346 #Qt4 development headers not found.
1347 #Use -Dkwallet=false if you do not need KWallet support.
1348 #])
1349 # fi
1350 # ])
1351 endif 1301 endif
1352 1302
1353 if enable_kwallet 1303 if enable_kwallet
1354 # AC_MSG_CHECKING([for metaobject compiler]) 1304 # AC_MSG_CHECKING([for metaobject compiler])
1355 # MOC=`$PKG_CONFIG --variable=moc_location QtCore` 1305 # MOC=`$PKG_CONFIG --variable=moc_location QtCore`
1516 1466
1517 ENABLE_DBUS = enable_dbus 1467 ENABLE_DBUS = enable_dbus
1518 1468
1519 # Check for Python headers (currently useful only for libgnt) 1469 # Check for Python headers (currently useful only for libgnt)
1520 # (Thanks to XChat) 1470 # (Thanks to XChat)
1521 #if test 'x$enable_consoleui' = 'xyes' -a ! -z '$PYTHON' -a x'$PYTHON' != x'no' ; then 1471 if enable_consoleui
1522 # AC_MSG_CHECKING(for Python compile flags) 1472 python_dep = dependency('python')
1523 # if test -f ${PYTHON}-config; then 1473 endif
1524 # PY_CFLAGS=`${PYTHON}-config --includes`
1525 # PY_LIBS=`${PYTHON}-config --libs`
1526 # AC_DEFINE(USE_PYTHON, [1], [Define if python headers are available.])
1527 # AC_MSG_RESULT(ok)
1528 # else
1529 # AC_MSG_RESULT([Cannot find ${PYTHON}-config])
1530 # PY_CFLAGS=''
1531 # PY_LIBS=''
1532 # endif
1533 #endif
1534 #AC_SUBST(PY_CFLAGS) 1474 #AC_SUBST(PY_CFLAGS)
1535 #AC_SUBST(PY_LIBS) 1475 #AC_SUBST(PY_LIBS)
1536 1476
1537 ####################################################################### 1477 #######################################################################
1538 # SSL support 1478 # SSL support
1552 SSL_CERTIFICATES_DIR = ssl_certificates_dir 1492 SSL_CERTIFICATES_DIR = ssl_certificates_dir
1553 endif 1493 endif
1554 #AC_SUBST(SSL_CERTIFICATES_DIR) 1494 #AC_SUBST(SSL_CERTIFICATES_DIR)
1555 if SSL_CERTIFICATES_DIR != '' 1495 if SSL_CERTIFICATES_DIR != ''
1556 conf.set('SSL_CERTIFICATES_DIR', 1496 conf.set('SSL_CERTIFICATES_DIR',
1557 '"@0@"'.format(SSL_CERTIFICATES_DIR)) 1497 '"@0@"'.format(SSL_CERTIFICATES_DIR))
1558 endif 1498 endif
1559 INSTALL_SSL_CERTIFICATES = SSL_CERTIFICATES_DIR == '' 1499 INSTALL_SSL_CERTIFICATES = SSL_CERTIFICATES_DIR == ''
1560 1500
1561 # These two are inverses of each other <-- stolen from evolution! 1501 # These two are inverses of each other <-- stolen from evolution!
1562 enable_gnutls = get_option('gnutls') 1502 enable_gnutls = get_option('gnutls')
1604 endif 1544 endif
1605 1545
1606 if have_nss 1546 if have_nss
1607 conf.set('HAVE_NSS', true) 1547 conf.set('HAVE_NSS', true)
1608 msg_nss = 'Mozilla NSS' 1548 msg_nss = 'Mozilla NSS'
1609 else
1610 error('No SSL/TLS library available')
1611 endif 1549 endif
1612 endif 1550 endif
1613 1551
1614 USE_NSS = have_nss 1552 USE_NSS = have_nss
1615 1553
1662 ####################################################################### 1600 #######################################################################
1663 # Check for Cyrus-SASL (for xmpp/irc) 1601 # Check for Cyrus-SASL (for xmpp/irc)
1664 ####################################################################### 1602 #######################################################################
1665 foreach func : ['snprintf', 'connect'] 1603 foreach func : ['snprintf', 'connect']
1666 conf.set('HAVE_' + func.to_upper(), 1604 conf.set('HAVE_' + func.to_upper(),
1667 compiler.has_function(func)) 1605 compiler.has_function(func))
1668 endforeach 1606 endforeach
1669 #AC_SUBST(SASL_LIBS) 1607 #AC_SUBST(SASL_LIBS)
1670 SASL_LIBS = '' 1608 SASL_LIBS = ''
1671 enable_cyrus_sasl = get_option('cyrus-sasl') 1609 enable_cyrus_sasl = get_option('cyrus-sasl')
1672 if enable_cyrus_sasl 1610 if enable_cyrus_sasl
1766 1704
1767 #AC_MSG_CHECKING(for me pot o' gold) 1705 #AC_MSG_CHECKING(for me pot o' gold)
1768 #AC_MSG_RESULT(no) 1706 #AC_MSG_RESULT(no)
1769 foreach func : 'gethostid lrand48 timegm memcpy memmove random strchr strerror vprintf'.split() 1707 foreach func : 'gethostid lrand48 timegm memcpy memmove random strchr strerror vprintf'.split()
1770 conf.set('HAVE_' + func.to_upper(), 1708 conf.set('HAVE_' + func.to_upper(),
1771 compiler.has_function(func)) 1709 compiler.has_function(func))
1772 endforeach 1710 endforeach
1773 foreach header : 'malloc.h paths.h sgtty.h stdarg.h sys/cdefs.h sys/file.h sys/filio.h sys/ioctl.h sys/msgbuf.h sys/select.h sys/uio.h sys/utsname.h sys/wait.h termios.h'.split() 1711 foreach header : 'malloc.h paths.h sgtty.h stdarg.h sys/cdefs.h sys/file.h sys/filio.h sys/ioctl.h sys/msgbuf.h sys/select.h sys/uio.h sys/utsname.h sys/wait.h termios.h'.split()
1774 conf.set('HAVE_' + header.to_upper().underscorify(), 1712 conf.set('HAVE_' + header.to_upper().underscorify(),
1775 compiler.has_header(header)) 1713 compiler.has_header(header))
1776 endforeach 1714 endforeach
1777 1715
1778 # sys/sysctl.h on OpenBSD 4.2 requires sys/param.h 1716 # sys/sysctl.h on OpenBSD 4.2 requires sys/param.h
1779 # sys/sysctl.h on FreeBSD requires sys/types.h 1717 # sys/sysctl.h on FreeBSD requires sys/types.h
1780 conf.set('HAVE_SYS_PARAM_H', 1718 have_sys_param_h = compiler.has_header('sys/param.h')
1781 compiler.has_header('sys/param.h')) 1719 conf.set('HAVE_SYS_PARAM_H', have_sys_param_h)
1782 #AC_CHECK_HEADERS(sys/sysctl.h, [], [], 1720 prefix = '''
1783 # [[ 1721 #include <sys/types.h>
1784 # #include <sys/types.h> 1722 '''
1785 # #ifdef HAVE_PARAM_H 1723 if have_sys_param_h
1786 # # include <sys/param.h> 1724 prefix += '''
1787 # #endif 1725 #include <sys/param.h>
1788 # ]]) 1726 '''
1789 # 1727 endif
1728 conf.set('HAVE_SYS_SYSCTL_H',
1729 compiler.has_header('sys/sysctl.h', prefix : prefix))
1790 conf.set('HAVE_SYS_SOCKET_H', 1730 conf.set('HAVE_SYS_SOCKET_H',
1791 compiler.has_header('sys/socket.h')) 1731 compiler.has_header('sys/socket.h'))
1792 #AC_VAR_TIMEZONE_EXTERNALS 1732 #AC_VAR_TIMEZONE_EXTERNALS
1793 1733
1794 conf.set('HAVE_TM_GMTOFF', 1734 conf.set('HAVE_TM_GMTOFF',
1795 compiler.has_member('struct tm', 'tm_gmtoff', 1735 compiler.has_member('struct tm', 'tm_gmtoff',
1796 prefix : '#include<time.h>')) 1736 prefix : '#include<time.h>'))
1797 1737
1798 ####################################################################### 1738 #######################################################################
1799 # Disable pixmap installation 1739 # Disable pixmap installation
1800 ####################################################################### 1740 #######################################################################
1801 INSTALL_PIXMAPS = get_option('pixmaps-install') 1741 INSTALL_PIXMAPS = get_option('pixmaps-install')
1901 # finch/libgnt/gnt.pc 1841 # finch/libgnt/gnt.pc
1902 # finch/libgnt/libgnt_winres.rc 1842 # finch/libgnt/libgnt_winres.rc
1903 # po/Makefile.in 1843 # po/Makefile.in
1904 # ]) 1844 # ])
1905 configure_file(output : 'config.h', 1845 configure_file(output : 'config.h',
1906 configuration : conf) 1846 configuration : conf)
1907 1847
1908 message('') 1848 message('')
1909 message('pidgin ' + purple_display_version) 1849 message('pidgin ' + purple_display_version)
1910 1850
1911 message('') 1851 message('')
1912 message('Build GTK+ UI................. : ' + get_option('gtkui').to_string()) 1852 message('Build GTK+ UI................. : ' + get_option('gtkui').to_string())
1913 message('Build console UI.............. : ' + enable_consoleui.to_string()) 1853 message('Build console UI.............. : ' + enable_consoleui.to_string())
1914 message('Build for X11................. : ' + with_x.to_string()) 1854 message('Build for X11................. : ' + with_x.to_string())
1915 message('') 1855 message('')
1916 message('Enable Gestures............... : ' + enable_gestures.to_string()) 1856 message('Enable Gestures............... : ' + enable_gestures.to_string())
1917 message('Protocols to build dynamically : ' + DYNAMIC_PRPLS) 1857 message('Protocols to build dynamically : @0@'.format(DYNAMIC_PRPLS))
1918 message('Protocols to link statically.. : ' + STATIC_PRPLS) 1858 message('Protocols to link statically.. : @0@'.format(STATIC_PRPLS))
1919 message('') 1859 message('')
1920 message('Build with GStreamer support.. : ' + enable_gst.to_string()) 1860 message('Build with GStreamer support.. : ' + enable_gst.to_string())
1921 message('Build with D-Bus support...... : ' + enable_dbus.to_string()) 1861 message('Build with D-Bus support...... : ' + enable_dbus.to_string())
1922 message('Build with voice and video.... : ' + enable_vv.to_string()) 1862 message('Build with voice and video.... : ' + enable_vv.to_string())
1923 if enable_dbus 1863 if enable_dbus
1958 1898
1959 message('') 1899 message('')
1960 message('Print debugging messages...... : ' + enable_debug.to_string()) 1900 message('Print debugging messages...... : ' + enable_debug.to_string())
1961 message('Generate documentation........ : ' + ENABLE_GTK_DOC.to_string()) 1901 message('Generate documentation........ : ' + ENABLE_GTK_DOC.to_string())
1962 message('') 1902 message('')
1963 message('Pidgin will be installed in @0@.'.format(get_option('bindir'))) 1903 bindir = get_option('bindir')
1904 if not bindir.startswith('/')
1905 bindir = get_option('prefix') + '/' + bindir
1906 endif
1907 message('Pidgin will be installed in @0@.'.format(bindir))
1964 if pidginpath.found() 1908 if pidginpath.found()
1965 message('Warning: You have an old copy of Pidgin at @0@.'.format(pidginpath.path())) 1909 message('Warning: You have an old copy of Pidgin at @0@.'.format(pidginpath.path()))
1966 endif 1910 endif
1967 if not INSTALL_PIXMAPS 1911 if not INSTALL_PIXMAPS
1968 message('') 1912 message('')

mercurial