meson build support

This commit is contained in:
Ailin Nemui 2019-07-08 00:02:53 +02:00
commit db16a0a853
57 changed files with 1787 additions and 46 deletions

View 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',

View file

@ -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
View 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
View 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',
# )

View 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
View 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',