mirror of
https://github.com/irssi/irssi.git
synced 2026-08-13 21:52:17 +02:00
meson build support
This commit is contained in:
parent
fb85fdec5c
commit
db16a0a853
57 changed files with 1787 additions and 46 deletions
11
src/common.h
11
src/common.h
|
|
@ -41,15 +41,8 @@
|
|||
# include <gmodule.h>
|
||||
#endif
|
||||
|
||||
#if defined (UOFF_T_INT)
|
||||
typedef unsigned int uoff_t;
|
||||
#elif defined (UOFF_T_LONG)
|
||||
typedef unsigned long uoff_t;
|
||||
#elif defined (UOFF_T_LONG_LONG)
|
||||
typedef unsigned long long uoff_t;
|
||||
#else
|
||||
# error uoff_t size not set
|
||||
#endif
|
||||
typedef guint64 uoff_t;
|
||||
#define PRIuUOFF_T G_GUINT64_FORMAT
|
||||
|
||||
/* input functions */
|
||||
#define G_INPUT_READ (1 << 0)
|
||||
|
|
|
|||
129
src/core/meson.build
Normal file
129
src/core/meson.build
Normal file
|
|
@ -0,0 +1,129 @@
|
|||
# this file is part of irssi
|
||||
|
||||
if want_gregex
|
||||
regex_impl = files('iregex-gregex.c')
|
||||
else
|
||||
regex_impl = files('iregex-regexh.c')
|
||||
endif
|
||||
|
||||
if have_capsicum
|
||||
core_capsicum_source = files('fe-capsicum.c')
|
||||
else
|
||||
core_capsicum_source = []
|
||||
endif
|
||||
|
||||
libcore_a = static_library('core',
|
||||
files(
|
||||
'args.c',
|
||||
'channels-setup.c',
|
||||
'channels.c',
|
||||
'chat-commands.c',
|
||||
'chat-protocols.c',
|
||||
'chatnets.c',
|
||||
'commands.c',
|
||||
'core.c',
|
||||
'expandos.c',
|
||||
'ignore.c',
|
||||
'levels.c',
|
||||
'line-split.c',
|
||||
'log-away.c',
|
||||
'log.c',
|
||||
'masks.c',
|
||||
'misc.c',
|
||||
'modules-load.c',
|
||||
'modules.c',
|
||||
'net-disconnect.c',
|
||||
'net-nonblock.c',
|
||||
'net-sendbuffer.c',
|
||||
'network-openssl.c',
|
||||
'network.c',
|
||||
'nicklist.c',
|
||||
'nickmatch-cache.c',
|
||||
'pidwait.c',
|
||||
'queries.c',
|
||||
'rawlog.c',
|
||||
'recode.c',
|
||||
'servers-reconnect.c',
|
||||
'servers-setup.c',
|
||||
'servers.c',
|
||||
'session.c',
|
||||
'settings.c',
|
||||
'signals.c',
|
||||
'special-vars.c',
|
||||
'tls.c',
|
||||
'utf8.c',
|
||||
'wcwidth-wrapper.c',
|
||||
'wcwidth.c',
|
||||
'write-buffer.c',
|
||||
)
|
||||
+ core_capsicum_source
|
||||
+ regex_impl
|
||||
+ [
|
||||
default_config_h,
|
||||
irssi_version_h,
|
||||
],
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
c_args : [
|
||||
def_moduledir,
|
||||
def_sysconfdir,
|
||||
],
|
||||
dependencies : dep)
|
||||
|
||||
install_headers(
|
||||
files(
|
||||
#### structure_headers ####
|
||||
'channel-rec.h',
|
||||
'channel-setup-rec.h',
|
||||
'chatnet-rec.h',
|
||||
'query-rec.h',
|
||||
'server-connect-rec.h',
|
||||
'server-rec.h',
|
||||
'server-setup-rec.h',
|
||||
'window-item-rec.h',
|
||||
|
||||
####
|
||||
'args.h',
|
||||
'capsicum.h',
|
||||
'channels-setup.h',
|
||||
'channels.h',
|
||||
'chat-protocols.h',
|
||||
'chatnets.h',
|
||||
'commands.h',
|
||||
'core.h',
|
||||
'expandos.h',
|
||||
'ignore.h',
|
||||
'iregex.h',
|
||||
'levels.h',
|
||||
'line-split.h',
|
||||
'log.h',
|
||||
'masks.h',
|
||||
'misc.h',
|
||||
'module.h',
|
||||
'modules-load.h',
|
||||
'modules.h',
|
||||
'net-disconnect.h',
|
||||
'net-nonblock.h',
|
||||
'net-sendbuffer.h',
|
||||
'network-openssl.h',
|
||||
'network.h',
|
||||
'nick-rec.h',
|
||||
'nicklist.h',
|
||||
'nickmatch-cache.h',
|
||||
'pidwait.h',
|
||||
'queries.h',
|
||||
'rawlog.h',
|
||||
'recode.h',
|
||||
'servers-reconnect.h',
|
||||
'servers-setup.h',
|
||||
'servers.h',
|
||||
'session.h',
|
||||
'settings.h',
|
||||
'signals.h',
|
||||
'special-vars.h',
|
||||
'tls.h',
|
||||
'utf8.h',
|
||||
'window-item-def.h',
|
||||
'write-buffer.h',
|
||||
),
|
||||
subdir : incdir / 'src' / 'core')
|
||||
99
src/fe-common/core/meson.build
Normal file
99
src/fe-common/core/meson.build
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
# this file is part of irssi
|
||||
|
||||
if have_capsicum
|
||||
fe_common_core_capsicum_source = files('fe-capsicum.c')
|
||||
else
|
||||
fe_common_core_capsicum_source = []
|
||||
endif
|
||||
|
||||
fe_common_core_sources = [
|
||||
files(
|
||||
'chat-completion.c',
|
||||
'command-history.c',
|
||||
'completion.c',
|
||||
'fe-channels.c',
|
||||
'fe-common-core.c',
|
||||
'fe-core-commands.c',
|
||||
'fe-exec.c',
|
||||
'fe-expandos.c',
|
||||
'fe-help.c',
|
||||
'fe-ignore-messages.c',
|
||||
'fe-ignore.c',
|
||||
'fe-log.c',
|
||||
'fe-messages.c',
|
||||
'fe-modules.c',
|
||||
'fe-queries.c',
|
||||
'fe-recode.c',
|
||||
'fe-server.c',
|
||||
'fe-settings.c',
|
||||
'fe-tls.c',
|
||||
'fe-windows.c',
|
||||
'formats.c',
|
||||
'hilight-text.c',
|
||||
'keyboard.c',
|
||||
'module-formats.c',
|
||||
'printtext.c',
|
||||
'themes.c',
|
||||
'window-activity.c',
|
||||
'window-commands.c',
|
||||
'window-items.c',
|
||||
'windows-layout.c',
|
||||
)
|
||||
+ fe_common_core_capsicum_source
|
||||
+ [
|
||||
default_theme_h,
|
||||
irssi_version_h,
|
||||
]
|
||||
]
|
||||
|
||||
libfe_common_core_a = static_library('fe_common_core',
|
||||
fe_common_core_sources,
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
c_args : [
|
||||
def_helpdir,
|
||||
def_themesdir,
|
||||
],
|
||||
dependencies : dep)
|
||||
|
||||
if want_fuzzer
|
||||
libfuzzer_fe_common_core_a = static_library('fuzzer_fe_common_core',
|
||||
fe_common_core_sources,
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
c_args : [
|
||||
def_helpdir,
|
||||
def_themesdir,
|
||||
def_suppress_printf_fallback,
|
||||
],
|
||||
dependencies : dep)
|
||||
endif
|
||||
|
||||
install_headers(
|
||||
files(
|
||||
'chat-completion.h',
|
||||
'command-history.h',
|
||||
'completion.h',
|
||||
'fe-capsicum.h',
|
||||
'fe-channels.h',
|
||||
'fe-common-core.h',
|
||||
'fe-core-commands.h',
|
||||
'fe-exec.h',
|
||||
'fe-messages.h',
|
||||
'fe-queries.h',
|
||||
'fe-recode.h',
|
||||
'fe-settings.h',
|
||||
'fe-tls.h',
|
||||
'fe-windows.h',
|
||||
'formats.h',
|
||||
'hilight-text.h',
|
||||
'keyboard.h',
|
||||
'module-formats.h',
|
||||
'module.h',
|
||||
'printtext.h',
|
||||
'themes.h',
|
||||
'window-activity.h',
|
||||
'window-items.h',
|
||||
'windows-layout.h',
|
||||
),
|
||||
subdir : incdir / 'src' / 'fe-common' / 'core')
|
||||
|
|
@ -447,7 +447,7 @@ static void sig_print_text(TEXT_DEST_REC *dest, const char *text)
|
|||
if (dest->window == NULL) {
|
||||
str = strip_codes(text);
|
||||
#ifndef SUPPRESS_PRINTF_FALLBACK
|
||||
printf("NO WINDOWS: %s\n", str);
|
||||
printf("## NO WINDOWS: %s\n", str);
|
||||
#endif
|
||||
g_free(str);
|
||||
return;
|
||||
|
|
|
|||
27
src/fe-common/irc/dcc/meson.build
Normal file
27
src/fe-common/irc/dcc/meson.build
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# this file is part of irssi
|
||||
|
||||
libfe_irc_dcc_a = static_library('fe_irc_dcc',
|
||||
files(
|
||||
'fe-dcc-chat-messages.c',
|
||||
'fe-dcc-chat.c',
|
||||
'fe-dcc-get.c',
|
||||
'fe-dcc-send.c',
|
||||
'fe-dcc-server.c',
|
||||
'fe-dcc.c',
|
||||
'module-formats.c',
|
||||
),
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
c_args : [
|
||||
def_helpdir,
|
||||
def_sysconfdir,
|
||||
],
|
||||
dependencies : dep)
|
||||
|
||||
install_headers(
|
||||
files(
|
||||
'fe-dcc.h',
|
||||
'module-formats.h',
|
||||
'module.h',
|
||||
),
|
||||
subdir : incdir / 'src' / 'fe-common' / 'irc' / 'dcc')
|
||||
4
src/fe-common/irc/irc-modules.c
Normal file
4
src/fe-common/irc/irc-modules.c
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
void fe_irc_dcc_init(void);void fe_irc_notifylist_init(void);
|
||||
void fe_irc_notifylist_deinit(void);void fe_irc_dcc_deinit(void);
|
||||
void fe_irc_modules_init(void) { fe_irc_dcc_init(); fe_irc_notifylist_init(); }
|
||||
void fe_irc_modules_deinit(void) { fe_irc_notifylist_deinit(); fe_irc_dcc_deinit(); }
|
||||
44
src/fe-common/irc/meson.build
Normal file
44
src/fe-common/irc/meson.build
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
# this file is part of irssi
|
||||
|
||||
libfe_common_irc_a = static_library('fe_common_irc',
|
||||
files(
|
||||
'fe-cap.c',
|
||||
'fe-common-irc.c',
|
||||
'fe-ctcp.c',
|
||||
'fe-events-numeric.c',
|
||||
'fe-events.c',
|
||||
'fe-irc-channels.c',
|
||||
'fe-irc-commands.c',
|
||||
'fe-irc-messages.c',
|
||||
'fe-irc-queries.c',
|
||||
'fe-irc-server.c',
|
||||
'fe-ircnet.c',
|
||||
'fe-modes.c',
|
||||
'fe-netjoin.c',
|
||||
'fe-netsplit.c',
|
||||
'fe-sasl.c',
|
||||
'fe-whois.c',
|
||||
'irc-completion.c',
|
||||
'module-formats.c',
|
||||
|
||||
'irc-modules.c',
|
||||
),
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
c_args : [
|
||||
def_helpdir,
|
||||
def_themesdir,
|
||||
],
|
||||
dependencies : dep)
|
||||
|
||||
install_headers(
|
||||
files(
|
||||
'fe-irc-channels.h',
|
||||
'fe-irc-server.h',
|
||||
'module-formats.h',
|
||||
'module.h',
|
||||
),
|
||||
subdir : incdir / 'src' / 'fe-common' / 'irc')
|
||||
|
||||
subdir('dcc')
|
||||
subdir('notifylist')
|
||||
21
src/fe-common/irc/notifylist/meson.build
Normal file
21
src/fe-common/irc/notifylist/meson.build
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# this file is part of irssi
|
||||
|
||||
libfe_irc_notifylist_a = static_library('fe_irc_notifylist',
|
||||
files(
|
||||
'fe-notifylist.c',
|
||||
'module-formats.c',
|
||||
),
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
c_args : [
|
||||
def_helpdir,
|
||||
def_sysconfdir,
|
||||
],
|
||||
dependencies : dep)
|
||||
|
||||
install_headers(
|
||||
files(
|
||||
'module-formats.h',
|
||||
'module.h',
|
||||
),
|
||||
subdir : incdir / 'src' / 'fe-common' / 'irc' / 'notifylist')
|
||||
6
src/fe-common/meson.build
Normal file
6
src/fe-common/meson.build
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# this file is part of irssi
|
||||
|
||||
subdir('core')
|
||||
foreach s : chat_modules
|
||||
subdir(s)
|
||||
endforeach
|
||||
21
src/fe-fuzz/fe-common/core/meson.build
Normal file
21
src/fe-fuzz/fe-common/core/meson.build
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# this file is part of irssi
|
||||
executable('theme-load-fuzz',
|
||||
files(
|
||||
'theme-load.c',
|
||||
'../../../fe-text/module-formats.c',
|
||||
),
|
||||
link_with : [
|
||||
libconfig_a,
|
||||
libcore_a,
|
||||
libfuzzer_fe_common_core_a,
|
||||
],
|
||||
link_args : [fuzzer_lib],
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
install : true,
|
||||
dependencies : dep
|
||||
)
|
||||
|
||||
# noinst_headers = files(
|
||||
# '../../../fe-text/module-formats.h',
|
||||
# )
|
||||
|
|
@ -36,10 +36,10 @@
|
|||
#include <string.h>
|
||||
|
||||
int LLVMFuzzerInitialize(int *argc, char ***argv) {
|
||||
core_register_options();
|
||||
fe_common_core_register_options();
|
||||
char *irssi_argv[] = {*argv[0], "--home", "/tmp/irssi", NULL};
|
||||
int irssi_argc = sizeof(irssi_argv) / sizeof(char *) - 1;
|
||||
core_register_options();
|
||||
fe_common_core_register_options();
|
||||
args_execute(irssi_argc, irssi_argv);
|
||||
core_preinit((*argv)[0]);
|
||||
core_init();
|
||||
|
|
@ -50,6 +50,7 @@ int LLVMFuzzerInitialize(int *argc, char ***argv) {
|
|||
}
|
||||
|
||||
int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
|
||||
THEME_REC *theme;
|
||||
gchar *copy = g_strndup((const gchar *)data, size);
|
||||
|
||||
FILE *fp = fopen("/tmp/irssi/fuzz.theme", "wb");
|
||||
|
|
@ -58,7 +59,7 @@ int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
|
|||
fclose(fp);
|
||||
}
|
||||
|
||||
THEME_REC *theme = theme_load("fuzz");
|
||||
theme = theme_load("fuzz");
|
||||
theme_destroy(theme);
|
||||
|
||||
g_free(copy);
|
||||
|
|
|
|||
3
src/fe-fuzz/fe-common/meson.build
Normal file
3
src/fe-fuzz/fe-common/meson.build
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# this file is part of irssi
|
||||
|
||||
subdir('core')
|
||||
|
|
@ -48,17 +48,21 @@ int LLVMFuzzerInitialize(int *argc, char ***argv) {
|
|||
}
|
||||
|
||||
int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
|
||||
if (size < 1) {
|
||||
return 0;
|
||||
}
|
||||
uint8_t count = *data;
|
||||
gchar *copy = g_strndup((const gchar *)data+1, size-1);
|
||||
gchar *copy;
|
||||
|
||||
char *output0;
|
||||
char *output1;
|
||||
char *output2;
|
||||
char *output3;
|
||||
char *params;
|
||||
|
||||
if (size < 1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
copy = g_strndup((const gchar *)data+1, size-1);
|
||||
|
||||
if (count % 8 == 0) {
|
||||
params = event_get_params(copy, 1 | PARAM_FLAG_GETREST, &output0);
|
||||
} else if (count % 8 == 1) {
|
||||
|
|
|
|||
23
src/fe-fuzz/irc/core/meson.build
Normal file
23
src/fe-fuzz/irc/core/meson.build
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# this file is part of irssi
|
||||
|
||||
executable('event-get-params-fuzz',
|
||||
files(
|
||||
'event-get-params.c',
|
||||
'../../../fe-text/module-formats.c',
|
||||
),
|
||||
link_with : [
|
||||
libconfig_a,
|
||||
libcore_a,
|
||||
libirc_a,
|
||||
libfuzzer_fe_common_core_a,
|
||||
],
|
||||
link_args : [fuzzer_lib],
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
install : true,
|
||||
dependencies : dep
|
||||
)
|
||||
|
||||
# noinst_headers = files(
|
||||
# '../../../fe-text/module-formats.h',
|
||||
# )
|
||||
3
src/fe-fuzz/irc/meson.build
Normal file
3
src/fe-fuzz/irc/meson.build
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# this file is part of irssi
|
||||
|
||||
subdir('core')
|
||||
46
src/fe-fuzz/meson.build
Normal file
46
src/fe-fuzz/meson.build
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
# this file is part of irssi
|
||||
|
||||
subdir('irc')
|
||||
subdir('fe-common')
|
||||
|
||||
executable('irssi-fuzz',
|
||||
files(
|
||||
'irssi.c',
|
||||
'../fe-text/module-formats.c',
|
||||
),
|
||||
link_with : [
|
||||
libconfig_a,
|
||||
libcore_a,
|
||||
libfuzzer_fe_common_core_a,
|
||||
],
|
||||
link_args : [fuzzer_lib],
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
install : true,
|
||||
dependencies : dep
|
||||
)
|
||||
|
||||
executable('server-fuzz',
|
||||
files(
|
||||
'server.c',
|
||||
'../fe-text/module-formats.c',
|
||||
),
|
||||
link_with : [
|
||||
libconfig_a,
|
||||
libcore_a,
|
||||
libfuzzer_fe_common_core_a,
|
||||
libirc_a,
|
||||
libfe_common_irc_a,
|
||||
libfe_irc_dcc_a,
|
||||
libfe_irc_notifylist_a,
|
||||
],
|
||||
link_args : [fuzzer_lib],
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
install : true,
|
||||
dependencies : dep
|
||||
)
|
||||
|
||||
# noinst_headers = files(
|
||||
# '../fe-text/module-formats.h',
|
||||
# )
|
||||
|
|
@ -150,13 +150,18 @@ int LLVMFuzzerInitialize(int *argc, char ***argv) {
|
|||
}
|
||||
|
||||
int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
|
||||
gboolean prefixedChoice = (gboolean)*data;
|
||||
gchar *copy;
|
||||
gchar **lines;
|
||||
gchar **head;
|
||||
|
||||
if (size < 1) return 0;
|
||||
|
||||
test_server();
|
||||
gboolean prefixedChoice = (gboolean)*data;
|
||||
gchar *copy = g_strndup((const gchar *)data+1, size-1);
|
||||
gchar **lines = g_strsplit(copy, "\r\n", -1);
|
||||
gchar **head = lines;
|
||||
|
||||
copy = g_strndup((const gchar *)data+1, size-1);
|
||||
lines = g_strsplit(copy, "\r\n", -1);
|
||||
head = lines;
|
||||
|
||||
for (; *lines != NULL; lines++) {
|
||||
gchar *prefixedLine;
|
||||
|
|
|
|||
21
src/fe-none/meson.build
Normal file
21
src/fe-none/meson.build
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# this file is part of irssi
|
||||
|
||||
executable('botti',
|
||||
files(
|
||||
'irssi.c',
|
||||
),
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
export_dynamic : true,
|
||||
link_with : [
|
||||
libconfig_a,
|
||||
libcore_a,
|
||||
libirc_a,
|
||||
],
|
||||
install : true,
|
||||
dependencies : dep
|
||||
)
|
||||
|
||||
# noinst_headers = files(
|
||||
# 'module.h',
|
||||
# )
|
||||
68
src/fe-text/meson.build
Normal file
68
src/fe-text/meson.build
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
# this file is part of irssi
|
||||
|
||||
executable('irssi',
|
||||
files(
|
||||
#### terminfo_sources ####
|
||||
'term-terminfo.c',
|
||||
'terminfo-core.c',
|
||||
|
||||
#### irssi sources ####
|
||||
'gui-entry.c',
|
||||
'gui-expandos.c',
|
||||
'gui-printtext.c',
|
||||
'gui-readline.c',
|
||||
'gui-windows.c',
|
||||
'irssi.c',
|
||||
'lastlog.c',
|
||||
'mainwindow-activity.c',
|
||||
'mainwindows-layout.c',
|
||||
'mainwindows.c',
|
||||
'module-formats.c',
|
||||
'statusbar-config.c',
|
||||
'statusbar-items.c',
|
||||
'statusbar.c',
|
||||
'term.c',
|
||||
'textbuffer-commands.c',
|
||||
'textbuffer-view.c',
|
||||
'textbuffer.c',
|
||||
)
|
||||
+ [ irssi_version_h ],
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
export_dynamic : true,
|
||||
link_with : [
|
||||
libconfig_a,
|
||||
libcore_a,
|
||||
libfe_common_core_a,
|
||||
libirc_a,
|
||||
libfe_common_irc_a,
|
||||
libfe_irc_dcc_a,
|
||||
libfe_irc_notifylist_a,
|
||||
],
|
||||
install : true,
|
||||
install_rpath : get_option('prefix') / get_option('libdir'),
|
||||
dependencies : dep
|
||||
+ textui_dep
|
||||
)
|
||||
|
||||
install_headers(
|
||||
files(
|
||||
'gui-printtext.h',
|
||||
'gui-windows.h',
|
||||
'mainwindows.h',
|
||||
'statusbar-item.h',
|
||||
'statusbar.h',
|
||||
'term.h',
|
||||
'textbuffer-view.h',
|
||||
'textbuffer.h',
|
||||
),
|
||||
subdir : incdir / 'src' / 'fe-text')
|
||||
|
||||
# noinst_headers = files(
|
||||
# 'gui-entry.h',
|
||||
# 'gui-readline.h',
|
||||
# 'module-formats.h'
|
||||
# 'module.h',
|
||||
# 'statusbar-config.h',
|
||||
# 'terminfo-core.h',
|
||||
# )
|
||||
66
src/irc/core/meson.build
Normal file
66
src/irc/core/meson.build
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
# this file is part of irssi
|
||||
|
||||
libirc_core_a = static_library('irc_core',
|
||||
files(
|
||||
'bans.c',
|
||||
'channel-events.c',
|
||||
'channel-rejoin.c',
|
||||
'channels-query.c',
|
||||
'ctcp.c',
|
||||
'irc-cap.c',
|
||||
'irc-channels-setup.c',
|
||||
'irc-channels.c',
|
||||
'irc-chatnets.c',
|
||||
'irc-commands.c',
|
||||
'irc-core.c',
|
||||
'irc-expandos.c',
|
||||
'irc-masks.c',
|
||||
'irc-nicklist.c',
|
||||
'irc-queries.c',
|
||||
'irc-servers-reconnect.c',
|
||||
'irc-servers-setup.c',
|
||||
'irc-servers.c',
|
||||
'irc-session.c',
|
||||
'irc.c',
|
||||
'lag.c',
|
||||
'massjoin.c',
|
||||
'mode-lists.c',
|
||||
'modes.c',
|
||||
'netsplit.c',
|
||||
'sasl.c',
|
||||
'servers-idle.c',
|
||||
'servers-redirect.c',
|
||||
),
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
c_args : [
|
||||
def_moduledir,
|
||||
def_sysconfdir,
|
||||
],
|
||||
dependencies : dep)
|
||||
|
||||
install_headers(
|
||||
files(
|
||||
'bans.h',
|
||||
'channel-events.h',
|
||||
'channel-rejoin.h',
|
||||
'ctcp.h',
|
||||
'irc-cap.h',
|
||||
'irc-channels.h',
|
||||
'irc-chatnets.h',
|
||||
'irc-commands.h',
|
||||
'irc-masks.h',
|
||||
'irc-nicklist.h',
|
||||
'irc-queries.h',
|
||||
'irc-servers-setup.h',
|
||||
'irc-servers.h',
|
||||
'irc.h',
|
||||
'mode-lists.h',
|
||||
'modes.h',
|
||||
'module.h',
|
||||
'netsplit.h',
|
||||
'sasl.h',
|
||||
'servers-idle.h',
|
||||
'servers-redirect.h',
|
||||
),
|
||||
subdir : incdir / 'src' / 'irc' / 'core')
|
||||
31
src/irc/dcc/meson.build
Normal file
31
src/irc/dcc/meson.build
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
# this file is part of irssi
|
||||
|
||||
libirc_dcc_a = static_library('irc_dcc',
|
||||
files(
|
||||
'dcc-autoget.c',
|
||||
'dcc-chat.c',
|
||||
'dcc-get.c',
|
||||
'dcc-queue.c',
|
||||
'dcc-resume.c',
|
||||
'dcc-send.c',
|
||||
'dcc-server.c',
|
||||
'dcc.c',
|
||||
),
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
dependencies : dep)
|
||||
|
||||
install_headers(
|
||||
files(
|
||||
'dcc-chat.h',
|
||||
'dcc-file-rec.h',
|
||||
'dcc-file.h',
|
||||
'dcc-get.h',
|
||||
'dcc-queue.h',
|
||||
'dcc-rec.h',
|
||||
'dcc-send.h',
|
||||
'dcc-server.h',
|
||||
'dcc.h',
|
||||
'module.h',
|
||||
),
|
||||
subdir : incdir / 'src' / 'irc' / 'dcc')
|
||||
14
src/irc/flood/meson.build
Normal file
14
src/irc/flood/meson.build
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
# this file is part of irssi
|
||||
|
||||
libirc_flood_a = static_library('irc_flood',
|
||||
files(
|
||||
'autoignore.c',
|
||||
'flood.c',
|
||||
),
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
dependencies : dep)
|
||||
|
||||
install_headers(
|
||||
files('module.h'),
|
||||
subdir : incdir / 'src' / 'irc' / 'flood')
|
||||
5
src/irc/irc.c
Normal file
5
src/irc/irc.c
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
void irc_core_init(void); void irc_core_deinit(void);
|
||||
void irc_dcc_init(void);void irc_flood_init(void);void irc_notifylist_init(void);
|
||||
void irc_notifylist_deinit(void);void irc_flood_deinit(void);void irc_dcc_deinit(void);
|
||||
void irc_init(void) { irc_core_init(); irc_dcc_init(); irc_flood_init(); irc_notifylist_init(); }
|
||||
void irc_deinit(void) { irc_notifylist_deinit(); irc_flood_deinit(); irc_dcc_deinit(); irc_core_deinit(); }
|
||||
24
src/irc/meson.build
Normal file
24
src/irc/meson.build
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# this file is part of irssi
|
||||
|
||||
subdir('core')
|
||||
subdir('dcc')
|
||||
subdir('flood')
|
||||
subdir('notifylist')
|
||||
|
||||
libirc_a = static_library('irc',
|
||||
files(
|
||||
'irc.c',
|
||||
),
|
||||
link_with : [
|
||||
libirc_core_a,
|
||||
libirc_dcc_a,
|
||||
libirc_flood_a,
|
||||
libirc_notifylist_a,
|
||||
],
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
)
|
||||
|
||||
if want_proxy
|
||||
subdir('proxy')
|
||||
endif
|
||||
21
src/irc/notifylist/meson.build
Normal file
21
src/irc/notifylist/meson.build
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# this file is part of irssi
|
||||
|
||||
libirc_notifylist_a = static_library('irc_notifylist',
|
||||
files(
|
||||
'notify-commands.c',
|
||||
'notify-ison.c',
|
||||
'notify-setup.c',
|
||||
'notify-whois.c',
|
||||
'notifylist.c',
|
||||
),
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
dependencies : dep)
|
||||
|
||||
install_headers(
|
||||
files(
|
||||
'module.h',
|
||||
'notify-setup.h',
|
||||
'notifylist.h',
|
||||
),
|
||||
subdir : incdir / 'src' / 'irc' / 'notifylist')
|
||||
20
src/irc/proxy/meson.build
Normal file
20
src/irc/proxy/meson.build
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
# this file is part of irssi
|
||||
|
||||
shared_module('irc_proxy',
|
||||
files(
|
||||
'dump.c',
|
||||
'listen.c',
|
||||
'proxy.c',
|
||||
)
|
||||
+ [ irssi_version_h ],
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
install : true,
|
||||
install_dir : moduledir,
|
||||
dependencies : dep,
|
||||
)
|
||||
|
||||
# noinst_headers = files(
|
||||
# 'module.h',
|
||||
# 'proxy.h',
|
||||
# )
|
||||
19
src/lib-config/meson.build
Normal file
19
src/lib-config/meson.build
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
# this file is part of irssi
|
||||
|
||||
libconfig_a = static_library('irssi_config',
|
||||
files(
|
||||
'get.c',
|
||||
'parse.c',
|
||||
'set.c',
|
||||
'write.c',
|
||||
),
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
dependencies : dep)
|
||||
|
||||
install_headers(
|
||||
files(
|
||||
'iconfig.h',
|
||||
'module.h',
|
||||
),
|
||||
subdir : incdir / 'src' / 'lib-config')
|
||||
29
src/meson.build
Normal file
29
src/meson.build
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# this file is part of irssi
|
||||
|
||||
subdir('lib-config')
|
||||
subdir('core')
|
||||
foreach s : chat_modules
|
||||
subdir(s)
|
||||
endforeach
|
||||
subdir('fe-common')
|
||||
if have_perl
|
||||
subdir('perl')
|
||||
endif
|
||||
if have_otr
|
||||
subdir('otr')
|
||||
endif
|
||||
if want_bot
|
||||
subdir('fe-none')
|
||||
endif
|
||||
if want_textui
|
||||
subdir('fe-text')
|
||||
endif
|
||||
if want_fuzzer
|
||||
subdir('fe-fuzz')
|
||||
endif
|
||||
|
||||
install_headers(
|
||||
files(
|
||||
'common.h'
|
||||
),
|
||||
subdir : incdir / 'src')
|
||||
26
src/otr/meson.build
Normal file
26
src/otr/meson.build
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# this file is part of irssi
|
||||
|
||||
shared_module('otr_core',
|
||||
files(
|
||||
'key.c',
|
||||
'otr-fe.c',
|
||||
'otr-formats.c',
|
||||
'otr-module.c',
|
||||
'otr-ops.c',
|
||||
'otr.c',
|
||||
),
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
install : true,
|
||||
install_dir : moduledir,
|
||||
dependencies : dep,
|
||||
)
|
||||
|
||||
# noinst_headers = files(
|
||||
# 'irssi-otr.h',
|
||||
# 'key.h',
|
||||
# 'module.h',
|
||||
# 'otr-fe.h',
|
||||
# 'otr-formats.h',
|
||||
# 'otr.h',
|
||||
# )
|
||||
37
src/perl/common/meson.build
Normal file
37
src/perl/common/meson.build
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
libperl_common_a = shared_module('Irssi',
|
||||
[ xsubpp.process(
|
||||
files(
|
||||
'Channel.xs',
|
||||
'Core.xs',
|
||||
'Expando.xs',
|
||||
'Ignore.xs',
|
||||
'Irssi.xs',
|
||||
'Log.xs',
|
||||
'Masks.xs',
|
||||
'Query.xs',
|
||||
'Rawlog.xs',
|
||||
'Server.xs',
|
||||
'Settings.xs',
|
||||
)
|
||||
) ]
|
||||
+ files(
|
||||
'module.h',
|
||||
)
|
||||
+ [ irssi_version_h ],
|
||||
name_prefix : '',
|
||||
install : true,
|
||||
install_dir : perlmoddir / 'auto' / 'Irssi',
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : true,
|
||||
dependencies : dep + [ perl_dep ],
|
||||
)
|
||||
|
||||
install_headers(
|
||||
files(
|
||||
'Irssi.pm',
|
||||
),
|
||||
install_dir : perlmoddir,
|
||||
)
|
||||
|
||||
# 'Makefile.PL.in',
|
||||
# 'typemap',
|
||||
|
|
@ -6,7 +6,7 @@ print " * do not edit.\n";
|
|||
print " */\n\n";
|
||||
print "static PERL_SIGNAL_ARGS_REC perl_signal_args[] =\n{\n";
|
||||
|
||||
while (<STDIN>) {
|
||||
while (<>) {
|
||||
chomp;
|
||||
|
||||
next if (!/^ "([^"]*)"(<.*>)?(?:,\s*(.*))?/);
|
||||
|
|
|
|||
39
src/perl/irc/meson.build
Normal file
39
src/perl/irc/meson.build
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
libperl_irc_a = shared_module('Irc',
|
||||
[ xsubpp.process(
|
||||
files(
|
||||
'Channel.xs',
|
||||
'Client.xs',
|
||||
'Ctcp.xs',
|
||||
'Dcc.xs',
|
||||
'Irc.xs',
|
||||
'Modes.xs',
|
||||
'Netsplit.xs',
|
||||
'Notifylist.xs',
|
||||
'Query.xs',
|
||||
'Server.xs',
|
||||
),
|
||||
extra_args : [
|
||||
'-typemap',
|
||||
'../common/typemap',
|
||||
],
|
||||
) ]
|
||||
+ files(
|
||||
'module.h',
|
||||
),
|
||||
name_prefix : '',
|
||||
install : true,
|
||||
install_dir : perlmoddir / 'auto' / 'Irssi' / 'Irc',
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : true,
|
||||
dependencies : dep + [ perl_dep ],
|
||||
)
|
||||
|
||||
install_headers(
|
||||
files(
|
||||
'Irc.pm',
|
||||
),
|
||||
install_dir : perlmoddir / 'Irssi',
|
||||
)
|
||||
|
||||
# 'Makefile.PL.in',
|
||||
# 'typemap',
|
||||
73
src/perl/meson.build
Normal file
73
src/perl/meson.build
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
|
||||
perl_signals_list_h = custom_target('perl-signals-list.h',
|
||||
input : files('../../docs/signals.txt'),
|
||||
output : 'perl-signals-list.h',
|
||||
capture : true,
|
||||
depend_files : files('get-signals.pl'),
|
||||
command : [perl, files('get-signals.pl'), '@INPUT@'],
|
||||
)
|
||||
|
||||
irssi_core_pl_h = custom_target('irssi-core.pl.h',
|
||||
input : files('irssi-core.pl'),
|
||||
output : 'irssi-core.pl.h',
|
||||
capture : true,
|
||||
command : [file2header, '@INPUT@', 'irssi_core_code'],
|
||||
)
|
||||
|
||||
shared_module('perl_core',
|
||||
files(
|
||||
'perl-common.c',
|
||||
'perl-core.c',
|
||||
'perl-signals.c',
|
||||
'perl-sources.c',
|
||||
) + [
|
||||
irssi_core_pl_h,
|
||||
perl_signals_list_h,
|
||||
],
|
||||
c_args : [
|
||||
def_scriptdir,
|
||||
'-D' + 'PERL_USE_LIB' + '="' + (set_perl_use_lib ? perl_use_lib : '') + '"',
|
||||
'-D' + 'PERL_STATIC_LIBS' + '=' + 0.to_string(),
|
||||
],
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
install : true,
|
||||
install_dir : moduledir,
|
||||
install_rpath : perl_rpath,
|
||||
build_rpath : perl_rpath,
|
||||
dependencies : dep + [ perl_dep ],
|
||||
)
|
||||
|
||||
shared_module('fe_perl',
|
||||
files(
|
||||
'module-formats.c',
|
||||
'perl-fe.c',
|
||||
),
|
||||
c_args : [
|
||||
def_scriptdir,
|
||||
],
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : false,
|
||||
install : true,
|
||||
install_dir : moduledir,
|
||||
dependencies : dep,
|
||||
)
|
||||
|
||||
subdir('common')
|
||||
foreach s : chat_modules
|
||||
subdir(s)
|
||||
endforeach
|
||||
subdir('ui')
|
||||
if want_textui
|
||||
subdir('textui')
|
||||
endif
|
||||
|
||||
# noinst_headers = files(
|
||||
# 'module-fe.h',
|
||||
# 'module-formats.h',
|
||||
# 'module.h',
|
||||
# 'perl-common.h',
|
||||
# 'perl-core.h',
|
||||
# 'perl-signals.h',
|
||||
# 'perl-sources.h',
|
||||
# )
|
||||
35
src/perl/textui/meson.build
Normal file
35
src/perl/textui/meson.build
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
libperl_textui_a = shared_module('TextUI',
|
||||
[ xsubpp.process(
|
||||
files(
|
||||
'Statusbar.xs',
|
||||
'TextBufferView.xs',
|
||||
'TextBuffer.xs',
|
||||
'TextUI.xs',
|
||||
),
|
||||
extra_args : [
|
||||
'-typemap',
|
||||
'../common/typemap',
|
||||
'-typemap',
|
||||
'../ui/typemap',
|
||||
],
|
||||
) ]
|
||||
+ files(
|
||||
'module.h',
|
||||
),
|
||||
name_prefix : '',
|
||||
install : true,
|
||||
install_dir : perlmoddir / 'auto' / 'Irssi' / 'TextUI',
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : true,
|
||||
dependencies : dep + [ perl_dep ],
|
||||
)
|
||||
|
||||
install_headers(
|
||||
files(
|
||||
'TextUI.pm',
|
||||
),
|
||||
install_dir : perlmoddir / 'Irssi',
|
||||
)
|
||||
|
||||
# 'Makefile.PL.in',
|
||||
# 'typemap',
|
||||
33
src/perl/ui/meson.build
Normal file
33
src/perl/ui/meson.build
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
libperl_ui_a = shared_module('UI',
|
||||
[ xsubpp.process(
|
||||
files(
|
||||
'Formats.xs',
|
||||
'Themes.xs',
|
||||
'UI.xs',
|
||||
'Window.xs',
|
||||
),
|
||||
extra_args : [
|
||||
'-typemap',
|
||||
'../common/typemap',
|
||||
],
|
||||
) ]
|
||||
+ files(
|
||||
'module.h',
|
||||
),
|
||||
name_prefix : '',
|
||||
install : true,
|
||||
install_dir : perlmoddir / 'auto' / 'Irssi' / 'UI',
|
||||
include_directories : rootinc,
|
||||
implicit_include_directories : true,
|
||||
dependencies : dep + [ perl_dep ],
|
||||
)
|
||||
|
||||
install_headers(
|
||||
files(
|
||||
'UI.pm',
|
||||
),
|
||||
install_dir : perlmoddir / 'Irssi',
|
||||
)
|
||||
|
||||
# 'Makefile.PL.in',
|
||||
# 'typemap',
|
||||
Loading…
Add table
Add a link
Reference in a new issue