mirror of
https://github.com/irssi/irssi.git
synced 2026-08-08 19:30:15 +02:00
Merge pull request #1611 from horgh/horgh/muon-meson-fmt-workflow
Add muon-meson fmt GitHub Actions workflow
This commit is contained in:
commit
43f1727ef9
34 changed files with 722 additions and 346 deletions
32
.github/workflows/muon-fmt.yml
vendored
Normal file
32
.github/workflows/muon-fmt.yml
vendored
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
name: Format meson files
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
muon-meson-fmt:
|
||||||
|
name: Format
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@main
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
# Build from source because Ubuntu 24.04 apt only has muon 0.2.0.
|
||||||
|
# Newer muons seem to format differently.
|
||||||
|
- name: Build muon from source
|
||||||
|
run: |
|
||||||
|
git clone --depth 1 --branch 0.5.0 https://github.com/muon-build/muon /tmp/muon
|
||||||
|
cd /tmp/muon
|
||||||
|
./bootstrap.sh build
|
||||||
|
build/muon-bootstrap setup build
|
||||||
|
build/muon-bootstrap -C build samu
|
||||||
|
sudo build/muon -C build install
|
||||||
|
|
||||||
|
- name: Run muon fmt
|
||||||
|
run: |
|
||||||
|
find . -name meson.build -print0 | xargs -0 muon fmt -c .muon_fmt.ini -i
|
||||||
|
git diff --exit-code
|
||||||
14
.muon_fmt.ini
Normal file
14
.muon_fmt.ini
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
# Irssi configuration for muon fmt
|
||||||
|
max_line_len = 108
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
#indent_by = ' '
|
||||||
|
space_array = true
|
||||||
|
kwargs_force_multiline = true
|
||||||
|
wide_colon = true
|
||||||
|
no_single_comma_function = true
|
||||||
|
insert_final_newline = true
|
||||||
|
sort_files = false
|
||||||
|
group_arg_value = true
|
||||||
|
sticky_parens = true
|
||||||
|
continuation_indent = true
|
||||||
|
|
@ -116,6 +116,7 @@ install_data(
|
||||||
'whowas',
|
'whowas',
|
||||||
'window',
|
'window',
|
||||||
),
|
),
|
||||||
install_dir : helpdir)
|
install_dir : helpdir,
|
||||||
|
)
|
||||||
|
|
||||||
# subdir('in')
|
# subdir('in')
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ install_data(
|
||||||
'startup-HOWTO.html',
|
'startup-HOWTO.html',
|
||||||
'startup-HOWTO.txt',
|
'startup-HOWTO.txt',
|
||||||
),
|
),
|
||||||
install_dir : docdir)
|
install_dir : docdir,
|
||||||
|
)
|
||||||
|
|
||||||
subdir('help')
|
subdir('help')
|
||||||
|
|
|
||||||
552
meson.build
552
meson.build
|
|
@ -1,7 +1,10 @@
|
||||||
project('irssi', 'c',
|
project(
|
||||||
|
'irssi',
|
||||||
|
'c',
|
||||||
version : '1.5-head',
|
version : '1.5-head',
|
||||||
meson_version : '>=0.53',
|
meson_version : '>=0.53',
|
||||||
default_options : ['warning_level=1'])
|
default_options : [ 'warning_level=1' ],
|
||||||
|
)
|
||||||
|
|
||||||
############################
|
############################
|
||||||
############################
|
############################
|
||||||
|
|
@ -11,11 +14,11 @@ glib_pcre2_internal_version = 'pcre2-10.40'
|
||||||
glib_libffi_internal_version = 'libffi'
|
glib_libffi_internal_version = 'libffi'
|
||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
rootinc = include_directories('.')
|
rootinc = include_directories('.')
|
||||||
dep = []
|
dep = [ ]
|
||||||
textui_dep = []
|
textui_dep = [ ]
|
||||||
need_dl_cross_link = false
|
need_dl_cross_link = false
|
||||||
need_dl_cross_link_main = false
|
need_dl_cross_link_main = false
|
||||||
dl_cross_irssi_main = []
|
dl_cross_irssi_main = [ ]
|
||||||
# The Android environment requires that all modules are linked to each other.
|
# The Android environment requires that all modules are linked to each other.
|
||||||
# See https://github.com/android/ndk/issues/201
|
# See https://github.com/android/ndk/issues/201
|
||||||
if host_machine.system() == 'android'
|
if host_machine.system() == 'android'
|
||||||
|
|
@ -25,40 +28,40 @@ elif host_machine.system() == 'cygwin'
|
||||||
need_dl_cross_link_main = true
|
need_dl_cross_link_main = true
|
||||||
endif
|
endif
|
||||||
|
|
||||||
includedir = get_option('includedir')
|
includedir = get_option('includedir')
|
||||||
incdir = 'irssi'
|
incdir = 'irssi'
|
||||||
moduledir = get_option('libdir') / incdir / 'modules'
|
moduledir = get_option('libdir') / incdir / 'modules'
|
||||||
helpdir = get_option('datadir') / incdir / 'help'
|
helpdir = get_option('datadir') / incdir / 'help'
|
||||||
themedir = get_option('datadir') / incdir / 'themes'
|
themedir = get_option('datadir') / incdir / 'themes'
|
||||||
scriptdir = get_option('datadir') / incdir / 'scripts'
|
scriptdir = get_option('datadir') / incdir / 'scripts'
|
||||||
docdir = get_option('docdir') != '' ? get_option('docdir') : (get_option('datadir') / 'doc' / incdir)
|
docdir = get_option('docdir') != '' ? get_option('docdir') : (get_option('datadir') / 'doc' / incdir)
|
||||||
|
|
||||||
want_textui = get_option('without-textui') != 'yes'
|
want_textui = get_option('without-textui') != 'yes'
|
||||||
want_bot = get_option('with-bot') == 'yes'
|
want_bot = get_option('with-bot') == 'yes'
|
||||||
want_fuzzer = get_option('with-fuzzer') == 'yes'
|
want_fuzzer = get_option('with-fuzzer') == 'yes'
|
||||||
fuzzer_lib = get_option('with-fuzzer-lib')
|
fuzzer_lib = get_option('with-fuzzer-lib')
|
||||||
fuzzer_link_language = get_option('fuzzer-link-language')
|
fuzzer_link_language = get_option('fuzzer-link-language')
|
||||||
want_proxy = get_option('with-proxy') == 'yes'
|
want_proxy = get_option('with-proxy') == 'yes'
|
||||||
|
|
||||||
require_capsicum = get_option('with-capsicum') == 'yes'
|
require_capsicum = get_option('with-capsicum') == 'yes'
|
||||||
want_capsicum = get_option('with-capsicum') != 'no'
|
want_capsicum = get_option('with-capsicum') != 'no'
|
||||||
|
|
||||||
require_libutf8proc = get_option('disable-utf8proc') == 'no'
|
require_libutf8proc = get_option('disable-utf8proc') == 'no'
|
||||||
want_libutf8proc = get_option('disable-utf8proc') != 'yes'
|
want_libutf8proc = get_option('disable-utf8proc') != 'yes'
|
||||||
|
|
||||||
require_perl = get_option('with-perl') == 'yes'
|
require_perl = get_option('with-perl') == 'yes'
|
||||||
want_perl = get_option('with-perl') != 'no'
|
want_perl = get_option('with-perl') != 'no'
|
||||||
with_perl_lib = get_option('with-perl-lib')
|
with_perl_lib = get_option('with-perl-lib')
|
||||||
|
|
||||||
require_otr = get_option('with-otr') == 'yes'
|
require_otr = get_option('with-otr') == 'yes'
|
||||||
want_otr = get_option('with-otr') != 'no'
|
want_otr = get_option('with-otr') != 'no'
|
||||||
|
|
||||||
want_glib_internal = get_option('install-glib') != 'no'
|
want_glib_internal = get_option('install-glib') != 'no'
|
||||||
require_glib_internal = get_option('install-glib') == 'force'
|
require_glib_internal = get_option('install-glib') == 'force'
|
||||||
|
|
||||||
want_static_dependency = get_option('static-dependency') == 'yes'
|
want_static_dependency = get_option('static-dependency') == 'yes'
|
||||||
|
|
||||||
package_version = get_option('PACKAGE_VERSION') != '' ? get_option('PACKAGE_VERSION') : meson.project_version()
|
package_version = get_option('PACKAGE_VERSION') != '' ? get_option('PACKAGE_VERSION') : meson.project_version()
|
||||||
|
|
||||||
fs = import('fs')
|
fs = import('fs')
|
||||||
if fs.exists('config.status') or fs.exists('irssi-version.h') or fs.exists('default-config.h') or fs.exists('default-theme.h') or fs.exists('src/perl/irssi-core.pl.h') or fs.exists('src/perl/perl-signals-list.h') or fs.exists('irssi-config.h')
|
if fs.exists('config.status') or fs.exists('irssi-version.h') or fs.exists('default-config.h') or fs.exists('default-theme.h') or fs.exists('src/perl/irssi-core.pl.h') or fs.exists('src/perl/perl-signals-list.h') or fs.exists('irssi-config.h')
|
||||||
|
|
@ -66,29 +69,47 @@ if fs.exists('config.status') or fs.exists('irssi-version.h') or fs.exists('defa
|
||||||
endif
|
endif
|
||||||
|
|
||||||
UNSET = '=INVALID='
|
UNSET = '=INVALID='
|
||||||
UNSET_ARR = [UNSET]
|
UNSET_ARR = [ UNSET ]
|
||||||
|
|
||||||
chat_modules = ['irc']
|
chat_modules = [ 'irc' ]
|
||||||
|
|
||||||
run_command('mkdir', meson.current_build_dir() / incdir, check : false)
|
run_command(
|
||||||
run_command('ln', '-s', meson.current_source_dir() / 'src', meson.current_build_dir() / incdir, check : false)
|
'mkdir',
|
||||||
run_command('ln', '-s', meson.current_build_dir() / 'irssi-config.h', meson.current_build_dir() / incdir, check : false)
|
meson.current_build_dir() / incdir,
|
||||||
run_command('ln', '-s', meson.current_build_dir() / 'irssi-version.h', meson.current_build_dir() / incdir, check : false)
|
check : false,
|
||||||
|
)
|
||||||
|
run_command(
|
||||||
|
'ln',
|
||||||
|
'-s', meson.current_source_dir() / 'src',
|
||||||
|
meson.current_build_dir() / incdir,
|
||||||
|
check : false,
|
||||||
|
)
|
||||||
|
run_command(
|
||||||
|
'ln',
|
||||||
|
'-s', meson.current_build_dir() / 'irssi-config.h',
|
||||||
|
meson.current_build_dir() / incdir,
|
||||||
|
check : false,
|
||||||
|
)
|
||||||
|
run_command(
|
||||||
|
'ln',
|
||||||
|
'-s', meson.current_build_dir() / 'irssi-version.h',
|
||||||
|
meson.current_build_dir() / incdir,
|
||||||
|
check : false,
|
||||||
|
)
|
||||||
|
|
||||||
def_moduledir = '-D' + 'MODULEDIR' + '="' + (get_option('prefix') / moduledir) + '"'
|
def_moduledir = '-D' + 'MODULEDIR' + '="' + (get_option('prefix') / moduledir) + '"'
|
||||||
def_sysconfdir = '-D' + 'SYSCONFDIR' + '="' + (get_option('prefix') / get_option('sysconfdir')) + '"'
|
def_sysconfdir = '-D' + 'SYSCONFDIR' + '="' + (get_option('prefix') / get_option('sysconfdir')) + '"'
|
||||||
def_helpdir = '-D' + 'HELPDIR' + '="' + (get_option('prefix') / helpdir) + '"'
|
def_helpdir = '-D' + 'HELPDIR' + '="' + (get_option('prefix') / helpdir) + '"'
|
||||||
def_themesdir = '-D' + 'THEMESDIR' + '="' + (get_option('prefix') / themedir) + '"'
|
def_themesdir = '-D' + 'THEMESDIR' + '="' + (get_option('prefix') / themedir) + '"'
|
||||||
def_scriptdir = '-D' + 'SCRIPTDIR' + '="' + (get_option('prefix') / scriptdir) + '"'
|
def_scriptdir = '-D' + 'SCRIPTDIR' + '="' + (get_option('prefix') / scriptdir) + '"'
|
||||||
|
|
||||||
def_suppress_printf_fallback = '-D' + 'SUPPRESS_PRINTF_FALLBACK'
|
def_suppress_printf_fallback = '-D' + 'SUPPRESS_PRINTF_FALLBACK'
|
||||||
|
|
||||||
|
module_suffix = [ ]
|
||||||
module_suffix = []
|
perl_module_suffix = [ ]
|
||||||
perl_module_suffix = []
|
|
||||||
# Meson uses the wrong module extensions on Mac.
|
# Meson uses the wrong module extensions on Mac.
|
||||||
# https://gitlab.gnome.org/GNOME/glib/issues/520
|
# https://gitlab.gnome.org/GNOME/glib/issues/520
|
||||||
if ['darwin', 'ios'].contains(host_machine.system())
|
if [ 'darwin', 'ios' ].contains(host_machine.system())
|
||||||
module_suffix = 'so'
|
module_suffix = 'so'
|
||||||
perl_module_suffix = 'bundle'
|
perl_module_suffix = 'bundle'
|
||||||
endif
|
endif
|
||||||
|
|
@ -97,13 +118,20 @@ endif
|
||||||
# Help files #
|
# Help files #
|
||||||
##############
|
##############
|
||||||
|
|
||||||
build_perl = find_program('perl', native : true)
|
build_perl = find_program(
|
||||||
|
'perl',
|
||||||
|
native : true,
|
||||||
|
)
|
||||||
if meson.is_cross_build()
|
if meson.is_cross_build()
|
||||||
cross_perl = find_program('perl')
|
cross_perl = find_program('perl')
|
||||||
else
|
else
|
||||||
cross_perl = build_perl
|
cross_perl = build_perl
|
||||||
endif
|
endif
|
||||||
run_command(build_perl, files('utils/syntax.pl'), check : true)
|
run_command(
|
||||||
|
build_perl,
|
||||||
|
files('utils/syntax.pl'),
|
||||||
|
check : true,
|
||||||
|
)
|
||||||
|
|
||||||
###################
|
###################
|
||||||
# irssi-version.h #
|
# irssi-version.h #
|
||||||
|
|
@ -111,12 +139,12 @@ run_command(build_perl, files('utils/syntax.pl'), check : true)
|
||||||
|
|
||||||
env = find_program('env')
|
env = find_program('env')
|
||||||
irssi_version_sh = find_program('utils/irssi-version.sh')
|
irssi_version_sh = find_program('utils/irssi-version.sh')
|
||||||
irssi_version_h = custom_target('irssi-version.h',
|
irssi_version_h = custom_target(
|
||||||
|
'irssi-version.h',
|
||||||
build_by_default : true,
|
build_by_default : true,
|
||||||
build_always_stale : true,
|
build_always_stale : true,
|
||||||
capture : true,
|
capture : true,
|
||||||
command : [env, 'VERSION=' + meson.project_version(),
|
command : [ env, 'VERSION=' + meson.project_version(), irssi_version_sh, meson.current_source_dir() ],
|
||||||
irssi_version_sh, meson.current_source_dir()],
|
|
||||||
output : 'irssi-version.h',
|
output : 'irssi-version.h',
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : includedir / incdir,
|
install_dir : includedir / incdir,
|
||||||
|
|
@ -127,22 +155,24 @@ irssi_version_h = custom_target('irssi-version.h',
|
||||||
####################
|
####################
|
||||||
|
|
||||||
file2header = find_program('utils/file2header.sh')
|
file2header = find_program('utils/file2header.sh')
|
||||||
default_config_h = custom_target('default-config.h',
|
default_config_h = custom_target(
|
||||||
|
'default-config.h',
|
||||||
input : files('irssi.conf'),
|
input : files('irssi.conf'),
|
||||||
output : 'default-config.h',
|
output : 'default-config.h',
|
||||||
capture : true,
|
capture : true,
|
||||||
command : [file2header, '@INPUT@', 'default_config'],
|
command : [ file2header, '@INPUT@', 'default_config' ],
|
||||||
)
|
)
|
||||||
|
|
||||||
###################
|
###################
|
||||||
# default-theme.h #
|
# default-theme.h #
|
||||||
###################
|
###################
|
||||||
|
|
||||||
default_theme_h = custom_target('default-theme.h',
|
default_theme_h = custom_target(
|
||||||
|
'default-theme.h',
|
||||||
input : files('themes/default.theme'),
|
input : files('themes/default.theme'),
|
||||||
output : 'default-theme.h',
|
output : 'default-theme.h',
|
||||||
capture : true,
|
capture : true,
|
||||||
command : [file2header, '@INPUT@', 'default_theme'],
|
command : [ file2header, '@INPUT@', 'default_theme' ],
|
||||||
)
|
)
|
||||||
|
|
||||||
################
|
################
|
||||||
|
|
@ -151,12 +181,18 @@ default_theme_h = custom_target('default-theme.h',
|
||||||
|
|
||||||
#### inet_addr ####
|
#### inet_addr ####
|
||||||
inet_addr_found = false
|
inet_addr_found = false
|
||||||
foreach inet_addr_provider : ['', 'nsl']
|
foreach inet_addr_provider : [ '', 'nsl' ]
|
||||||
prov_lib = []
|
prov_lib = [ ]
|
||||||
if inet_addr_provider != ''
|
if inet_addr_provider != ''
|
||||||
prov_lib += cc.find_library(inet_addr_provider, required : false)
|
prov_lib += cc.find_library(
|
||||||
|
inet_addr_provider,
|
||||||
|
required : false,
|
||||||
|
)
|
||||||
endif
|
endif
|
||||||
if (prov_lib.length() == 0 or prov_lib[0].found()) and cc.has_function('inet_addr', dependencies : prov_lib)
|
if (prov_lib.length() == 0 or prov_lib[0].found()) and cc.has_function(
|
||||||
|
'inet_addr',
|
||||||
|
dependencies : prov_lib,
|
||||||
|
)
|
||||||
dep += prov_lib
|
dep += prov_lib
|
||||||
inet_addr_found = true
|
inet_addr_found = true
|
||||||
break
|
break
|
||||||
|
|
@ -168,12 +204,18 @@ endif
|
||||||
|
|
||||||
#### socket ####
|
#### socket ####
|
||||||
socket_found = false
|
socket_found = false
|
||||||
foreach socket_provider : ['', 'socket', 'network']
|
foreach socket_provider : [ '', 'socket', 'network' ]
|
||||||
prov_lib = []
|
prov_lib = [ ]
|
||||||
if socket_provider != ''
|
if socket_provider != ''
|
||||||
prov_lib += cc.find_library(socket_provider, required : false)
|
prov_lib += cc.find_library(
|
||||||
|
socket_provider,
|
||||||
|
required : false,
|
||||||
|
)
|
||||||
endif
|
endif
|
||||||
if (prov_lib.length() == 0 or prov_lib[0].found()) and cc.has_function('socket', dependencies : prov_lib)
|
if (prov_lib.length() == 0 or prov_lib[0].found()) and cc.has_function(
|
||||||
|
'socket',
|
||||||
|
dependencies : prov_lib,
|
||||||
|
)
|
||||||
dep += prov_lib
|
dep += prov_lib
|
||||||
socket_found = true
|
socket_found = true
|
||||||
break
|
break
|
||||||
|
|
@ -183,7 +225,7 @@ if not socket_found
|
||||||
error('socket not found')
|
error('socket not found')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
built_src = []
|
built_src = [ ]
|
||||||
glib_internal = false
|
glib_internal = false
|
||||||
message('*** If you don\'t have GLib, you can run meson ... -Dinstall-glib=yes')
|
message('*** If you don\'t have GLib, you can run meson ... -Dinstall-glib=yes')
|
||||||
message('*** to download and build it automatically')
|
message('*** to download and build it automatically')
|
||||||
|
|
@ -191,54 +233,82 @@ message('*** Or alternatively install your distribution\'s package')
|
||||||
message('*** On Debian: sudo apt-get install libglib2.0-dev')
|
message('*** On Debian: sudo apt-get install libglib2.0-dev')
|
||||||
message('*** On Redhat: dnf install glib2-devel')
|
message('*** On Redhat: dnf install glib2-devel')
|
||||||
if not require_glib_internal
|
if not require_glib_internal
|
||||||
glib_dep = dependency('glib-2.0', version : '>=2.32', required : not want_glib_internal, static : want_static_dependency, include_type : 'system')
|
glib_dep = dependency(
|
||||||
|
'glib-2.0',
|
||||||
|
version : '>=2.32',
|
||||||
|
required : not want_glib_internal,
|
||||||
|
static : want_static_dependency,
|
||||||
|
include_type : 'system',
|
||||||
|
)
|
||||||
else
|
else
|
||||||
glib_dep = dependency('', required : false)
|
glib_dep = dependency(
|
||||||
|
'',
|
||||||
|
required : false,
|
||||||
|
)
|
||||||
endif
|
endif
|
||||||
if not glib_dep.found()
|
if not glib_dep.found()
|
||||||
glib_internal = true
|
glib_internal = true
|
||||||
meson_cmd = find_program('meson')
|
meson_cmd = find_program('meson')
|
||||||
ninja = find_program('ninja')
|
ninja = find_program('ninja')
|
||||||
|
|
||||||
glib_internal_download_t = custom_target('glib-internal-download',
|
glib_internal_download_t = custom_target(
|
||||||
|
'glib-internal-download',
|
||||||
command : [ meson_cmd, 'subprojects', 'download', 'glib', '--sourcedir', meson.current_source_dir() ],
|
command : [ meson_cmd, 'subprojects', 'download', 'glib', '--sourcedir', meson.current_source_dir() ],
|
||||||
console : true,
|
console : true,
|
||||||
output : ['glib-internal-download'],
|
output : [ 'glib-internal-download' ],
|
||||||
)
|
)
|
||||||
|
|
||||||
glib_internal_dependencies = [
|
glib_internal_dependencies = [
|
||||||
dependency('threads'),
|
dependency('threads'),
|
||||||
]
|
]
|
||||||
glib_internal_configure_args = []
|
glib_internal_configure_args = [ ]
|
||||||
|
|
||||||
glib_internal_usr_local = false
|
glib_internal_usr_local = false
|
||||||
if not cc.has_function('iconv_open')
|
if not cc.has_function('iconv_open')
|
||||||
prov_lib = cc.find_library('iconv', required : false)
|
prov_lib = cc.find_library(
|
||||||
|
'iconv',
|
||||||
|
required : false,
|
||||||
|
)
|
||||||
if not prov_lib.found()
|
if not prov_lib.found()
|
||||||
prov_lib = cc.find_library('iconv', dirs : '/usr/local/lib')
|
prov_lib = cc.find_library(
|
||||||
|
'iconv',
|
||||||
|
dirs : '/usr/local/lib',
|
||||||
|
)
|
||||||
glib_internal_usr_local = true
|
glib_internal_usr_local = true
|
||||||
endif
|
endif
|
||||||
glib_internal_dependencies += prov_lib
|
glib_internal_dependencies += prov_lib
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if not cc.has_function('ngettext')
|
if not cc.has_function('ngettext')
|
||||||
prov_lib = cc.find_library('intl', required : false)
|
prov_lib = cc.find_library(
|
||||||
|
'intl',
|
||||||
|
required : false,
|
||||||
|
)
|
||||||
if not prov_lib.found()
|
if not prov_lib.found()
|
||||||
prov_lib = cc.find_library('intl', dirs : '/usr/local/lib')
|
prov_lib = cc.find_library(
|
||||||
|
'intl',
|
||||||
|
dirs : '/usr/local/lib',
|
||||||
|
)
|
||||||
glib_internal_usr_local = true
|
glib_internal_usr_local = true
|
||||||
endif
|
endif
|
||||||
glib_internal_dependencies += prov_lib
|
glib_internal_dependencies += prov_lib
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if glib_internal_usr_local
|
if glib_internal_usr_local
|
||||||
glib_internal_configure_args += ['-Dc_args=-I/usr/local/include', '-Dc_link_args=-L/usr/local/lib']
|
glib_internal_configure_args += [ '-Dc_args=-I/usr/local/include', '-Dc_link_args=-L/usr/local/lib' ]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if not cc.has_function('getxattr') or not cc.has_header('sys/xattr.h')
|
if not cc.has_function('getxattr') or not cc.has_header('sys/xattr.h')
|
||||||
if cc.has_header_symbol('attr/xattr.h', 'getxattr')
|
if cc.has_header_symbol('attr/xattr.h', 'getxattr')
|
||||||
prov_lib = cc.find_library('xattr', required : false)
|
prov_lib = cc.find_library(
|
||||||
|
'xattr',
|
||||||
|
required : false,
|
||||||
|
)
|
||||||
else
|
else
|
||||||
prov_lib = dependency('', required : false)
|
prov_lib = dependency(
|
||||||
|
'',
|
||||||
|
required : false,
|
||||||
|
)
|
||||||
endif
|
endif
|
||||||
if prov_lib.found()
|
if prov_lib.found()
|
||||||
glib_internal_dependencies += prov_lib
|
glib_internal_dependencies += prov_lib
|
||||||
|
|
@ -247,28 +317,41 @@ if not glib_dep.found()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
glib_internal_configure_t = custom_target('glib-internal-configure',
|
glib_internal_configure_t = custom_target(
|
||||||
command : [ meson_cmd, 'setup', '--prefix=/irssi-glib-internal',
|
'glib-internal-configure',
|
||||||
|
command : [
|
||||||
|
meson_cmd,
|
||||||
|
'setup',
|
||||||
|
'--prefix=/irssi-glib-internal',
|
||||||
'--buildtype=' + get_option('buildtype'),
|
'--buildtype=' + get_option('buildtype'),
|
||||||
'-Dlibmount=disabled', '-Dselinux=disabled', '-Ddefault_library=static', '-Dforce_fallback_for=pcre2,libffi',
|
'-Dlibmount=disabled',
|
||||||
|
'-Dselinux=disabled',
|
||||||
|
'-Ddefault_library=static',
|
||||||
|
'-Dforce_fallback_for=pcre2,libffi',
|
||||||
glib_internal_configure_args,
|
glib_internal_configure_args,
|
||||||
(meson.current_build_dir() / 'build-subprojects' / 'glib'),
|
(meson.current_build_dir() / 'build-subprojects' / 'glib'),
|
||||||
(meson.current_source_dir() / 'subprojects' / glib_internal_version) ],
|
(meson.current_source_dir() / 'subprojects' / glib_internal_version),
|
||||||
|
],
|
||||||
console : true,
|
console : true,
|
||||||
output : ['glib-internal-configure'],
|
output : [ 'glib-internal-configure' ],
|
||||||
depends : glib_internal_download_t,)
|
depends : glib_internal_download_t,
|
||||||
glib_internal_build_t = custom_target('glib-internal-build',
|
)
|
||||||
command : [ ninja, '-C', meson.current_build_dir() / 'build-subprojects' / 'glib',
|
glib_internal_build_t = custom_target(
|
||||||
|
'glib-internal-build',
|
||||||
|
command : [
|
||||||
|
ninja,
|
||||||
|
'-C', meson.current_build_dir() / 'build-subprojects' / 'glib',
|
||||||
'subprojects' / glib_libffi_internal_version / 'src' / 'libffi.a',
|
'subprojects' / glib_libffi_internal_version / 'src' / 'libffi.a',
|
||||||
'subprojects' / glib_pcre2_internal_version / 'libpcre2-8.a',
|
'subprojects' / glib_pcre2_internal_version / 'libpcre2-8.a',
|
||||||
'glib' / 'libglib-2.0.a',
|
'glib' / 'libglib-2.0.a',
|
||||||
'gmodule' / 'libgmodule-2.0.a',
|
'gmodule' / 'libgmodule-2.0.a',
|
||||||
'gobject' / 'libgobject-2.0.a',
|
'gobject' / 'libgobject-2.0.a',
|
||||||
'gio' / 'libgio-2.0.a',
|
'gio' / 'libgio-2.0.a',
|
||||||
],
|
],
|
||||||
console : true,
|
console : true,
|
||||||
output : ['glib-internal-build'],
|
output : [ 'glib-internal-build' ],
|
||||||
depends : glib_internal_configure_t,)
|
depends : glib_internal_configure_t,
|
||||||
|
)
|
||||||
glib_dep = declare_dependency(
|
glib_dep = declare_dependency(
|
||||||
dependencies : glib_internal_dependencies,
|
dependencies : glib_internal_dependencies,
|
||||||
sources : glib_internal_build_t,
|
sources : glib_internal_build_t,
|
||||||
|
|
@ -283,28 +366,37 @@ if not glib_dep.found()
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
built_src += glib_internal_build_t
|
built_src += glib_internal_build_t
|
||||||
libdl_dep = []
|
libdl_dep = [ ]
|
||||||
prov_lib = cc.find_library('dl', required : false)
|
prov_lib = cc.find_library(
|
||||||
if prov_lib.found() and cc.has_function('dlopen', dependencies : prov_lib)
|
'dl',
|
||||||
|
required : false,
|
||||||
|
)
|
||||||
|
if prov_lib.found() and cc.has_function(
|
||||||
|
'dlopen',
|
||||||
|
dependencies : prov_lib,
|
||||||
|
)
|
||||||
libdl_dep += prov_lib
|
libdl_dep += prov_lib
|
||||||
endif
|
endif
|
||||||
gmodule_dep = declare_dependency(sources : glib_internal_build_t,
|
gmodule_dep = declare_dependency(
|
||||||
|
sources : glib_internal_build_t,
|
||||||
dependencies : libdl_dep,
|
dependencies : libdl_dep,
|
||||||
compile_args : [
|
compile_args : [
|
||||||
'-isystem' + (meson.current_source_dir() / 'subprojects' / glib_internal_version / 'gmodule'),
|
'-isystem' + (meson.current_source_dir() / 'subprojects' / glib_internal_version / 'gmodule'),
|
||||||
],
|
],
|
||||||
link_args : [ meson.current_build_dir() / 'build-subprojects' / 'glib' / 'gmodule' / 'libgmodule-2.0.a' ],
|
link_args : [ meson.current_build_dir() / 'build-subprojects' / 'glib' / 'gmodule' / 'libgmodule-2.0.a' ],
|
||||||
)
|
)
|
||||||
gobject_dep = declare_dependency(sources : glib_internal_build_t,
|
gobject_dep = declare_dependency(
|
||||||
|
sources : glib_internal_build_t,
|
||||||
compile_args : [
|
compile_args : [
|
||||||
'-isystem' + (meson.current_build_dir() / 'build-subprojects' / 'glib'),
|
'-isystem' + (meson.current_build_dir() / 'build-subprojects' / 'glib'),
|
||||||
],
|
],
|
||||||
link_args : [
|
link_args : [
|
||||||
meson.current_build_dir() / 'build-subprojects' / 'glib' / 'subprojects' / glib_libffi_internal_version / 'src' / 'libffi.a',
|
meson.current_build_dir() / 'build-subprojects' / 'glib' / 'subprojects' / glib_libffi_internal_version / 'src' / 'libffi.a',
|
||||||
meson.current_build_dir() / 'build-subprojects' / 'glib' / 'gobject' / 'libgobject-2.0.a'
|
meson.current_build_dir() / 'build-subprojects' / 'glib' / 'gobject' / 'libgobject-2.0.a',
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
gio_dep = declare_dependency(sources : glib_internal_build_t,
|
gio_dep = declare_dependency(
|
||||||
|
sources : glib_internal_build_t,
|
||||||
dependencies : cc.find_library('z'),
|
dependencies : cc.find_library('z'),
|
||||||
compile_args : [
|
compile_args : [
|
||||||
'-isystem' + (meson.current_source_dir() / 'subprojects' / glib_internal_version / 'gio'),
|
'-isystem' + (meson.current_source_dir() / 'subprojects' / glib_internal_version / 'gio'),
|
||||||
|
|
@ -313,9 +405,21 @@ if not glib_dep.found()
|
||||||
link_args : [ meson.current_build_dir() / 'build-subprojects' / 'glib' / 'gio' / 'libgio-2.0.a' ],
|
link_args : [ meson.current_build_dir() / 'build-subprojects' / 'glib' / 'gio' / 'libgio-2.0.a' ],
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
gmodule_dep = dependency('gmodule-2.0', static : want_static_dependency, include_type : 'system')
|
gmodule_dep = dependency(
|
||||||
gobject_dep = dependency('gobject-2.0', static : want_static_dependency, include_type : 'system')
|
'gmodule-2.0',
|
||||||
gio_dep = dependency('gio-2.0', static : want_static_dependency, include_type : 'system')
|
static : want_static_dependency,
|
||||||
|
include_type : 'system',
|
||||||
|
)
|
||||||
|
gobject_dep = dependency(
|
||||||
|
'gobject-2.0',
|
||||||
|
static : want_static_dependency,
|
||||||
|
include_type : 'system',
|
||||||
|
)
|
||||||
|
gio_dep = dependency(
|
||||||
|
'gio-2.0',
|
||||||
|
static : want_static_dependency,
|
||||||
|
include_type : 'system',
|
||||||
|
)
|
||||||
endif
|
endif
|
||||||
dep += glib_dep
|
dep += glib_dep
|
||||||
dep += gmodule_dep
|
dep += gmodule_dep
|
||||||
|
|
@ -323,10 +427,17 @@ dep += gobject_dep
|
||||||
dep += gio_dep
|
dep += gio_dep
|
||||||
|
|
||||||
if glib_internal and want_static_dependency and want_fuzzer
|
if glib_internal and want_static_dependency and want_fuzzer
|
||||||
openssl_proj = subproject('openssl', default_options : ['default_library=static', 'asm=disabled'])
|
openssl_proj = subproject(
|
||||||
|
'openssl',
|
||||||
|
default_options : [ 'default_library=static', 'asm=disabled' ],
|
||||||
|
)
|
||||||
openssl_dep = openssl_proj.get_variable('openssl_dep')
|
openssl_dep = openssl_proj.get_variable('openssl_dep')
|
||||||
else
|
else
|
||||||
openssl_dep = dependency('openssl', static : want_static_dependency, include_type : 'system')
|
openssl_dep = dependency(
|
||||||
|
'openssl',
|
||||||
|
static : want_static_dependency,
|
||||||
|
include_type : 'system',
|
||||||
|
)
|
||||||
endif
|
endif
|
||||||
dep += openssl_dep
|
dep += openssl_dep
|
||||||
|
|
||||||
|
|
@ -335,10 +446,16 @@ dep += openssl_dep
|
||||||
############
|
############
|
||||||
|
|
||||||
have_libutf8proc = false
|
have_libutf8proc = false
|
||||||
libutf8proc = []
|
libutf8proc = [ ]
|
||||||
if want_libutf8proc
|
if want_libutf8proc
|
||||||
libutf8proc = cc.find_library('utf8proc', required : require_libutf8proc)
|
libutf8proc = cc.find_library(
|
||||||
have_libutf8proc = cc.has_function('utf8proc_version', dependencies : libutf8proc)
|
'utf8proc',
|
||||||
|
required : require_libutf8proc,
|
||||||
|
)
|
||||||
|
have_libutf8proc = cc.has_function(
|
||||||
|
'utf8proc_version',
|
||||||
|
dependencies : libutf8proc,
|
||||||
|
)
|
||||||
if have_libutf8proc
|
if have_libutf8proc
|
||||||
dep += libutf8proc
|
dep += libutf8proc
|
||||||
endif
|
endif
|
||||||
|
|
@ -353,9 +470,15 @@ endif
|
||||||
|
|
||||||
if want_textui
|
if want_textui
|
||||||
setupterm_found = false
|
setupterm_found = false
|
||||||
foreach setupterm_provider : ['tinfo', 'ncursesw', 'ncurses', 'terminfo']
|
foreach setupterm_provider : [ 'tinfo', 'ncursesw', 'ncurses', 'terminfo' ]
|
||||||
prov_lib = cc.find_library(setupterm_provider, required : false)
|
prov_lib = cc.find_library(
|
||||||
if prov_lib.found() and cc.has_function('setupterm', dependencies : prov_lib)
|
setupterm_provider,
|
||||||
|
required : false,
|
||||||
|
)
|
||||||
|
if prov_lib.found() and cc.has_function(
|
||||||
|
'setupterm',
|
||||||
|
dependencies : prov_lib,
|
||||||
|
)
|
||||||
textui_dep += prov_lib
|
textui_dep += prov_lib
|
||||||
setupterm_found = true
|
setupterm_found = true
|
||||||
break
|
break
|
||||||
|
|
@ -372,15 +495,20 @@ endif
|
||||||
|
|
||||||
have_perl = false
|
have_perl = false
|
||||||
if want_perl
|
if want_perl
|
||||||
perl_cflags = []
|
perl_cflags = [ ]
|
||||||
perl_ldflags = []
|
perl_ldflags = [ ]
|
||||||
perl_rpath_flags = []
|
perl_rpath_flags = [ ]
|
||||||
perl_rpath = ''
|
perl_rpath = ''
|
||||||
|
|
||||||
#### ccopts ####
|
#### ccopts ####
|
||||||
perl_ccopts = meson.get_cross_property('perl_ccopts', UNSET_ARR)
|
perl_ccopts = meson.get_cross_property('perl_ccopts', UNSET_ARR)
|
||||||
if perl_ccopts == UNSET_ARR
|
if perl_ccopts == UNSET_ARR
|
||||||
res = run_command(cross_perl, '-MExtUtils::Embed', '-e', 'ccopts', check : true)
|
res = run_command(
|
||||||
|
cross_perl,
|
||||||
|
'-MExtUtils::Embed',
|
||||||
|
'-e', 'ccopts',
|
||||||
|
check : true,
|
||||||
|
)
|
||||||
perl_ccopts = res.stdout().strip().split()
|
perl_ccopts = res.stdout().strip().split()
|
||||||
endif
|
endif
|
||||||
foreach fl : perl_ccopts
|
foreach fl : perl_ccopts
|
||||||
|
|
@ -397,10 +525,15 @@ if want_perl
|
||||||
#### ldopts ####
|
#### ldopts ####
|
||||||
perl_ldopts = meson.get_cross_property('perl_ldopts', UNSET_ARR)
|
perl_ldopts = meson.get_cross_property('perl_ldopts', UNSET_ARR)
|
||||||
if perl_ldopts == UNSET_ARR
|
if perl_ldopts == UNSET_ARR
|
||||||
res = run_command(cross_perl, '-MExtUtils::Embed', '-e', 'ldopts', check : true)
|
res = run_command(
|
||||||
|
cross_perl,
|
||||||
|
'-MExtUtils::Embed',
|
||||||
|
'-e', 'ldopts',
|
||||||
|
check : true,
|
||||||
|
)
|
||||||
perl_ldopts = res.stdout().strip().split()
|
perl_ldopts = res.stdout().strip().split()
|
||||||
endif
|
endif
|
||||||
skip_libs = ['-ldb', '-ldbm', '-lndbm', '-lgdbm', '-lc', '-lposix', '-rdynamic']
|
skip_libs = [ '-ldb', '-ldbm', '-lndbm', '-lgdbm', '-lc', '-lposix', '-rdynamic' ]
|
||||||
foreach fl : perl_ldopts
|
foreach fl : perl_ldopts
|
||||||
if not fl.startswith('-A') and not skip_libs.contains(fl)
|
if not fl.startswith('-A') and not skip_libs.contains(fl)
|
||||||
if fl.startswith('-Wl,-rpath,')
|
if fl.startswith('-Wl,-rpath,')
|
||||||
|
|
@ -414,18 +547,26 @@ if want_perl
|
||||||
|
|
||||||
perl_version = meson.get_cross_property('perl_version', UNSET)
|
perl_version = meson.get_cross_property('perl_version', UNSET)
|
||||||
if perl_version == UNSET
|
if perl_version == UNSET
|
||||||
perl_version = run_command(cross_perl, '-V::version:', check : true).stdout().split('\'')[1]
|
perl_version = run_command(
|
||||||
|
cross_perl,
|
||||||
|
'-V::version:',
|
||||||
|
check : true,
|
||||||
|
).stdout().split('\'')[1]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# disable clang warning
|
# disable clang warning
|
||||||
if perl_version.version_compare('<5.35.2')
|
if perl_version.version_compare('<5.35.2')
|
||||||
perl_cflags += cc.get_supported_arguments('-Wno-compound-token-split-by-macro')
|
perl_cflags += cc.get_supported_arguments('-Wno-compound-token-split-by-macro')
|
||||||
endif
|
endif
|
||||||
perl_dep = declare_dependency(compile_args : perl_cflags, link_args : perl_ldflags,
|
perl_dep = declare_dependency(
|
||||||
version : perl_version)
|
compile_args : perl_cflags,
|
||||||
|
link_args : perl_ldflags,
|
||||||
|
version : perl_version,
|
||||||
|
)
|
||||||
|
|
||||||
####
|
####
|
||||||
if not cc.links('''
|
if not cc.links(
|
||||||
|
'''
|
||||||
#include <EXTERN.h>
|
#include <EXTERN.h>
|
||||||
#include <perl.h>
|
#include <perl.h>
|
||||||
int main()
|
int main()
|
||||||
|
|
@ -433,8 +574,10 @@ int main()
|
||||||
perl_alloc();
|
perl_alloc();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
''', args : perl_cflags + perl_ldflags + perl_rpath_flags,
|
''',
|
||||||
name : 'working Perl support')
|
args : perl_cflags + perl_ldflags + perl_rpath_flags,
|
||||||
|
name : 'working Perl support',
|
||||||
|
)
|
||||||
if require_perl
|
if require_perl
|
||||||
error('error linking with perl libraries')
|
error('error linking with perl libraries')
|
||||||
else
|
else
|
||||||
|
|
@ -443,9 +586,15 @@ int main()
|
||||||
else
|
else
|
||||||
xsubpp_file_c = meson.get_cross_property('perl_xsubpp', UNSET)
|
xsubpp_file_c = meson.get_cross_property('perl_xsubpp', UNSET)
|
||||||
if xsubpp_file_c == UNSET
|
if xsubpp_file_c == UNSET
|
||||||
xsubpp_file_c = run_command(build_perl, '-MExtUtils::ParseXS', '-e($r = $INC{"ExtUtils/ParseXS.pm"}) =~ s{ParseXS\\.pm$}{xsubpp}; print $r', check : true).stdout()
|
xsubpp_file_c = run_command(
|
||||||
|
build_perl,
|
||||||
|
'-MExtUtils::ParseXS',
|
||||||
|
'-e($r = $INC{"ExtUtils/ParseXS.pm"}) =~ s{ParseXS\\.pm$}{xsubpp}; print $r',
|
||||||
|
check : true,
|
||||||
|
).stdout()
|
||||||
endif
|
endif
|
||||||
xsubpp = generator(build_perl,
|
xsubpp = generator(
|
||||||
|
build_perl,
|
||||||
output : '@BASENAME@.c',
|
output : '@BASENAME@.c',
|
||||||
capture : true,
|
capture : true,
|
||||||
arguments : [ xsubpp_file_c, '@EXTRA_ARGS@', '@INPUT@' ],
|
arguments : [ xsubpp_file_c, '@EXTRA_ARGS@', '@INPUT@' ],
|
||||||
|
|
@ -453,31 +602,44 @@ int main()
|
||||||
xsubpp_file = files(xsubpp_file_c)
|
xsubpp_file = files(xsubpp_file_c)
|
||||||
|
|
||||||
if with_perl_lib == 'module'
|
if with_perl_lib == 'module'
|
||||||
perl_install_base = run_command(build_perl, '-MText::ParseWords=shellwords', '-e', 'grep { s/^INSTALL_BASE=// && print && exit } shellwords $ENV{PERL_MM_OPT}', check : true).stdout()
|
perl_install_base = run_command(
|
||||||
|
build_perl,
|
||||||
|
'-MText::ParseWords=shellwords',
|
||||||
|
'-e', 'grep { s/^INSTALL_BASE=// && print && exit } shellwords $ENV{PERL_MM_OPT}',
|
||||||
|
check : true,
|
||||||
|
).stdout()
|
||||||
if perl_install_base == ''
|
if perl_install_base == ''
|
||||||
with_perl_lib = ''
|
with_perl_lib = ''
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
if with_perl_lib == ''
|
if with_perl_lib == ''
|
||||||
if get_option('prefix') in ['/usr/local', 'C:/']
|
if get_option('prefix') in [ '/usr/local', 'C:/' ]
|
||||||
with_perl_lib = 'site'
|
with_perl_lib = 'site'
|
||||||
elif get_option('prefix') in ['/usr']
|
elif get_option('prefix') in [ '/usr' ]
|
||||||
with_perl_lib = 'vendor'
|
with_perl_lib = 'vendor'
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
perlmoddir = ''
|
perlmoddir = ''
|
||||||
if with_perl_lib in ['site', 'vendor', 'module']
|
if with_perl_lib in [ 'site', 'vendor', 'module' ]
|
||||||
set_perl_use_lib = false
|
set_perl_use_lib = false
|
||||||
perl_library_dir = with_perl_lib + ' default'
|
perl_library_dir = with_perl_lib + ' default'
|
||||||
if with_perl_lib in ['site', 'vendor']
|
if with_perl_lib in [ 'site', 'vendor' ]
|
||||||
perlmoddir = meson.get_cross_property('perl_install' + with_perl_lib + 'arch', UNSET)
|
perlmoddir = meson.get_cross_property('perl_install' + with_perl_lib + 'arch', UNSET)
|
||||||
if perlmoddir == UNSET
|
if perlmoddir == UNSET
|
||||||
perlmoddir = run_command(cross_perl, '-V::install' + with_perl_lib + 'arch:', check : true).stdout().split('\'')[1]
|
perlmoddir = run_command(
|
||||||
|
cross_perl,
|
||||||
|
'-V::install' + with_perl_lib + 'arch:',
|
||||||
|
check : true,
|
||||||
|
).stdout().split('\'')[1]
|
||||||
endif
|
endif
|
||||||
elif with_perl_lib == 'module'
|
elif with_perl_lib == 'module'
|
||||||
perl_archname = meson.get_cross_property('perl_archname', UNSET)
|
perl_archname = meson.get_cross_property('perl_archname', UNSET)
|
||||||
if perl_archname == UNSET
|
if perl_archname == UNSET
|
||||||
perl_archname = run_command(cross_perl, '-V::archname:', check : true).stdout().split('\'')[1]
|
perl_archname = run_command(
|
||||||
|
cross_perl,
|
||||||
|
'-V::archname:',
|
||||||
|
check : true,
|
||||||
|
).stdout().split('\'')[1]
|
||||||
endif
|
endif
|
||||||
perlmoddir = perl_install_base / 'lib' / 'perl5' / perl_archname
|
perlmoddir = perl_install_base / 'lib' / 'perl5' / perl_archname
|
||||||
endif
|
endif
|
||||||
|
|
@ -498,7 +660,12 @@ int main()
|
||||||
if set_perl_use_lib
|
if set_perl_use_lib
|
||||||
perl_inc = meson.get_cross_property('perl_inc', UNSET_ARR)
|
perl_inc = meson.get_cross_property('perl_inc', UNSET_ARR)
|
||||||
if perl_inc == UNSET_ARR
|
if perl_inc == UNSET_ARR
|
||||||
set_perl_use_lib = run_command(cross_perl, '-e', 'exit ! grep $_ eq $ARGV[0], grep /^\\//, @INC', perl_use_lib, check : false).returncode() != 0
|
set_perl_use_lib = run_command(
|
||||||
|
cross_perl,
|
||||||
|
'-e', 'exit ! grep $_ eq $ARGV[0], grep /^\\//, @INC',
|
||||||
|
perl_use_lib,
|
||||||
|
check : false,
|
||||||
|
).returncode() != 0
|
||||||
else
|
else
|
||||||
set_perl_use_lib = not perl_inc.contains(perl_use_lib)
|
set_perl_use_lib = not perl_inc.contains(perl_use_lib)
|
||||||
endif
|
endif
|
||||||
|
|
@ -524,8 +691,20 @@ endif
|
||||||
|
|
||||||
have_otr = false
|
have_otr = false
|
||||||
if want_otr
|
if want_otr
|
||||||
libgcrypt = dependency('libgcrypt', version : '>=1.2.0', required : require_otr, static : want_static_dependency, include_type : 'system')
|
libgcrypt = dependency(
|
||||||
libotr = dependency('libotr', version : '>=4.1.0', required : require_otr, static : want_static_dependency, include_type : 'system')
|
'libgcrypt',
|
||||||
|
version : '>=1.2.0',
|
||||||
|
required : require_otr,
|
||||||
|
static : want_static_dependency,
|
||||||
|
include_type : 'system',
|
||||||
|
)
|
||||||
|
libotr = dependency(
|
||||||
|
'libotr',
|
||||||
|
version : '>=4.1.0',
|
||||||
|
required : require_otr,
|
||||||
|
static : want_static_dependency,
|
||||||
|
include_type : 'system',
|
||||||
|
)
|
||||||
if libgcrypt.found() and libotr.found()
|
if libgcrypt.found() and libotr.found()
|
||||||
dep += libgcrypt
|
dep += libgcrypt
|
||||||
dep += libotr
|
dep += libotr
|
||||||
|
|
@ -539,9 +718,19 @@ endif
|
||||||
|
|
||||||
have_capsicum = false
|
have_capsicum = false
|
||||||
if want_capsicum
|
if want_capsicum
|
||||||
if cc.has_function('cap_enter', dependencies : cc.find_library('c'))
|
if cc.has_function(
|
||||||
libnv = cc.find_library('nv', required : require_capsicum)
|
'cap_enter',
|
||||||
nvlist_create_found = libnv.found() and cc.has_function('nvlist_create', dependencies : libnv, prefix : '#include <sys/nv.h>')
|
dependencies : cc.find_library('c'),
|
||||||
|
)
|
||||||
|
libnv = cc.find_library(
|
||||||
|
'nv',
|
||||||
|
required : require_capsicum,
|
||||||
|
)
|
||||||
|
nvlist_create_found = libnv.found() and cc.has_function(
|
||||||
|
'nvlist_create',
|
||||||
|
dependencies : libnv,
|
||||||
|
prefix : '#include <sys/nv.h>',
|
||||||
|
)
|
||||||
if nvlist_create_found
|
if nvlist_create_found
|
||||||
dep += libnv
|
dep += libnv
|
||||||
have_capsicum = true
|
have_capsicum = true
|
||||||
|
|
@ -558,11 +747,14 @@ if want_capsicum
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# dependency helper sets
|
# dependency helper sets
|
||||||
dep_cflagsonly = []
|
dep_cflagsonly = [ ]
|
||||||
foreach d : dep
|
foreach d : dep
|
||||||
dep_cflagsonly += d.partial_dependency(includes : true, compile_args : true)
|
dep_cflagsonly += d.partial_dependency(
|
||||||
|
includes : true,
|
||||||
|
compile_args : true,
|
||||||
|
)
|
||||||
endforeach
|
endforeach
|
||||||
dl_cross_dep = []
|
dl_cross_dep = [ ]
|
||||||
if need_dl_cross_link
|
if need_dl_cross_link
|
||||||
dl_cross_dep = dep
|
dl_cross_dep = dep
|
||||||
endif
|
endif
|
||||||
|
|
@ -573,11 +765,19 @@ endif
|
||||||
|
|
||||||
conf = configuration_data()
|
conf = configuration_data()
|
||||||
|
|
||||||
conf.set('HAVE_CAPSICUM', have_capsicum, description : 'Build with Capsicum support')
|
conf.set(
|
||||||
|
'HAVE_CAPSICUM',
|
||||||
|
have_capsicum,
|
||||||
|
description : 'Build with Capsicum support',
|
||||||
|
)
|
||||||
conf.set('HAVE_GMODULE', true)
|
conf.set('HAVE_GMODULE', true)
|
||||||
conf.set('TERM_TRUECOLOR', true)
|
conf.set('TERM_TRUECOLOR', true)
|
||||||
conf.set('USE_GREGEX', true)
|
conf.set('USE_GREGEX', true)
|
||||||
conf.set10('_DARWIN_USE_64_BIT_INODE', true, description : 'Enable large inode numbers on Mac OS X 10.5.')
|
conf.set10(
|
||||||
|
'_DARWIN_USE_64_BIT_INODE',
|
||||||
|
true,
|
||||||
|
description : 'Enable large inode numbers on Mac OS X 10.5.',
|
||||||
|
)
|
||||||
conf.set_quoted('FHS_PREFIX', get_option('fhs-prefix'))
|
conf.set_quoted('FHS_PREFIX', get_option('fhs-prefix'))
|
||||||
|
|
||||||
headers = [
|
headers = [
|
||||||
|
|
@ -591,31 +791,50 @@ headers = [
|
||||||
]
|
]
|
||||||
foreach h : headers
|
foreach h : headers
|
||||||
if cc.has_header(h)
|
if cc.has_header(h)
|
||||||
conf.set('HAVE_' + h.underscorify().to_upper(), 1, description : 'Define to 1 if you have the <' + h + '> header file.')
|
conf.set(
|
||||||
|
'HAVE_' + h.underscorify().to_upper(),
|
||||||
|
1,
|
||||||
|
description : 'Define to 1 if you have the <' + h + '> header file.',
|
||||||
|
)
|
||||||
endif
|
endif
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
if want_textui and conf.get('HAVE_TERM_H', 0) == 1
|
if want_textui and conf.get('HAVE_TERM_H', 0) == 1
|
||||||
if cc.links('''
|
if cc.links(
|
||||||
|
'''
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <term.h>
|
#include <term.h>
|
||||||
int main (void) {
|
int main (void) {
|
||||||
return tputs("x", 1, putchar);
|
return tputs("x", 1, putchar);
|
||||||
}
|
}
|
||||||
''', args : '-pedantic-errors', dependencies : textui_dep, name : 'Curses working')
|
''',
|
||||||
|
args : '-pedantic-errors',
|
||||||
|
dependencies : textui_dep,
|
||||||
|
name : 'Curses working',
|
||||||
|
)
|
||||||
# ok
|
# ok
|
||||||
else
|
else
|
||||||
has_curses_h = cc.has_header('curses.h')
|
has_curses_h = cc.has_header('curses.h')
|
||||||
if has_curses_h and cc.links('''
|
if has_curses_h and cc.links(
|
||||||
|
'''
|
||||||
#include <curses.h>
|
#include <curses.h>
|
||||||
#include <term.h>
|
#include <term.h>
|
||||||
int main (void) {
|
int main (void) {
|
||||||
return tputs("x", 1, putchar);
|
return tputs("x", 1, putchar);
|
||||||
}
|
}
|
||||||
''', args : '-pedantic-errors', dependencies : textui_dep, name : 'Curses working with curses.h')
|
''',
|
||||||
conf.set('NEED_CURSES_H', 1, description : 'tputs needs curses.h')
|
args : '-pedantic-errors',
|
||||||
|
dependencies : textui_dep,
|
||||||
|
name : 'Curses working with curses.h',
|
||||||
|
)
|
||||||
|
conf.set(
|
||||||
|
'NEED_CURSES_H',
|
||||||
|
1,
|
||||||
|
description : 'tputs needs curses.h',
|
||||||
|
)
|
||||||
else
|
else
|
||||||
if has_curses_h and cc.links('''
|
if has_curses_h and cc.links(
|
||||||
|
'''
|
||||||
#include <curses.h>
|
#include <curses.h>
|
||||||
#include <term.h>
|
#include <term.h>
|
||||||
int char_putchar (char c) {
|
int char_putchar (char c) {
|
||||||
|
|
@ -624,9 +843,21 @@ int char_putchar (char c) {
|
||||||
int main (void) {
|
int main (void) {
|
||||||
return tputs("x", 1, char_putchar);
|
return tputs("x", 1, char_putchar);
|
||||||
}
|
}
|
||||||
''', args : '-pedantic-errors', dependencies : textui_dep, name : 'Curses with tputs third argument arg char')
|
''',
|
||||||
conf.set('NEED_CURSES_H', 1, description : 'tputs needs curses.h')
|
args : '-pedantic-errors',
|
||||||
conf.set('TPUTS_SVR4', 1, description : 'third argument of tputs has the type int (*)(char)')
|
dependencies : textui_dep,
|
||||||
|
name : 'Curses with tputs third argument arg char',
|
||||||
|
)
|
||||||
|
conf.set(
|
||||||
|
'NEED_CURSES_H',
|
||||||
|
1,
|
||||||
|
description : 'tputs needs curses.h',
|
||||||
|
)
|
||||||
|
conf.set(
|
||||||
|
'TPUTS_SVR4',
|
||||||
|
1,
|
||||||
|
description : 'third argument of tputs has the type int (*)(char)',
|
||||||
|
)
|
||||||
else
|
else
|
||||||
error('could not link terminfo')
|
error('could not link terminfo')
|
||||||
endif
|
endif
|
||||||
|
|
@ -638,21 +869,32 @@ conf.set('HAVE_LIBUTF8PROC', have_libutf8proc)
|
||||||
conf.set_quoted('PACKAGE_VERSION', package_version)
|
conf.set_quoted('PACKAGE_VERSION', package_version)
|
||||||
conf.set_quoted('PACKAGE_TARNAME', meson.project_name())
|
conf.set_quoted('PACKAGE_TARNAME', meson.project_name())
|
||||||
|
|
||||||
configure_file(output : 'irssi-config.h',
|
configure_file(
|
||||||
|
output : 'irssi-config.h',
|
||||||
configuration : conf,
|
configuration : conf,
|
||||||
install_dir : includedir / incdir)
|
install_dir : includedir / incdir,
|
||||||
|
)
|
||||||
|
|
||||||
##########
|
##########
|
||||||
# CFLAGS #
|
# CFLAGS #
|
||||||
##########
|
##########
|
||||||
|
|
||||||
#### warnings ####
|
#### warnings ####
|
||||||
add_project_arguments(cc.get_supported_arguments('-Werror=declaration-after-statement'), language : 'c')
|
add_project_arguments(
|
||||||
|
cc.get_supported_arguments('-Werror=declaration-after-statement'),
|
||||||
|
language : 'c',
|
||||||
|
)
|
||||||
|
|
||||||
#### personality ####
|
#### personality ####
|
||||||
add_project_arguments(cc.get_supported_arguments('-fno-strict-aliasing'), language : 'c')
|
add_project_arguments(
|
||||||
|
cc.get_supported_arguments('-fno-strict-aliasing'),
|
||||||
|
language : 'c',
|
||||||
|
)
|
||||||
if get_option('buildtype').contains('debug')
|
if get_option('buildtype').contains('debug')
|
||||||
add_project_arguments(cc.get_supported_arguments('-fno-omit-frame-pointer'), language : 'c')
|
add_project_arguments(
|
||||||
|
cc.get_supported_arguments('-fno-omit-frame-pointer'),
|
||||||
|
language : 'c',
|
||||||
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if want_fuzzer
|
if want_fuzzer
|
||||||
|
|
@ -660,7 +902,10 @@ if want_fuzzer
|
||||||
if not cc.has_argument('-fsanitize=fuzzer-no-link')
|
if not cc.has_argument('-fsanitize=fuzzer-no-link')
|
||||||
error('compiler does not support -fsanitize=fuzzer-no-link, try clang?')
|
error('compiler does not support -fsanitize=fuzzer-no-link, try clang?')
|
||||||
endif
|
endif
|
||||||
add_project_arguments('-fsanitize=fuzzer-no-link', language : 'c')
|
add_project_arguments(
|
||||||
|
'-fsanitize=fuzzer-no-link',
|
||||||
|
language : 'c',
|
||||||
|
)
|
||||||
endif
|
endif
|
||||||
if fuzzer_link_language != 'c'
|
if fuzzer_link_language != 'c'
|
||||||
add_languages(fuzzer_link_language)
|
add_languages(fuzzer_link_language)
|
||||||
|
|
@ -672,7 +917,7 @@ endif
|
||||||
##############
|
##############
|
||||||
|
|
||||||
pc = import('pkgconfig')
|
pc = import('pkgconfig')
|
||||||
pc_requires = []
|
pc_requires = [ ]
|
||||||
if not glib_internal
|
if not glib_internal
|
||||||
pc_requires += glib_dep
|
pc_requires += glib_dep
|
||||||
endif
|
endif
|
||||||
|
|
@ -687,15 +932,14 @@ if signalsfile.startswith('/')
|
||||||
else
|
else
|
||||||
signalsfile = '${prefix}' / signalsfile
|
signalsfile = '${prefix}' / signalsfile
|
||||||
endif
|
endif
|
||||||
pc.generate(filebase : 'irssi-1',
|
pc.generate(
|
||||||
|
filebase : 'irssi-1',
|
||||||
name : 'Irssi',
|
name : 'Irssi',
|
||||||
description : 'Irssi chat client',
|
description : 'Irssi chat client',
|
||||||
version : package_version,
|
version : package_version,
|
||||||
requires : pc_requires,
|
requires : pc_requires,
|
||||||
variables : [
|
variables : [ 'irssimoduledir=${libdir}' / incdir / 'modules', 'signalsfile=' + signalsfile ],
|
||||||
'irssimoduledir=${libdir}' / incdir / 'modules',
|
)
|
||||||
'signalsfile=' + signalsfile
|
|
||||||
])
|
|
||||||
|
|
||||||
###########
|
###########
|
||||||
# irssi.1 #
|
# irssi.1 #
|
||||||
|
|
|
||||||
|
|
@ -11,4 +11,5 @@ install_data(
|
||||||
'scriptassist.pl',
|
'scriptassist.pl',
|
||||||
'usercount.pl',
|
'usercount.pl',
|
||||||
),
|
),
|
||||||
install_dir : scriptdir)
|
install_dir : scriptdir,
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,11 @@
|
||||||
if have_capsicum
|
if have_capsicum
|
||||||
core_capsicum_source = files('capsicum.c')
|
core_capsicum_source = files('capsicum.c')
|
||||||
else
|
else
|
||||||
core_capsicum_source = []
|
core_capsicum_source = [ ]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
libcore_a = static_library('core',
|
libcore_a = static_library(
|
||||||
|
'core',
|
||||||
files(
|
files(
|
||||||
'args.c',
|
'args.c',
|
||||||
'channels-setup.c',
|
'channels-setup.c',
|
||||||
|
|
@ -63,7 +64,8 @@ libcore_a = static_library('core',
|
||||||
def_moduledir,
|
def_moduledir,
|
||||||
def_sysconfdir,
|
def_sysconfdir,
|
||||||
],
|
],
|
||||||
dependencies : dep)
|
dependencies : dep,
|
||||||
|
)
|
||||||
|
|
||||||
install_headers(
|
install_headers(
|
||||||
files(
|
files(
|
||||||
|
|
@ -122,4 +124,5 @@ install_headers(
|
||||||
'window-item-def.h',
|
'window-item-def.h',
|
||||||
'write-buffer.h',
|
'write-buffer.h',
|
||||||
),
|
),
|
||||||
subdir : incdir / 'src' / 'core')
|
subdir : incdir / 'src' / 'core',
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
if have_capsicum
|
if have_capsicum
|
||||||
fe_common_core_capsicum_source = files('fe-capsicum.c')
|
fe_common_core_capsicum_source = files('fe-capsicum.c')
|
||||||
else
|
else
|
||||||
fe_common_core_capsicum_source = []
|
fe_common_core_capsicum_source = [ ]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
fe_common_core_sources = [
|
fe_common_core_sources = [
|
||||||
|
|
@ -43,10 +43,11 @@ fe_common_core_sources = [
|
||||||
+ [
|
+ [
|
||||||
default_theme_h,
|
default_theme_h,
|
||||||
irssi_version_h,
|
irssi_version_h,
|
||||||
]
|
],
|
||||||
]
|
]
|
||||||
|
|
||||||
libfe_common_core_a = static_library('fe_common_core',
|
libfe_common_core_a = static_library(
|
||||||
|
'fe_common_core',
|
||||||
fe_common_core_sources,
|
fe_common_core_sources,
|
||||||
include_directories : rootinc,
|
include_directories : rootinc,
|
||||||
implicit_include_directories : false,
|
implicit_include_directories : false,
|
||||||
|
|
@ -54,10 +55,12 @@ libfe_common_core_a = static_library('fe_common_core',
|
||||||
def_helpdir,
|
def_helpdir,
|
||||||
def_themesdir,
|
def_themesdir,
|
||||||
],
|
],
|
||||||
dependencies : dep)
|
dependencies : dep,
|
||||||
|
)
|
||||||
|
|
||||||
if want_fuzzer
|
if want_fuzzer
|
||||||
libfuzzer_fe_common_core_a = static_library('fuzzer_fe_common_core',
|
libfuzzer_fe_common_core_a = static_library(
|
||||||
|
'fuzzer_fe_common_core',
|
||||||
fe_common_core_sources,
|
fe_common_core_sources,
|
||||||
include_directories : rootinc,
|
include_directories : rootinc,
|
||||||
implicit_include_directories : false,
|
implicit_include_directories : false,
|
||||||
|
|
@ -66,7 +69,8 @@ if want_fuzzer
|
||||||
def_themesdir,
|
def_themesdir,
|
||||||
def_suppress_printf_fallback,
|
def_suppress_printf_fallback,
|
||||||
],
|
],
|
||||||
dependencies : dep)
|
dependencies : dep,
|
||||||
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
install_headers(
|
install_headers(
|
||||||
|
|
@ -96,4 +100,5 @@ install_headers(
|
||||||
'window-items.h',
|
'window-items.h',
|
||||||
'windows-layout.h',
|
'windows-layout.h',
|
||||||
),
|
),
|
||||||
subdir : incdir / 'src' / 'fe-common' / 'core')
|
subdir : incdir / 'src' / 'fe-common' / 'core',
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
# this file is part of irssi
|
# this file is part of irssi
|
||||||
|
|
||||||
libfe_irc_dcc_a = static_library('fe_irc_dcc',
|
libfe_irc_dcc_a = static_library(
|
||||||
|
'fe_irc_dcc',
|
||||||
files(
|
files(
|
||||||
'fe-dcc-chat-messages.c',
|
'fe-dcc-chat-messages.c',
|
||||||
'fe-dcc-chat.c',
|
'fe-dcc-chat.c',
|
||||||
|
|
@ -16,14 +17,17 @@ libfe_irc_dcc_a = static_library('fe_irc_dcc',
|
||||||
def_helpdir,
|
def_helpdir,
|
||||||
def_sysconfdir,
|
def_sysconfdir,
|
||||||
],
|
],
|
||||||
dependencies : dep)
|
dependencies : dep,
|
||||||
shared_library('fe_irc_dcc',
|
)
|
||||||
|
shared_library(
|
||||||
|
'fe_irc_dcc',
|
||||||
name_suffix : module_suffix,
|
name_suffix : module_suffix,
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : moduledir,
|
install_dir : moduledir,
|
||||||
link_with : dl_cross_irc_dcc + dl_cross_irc_core + dl_cross_irssi_main,
|
link_with : dl_cross_irc_dcc + dl_cross_irc_core + dl_cross_irssi_main,
|
||||||
link_whole : libfe_irc_dcc_a,
|
link_whole : libfe_irc_dcc_a,
|
||||||
override_options : ['b_lundef=false'])
|
override_options : [ 'b_lundef=false' ],
|
||||||
|
)
|
||||||
|
|
||||||
install_headers(
|
install_headers(
|
||||||
files(
|
files(
|
||||||
|
|
@ -31,4 +35,5 @@ install_headers(
|
||||||
'module-formats.h',
|
'module-formats.h',
|
||||||
'module.h',
|
'module.h',
|
||||||
),
|
),
|
||||||
subdir : incdir / 'src' / 'fe-common' / 'irc' / 'dcc')
|
subdir : incdir / 'src' / 'fe-common' / 'irc' / 'dcc',
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
# this file is part of irssi
|
# this file is part of irssi
|
||||||
|
|
||||||
libfe_common_irc_a = static_library('fe_common_irc',
|
libfe_common_irc_a = static_library(
|
||||||
|
'fe_common_irc',
|
||||||
files(
|
files(
|
||||||
'fe-cap.c',
|
'fe-cap.c',
|
||||||
'fe-common-irc.c',
|
'fe-common-irc.c',
|
||||||
|
|
@ -27,14 +28,17 @@ libfe_common_irc_a = static_library('fe_common_irc',
|
||||||
def_helpdir,
|
def_helpdir,
|
||||||
def_themesdir,
|
def_themesdir,
|
||||||
],
|
],
|
||||||
dependencies : dep)
|
dependencies : dep,
|
||||||
shared_library('fe_common_irc',
|
)
|
||||||
|
shared_library(
|
||||||
|
'fe_common_irc',
|
||||||
name_suffix : module_suffix,
|
name_suffix : module_suffix,
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : moduledir,
|
install_dir : moduledir,
|
||||||
link_with : dl_cross_irc_core + dl_cross_irssi_main,
|
link_with : dl_cross_irc_core + dl_cross_irssi_main,
|
||||||
link_whole : libfe_common_irc_a,
|
link_whole : libfe_common_irc_a,
|
||||||
override_options : ['b_lundef=false'])
|
override_options : [ 'b_lundef=false' ],
|
||||||
|
)
|
||||||
|
|
||||||
install_headers(
|
install_headers(
|
||||||
files(
|
files(
|
||||||
|
|
@ -43,7 +47,8 @@ install_headers(
|
||||||
'module-formats.h',
|
'module-formats.h',
|
||||||
'module.h',
|
'module.h',
|
||||||
),
|
),
|
||||||
subdir : incdir / 'src' / 'fe-common' / 'irc')
|
subdir : incdir / 'src' / 'fe-common' / 'irc',
|
||||||
|
)
|
||||||
|
|
||||||
subdir('dcc')
|
subdir('dcc')
|
||||||
subdir('notifylist')
|
subdir('notifylist')
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
# this file is part of irssi
|
# this file is part of irssi
|
||||||
|
|
||||||
libfe_irc_notifylist_a = static_library('fe_irc_notifylist',
|
libfe_irc_notifylist_a = static_library(
|
||||||
|
'fe_irc_notifylist',
|
||||||
files(
|
files(
|
||||||
'fe-notifylist.c',
|
'fe-notifylist.c',
|
||||||
'module-formats.c',
|
'module-formats.c',
|
||||||
|
|
@ -11,18 +12,22 @@ libfe_irc_notifylist_a = static_library('fe_irc_notifylist',
|
||||||
def_helpdir,
|
def_helpdir,
|
||||||
def_sysconfdir,
|
def_sysconfdir,
|
||||||
],
|
],
|
||||||
dependencies : dep)
|
dependencies : dep,
|
||||||
shared_library('fe_irc_notifylist',
|
)
|
||||||
|
shared_library(
|
||||||
|
'fe_irc_notifylist',
|
||||||
name_suffix : module_suffix,
|
name_suffix : module_suffix,
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : moduledir,
|
install_dir : moduledir,
|
||||||
link_with : dl_cross_irc_notifylist + dl_cross_irssi_main,
|
link_with : dl_cross_irc_notifylist + dl_cross_irssi_main,
|
||||||
link_whole : libfe_irc_notifylist_a,
|
link_whole : libfe_irc_notifylist_a,
|
||||||
override_options : ['b_lundef=false'])
|
override_options : [ 'b_lundef=false' ],
|
||||||
|
)
|
||||||
|
|
||||||
install_headers(
|
install_headers(
|
||||||
files(
|
files(
|
||||||
'module-formats.h',
|
'module-formats.h',
|
||||||
'module.h',
|
'module.h',
|
||||||
),
|
),
|
||||||
subdir : incdir / 'src' / 'fe-common' / 'irc' / 'notifylist')
|
subdir : incdir / 'src' / 'fe-common' / 'irc' / 'notifylist',
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
# this file is part of irssi
|
# this file is part of irssi
|
||||||
executable('theme-load-fuzz',
|
executable(
|
||||||
|
'theme-load-fuzz',
|
||||||
files(
|
files(
|
||||||
'../../null-logger.c',
|
'../../null-logger.c',
|
||||||
'theme-load.c',
|
'theme-load.c',
|
||||||
|
|
@ -10,12 +11,12 @@ executable('theme-load-fuzz',
|
||||||
libcore_a,
|
libcore_a,
|
||||||
libfuzzer_fe_common_core_a,
|
libfuzzer_fe_common_core_a,
|
||||||
],
|
],
|
||||||
link_args : [fuzzer_lib],
|
link_args : [ fuzzer_lib ],
|
||||||
link_language : fuzzer_link_language,
|
link_language : fuzzer_link_language,
|
||||||
include_directories : rootinc,
|
include_directories : rootinc,
|
||||||
implicit_include_directories : false,
|
implicit_include_directories : false,
|
||||||
install : true,
|
install : true,
|
||||||
dependencies : dep
|
dependencies : dep,
|
||||||
)
|
)
|
||||||
|
|
||||||
# noinst_headers = files(
|
# noinst_headers = files(
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
# this file is part of irssi
|
# this file is part of irssi
|
||||||
|
|
||||||
executable('event-get-params-fuzz',
|
executable(
|
||||||
|
'event-get-params-fuzz',
|
||||||
files(
|
files(
|
||||||
'../../null-logger.c',
|
'../../null-logger.c',
|
||||||
'event-get-params.c',
|
'event-get-params.c',
|
||||||
|
|
@ -12,12 +13,12 @@ executable('event-get-params-fuzz',
|
||||||
libirc_core_a,
|
libirc_core_a,
|
||||||
libfuzzer_fe_common_core_a,
|
libfuzzer_fe_common_core_a,
|
||||||
],
|
],
|
||||||
link_args : [fuzzer_lib],
|
link_args : [ fuzzer_lib ],
|
||||||
link_language : fuzzer_link_language,
|
link_language : fuzzer_link_language,
|
||||||
include_directories : rootinc,
|
include_directories : rootinc,
|
||||||
implicit_include_directories : false,
|
implicit_include_directories : false,
|
||||||
install : true,
|
install : true,
|
||||||
dependencies : dep
|
dependencies : dep,
|
||||||
)
|
)
|
||||||
|
|
||||||
# noinst_headers = files(
|
# noinst_headers = files(
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@
|
||||||
subdir('irc')
|
subdir('irc')
|
||||||
subdir('fe-common')
|
subdir('fe-common')
|
||||||
|
|
||||||
executable('irssi-fuzz',
|
executable(
|
||||||
|
'irssi-fuzz',
|
||||||
files(
|
files(
|
||||||
'null-logger.c',
|
'null-logger.c',
|
||||||
'irssi.c',
|
'irssi.c',
|
||||||
|
|
@ -14,15 +15,16 @@ executable('irssi-fuzz',
|
||||||
libcore_a,
|
libcore_a,
|
||||||
libfuzzer_fe_common_core_a,
|
libfuzzer_fe_common_core_a,
|
||||||
],
|
],
|
||||||
link_args : [fuzzer_lib],
|
link_args : [ fuzzer_lib ],
|
||||||
link_language : fuzzer_link_language,
|
link_language : fuzzer_link_language,
|
||||||
include_directories : rootinc,
|
include_directories : rootinc,
|
||||||
implicit_include_directories : false,
|
implicit_include_directories : false,
|
||||||
install : true,
|
install : true,
|
||||||
dependencies : dep
|
dependencies : dep,
|
||||||
)
|
)
|
||||||
|
|
||||||
executable('server-fuzz',
|
executable(
|
||||||
|
'server-fuzz',
|
||||||
files(
|
files(
|
||||||
'null-logger.c',
|
'null-logger.c',
|
||||||
'server.c',
|
'server.c',
|
||||||
|
|
@ -37,12 +39,12 @@ executable('server-fuzz',
|
||||||
libfe_irc_dcc_a,
|
libfe_irc_dcc_a,
|
||||||
libfe_irc_notifylist_a,
|
libfe_irc_notifylist_a,
|
||||||
],
|
],
|
||||||
link_args : [fuzzer_lib],
|
link_args : [ fuzzer_lib ],
|
||||||
link_language : fuzzer_link_language,
|
link_language : fuzzer_link_language,
|
||||||
include_directories : rootinc,
|
include_directories : rootinc,
|
||||||
implicit_include_directories : false,
|
implicit_include_directories : false,
|
||||||
install : true,
|
install : true,
|
||||||
dependencies : dep
|
dependencies : dep,
|
||||||
)
|
)
|
||||||
|
|
||||||
# noinst_headers = files(
|
# noinst_headers = files(
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
# this file is part of irssi
|
# this file is part of irssi
|
||||||
|
|
||||||
fe_none_irssi = executable('botti',
|
fe_none_irssi = executable(
|
||||||
|
'botti',
|
||||||
files(
|
files(
|
||||||
'irssi.c',
|
'irssi.c',
|
||||||
),
|
),
|
||||||
|
|
@ -13,7 +14,7 @@ fe_none_irssi = executable('botti',
|
||||||
libcore_a,
|
libcore_a,
|
||||||
],
|
],
|
||||||
install : true,
|
install : true,
|
||||||
dependencies : dep
|
dependencies : dep,
|
||||||
)
|
)
|
||||||
if need_dl_cross_link_main
|
if need_dl_cross_link_main
|
||||||
dl_cross_irssi_main = [ fe_none_irssi ]
|
dl_cross_irssi_main = [ fe_none_irssi ]
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
# this file is part of irssi
|
# this file is part of irssi
|
||||||
|
|
||||||
fe_text_irssi = executable('irssi',
|
fe_text_irssi = executable(
|
||||||
|
'irssi',
|
||||||
files(
|
files(
|
||||||
#### terminfo_sources ####
|
#### terminfo_sources ####
|
||||||
'term-terminfo.c',
|
'term-terminfo.c',
|
||||||
|
|
@ -40,10 +41,9 @@ fe_text_irssi = executable('irssi',
|
||||||
libconfig_a,
|
libconfig_a,
|
||||||
libcore_a,
|
libcore_a,
|
||||||
libfe_common_core_a,
|
libfe_common_core_a,
|
||||||
],
|
],
|
||||||
install : true,
|
install : true,
|
||||||
dependencies : dep
|
dependencies : dep + textui_dep,
|
||||||
+ textui_dep
|
|
||||||
)
|
)
|
||||||
if need_dl_cross_link_main
|
if need_dl_cross_link_main
|
||||||
dl_cross_irssi_main = [ fe_text_irssi ]
|
dl_cross_irssi_main = [ fe_text_irssi ]
|
||||||
|
|
@ -61,7 +61,8 @@ install_headers(
|
||||||
'textbuffer-view.h',
|
'textbuffer-view.h',
|
||||||
'textbuffer.h',
|
'textbuffer.h',
|
||||||
),
|
),
|
||||||
subdir : incdir / 'src' / 'fe-text')
|
subdir : incdir / 'src' / 'fe-text',
|
||||||
|
)
|
||||||
|
|
||||||
# noinst_headers = files(
|
# noinst_headers = files(
|
||||||
# 'gui-entry.h',
|
# 'gui-entry.h',
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
# this file is part of irssi
|
# this file is part of irssi
|
||||||
|
|
||||||
libirc_core_a = static_library('irc_core',
|
libirc_core_a = static_library(
|
||||||
|
'irc_core',
|
||||||
files(
|
files(
|
||||||
'bans.c',
|
'bans.c',
|
||||||
'channel-events.c',
|
'channel-events.c',
|
||||||
|
|
@ -38,16 +39,19 @@ libirc_core_a = static_library('irc_core',
|
||||||
def_moduledir,
|
def_moduledir,
|
||||||
def_sysconfdir,
|
def_sysconfdir,
|
||||||
],
|
],
|
||||||
dependencies : dep)
|
dependencies : dep,
|
||||||
libirc_core_sm = shared_library('irc_core',
|
)
|
||||||
|
libirc_core_sm = shared_library(
|
||||||
|
'irc_core',
|
||||||
name_suffix : module_suffix,
|
name_suffix : module_suffix,
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : moduledir,
|
install_dir : moduledir,
|
||||||
link_whole : libirc_core_a,
|
link_whole : libirc_core_a,
|
||||||
link_with : dl_cross_irssi_main,
|
link_with : dl_cross_irssi_main,
|
||||||
override_options : ['b_lundef=false'])
|
override_options : [ 'b_lundef=false' ],
|
||||||
|
)
|
||||||
|
|
||||||
dl_cross_irc_core = []
|
dl_cross_irc_core = [ ]
|
||||||
if need_dl_cross_link
|
if need_dl_cross_link
|
||||||
dl_cross_irc_core += libirc_core_sm
|
dl_cross_irc_core += libirc_core_sm
|
||||||
endif
|
endif
|
||||||
|
|
@ -77,4 +81,5 @@ install_headers(
|
||||||
'servers-idle.h',
|
'servers-idle.h',
|
||||||
'servers-redirect.h',
|
'servers-redirect.h',
|
||||||
),
|
),
|
||||||
subdir : incdir / 'src' / 'irc' / 'core')
|
subdir : incdir / 'src' / 'irc' / 'core',
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
# this file is part of irssi
|
# this file is part of irssi
|
||||||
|
|
||||||
libirc_dcc_sm = shared_library('irc_dcc',
|
libirc_dcc_sm = shared_library(
|
||||||
|
'irc_dcc',
|
||||||
files(
|
files(
|
||||||
'dcc-autoget.c',
|
'dcc-autoget.c',
|
||||||
'dcc-chat.c',
|
'dcc-chat.c',
|
||||||
|
|
@ -18,9 +19,10 @@ libirc_dcc_sm = shared_library('irc_dcc',
|
||||||
install_dir : moduledir,
|
install_dir : moduledir,
|
||||||
link_with : dl_cross_irc_core + dl_cross_irssi_main,
|
link_with : dl_cross_irc_core + dl_cross_irssi_main,
|
||||||
dependencies : dep,
|
dependencies : dep,
|
||||||
override_options : ['b_lundef=false'])
|
override_options : [ 'b_lundef=false' ],
|
||||||
|
)
|
||||||
|
|
||||||
dl_cross_irc_dcc = []
|
dl_cross_irc_dcc = [ ]
|
||||||
if need_dl_cross_link
|
if need_dl_cross_link
|
||||||
dl_cross_irc_dcc += libirc_dcc_sm
|
dl_cross_irc_dcc += libirc_dcc_sm
|
||||||
endif
|
endif
|
||||||
|
|
@ -38,4 +40,5 @@ install_headers(
|
||||||
'dcc.h',
|
'dcc.h',
|
||||||
'module.h',
|
'module.h',
|
||||||
),
|
),
|
||||||
subdir : incdir / 'src' / 'irc' / 'dcc')
|
subdir : incdir / 'src' / 'irc' / 'dcc',
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,26 @@
|
||||||
# this file is part of irssi
|
# this file is part of irssi
|
||||||
|
|
||||||
libirc_flood_a = static_library('irc_flood',
|
libirc_flood_a = static_library(
|
||||||
|
'irc_flood',
|
||||||
files(
|
files(
|
||||||
'autoignore.c',
|
'autoignore.c',
|
||||||
'flood.c',
|
'flood.c',
|
||||||
),
|
),
|
||||||
include_directories : rootinc,
|
include_directories : rootinc,
|
||||||
implicit_include_directories : false,
|
implicit_include_directories : false,
|
||||||
dependencies : dep)
|
dependencies : dep,
|
||||||
shared_library('irc_flood',
|
)
|
||||||
|
shared_library(
|
||||||
|
'irc_flood',
|
||||||
name_suffix : module_suffix,
|
name_suffix : module_suffix,
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : moduledir,
|
install_dir : moduledir,
|
||||||
link_with : dl_cross_irc_core + dl_cross_irssi_main,
|
link_with : dl_cross_irc_core + dl_cross_irssi_main,
|
||||||
link_whole : libirc_flood_a,
|
link_whole : libirc_flood_a,
|
||||||
override_options : ['b_lundef=false'])
|
override_options : [ 'b_lundef=false' ],
|
||||||
|
)
|
||||||
|
|
||||||
install_headers(
|
install_headers(
|
||||||
files('module.h'),
|
files('module.h'),
|
||||||
subdir : incdir / 'src' / 'irc' / 'flood')
|
subdir : incdir / 'src' / 'irc' / 'flood',
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
# this file is part of irssi
|
# this file is part of irssi
|
||||||
|
|
||||||
libirc_notifylist_sm = shared_library('irc_notifylist',
|
libirc_notifylist_sm = shared_library(
|
||||||
|
'irc_notifylist',
|
||||||
files(
|
files(
|
||||||
'notify-commands.c',
|
'notify-commands.c',
|
||||||
'notify-ison.c',
|
'notify-ison.c',
|
||||||
|
|
@ -15,9 +16,10 @@ libirc_notifylist_sm = shared_library('irc_notifylist',
|
||||||
install_dir : moduledir,
|
install_dir : moduledir,
|
||||||
link_with : dl_cross_irc_core + dl_cross_irssi_main,
|
link_with : dl_cross_irc_core + dl_cross_irssi_main,
|
||||||
dependencies : dep,
|
dependencies : dep,
|
||||||
override_options : ['b_lundef=false'])
|
override_options : [ 'b_lundef=false' ],
|
||||||
|
)
|
||||||
|
|
||||||
dl_cross_irc_notifylist = []
|
dl_cross_irc_notifylist = [ ]
|
||||||
if need_dl_cross_link
|
if need_dl_cross_link
|
||||||
dl_cross_irc_notifylist += libirc_notifylist_sm
|
dl_cross_irc_notifylist += libirc_notifylist_sm
|
||||||
endif
|
endif
|
||||||
|
|
@ -28,4 +30,5 @@ install_headers(
|
||||||
'notify-setup.h',
|
'notify-setup.h',
|
||||||
'notifylist.h',
|
'notifylist.h',
|
||||||
),
|
),
|
||||||
subdir : incdir / 'src' / 'irc' / 'notifylist')
|
subdir : incdir / 'src' / 'irc' / 'notifylist',
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
# this file is part of irssi
|
# this file is part of irssi
|
||||||
|
|
||||||
shared_library('irc_proxy',
|
shared_library(
|
||||||
|
'irc_proxy',
|
||||||
files(
|
files(
|
||||||
'dump.c',
|
'dump.c',
|
||||||
'listen.c',
|
'listen.c',
|
||||||
|
|
@ -13,7 +14,7 @@ shared_library('irc_proxy',
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : moduledir,
|
install_dir : moduledir,
|
||||||
dependencies : dep,
|
dependencies : dep,
|
||||||
override_options : ['b_lundef=false'],
|
override_options : [ 'b_lundef=false' ],
|
||||||
)
|
)
|
||||||
|
|
||||||
# noinst_headers = files(
|
# noinst_headers = files(
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
# this file is part of irssi
|
# this file is part of irssi
|
||||||
|
|
||||||
libconfig_a = static_library('irssi_config',
|
libconfig_a = static_library(
|
||||||
|
'irssi_config',
|
||||||
files(
|
files(
|
||||||
'get.c',
|
'get.c',
|
||||||
'parse.c',
|
'parse.c',
|
||||||
|
|
@ -9,11 +10,13 @@ libconfig_a = static_library('irssi_config',
|
||||||
),
|
),
|
||||||
include_directories : rootinc,
|
include_directories : rootinc,
|
||||||
implicit_include_directories : false,
|
implicit_include_directories : false,
|
||||||
dependencies : dep)
|
dependencies : dep,
|
||||||
|
)
|
||||||
|
|
||||||
install_headers(
|
install_headers(
|
||||||
files(
|
files(
|
||||||
'iconfig.h',
|
'iconfig.h',
|
||||||
'module.h',
|
'module.h',
|
||||||
),
|
),
|
||||||
subdir : incdir / 'src' / 'lib-config')
|
subdir : incdir / 'src' / 'lib-config',
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@ if want_fuzzer
|
||||||
endif
|
endif
|
||||||
|
|
||||||
install_headers(
|
install_headers(
|
||||||
files(
|
files('common.h'),
|
||||||
'common.h'
|
subdir : incdir / 'src',
|
||||||
),
|
)
|
||||||
subdir : incdir / 'src')
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
# this file is part of irssi
|
# this file is part of irssi
|
||||||
|
|
||||||
shared_library('otr_core',
|
shared_library(
|
||||||
|
'otr_core',
|
||||||
files(
|
files(
|
||||||
'key.c',
|
'key.c',
|
||||||
'otr-fe.c',
|
'otr-fe.c',
|
||||||
|
|
@ -15,7 +16,7 @@ shared_library('otr_core',
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : moduledir,
|
install_dir : moduledir,
|
||||||
dependencies : dep,
|
dependencies : dep,
|
||||||
override_options : ['b_lundef=false'],
|
override_options : [ 'b_lundef=false' ],
|
||||||
)
|
)
|
||||||
|
|
||||||
# noinst_headers = files(
|
# noinst_headers = files(
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,22 @@
|
||||||
|
shared_library(
|
||||||
shared_library('Irssi',
|
'Irssi',
|
||||||
[ xsubpp.process(
|
[
|
||||||
files(
|
xsubpp.process(
|
||||||
'Channel.xs',
|
files(
|
||||||
'Core.xs',
|
'Channel.xs',
|
||||||
'Expando.xs',
|
'Core.xs',
|
||||||
'Ignore.xs',
|
'Expando.xs',
|
||||||
'Irssi.xs',
|
'Ignore.xs',
|
||||||
'Log.xs',
|
'Irssi.xs',
|
||||||
'Masks.xs',
|
'Log.xs',
|
||||||
'Query.xs',
|
'Masks.xs',
|
||||||
'Rawlog.xs',
|
'Query.xs',
|
||||||
'Server.xs',
|
'Rawlog.xs',
|
||||||
'Settings.xs',
|
'Server.xs',
|
||||||
)
|
'Settings.xs',
|
||||||
) ]
|
)
|
||||||
|
),
|
||||||
|
]
|
||||||
+ files(
|
+ files(
|
||||||
'module.h',
|
'module.h',
|
||||||
)
|
)
|
||||||
|
|
@ -27,7 +29,7 @@ shared_library('Irssi',
|
||||||
implicit_include_directories : true,
|
implicit_include_directories : true,
|
||||||
dependencies : dep + [ perl_dep ],
|
dependencies : dep + [ perl_dep ],
|
||||||
link_with : dl_cross_perl_core + dl_cross_irssi_main,
|
link_with : dl_cross_perl_core + dl_cross_irssi_main,
|
||||||
override_options : ['b_lundef=false'],
|
override_options : [ 'b_lundef=false' ],
|
||||||
)
|
)
|
||||||
|
|
||||||
install_headers(
|
install_headers(
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,23 @@
|
||||||
shared_library('Irc',
|
shared_library(
|
||||||
[ xsubpp.process(
|
'Irc',
|
||||||
files(
|
[
|
||||||
'Channel.xs',
|
xsubpp.process(
|
||||||
'Client.xs',
|
files(
|
||||||
'Ctcp.xs',
|
'Channel.xs',
|
||||||
'Irc.xs',
|
'Client.xs',
|
||||||
'Modes.xs',
|
'Ctcp.xs',
|
||||||
'Netsplit.xs',
|
'Irc.xs',
|
||||||
'Notifylist.xs',
|
'Modes.xs',
|
||||||
'Query.xs',
|
'Netsplit.xs',
|
||||||
'Server.xs',
|
'Notifylist.xs',
|
||||||
|
'Query.xs',
|
||||||
|
'Server.xs',
|
||||||
|
),
|
||||||
|
extra_args : [
|
||||||
|
'-typemap', '../common/typemap',
|
||||||
|
],
|
||||||
),
|
),
|
||||||
extra_args : [
|
]
|
||||||
'-typemap',
|
|
||||||
'../common/typemap',
|
|
||||||
],
|
|
||||||
) ]
|
|
||||||
+ files(
|
+ files(
|
||||||
'module.h',
|
'module.h',
|
||||||
),
|
),
|
||||||
|
|
@ -27,7 +29,7 @@ shared_library('Irc',
|
||||||
implicit_include_directories : true,
|
implicit_include_directories : true,
|
||||||
dependencies : dep + [ perl_dep ],
|
dependencies : dep + [ perl_dep ],
|
||||||
link_with : dl_cross_perl_core + dl_cross_irc_notifylist + dl_cross_irc_core + dl_cross_irssi_main,
|
link_with : dl_cross_perl_core + dl_cross_irc_notifylist + dl_cross_irc_core + dl_cross_irssi_main,
|
||||||
override_options : ['b_lundef=false'],
|
override_options : [ 'b_lundef=false' ],
|
||||||
)
|
)
|
||||||
|
|
||||||
install_headers(
|
install_headers(
|
||||||
|
|
@ -37,16 +39,18 @@ install_headers(
|
||||||
install_dir : perlmoddir / 'Irssi',
|
install_dir : perlmoddir / 'Irssi',
|
||||||
)
|
)
|
||||||
|
|
||||||
shared_library('Dcc',
|
shared_library(
|
||||||
[ xsubpp.process(
|
'Dcc',
|
||||||
files(
|
[
|
||||||
'Dcc.xs',
|
xsubpp.process(
|
||||||
|
files(
|
||||||
|
'Dcc.xs',
|
||||||
|
),
|
||||||
|
extra_args : [
|
||||||
|
'-typemap', '../common/typemap',
|
||||||
|
],
|
||||||
),
|
),
|
||||||
extra_args : [
|
]
|
||||||
'-typemap',
|
|
||||||
'../common/typemap',
|
|
||||||
],
|
|
||||||
) ]
|
|
||||||
+ files(
|
+ files(
|
||||||
'module.h',
|
'module.h',
|
||||||
),
|
),
|
||||||
|
|
@ -58,7 +62,7 @@ shared_library('Dcc',
|
||||||
implicit_include_directories : true,
|
implicit_include_directories : true,
|
||||||
dependencies : dep + [ perl_dep ],
|
dependencies : dep + [ perl_dep ],
|
||||||
link_with : dl_cross_perl_core + dl_cross_irc_dcc + dl_cross_irc_core + dl_cross_irssi_main,
|
link_with : dl_cross_perl_core + dl_cross_irc_dcc + dl_cross_irc_core + dl_cross_irssi_main,
|
||||||
override_options : ['b_lundef=false'],
|
override_options : [ 'b_lundef=false' ],
|
||||||
)
|
)
|
||||||
|
|
||||||
install_headers(
|
install_headers(
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,36 @@
|
||||||
|
perl_signals_list_h = custom_target(
|
||||||
perl_signals_list_h = custom_target('perl-signals-list.h',
|
'perl-signals-list.h',
|
||||||
input : files('../../docs/signals.txt'),
|
input : files('../../docs/signals.txt'),
|
||||||
output : 'perl-signals-list.h',
|
output : 'perl-signals-list.h',
|
||||||
capture : true,
|
capture : true,
|
||||||
depend_files : files('get-signals.pl'),
|
depend_files : files('get-signals.pl'),
|
||||||
command : [build_perl, files('get-signals.pl'), '@INPUT@'],
|
command : [ build_perl, files('get-signals.pl'), '@INPUT@' ],
|
||||||
)
|
)
|
||||||
|
|
||||||
irssi_core_pl_h = custom_target('irssi-core.pl.h',
|
irssi_core_pl_h = custom_target(
|
||||||
|
'irssi-core.pl.h',
|
||||||
input : files('irssi-core.pl'),
|
input : files('irssi-core.pl'),
|
||||||
output : 'irssi-core.pl.h',
|
output : 'irssi-core.pl.h',
|
||||||
capture : true,
|
capture : true,
|
||||||
command : [file2header, '@INPUT@', 'irssi_core_code'],
|
command : [ file2header, '@INPUT@', 'irssi_core_code' ],
|
||||||
)
|
)
|
||||||
|
|
||||||
# required as of Meson 0.58.0
|
# required as of Meson 0.58.0
|
||||||
generated_files_inc = include_directories('.')
|
generated_files_inc = include_directories('.')
|
||||||
|
|
||||||
libperl_core_sm = shared_library('perl_core',
|
libperl_core_sm = shared_library(
|
||||||
|
'perl_core',
|
||||||
files(
|
files(
|
||||||
'perl-common.c',
|
'perl-common.c',
|
||||||
'perl-core.c',
|
'perl-core.c',
|
||||||
'perl-signals.c',
|
'perl-signals.c',
|
||||||
'perl-sources.c',
|
'perl-sources.c',
|
||||||
) + [
|
)
|
||||||
|
+ [
|
||||||
irssi_core_pl_h,
|
irssi_core_pl_h,
|
||||||
perl_signals_list_h,
|
perl_signals_list_h,
|
||||||
] + built_src,
|
]
|
||||||
|
+ built_src,
|
||||||
c_args : [
|
c_args : [
|
||||||
def_scriptdir,
|
def_scriptdir,
|
||||||
def_perl_use_lib,
|
def_perl_use_lib,
|
||||||
|
|
@ -39,16 +43,17 @@ libperl_core_sm = shared_library('perl_core',
|
||||||
install_rpath : perl_rpath,
|
install_rpath : perl_rpath,
|
||||||
build_rpath : perl_rpath,
|
build_rpath : perl_rpath,
|
||||||
dependencies : dep_cflagsonly + [ perl_dep ] + dl_cross_dep,
|
dependencies : dep_cflagsonly + [ perl_dep ] + dl_cross_dep,
|
||||||
override_options : ['b_asneeded=false', 'b_lundef=false'],
|
override_options : [ 'b_asneeded=false', 'b_lundef=false' ],
|
||||||
link_with : dl_cross_irssi_main,
|
link_with : dl_cross_irssi_main,
|
||||||
)
|
)
|
||||||
|
|
||||||
dl_cross_perl_core = []
|
dl_cross_perl_core = [ ]
|
||||||
if need_dl_cross_link
|
if need_dl_cross_link
|
||||||
dl_cross_perl_core += libperl_core_sm
|
dl_cross_perl_core += libperl_core_sm
|
||||||
endif
|
endif
|
||||||
|
|
||||||
shared_library('fe_perl',
|
shared_library(
|
||||||
|
'fe_perl',
|
||||||
files(
|
files(
|
||||||
'module-formats.c',
|
'module-formats.c',
|
||||||
'perl-fe.c',
|
'perl-fe.c',
|
||||||
|
|
@ -63,7 +68,7 @@ shared_library('fe_perl',
|
||||||
install_dir : moduledir,
|
install_dir : moduledir,
|
||||||
dependencies : dep,
|
dependencies : dep,
|
||||||
link_with : dl_cross_perl_core + dl_cross_irssi_main,
|
link_with : dl_cross_perl_core + dl_cross_irssi_main,
|
||||||
override_options : ['b_lundef=false'],
|
override_options : [ 'b_lundef=false' ],
|
||||||
)
|
)
|
||||||
|
|
||||||
subdir('common')
|
subdir('common')
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,19 @@
|
||||||
shared_library('TextUI',
|
shared_library(
|
||||||
[ xsubpp.process(
|
'TextUI',
|
||||||
files(
|
[
|
||||||
'Statusbar.xs',
|
xsubpp.process(
|
||||||
'TextBufferView.xs',
|
files(
|
||||||
'TextBuffer.xs',
|
'Statusbar.xs',
|
||||||
'TextUI.xs',
|
'TextBufferView.xs',
|
||||||
|
'TextBuffer.xs',
|
||||||
|
'TextUI.xs',
|
||||||
|
),
|
||||||
|
extra_args : [
|
||||||
|
'-typemap', '../common/typemap',
|
||||||
|
'-typemap', '../ui/typemap',
|
||||||
|
],
|
||||||
),
|
),
|
||||||
extra_args : [
|
]
|
||||||
'-typemap',
|
|
||||||
'../common/typemap',
|
|
||||||
'-typemap',
|
|
||||||
'../ui/typemap',
|
|
||||||
],
|
|
||||||
) ]
|
|
||||||
+ files(
|
+ files(
|
||||||
'module.h',
|
'module.h',
|
||||||
),
|
),
|
||||||
|
|
@ -24,7 +25,7 @@ shared_library('TextUI',
|
||||||
implicit_include_directories : true,
|
implicit_include_directories : true,
|
||||||
dependencies : dep + [ perl_dep ],
|
dependencies : dep + [ perl_dep ],
|
||||||
link_with : dl_cross_perl_core + dl_cross_irssi_main,
|
link_with : dl_cross_perl_core + dl_cross_irssi_main,
|
||||||
override_options : ['b_lundef=false'],
|
override_options : [ 'b_lundef=false' ],
|
||||||
)
|
)
|
||||||
|
|
||||||
install_headers(
|
install_headers(
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,18 @@
|
||||||
shared_library('UI',
|
shared_library(
|
||||||
[ xsubpp.process(
|
'UI',
|
||||||
files(
|
[
|
||||||
'Formats.xs',
|
xsubpp.process(
|
||||||
'Themes.xs',
|
files(
|
||||||
'UI.xs',
|
'Formats.xs',
|
||||||
'Window.xs',
|
'Themes.xs',
|
||||||
|
'UI.xs',
|
||||||
|
'Window.xs',
|
||||||
|
),
|
||||||
|
extra_args : [
|
||||||
|
'-typemap', '../common/typemap',
|
||||||
|
],
|
||||||
),
|
),
|
||||||
extra_args : [
|
]
|
||||||
'-typemap',
|
|
||||||
'../common/typemap',
|
|
||||||
],
|
|
||||||
) ]
|
|
||||||
+ files(
|
+ files(
|
||||||
'module.h',
|
'module.h',
|
||||||
),
|
),
|
||||||
|
|
@ -22,7 +24,7 @@ shared_library('UI',
|
||||||
implicit_include_directories : true,
|
implicit_include_directories : true,
|
||||||
dependencies : dep + [ perl_dep ],
|
dependencies : dep + [ perl_dep ],
|
||||||
link_with : dl_cross_perl_core + dl_cross_irssi_main,
|
link_with : dl_cross_perl_core + dl_cross_irssi_main,
|
||||||
override_options : ['b_lundef=false'],
|
override_options : [ 'b_lundef=false' ],
|
||||||
)
|
)
|
||||||
|
|
||||||
install_headers(
|
install_headers(
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
test_test_formats = executable('test-formats',
|
test_test_formats = executable(
|
||||||
|
'test-formats',
|
||||||
files(
|
files(
|
||||||
'test-formats.c',
|
'test-formats.c',
|
||||||
),
|
),
|
||||||
|
|
@ -12,8 +13,11 @@ test_test_formats = executable('test-formats',
|
||||||
],
|
],
|
||||||
include_directories : rootinc,
|
include_directories : rootinc,
|
||||||
implicit_include_directories : false,
|
implicit_include_directories : false,
|
||||||
dependencies : dep
|
dependencies : dep,
|
||||||
|
)
|
||||||
|
test(
|
||||||
|
'test-formats test',
|
||||||
|
test_test_formats,
|
||||||
|
args : [ '--tap' ],
|
||||||
|
protocol : 'tap',
|
||||||
)
|
)
|
||||||
test('test-formats test', test_test_formats,
|
|
||||||
args : ['--tap'],
|
|
||||||
protocol : 'tap')
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
test_test_paste_join_multiline = executable('test-paste-join-multiline',
|
test_test_paste_join_multiline = executable(
|
||||||
|
'test-paste-join-multiline',
|
||||||
files(
|
files(
|
||||||
'../../src/fe-text/gui-entry.c',
|
'../../src/fe-text/gui-entry.c',
|
||||||
'../../src/fe-text/gui-printtext.c',
|
'../../src/fe-text/gui-printtext.c',
|
||||||
|
|
@ -25,7 +26,9 @@ test_test_paste_join_multiline = executable('test-paste-join-multiline',
|
||||||
implicit_include_directories : false,
|
implicit_include_directories : false,
|
||||||
dependencies : dep + textui_dep,
|
dependencies : dep + textui_dep,
|
||||||
)
|
)
|
||||||
test('test-paste-join-multiline test', test_test_paste_join_multiline,
|
test(
|
||||||
args : ['--tap'],
|
'test-paste-join-multiline test',
|
||||||
protocol : 'tap')
|
test_test_paste_join_multiline,
|
||||||
|
args : [ '--tap' ],
|
||||||
|
protocol : 'tap',
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
test_test_irc = executable('test-irc',
|
test_test_irc = executable(
|
||||||
|
'test-irc',
|
||||||
files(
|
files(
|
||||||
'test-irc.c',
|
'test-irc.c',
|
||||||
),
|
),
|
||||||
|
|
@ -13,15 +14,19 @@ test_test_irc = executable('test-irc',
|
||||||
],
|
],
|
||||||
include_directories : rootinc,
|
include_directories : rootinc,
|
||||||
implicit_include_directories : false,
|
implicit_include_directories : false,
|
||||||
dependencies : dep
|
dependencies : dep,
|
||||||
)
|
)
|
||||||
test('test-irc test', test_test_irc,
|
test(
|
||||||
|
'test-irc test',
|
||||||
|
test_test_irc,
|
||||||
args : [
|
args : [
|
||||||
'--tap',
|
'--tap',
|
||||||
],
|
],
|
||||||
protocol : 'tap')
|
protocol : 'tap',
|
||||||
|
)
|
||||||
|
|
||||||
test_test_channel_events = executable('test-channel-events',
|
test_test_channel_events = executable(
|
||||||
|
'test-channel-events',
|
||||||
files(
|
files(
|
||||||
'test-channel-events.c',
|
'test-channel-events.c',
|
||||||
),
|
),
|
||||||
|
|
@ -36,10 +41,13 @@ test_test_channel_events = executable('test-channel-events',
|
||||||
],
|
],
|
||||||
include_directories : rootinc,
|
include_directories : rootinc,
|
||||||
implicit_include_directories : false,
|
implicit_include_directories : false,
|
||||||
dependencies : dep
|
dependencies : dep,
|
||||||
)
|
)
|
||||||
test('test-channel-events test', test_test_channel_events,
|
test(
|
||||||
|
'test-channel-events test',
|
||||||
|
test_test_channel_events,
|
||||||
args : [
|
args : [
|
||||||
'--tap',
|
'--tap',
|
||||||
],
|
],
|
||||||
protocol : 'tap')
|
protocol : 'tap',
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
test_test_796 = executable('test-796',
|
test_test_796 = executable(
|
||||||
|
'test-796',
|
||||||
files(
|
files(
|
||||||
'test-796.c',
|
'test-796.c',
|
||||||
),
|
),
|
||||||
|
|
@ -17,10 +18,13 @@ test_test_796 = executable('test-796',
|
||||||
],
|
],
|
||||||
include_directories : rootinc,
|
include_directories : rootinc,
|
||||||
implicit_include_directories : false,
|
implicit_include_directories : false,
|
||||||
dependencies : dep
|
dependencies : dep,
|
||||||
)
|
)
|
||||||
test('test-796 test', test_test_796,
|
test(
|
||||||
|
'test-796 test',
|
||||||
|
test_test_796,
|
||||||
args : [
|
args : [
|
||||||
'--tap',
|
'--tap',
|
||||||
],
|
],
|
||||||
protocol : 'tap')
|
protocol : 'tap',
|
||||||
|
)
|
||||||
|
|
|
||||||
|
|
@ -3,4 +3,5 @@ install_data(
|
||||||
'default.theme',
|
'default.theme',
|
||||||
'colorless.theme',
|
'colorless.theme',
|
||||||
),
|
),
|
||||||
install_dir : themedir)
|
install_dir : themedir,
|
||||||
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue