summaryrefslogtreecommitdiff
path: root/Master/source/tlperl/tlperl.README
diff options
context:
space:
mode:
authorSiep Kroonenberg <siepo@cybercomm.nl>2014-04-23 21:38:28 +0000
committerSiep Kroonenberg <siepo@cybercomm.nl>2014-04-23 21:38:28 +0000
commit097688da96ec2c8d2d202a25ea6fd450db15cc4f (patch)
tree40b66b0a5e5752358f50e9543107c0ae3ba705d9 /Master/source/tlperl/tlperl.README
parentc581c0efcec2202e4516d289b60b992b0cd5ca29 (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.README157
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