diff options
author | Siep Kroonenberg <siepo@cybercomm.nl> | 2016-04-25 10:43:08 +0000 |
---|---|---|
committer | Siep Kroonenberg <siepo@cybercomm.nl> | 2016-04-25 10:43:08 +0000 |
commit | 05c3395fb67298feca584db22d9c95ca457715eb (patch) | |
tree | defeb9853152d59685d8e39425fcff398252424d /Master/source/tlperl/tlperl.README | |
parent | 1c218197a77dd9f5ab364894cc80bd7738796223 (diff) |
Updated tlperl sources
git-svn-id: svn://tug.org/texlive/trunk@40736 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/source/tlperl/tlperl.README')
-rw-r--r-- | Master/source/tlperl/tlperl.README | 172 |
1 files changed, 51 insertions, 121 deletions
diff --git a/Master/source/tlperl/tlperl.README b/Master/source/tlperl/tlperl.README index a56c80b5a42..1ca3911431d 100644 --- a/Master/source/tlperl/tlperl.README +++ b/Master/source/tlperl/tlperl.README @@ -1,4 +1,4 @@ -NOTES ON BUILDING TLPERL 2015 +NOTES ON BUILDING TLPERL 2016 BUILD PLATFORM @@ -7,18 +7,20 @@ Linux. GETTING THE PERL SOURCE -I downloaded the latest stable Perl source 5.20.2 from CPAN. +I downloaded the latest stable Perl source 5.22.1 from CPAN. THE COMPILER The file README.win32 in the root of the distribution contains compilation instructions, which lists various supported MinGW distributions, including a trimmed-down version of MinGW64 offered -by the Strawberry Perl project. I unzipped -mingw64-w32-gcc4.8.3_20140727.zip from -http://strawberryperl.com/package/kmx/32_gcctoolchain/ and +by the Strawberry Perl project. I downloaded +mingw64-w32-gcc4.9.2_20150513.zip and 32bit_dmake-4.12.2-bin_20140810.zip from -http://strawberryperl.com/package/kmx/32_tools/ +http://strawberryperl.com/package/kmx/32_gcctoolchain/ and +http://strawberryperl.com/package/kmx/32_tools/ respectively, +unzipped mingw and put dmake.exe and the dmake startup subdirectory +in the bin subdirectory of mingw. This MinGW compiler does not require installation; it is sufficient to prepend <root>\bin to the searchpath before use. @@ -28,91 +30,13 @@ BUILDING PERL I went to the win32 subdirectory of the Perl source. In makefile.mk I adjusted relevant settings to my build environment. As in the previous release, I turned off optimization in the hope to avoid -some intractable failures: - -*** makefile.mk.orig 2015-01-28 22:08:46.000000000 +0100 ---- makefile.mk 2015-04-24 14:02:38.037487500 +0200 -*************** -*** 27,33 **** - # newly built perl. - # - INST_DRV *= c: -! INST_TOP *= $(INST_DRV)\perl - - # - # Uncomment if you want to build a 32-bit Perl using a 32-bit compiler ---- 27,33 ---- - # newly built perl. - # - INST_DRV *= c: -! INST_TOP *= $(INST_DRV)\tlperl - - # - # Uncomment if you want to build a 32-bit Perl using a 32-bit compiler -*************** -*** 144,150 **** - # If you are using GCC, 4.3 or later by default we add the -fwrapv option. - # See https://rt.perl.org/Ticket/Display.html?id=121505 - # -! #GCCWRAPV *= define - - # - # If you are using Intel C++ Compiler uncomment this ---- 144,150 ---- - # If you are using GCC, 4.3 or later by default we add the -fwrapv option. - # See https://rt.perl.org/Ticket/Display.html?id=121505 - # -! GCCWRAPV *= define - - # - # If you are using Intel C++ Compiler uncomment this -*************** -*** 209,215 **** - # not be quoted) - # - .IF "$(CCTYPE)" == "GCC" -! CCHOME *= C:\MinGW - .ELSE - CCHOME *= $(MSVCDIR) - .ENDIF ---- 209,215 ---- - # not be quoted) - # - .IF "$(CCTYPE)" == "GCC" -! CCHOME *= X:\mingw - .ELSE - CCHOME *= $(MSVCDIR) - .ENDIF -*************** -*** 465,474 **** - -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 - - .IF "$(CFG)" == "Debug" -! OPTIMIZE = -g -O2 -DDEBUGGING - LINK_DBG = -g - .ELSE -! OPTIMIZE = -s -O2 - LINK_DBG = -s - .ENDIF - ---- 465,474 ---- - -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 - - .IF "$(CFG)" == "Debug" -! OPTIMIZE = -g -O0 -DDEBUGGING - LINK_DBG = -g - .ELSE -! OPTIMIZE = -s -O0 - LINK_DBG = -s - .ENDIF - -[end of patch] +some intractable failures. A diff for makefile.mk is included. I compiled with - dmake + dmake && dmake test -and installed with +There were no test errors. I installed with dmake installbare @@ -121,65 +45,71 @@ and installed with INSTALLING MODULES When adding modules, I added the new Perl bin directory to the -searchpath. I downloaded all the modules from CPAN and added them with +searchpath. I downloaded needed modules from CPAN and added them +with perl Makefile.PL && dmake && dmake test && dmake install They are, in order of processing: -Math::Int64 0.52 +Math::Int64 0.54 IO::String 1.08 Digest::SHA1 2.13 -File::Which 1.16 +File::Which 1.21 Encode::compat 0.07 -Encode::Locale 1.04 +Encode::Locale 1.05 Windows-specific: -Win32::API 0.80 -Win32::WinError 0.04 (just copying WinError.pm to lib/Win32) +Win32::API 0.84 +Win32::WinError 0.04 (just copying WinError.pm to site/lib/Win32) + Win32API::Registry 0.33 -Win32::Console 0.10 -Win32::TieRegistry 0.29 (errors in testing, as always) -Win32::Shortcut 0.08 -Win32::OLE 0.1712 - warnings +Win32::Console 0.10 (no tests) +Win32::TieRegistry 0.30 (tests ok, for once) +Win32::Shortcut 0.08 (no tests) +Win32::OLE 0.1712 LWP and dependencies, in order of compilation/installation: -Socket 2.018 +Socket 2.021 Date::Parse 2.30 (file TimeDate-2.30.tar.gz) HTTP::Date 6.02 File::Listing 6.04 IO::HTML 1.001 LWP::MediaTypes 6.02 -URI 1.67 -HTTP::Message 6.06 +URI 1.71 +HTTP::Message 6.11 HTML::Tagset 3.20 -HTML::Parser 3.71 +HTML::Parser 3.72 WWW::RobotRules 6.02 HTTP::Negotiate 6.01 -Net::HTTP 6.07 -Mozilla::CA 20141217 +Net::HTTP 6.09 +Mozilla::CA 20160104 HTTP::Daemon 6.01 HTTP::Cookies 6.01 -LWP 6.13 (file libwww-perl-6.13.tar.gz) +LWP 6.15 (file libwww-perl-6.15.tar.gz) Perl/Tk: Tk 804.033 -This module did not compile rightaway. +This module did not compile rightaway: -1. In Tk-804.033/PNG/zlib/win32/zlib.def I had to remove the LIBRARY -line at the start. I also removed - maybe unnecessarily - the lines -starting with `;'. +1. In Tk-804.033/PNG/zlib/win32/zlib.def I had to comment out the + LIBRARY line at the start. 2. An entry '-limm32' somehow did not make it into LDLOADLIBS in the -generated makefile. After manually adding this at the end of the -LDLOADLIBS definition, the module compiled. + generated Makefile in the Tk source root directory. After + manually adding this at the end of the LDLOADLIBS definition, + dmake did succeed. Tk-DirSelect 1.12 +And another Windows module, not previously included: + +Win32-Process-0.16 + MAKING PERL PORTABLE There were hard-coded paths in lib/Config.pm and @@ -201,20 +131,22 @@ Config_heavy.pl got a similar treatment, in particular the single-quoted here-documents with markers !END! (very long) and EOVIRTUAL. -The original versions are still present under the names Config.pm.orig -and Config_heavy.pl.orig. +The original versions are still present in the lib directory under +the names Config.pm.orig and Config_heavy.pl.orig. MODIFICATIONS FOR TEXLIVE -- as explained above: our versions of lib/Config.pm and lib/Config_heavy.pl - compute the location of tlperl dynamically. -- The site/lib subdirectory is folded into lib. -- The lib/pods directory has been removed. +- As explained above: our versions of lib/Config.pm and lib/Config_heavy.pl + compute the location of tlperl dynamically. These files still + contain a hard-coded path for mingw. +- The lib/pods directory has been removed, to save some space. - The bin subdirectory now only contains exe- and dll files; batch files and Perl scripts have been removed. - Copied from mingw/bin to tlperl/bin: libgcc_s_sjlj_1.dll, libstdc++-6.dll and libwinpthread-1.dll +This time around, I kept the site directory tree separate. + TESTING WITH TEXLIVE For testing the new Perl with the installer, I unpacked the net @@ -224,13 +156,11 @@ For testing the new Perl with tlmgr-gui.exe from the installed TeX Live, I copied it into the fresh installation. Both tests were done with 32-bits Windows 7 Home Premium as regular -user and 64-bits Windows 8 Professional as admin user. +user and 64-bits Windows 7 Professional as admin user. tlmgr-gui appeared to work as intended. I also successfully ran the -uninstaller. However, later there turned out to be a transient -problem with updating tlperl, whose update coincided with a tlmgr -update. +uninstaller. Siep Kroonenberg -Last revision: May 5 2015 +Last revision: April 2016 |