diff options
author | Siep Kroonenberg <siepo@cybercomm.nl> | 2014-04-23 21:38:28 +0000 |
---|---|---|
committer | Siep Kroonenberg <siepo@cybercomm.nl> | 2014-04-23 21:38:28 +0000 |
commit | 097688da96ec2c8d2d202a25ea6fd450db15cc4f (patch) | |
tree | 40b66b0a5e5752358f50e9543107c0ae3ba705d9 /Master/source/tlperl/tlperl.README | |
parent | c581c0efcec2202e4516d289b60b992b0cd5ca29 (diff) |
Sources tlperl 5.18
git-svn-id: svn://tug.org/texlive/trunk@33646 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/source/tlperl/tlperl.README')
-rw-r--r-- | Master/source/tlperl/tlperl.README | 157 |
1 files changed, 96 insertions, 61 deletions
diff --git a/Master/source/tlperl/tlperl.README b/Master/source/tlperl/tlperl.README index 4339bc7c958..774f5c418a6 100644 --- a/Master/source/tlperl/tlperl.README +++ b/Master/source/tlperl/tlperl.README @@ -2,40 +2,53 @@ NOTES ON BUILDING TLPERL 2012 November update BUILD PLATFORM -32-bits Windows XP Professional SP3 running under VirtualBox on -Linux. The user is not an administrator. +32-bits Windows 7 SP1 running under VirtualBox on +Linux. GETTING THE PERL SOURCE Release version: -I downloaded from CPAN: the latest stable Perl source 5.16.2 +I downloaded from CPAN: the latest stable Perl source 5.18.2 -COLLECTING A NATIVE BUILD ENVIRONMENT +THE COMPILER I found in the root of the distribution a file README.win32 containing compilation instructions, which listed both mingw32 from mingw.org and the newer mingw64 from mingw-w64.sf.net as possible -compilers. - -I downloaded and ran the automated downloader/installer -x86-mingw32-build-1.0-sh.tar.bz2. I selected gcc and g++. I added -the mingw32 bin subdirectory to the searchpath. - -Based on the same README.win32 from the Perl source, I downloaded -dmake-4.12-2009-SHAY.zip from -http://search.cpan.org/dist/dmake. Following the file readme.txt in -the root of this archive, I added the file dmake.exe and the startup -subdirectory to the bin subdirectory of mingw. +compilers, the latter one also being packaged with Strawberry +Perl. I used this bundled mingw, but not the rest on SP. It includes +dmake. BUILDING -I went to the win32 subdirectory of the Perl source. In makefile.mk I -adjusted relevant settings to my build environment. Hoping to avoid -some intractable failures I turned off optimization: - -*** makefile.mk.orig 2012-10-26 05:07:28.000000000 +0200 ---- makefile.mk 2012-11-16 17:50:27.947856481 +0100 -*** 428,434 **** +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 to avoid some +intractable failures. In addition, to avoid some errors while +running the test suite, I applied a patch which I found at +https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-perl/perl-5.18.0-add-missing-mingw-libs.patch + +*** makefile.mk.orig 2014-01-06 23:46:46.000000000 +0100 +--- makefile.mk 2014-04-22 14:51:45.000000000 +0200 +*************** +*** 187,193 **** + # not be quoted) + # + .IF "$(CCTYPE)" == "GCC" +! CCHOME *= C:\MinGW + .ELSE + CCHOME *= $(MSVCDIR) + .ENDIF +--- 187,193 ---- + # not be quoted) + # + .IF "$(CCTYPE)" == "GCC" +! CCHOME *= x:\strawberry\c + .ELSE + CCHOME *= $(MSVCDIR) + .ENDIF +*************** +*** 434,440 **** OPTIMIZE = -g -O2 -DDEBUGGING LINK_DBG = -g .ELSE @@ -43,21 +56,36 @@ some intractable failures I turned off optimization: LINK_DBG = -s .ENDIF ---- 428,434 ---- +--- 434,440 ---- OPTIMIZE = -g -O2 -DDEBUGGING LINK_DBG = -g .ELSE ! OPTIMIZE = -s -O0 LINK_DBG = -s .ENDIF + +*************** +*** 1505,1510 **** +--- 1505,1512 ---- + if exist $(CCDLLDIR)\libgcc_s_sjlj-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_sjlj-1.dll ..\t\$(NULL) + if exist $(CCDLLDIR)\libgcc_s_dw2-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_dw2-1.dll ..\t\$(NULL) + if exist $(CCDLLDIR)\libstdc++-6.dll $(XCOPY) $(CCDLLDIR)\libstdc++-6.dll ..\t\$(NULL) ++ if exist $(CCDLLDIR)\libwinpthread-1.dll $(XCOPY) $(CCDLLDIR)\libwinpthread-1.dll ..\t\$(NULL) ++ if exist $(CCDLLDIR)\libgcc_s_seh-1.dll $(XCOPY) $(CCDLLDIR)\libgcc_s_seh-1.dll ..\t\$(NULL) + .ENDIF + + test : test-prep +[end of patch] -Then I typed +I compiled with dmake -and +and installed with - dmake install + dmake installbare + +`installbare' omits the generation of html. There were hard-coded paths in lib/Config.pm and lib/Config_heavy.pl, which were likely to cause problems. @@ -74,75 +102,77 @@ care to replace single-quoted strings with double-quoted ones and escaping backslashes and other characters where necessary. I also parameterized the location of the mingw compiler. -Config_heavy.pl got a similar treatment: in single-quoted -here-documents with markers !END! (very long) and EOVIRTUAL I -replaced the hard-coded Perl paths. Because the $rootdir variable -needed to be interpolated, I shifted from single- to double-quoting, -which required escaping various characters. +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. Diffs are here. +and Config_heavy.pl.orig. -For adding modules, I added the new Perl bin directory to the -searchpath. I downloaded them all from CPAN. +When adding modules, I added the new Perl bin directory to the +searchpath. I downloaded all the modules from CPAN and added them with + + perl Makefile.PL + dmake + dmake install + +They are, in order of processing: + + Math-Int64-0.30.tar.gz Windows-specific: - Win32-API-0.68.tar.gz - Win32-Shortcut-0.07.tar.gz + Win32-API-0.77.tar.gz Win32API-Registry-0.32.tar.gz Win32-TieRegistry-0.26.tar.gz - Win32-Process-Info-1.019.tar.gz - Win32-OLE-0.1709.tar.gz + Win32-Shortcut-0.08.tar.gz + Win32-Process-Info-1.020.tar.gz + Win32-OLE-0.1711.tar.gz - warnings Perl/Tk: - Tk-804.030.tar.gz + Tk-804.032.tar.gz + +This module did not compile rightaway: an entry '-limm32' somehow +did not make it into LDLOADLIBS in the generated makefile. After +manually adding this at the end of the definition, the module +compiled. + + Tk-DirSelect-1.12.tar.gz LWP and dependencies, in order of compilation/installation: HTML-Tagset-3.20.tar.gz - HTML-Parser-3.69.tar.gz + HTML-Parser-3.71.tar.gz URI-1.60.tar.gz Encode-Locale-1.03.tar.gz HTTP-Date-6.02.tar.gz File-Listing-6.04.tar.gz LWP-MediaTypes-6.02.tar.gz - HTTP-Message-6.03.tar.gz + IO-HTML-1.00.tar.gz + HTTP-Message-6.06.tar.gz HTTP-Cookies-6.01.tar.gz HTTP-Daemon-6.01.tar.gz HTTP-Negotiate-6.01.tar.gz - Net-HTTP-6.03.tar.gz + Net-HTTP-6.06.tar.gz WWW-RobotRules-6.02.tar.gz - libwww-perl-6.04.tar.gz + LWP-Protocol-https-6.06.tar.gz + libwww-perl-6.06.tar.gz Other: IO-String-1.08.tar.gz Digest-SHA1-2.13.tar.gz (for 3rd-party scripts) -They were all configured, compiled and installed with - - perl Makefile.PL - dmake - dmake install - -Compared to 2011, two modules have been dropped because of -additional dependencies: - - Carp-Always-0.11 (for backtracing) - File-Which-1.09 (for a 3rd-party script) - MODIFICATIONS FOR TEXLIVE -- lib/Config.pm and lib/Config_heavy.pl now compute the location of - tlperl dynamically; see above. -- The html directory has been removed. +- 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 bin subdirectory now only contains exe- and dll files; - Batch files and Perl scripts have been removed. + batch files and Perl scripts have been removed. - Copied from mingw/bin to tlperl/bin: - libgcc_s_dw2_1.dll and libstdc++-6.dll. + libgcc_s_sjlj_1.dll, libstdc++-6.dll, libpng16-16_.dll and. TESTING WITH TEXLIVE @@ -152,9 +182,14 @@ installer and replaced its tlperl with the new one. For testing the new Perl with the installed TeX Live, I copied it into the fresh installation. +Both tests with 32-bits Windows XP Enterprise as regular user and +64-bits Windows 7 Professional as admin user. + +These tests do not require a for perl updated texlive.tlpdb. + tlmgr appeared to work as intended. I also successfully ran the uninstaller. Siep Kroonenberg -Last revision: May 18 2013 +Last revision: April 23 2014 |