common_sources = [ 'cfgfiles.c', 'chanopt.c', 'ctcp.c', 'dcc.c', 'hexchat.c', 'history.c', 'ignore.c', 'inbound.c', 'modes.c', 'network.c', 'notify.c', 'outbound.c', 'plugin.c', 'plugin-identd.c', 'plugin-timer.c', 'proto-irc.c', 'server.c', 'servlist.c', 'text.c', 'tree.c', 'url.c', 'userlist.c', 'util.c' ] common_sysinfo_deps = [] common_deps = [ libgio_dep, libcanberra_dep, ] + global_deps common_includes = [ config_h_include, include_directories('.') ] common_cflags = [ '-DHAVE_CONFIG_H', ] if host_machine.system() == 'windows' common_deps += [ cc.find_library('ws2_32'), # winsock cc.find_library('winmm'), # playsound ] common_sysinfo_deps += [ cc.find_library('wbemuuid'), # sysinfo cc.find_library('wbemcore'), ] common_sources += 'sysinfo/win32/backend.c' common_includes += include_directories('sysinfo') endif marshal = gnome.genmarshal('marshal', sources: 'marshalers.list', prefix: '_hexchat_marshal', internal: true ) make_te = find_program('make-te.py') textevents = custom_target('textevents', input: 'textevents.in', output: ['textevents.h', 'textenums.h'], command: [make_te, '@INPUT@', '@OUTPUT0@', '@OUTPUT1@'] ) # TODO: # LOOKUPD # SIGACTION # HAVE_GTK_MAC if libssl_dep.found() common_sources += 'ssl.c' common_deps += libssl_dep endif if dbus_glib_dep.found() subdir('dbus') common_deps += hexchat_dbus_dep common_includes += include_directories('dbus') endif if get_option('plugin') common_deps += libgmodule_dep install_headers('hexchat-plugin.h') endif hexchat_common = static_library('hexchatcommon', sources: [textevents] + marshal + common_sources, include_directories: config_h_include, dependencies: common_deps + common_sysinfo_deps, c_args: common_cflags, pic: true ) hexchat_common_dep = declare_dependency( sources: [textevents] + marshal, link_with: hexchat_common, include_directories: common_includes, compile_args: common_cflags, dependencies: libgio_dep, ) hexchat_plugin_dep = declare_dependency( include_directories: common_includes, compile_args: common_cflags, dependencies: global_deps, )