From ae4d71939c4c86b847e549561cef7774c74ec5c0 Mon Sep 17 00:00:00 2001 From: "berkeviktor@aol.com" Date: Sun, 29 Aug 2010 04:55:58 +0200 Subject: [PATCH] make perl version selectable --- build/build-x64.bat | 15 ++++++-- build/build-x86.bat | 15 ++++++-- build/release-x64.bat | 4 ++- build/release-x86.bat | 4 ++- build/xchat-wdk.iss | 27 +++++++++----- config.h | 2 +- plugins/makefile.mak | 7 ---- plugins/perl/makefile-510.mak | 36 +++++++++++++++++++ plugins/perl/makefile-512.mak | 36 +++++++++++++++++++ .../perl/{makefile.mak => makefile-58.mak} | 9 ++++- src/makeinc.skel | 5 --- 11 files changed, 132 insertions(+), 28 deletions(-) create mode 100644 plugins/perl/makefile-510.mak create mode 100644 plugins/perl/makefile-512.mak rename plugins/perl/{makefile.mak => makefile-58.mak} (79%) diff --git a/build/build-x64.bat b/build/build-x64.bat index c13459b6..6276677c 100644 --- a/build/build-x64.bat +++ b/build/build-x64.bat @@ -5,7 +5,7 @@ type makeinc.skel >> makeinc.mak set INCLUDE=c:\WinDDK\7600.16385.1\inc\api;c:\WinDDK\7600.16385.1\inc\crt;c:\WinDDK\7600.16385.1\inc\api\crt\stl70;c:\mozilla-build\build\xchat-dev64\include set LIB=c:\WinDDK\7600.16385.1\lib\wnet\amd64;c:\WinDDK\7600.16385.1\lib\Crt\amd64 set OPATH=%PATH% -set PATH=c:\WinDDK\7600.16385.1\bin\x86\amd64;c:\WinDDK\7600.16385.1\bin\x86;c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64;c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64;c:\mozilla-build\build\xchat-dev64\bin;c:\mozilla-build\perl-5.12-x64\bin +set PATH=c:\WinDDK\7600.16385.1\bin\x86\amd64;c:\WinDDK\7600.16385.1\bin\x86;c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64;c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64;c:\mozilla-build\build\xchat-dev64\bin cd common nmake /nologo /f makefile.mak clean cd ..\fe-gtk @@ -17,6 +17,17 @@ nmake /nologo /f makefile.mak cd ..\plugins nmake /nologo /f makefile.mak clean nmake /nologo /f makefile.mak -cd ..\build +cd perl +set OOPATH=%PATH% +set PATH=%OOPATH%;c:\mozilla-build\perl-5.8-x64\bin +nmake /nologo /f makefile-58.mak clean +nmake /nologo /f makefile-58.mak +set PATH=%OOPATH%;c:\mozilla-build\perl-5.10-x64\bin +nmake /nologo /f makefile-510.mak clean +nmake /nologo /f makefile-510.mak +set PATH=%OOPATH%;c:\mozilla-build\perl-5.12-x64\bin +nmake /nologo /f makefile-512.mak clean +nmake /nologo /f makefile-512.mak +cd ..\..\build set PATH=%OPATH% call release-x64.bat diff --git a/build/build-x86.bat b/build/build-x86.bat index 72814e0a..5f252252 100644 --- a/build/build-x86.bat +++ b/build/build-x86.bat @@ -4,7 +4,7 @@ type makeinc.skel > makeinc.mak set INCLUDE=c:\WinDDK\7600.16385.1\inc\api;c:\WinDDK\7600.16385.1\inc\crt;c:\WinDDK\7600.16385.1\inc\api\crt\stl70;c:\mozilla-build\build\xchat-dev32\include set LIB=c:\WinDDK\7600.16385.1\lib\wxp\i386;c:\WinDDK\7600.16385.1\lib\Crt\i386 set OPATH=%PATH% -set PATH=c:\WinDDK\7600.16385.1\bin\x86\x86;c:\WinDDK\7600.16385.1\bin\x86;c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin;c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin;c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE;c:\mozilla-build\build\xchat-dev32\bin;c:\mozilla-build\mingw32\bin;c:\mozilla-build\perl-5.12-x86\bin +set PATH=c:\WinDDK\7600.16385.1\bin\x86\x86;c:\WinDDK\7600.16385.1\bin\x86;c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin;c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin;c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE;c:\mozilla-build\build\xchat-dev32\bin;c:\mozilla-build\mingw32\bin nmake /nologo /f makefile.mak clean cd pixmaps nmake /nologo /f makefile.mak @@ -13,7 +13,18 @@ nmake /nologo /f makefile.mak cd ..\plugins nmake /nologo /f makefile.mak clean nmake /nologo /f makefile.mak -cd ..\build +cd perl +set OOPATH=%PATH% +set PATH=%OOPATH%;c:\mozilla-build\perl-5.8-x86\bin +nmake /nologo /f makefile-58.mak clean +nmake /nologo /f makefile-58.mak +set PATH=%OOPATH%;c:\mozilla-build\perl-5.10-x86\bin +nmake /nologo /f makefile-510.mak clean +nmake /nologo /f makefile-510.mak +set PATH=%OOPATH%;c:\mozilla-build\perl-5.12-x86\bin +nmake /nologo /f makefile-512.mak clean +nmake /nologo /f makefile-512.mak +cd ..\..\build call compile-po-files.bat cd ..\build set PATH=%OPATH% diff --git a/build/release-x64.bat b/build/release-x64.bat index fc410486..fd191414 100644 --- a/build/release-x64.bat +++ b/build/release-x64.bat @@ -31,7 +31,9 @@ copy %SSL_BIN%\ssleay32.dll %XCHAT_DEST%\ssleay32.dll.x64 copy %SSL_BIN%\zlib1.dll %XCHAT_DEST%\zlib1.dll.x64 copy ..\plugins\ewc\xcewc.dll %XCHAT_DEST%\plugins\xcewc.dll.x64 copy ..\plugins\lua\xclua.dll %XCHAT_DEST%\plugins\xclua.dll.x64 -copy ..\plugins\perl\xcperl.dll %XCHAT_DEST%\plugins\xcperl.dll.x64 +copy ..\plugins\perl\xcperl-58.dll %XCHAT_DEST%\plugins\xcperl-58.dll.x64 +copy ..\plugins\perl\xcperl-510.dll %XCHAT_DEST%\plugins\xcperl-510.dll.x64 +copy ..\plugins\perl\xcperl-512.dll %XCHAT_DEST%\plugins\xcperl-512.dll.x64 copy ..\plugins\python\xcpython.dll %XCHAT_DEST%\plugins\xcpython.dll.x64 copy ..\plugins\tcl\xctcl.dll %XCHAT_DEST%\plugins\xctcl.dll.x64 copy ..\plugins\xdcc\xcxdcc.dll %XCHAT_DEST%\plugins\xcxdcc.dll.x64 diff --git a/build/release-x86.bat b/build/release-x86.bat index f21548b6..3bef1277 100644 --- a/build/release-x86.bat +++ b/build/release-x86.bat @@ -37,7 +37,9 @@ copy %SSL_BIN%\ssleay32.dll %XCHAT_DEST% copy %SSL_BIN%\zlib1.dll %XCHAT_DEST% xcopy /q /s /i ..\plugins\ewc\xcewc.dll %XCHAT_DEST%\plugins\ copy ..\plugins\lua\xclua.dll %XCHAT_DEST%\plugins -copy ..\plugins\perl\xcperl.dll %XCHAT_DEST%\plugins +copy ..\plugins\perl\xcperl-58.dll %XCHAT_DEST%\plugins +copy ..\plugins\perl\xcperl-510.dll %XCHAT_DEST%\plugins +copy ..\plugins\perl\xcperl-512.dll %XCHAT_DEST%\plugins copy ..\plugins\python\xcpython.dll %XCHAT_DEST%\plugins copy ..\plugins\tcl\xctcl.dll %XCHAT_DEST%\plugins copy ..\plugins\xdcc\xcxdcc.dll %XCHAT_DEST%\plugins diff --git a/build/xchat-wdk.iss b/build/xchat-wdk.iss index fe96dfa9..cd0e537d 100644 --- a/build/xchat-wdk.iss +++ b/build/xchat-wdk.iss @@ -1,9 +1,9 @@ [Setup] AppName=XChat-WDK -AppVerName=XChat-WDK r1464 -AppVersion=14.64 -VersionInfoVersion=14.64 -OutputBaseFilename=XChat-WDK r1464 +AppVerName=XChat-WDK r1464-2 +AppVersion=14.64.2 +VersionInfoVersion=14.64.2 +OutputBaseFilename=XChat-WDK r1464-2 AppPublisher=XChat-WDK AppPublisherURL=http://code.google.com/p/xchat-wdk/ AppCopyright=Copyright (C) 1998-2010 Peter Zelezny @@ -38,7 +38,7 @@ Name: "translations"; Description: "Translations"; Types: normal full custom Name: "plugins"; Description: "Language Interfaces"; Types: full custom Name: "plugins\lua"; Description: "Lua (experimental)"; Types: full custom Name: "plugins\lua\luawdk"; Description: "Lua-WDK 5.1.4-2"; Types: full custom -Name: "plugins\perl"; Description: "Perl (needs ActivePerl 5.12)"; Types: full custom +Name: "plugins\perl"; Description: "Perl (needs ActivePerl)"; Types: full custom Name: "plugins\python"; Description: "Python (needs ActivePython 2.6)"; Types: full custom Name: "plugins\tcl"; Description: "Tcl (needs ActiveTcl 8.5)"; Types: full custom @@ -46,6 +46,9 @@ Name: "plugins\tcl"; Description: "Tcl (needs ActiveTcl 8.5)"; Types: full custo Name: portablemode; Description: "Yes"; GroupDescription: "Portable Install (no Registry entries, no Start Menu icons, no uninstaller):"; Flags: unchecked Name: x86; Description: "x86"; GroupDescription: "XChat-WDK version:"; Flags: exclusive unchecked Name: x64; Description: "x64"; GroupDescription: "XChat-WDK version:"; Flags: exclusive; Check: Is64BitInstallMode +Name: perl58; Description: "5.8"; GroupDescription: "ActivePerl version:"; Flags: exclusive unchecked +Name: perl510; Description: "5.10"; GroupDescription: "ActivePerl version:"; Flags: exclusive unchecked +Name: perl512; Description: "5.12"; GroupDescription: "ActivePerl version:"; Flags: exclusive [Files] Source: "COPYING"; DestDir: "{app}"; Components: libs @@ -158,15 +161,23 @@ Source: "plugins\xcxdcc.dll.x64"; DestDir: "{app}\plugins"; DestName: "xcxdcc.dl Source: "plugins\xclua.dll"; DestDir: "{app}\plugins"; Components: plugins\lua; Tasks: x86 Source: "plugins\xclua.dll.x64"; DestDir: "{app}\plugins"; DestName: "xclua.dll"; Components: plugins\lua; Tasks: x64 -Source: "plugins\xcperl.dll"; DestDir: "{app}\plugins"; Components: plugins\perl; Tasks: x86 -Source: "plugins\xcperl.dll.x64"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Components: plugins\perl; Tasks: x64 - Source: "plugins\xcpython.dll"; DestDir: "{app}\plugins"; Components: plugins\python; Tasks: x86 Source: "plugins\xcpython.dll.x64"; DestDir: "{app}\plugins"; DestName: "xcpython.dll"; Components: plugins\python; Tasks: x64 Source: "plugins\xctcl.dll"; DestDir: "{app}\plugins"; Components: plugins\tcl; Tasks: x86 Source: "plugins\xctcl.dll.x64"; DestDir: "{app}\plugins"; DestName: "xctcl.dll"; Components: plugins\tcl; Tasks: x64 + + +Source: "plugins\xcperl-58.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Components: plugins\perl; Tasks: x86 and perl58 +Source: "plugins\xcperl-510.dll.x64"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Components: plugins\perl; Tasks: x64 and perl58 + +Source: "plugins\xcperl-510.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Components: plugins\perl; Tasks: x86 and perl510 +Source: "plugins\xcperl-510.dll.x64"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Components: plugins\perl; Tasks: x64 and perl510 + +Source: "plugins\xcperl-512.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Components: plugins\perl; Tasks: x86 and perl512 +Source: "plugins\xcperl-512.dll.x64"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Components: plugins\perl; Tasks: x64 and perl512 + [Icons] Name: "{group}\XChat-WDK"; Filename: "{app}\xchat.exe"; Tasks: not portablemode Name: "{group}\Uninstall XChat-WDK"; Filename: "{uninstallexe}"; Tasks: not portablemode diff --git a/config.h b/config.h index f3ec915b..649f54e1 100644 --- a/config.h +++ b/config.h @@ -6,7 +6,7 @@ #define USE_GTKSPELL #endif*/ #define PACKAGE_NAME "xchat" -#define PACKAGE_VERSION "r1464" +#define PACKAGE_VERSION "r1464-2" #define XCHATLIBDIR "." #define XCHATSHAREDIR "." #define OLD_PERL diff --git a/plugins/makefile.mak b/plugins/makefile.mak index 8a83b5a6..82cc41ec 100644 --- a/plugins/makefile.mak +++ b/plugins/makefile.mak @@ -3,8 +3,6 @@ all: @-$(MAKE) /nologo /s /f makefile.mak $@ @cd ..\lua @-$(MAKE) /nologo /s /f makefile.mak $@ - @cd ..\perl - @-$(MAKE) /nologo /s /f makefile.mak $@ @cd ..\python @-$(MAKE) /nologo /s /f makefile.mak $@ @cd ..\tcl @@ -23,11 +21,6 @@ clean: @del lua\*.exp @del lua\*.lib @del lua\*.obj - @del perl\*.def - @del perl\*.dll - @del perl\*.exp - @del perl\*.lib - @del perl\*.obj @del python\*.def @del python\*.dll @del python\*.exp diff --git a/plugins/perl/makefile-510.mak b/plugins/perl/makefile-510.mak new file mode 100644 index 00000000..4cb8b550 --- /dev/null +++ b/plugins/perl/makefile-510.mak @@ -0,0 +1,36 @@ +include "..\..\src\makeinc.mak" + +TARGET = xcperl-510.dll +PERLLIB = perl510 + +!ifdef X64 +PERLPATH = c:\mozilla-build\perl-5.10-x64\lib\CORE +!else +PERLPATH = c:\mozilla-build\perl-5.10-x86\lib\CORE +!endif + +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$(PERLPATH) -DPERL_DLL=\"$(PERLLIB).dll\" + +perl.c: xchat.pm.h + +xchat.pm.h: Xchat.pm IRC.pm + perl.exe generate_header + +$(TARGET): perl.obj perl.def + $(LINK) /DLL /out:$(TARGET) perl.obj $(LDFLAGS) $(PERLLIB).lib /libpath:$(PERLPATH) /DELAYLOAD:$(PERLLIB).dll 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..10ee054d --- /dev/null +++ b/plugins/perl/makefile-512.mak @@ -0,0 +1,36 @@ +include "..\..\src\makeinc.mak" + +TARGET = xcperl-512.dll +PERLLIB = perl512 + +!ifdef X64 +PERLPATH = c:\mozilla-build\perl-5.12-x64\lib\CORE +!else +PERLPATH = c:\mozilla-build\perl-5.12-x86\lib\CORE +!endif + +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$(PERLPATH) -DPERL_DLL=\"$(PERLLIB).dll\" + +perl.c: xchat.pm.h + +xchat.pm.h: Xchat.pm IRC.pm + perl.exe generate_header + +$(TARGET): perl.obj perl.def + $(LINK) /DLL /out:$(TARGET) perl.obj $(LDFLAGS) $(PERLLIB).lib /libpath:$(PERLPATH) /DELAYLOAD:$(PERLLIB).dll 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.mak b/plugins/perl/makefile-58.mak similarity index 79% rename from plugins/perl/makefile.mak rename to plugins/perl/makefile-58.mak index fd54f458..e26c6220 100644 --- a/plugins/perl/makefile.mak +++ b/plugins/perl/makefile-58.mak @@ -1,6 +1,13 @@ include "..\..\src\makeinc.mak" -TARGET = $(PERLOUTPUT) +TARGET = xcperl-58.dll +PERLLIB = perl58 + +!ifdef X64 +PERLPATH = c:\mozilla-build\perl-5.8-x64\lib\CORE +!else +PERLPATH = c:\mozilla-build\perl-5.8-x86\lib\CORE +!endif all: $(TARGET) diff --git a/src/makeinc.skel b/src/makeinc.skel index 6c1c3984..8eb5feb5 100644 --- a/src/makeinc.skel +++ b/src/makeinc.skel @@ -22,7 +22,6 @@ CPPFLAGS = $(CPPFLAGS) /favor:AMD64 /D_WIN64 LDFLAGS = $(LDFLAGS) msvcrt_win2003.obj LUAPATH = c:\mozilla-build\build\lua-wdk-5.1.4-2-x64 -PERLPATH = c:\mozilla-build\perl-5.12-x64\lib\CORE PYTHONPATH = c:\mozilla-build\python-2.6-x64 TCLPATH = c:\mozilla-build\tcl-8.5-x64 !else @@ -42,7 +41,6 @@ LIBS = $(LIBS) /libpath:$(OPENSSLPATH)\lib libeay32.lib ssleay32.lib LDFLAGS = $(LDFLAGS) msvcrt_winxp.obj LUAPATH = c:\mozilla-build\build\lua-wdk-5.1.4-2-x86 -PERLPATH = c:\mozilla-build\perl-5.12-x86\lib\CORE PYTHONPATH = c:\mozilla-build\python-2.6-x86 TCLPATH = c:\mozilla-build\tcl-8.5-x86 @@ -53,9 +51,6 @@ MMX = YES LUALIB = lua51 LUAOUTPUT = xclua.dll -PERLLIB = perl512 -PERLOUTPUT = xcperl.dll - PYTHONLIB = python26 PYTHONOUTPUT = xcpython.dll