summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--meson_options.txt3
-rw-r--r--plugins/perl/meson.build17
2 files changed, 14 insertions, 6 deletions
diff --git a/meson_options.txt b/meson_options.txt
index 9b5d620b..eee21791 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -60,3 +60,6 @@ option('with-winamp', type: 'boolean',
 option('install-plugin-metainfo', type: 'boolean', value: false,
   description: 'Installs metainfo files for enabled plugins, useful when distros create split packages'
 )
+option('with-perl-legacy-api', type: 'boolean', value: false,
+  description: 'Enables the legacy IRC perl module for compatibility with old scripts'
+)
diff --git a/plugins/perl/meson.build b/plugins/perl/meson.build
index 5e5d6d71..180797ee 100644
--- a/plugins/perl/meson.build
+++ b/plugins/perl/meson.build
@@ -13,11 +13,17 @@ hexchat_perl_module = custom_target('hexchat-perl-header',
   command: [generate_perl_header, '@OUTPUT@', '@INPUT@']
 )
 
-irc_perl_module = custom_target('irc-perl-header',
-  input: 'lib/IRC.pm',
-  output: 'irc.pm.h',
-  command: [generate_perl_header, '@OUTPUT@', '@INPUT@']
-)
+perl_cflags = []
+irc_perl_module = []
+
+if get_option('with-perl-legacy-api')
+  irc_perl_module = custom_target('irc-perl-header',
+    input: 'lib/IRC.pm',
+    output: 'irc.pm.h',
+    command: [generate_perl_header, '@OUTPUT@', '@INPUT@']
+  )
+  perl_cflags += '-DOLD_PERL'
+endif
 
 perl = find_program('perl')
 
@@ -25,7 +31,6 @@ ret = run_command([perl, '-MExtUtils::Embed', '-e', 'ccopts'])
 if ret.returncode() != 0
   error('perl: Failed to get cflags')
 endif
-perl_cflags = []
 foreach flag : ret.stdout().strip().split(' ')
   if flag.startswith('-I') or flag.startswith('-D')
     perl_cflags += flag