summary refs log tree commit diff stats
path: root/plugins/perl
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/perl')
-rw-r--r--plugins/perl/makefile-510.mak30
-rw-r--r--plugins/perl/makefile-512.mak30
-rw-r--r--plugins/perl/perl.c11
3 files changed, 69 insertions, 2 deletions
diff --git a/plugins/perl/makefile-510.mak b/plugins/perl/makefile-510.mak
new file mode 100644
index 00000000..60f6b2dc
--- /dev/null
+++ b/plugins/perl/makefile-510.mak
@@ -0,0 +1,30 @@
+include "..\..\src\makeinc.mak"
+
+DIRENTLIB = ..\..\src\common\dirent.lib
+TARGET = $(PERL510OUTPUT)
+
+all: $(TARGET)
+
+perl.def:
+	echo EXPORTS > perl.def
+	echo xchat_plugin_init >> perl.def
+	echo xchat_plugin_deinit >> perl.def
+	echo xchat_plugin_get_info >> perl.def
+
+perl.obj: perl.c
+	$(CC) $(CFLAGS) perl.c $(GLIB) /I$(PERL510PATH) /I.. /DPERL_DLL=\"$(PERL510LIB).dll\"
+
+perl.c: xchat.pm.h
+
+xchat.pm.h: lib/Xchat.pm lib/IRC.pm
+	perl.exe generate_header
+
+$(TARGET): perl.obj perl.def
+	$(LINK) /DLL /out:$(TARGET) perl.obj $(LDFLAGS) $(PERL510LIB).lib /libpath:$(PERL510PATH) /DELAYLOAD:$(PERL510LIB).dll $(DIRENTLIB) DELAYIMP.LIB user32.lib shell32.lib advapi32.lib /def:perl.def
+
+clean:
+	@del $(TARGET)
+	@del *.obj
+	@del perl.def
+	@del *.lib
+	@del *.exp
diff --git a/plugins/perl/makefile-512.mak b/plugins/perl/makefile-512.mak
new file mode 100644
index 00000000..e4887ff9
--- /dev/null
+++ b/plugins/perl/makefile-512.mak
@@ -0,0 +1,30 @@
+include "..\..\src\makeinc.mak"
+
+DIRENTLIB = ..\..\src\common\dirent.lib
+TARGET = $(PERL512OUTPUT)
+
+all: $(TARGET)
+
+perl.def:
+	echo EXPORTS > perl.def
+	echo xchat_plugin_init >> perl.def
+	echo xchat_plugin_deinit >> perl.def
+	echo xchat_plugin_get_info >> perl.def
+
+perl.obj: perl.c
+	$(CC) $(CFLAGS) perl.c $(GLIB) /I$(PERL512PATH) /I.. /DPERL_DLL=\"$(PERL512LIB).dll\"
+
+perl.c: xchat.pm.h
+
+xchat.pm.h: lib/Xchat.pm lib/IRC.pm
+	perl.exe generate_header
+
+$(TARGET): perl.obj perl.def
+	$(LINK) /DLL /out:$(TARGET) perl.obj $(LDFLAGS) $(PERL512LIB).lib /libpath:$(PERL512PATH) /DELAYLOAD:$(PERL512LIB).dll $(DIRENTLIB) DELAYIMP.LIB user32.lib shell32.lib advapi32.lib /def:perl.def
+
+clean:
+	@del $(TARGET)
+	@del *.obj
+	@del perl.def
+	@del *.lib
+	@del *.exp
diff --git a/plugins/perl/perl.c b/plugins/perl/perl.c
index a29ce65a..761566f9 100644
--- a/plugins/perl/perl.c
+++ b/plugins/perl/perl.c
@@ -22,12 +22,15 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
-#include <dirent.h>
 #ifdef ENABLE_NLS
 #include <locale.h>
 #endif
 #ifdef WIN32
 #include <windows.h>
+#define  _INC_DIRENT
+#include "../../src/common/dirent.h"
+#else
+#include <dirent.h>
 #endif
 
 #undef PACKAGE
@@ -1342,7 +1345,11 @@ perl_load_file (char *filename)
 			if (GetLastError () == ERROR_BAD_EXE_FORMAT)
 				/* http://forum.xchat.org/viewtopic.php?t=3277 */
 				thread_mbox ("Cannot use this " PERL_DLL "\n\n"
+#ifdef _WIN64
+								 "64-bit ActivePerl is required.");
+#else
 								 "32-bit ActivePerl is required.");
+#endif
 			else {
 				/* a lot of people install this old version */
 				lib = LoadLibraryA ("perl56.dll");
@@ -1357,7 +1364,7 @@ perl_load_file (char *filename)
 					thread_mbox ("Cannot open " PERL_DLL "\n\n"
 									 "You must have ActivePerl " PERL_REQUIRED_VERSION " installed in order to\n"
 									 "run perl scripts.\n\n"
-									 "http://www.activestate.com/ActivePerl/\n\n"
+									 "http://www.activestate.com/activeperl/downloads\n\n"
 									 "Make sure perl's bin directory is in your PATH.");
 				}
 			}