diff options
author | Timo Sirainen <cras@irssi.org> | 2001-02-22 20:39:35 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2001-02-22 20:39:35 +0000 |
commit | 469fde361894e3e2abda51e9351aae42832aa0a1 (patch) | |
tree | 516941c3d28b94573e6fec31556ccc0c38333164 /src/perl | |
parent | e2ff4550ea1c77c95db91ebb07eeea8f174e33dc (diff) | |
download | irssi-469fde361894e3e2abda51e9351aae42832aa0a1.zip |
Verify in configure that linking with perl's LDFLAGS actually works. If
perl lib dir is set, add 'use lib "/perl/lib/dir"' before each script
automatically.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1287 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/perl')
-rw-r--r-- | src/perl/Makefile.am | 1 | ||||
-rw-r--r-- | src/perl/perl.c | 11 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/perl/Makefile.am b/src/perl/Makefile.am index 5c31d908..4bc66891 100644 --- a/src/perl/Makefile.am +++ b/src/perl/Makefile.am @@ -15,6 +15,7 @@ perl.c: perl-signals-list.h INCLUDES = $(GLIB_CFLAGS) \ -DSCRIPTDIR=\""$(libdir)/irssi/scripts"\" \ + -DPERL_LIB_DIR=\""$(PERL_LIB_DIR)"\" \ $(PERL_CFLAGS) \ -I$(top_srcdir)/src \ -I$(top_srcdir)/src/core diff --git a/src/perl/perl.c b/src/perl/perl.c index 6239b9ed..95d2c2b3 100644 --- a/src/perl/perl.c +++ b/src/perl/perl.c @@ -72,7 +72,7 @@ static void irssi_perl_start(void) " my $sub = <FH>;\n" " close FH;\n" "\n" - " my $eval = qq{package $package; sub handler { $sub; }};\n" + " my $eval = qq{package $package; %s sub handler { $sub; }};\n" " {\n" " # hide our variables within this block\n" " my ($filename, $package, $sub);\n" @@ -83,6 +83,7 @@ static void irssi_perl_start(void) " eval {$package->handler;};\n" " die $@ if $@;\n" "}\n"; + char *code, *use_code; perl_signals_start(); perl_sources = NULL; @@ -91,7 +92,13 @@ static void irssi_perl_start(void) perl_construct(my_perl); perl_parse(my_perl, xs_init, 3, args, NULL); - perl_eval_pv(eval_file_code, TRUE); + + use_code = *PERL_LIB_DIR == '\0' ? "" : + "use lib \""PERL_LIB_DIR"\";"; + + code = g_strdup_printf(eval_file_code, use_code); + perl_eval_pv(code, TRUE); + g_free(code); perl_common_init(); } |