diff options
Diffstat (limited to 'Master/tlpkg/TeXLive/TLUtils.pm')
-rw-r--r-- | Master/tlpkg/TeXLive/TLUtils.pm | 50 |
1 files changed, 46 insertions, 4 deletions
diff --git a/Master/tlpkg/TeXLive/TLUtils.pm b/Master/tlpkg/TeXLive/TLUtils.pm index f2a5b1ce093..f1ed9cca1f0 100644 --- a/Master/tlpkg/TeXLive/TLUtils.pm +++ b/Master/tlpkg/TeXLive/TLUtils.pm @@ -25,6 +25,8 @@ C<TeXLive::TLUtils> - utilities used in TeX Live infrastructure TeXLive::TLUtils::platform(); TeXLive::TLUtils::platform_name($canonical_host); TeXLive::TLUtils::platform_desc($platform); + TeXLive::TLUtils::win32_32(); + TeXLive::TLUtils::win32_64(); TeXLive::TLUtils::win32(); TeXLive::TLUtils::unix(); @@ -217,7 +219,7 @@ BEGIN { ); @EXPORT = qw(setup_programs download_file process_logging_options tldie tlwarn info log debug ddebug dddebug debug_hash - win32 xchdir xsystem run_cmd system_pipe sort_archs); + win32 win32_32 win32_64 xchdir xsystem run_cmd system_pipe sort_archs); } use Cwd; @@ -251,6 +253,7 @@ sub platform { unless (defined $::_platform_) { if ($^O =~ /^MSWin/i) { $::_platform_ = "win32"; + # TODO make sure we check how to detect win64!!! } else { my $config_guess = "$::installerdir/tlpkg/installer/config.guess"; @@ -409,7 +412,8 @@ sub platform_desc { 'sparc-linux' => 'GNU/Linux on Sparc', 'sparc-solaris' => 'Solaris on Sparc', 'universal-darwin' => 'MacOSX universal binaries', - 'win32' => 'Windows', + 'win32' => 'Windows 32bit', + 'win64' => 'Windows 64bit', 'x86_64-cygwin' => 'Cygwin on x86_64', 'x86_64-darwin' => 'MacOSX current (10.12-) on x86_64', 'x86_64-darwinlegacy' => 'MacOSX legacy (10.6-) on x86_64', @@ -431,9 +435,44 @@ sub platform_desc { } +=item C<win32_32> + +Return C<1> if platform is Windows32 and C<0> otherwise. The test is +currently based on the value of Perl's C<$^O> variable. + +=cut + +sub win32_32 { + if ($^O =~ /^MSWin/i) { + # TODO check 32bit + return 1; + } else { + return 0; + } + # the following needs config.guess, which is quite bad ... + # return (&platform eq "win32")? 1:0; +} +=item C<win32_64> + +Return C<1> if platform is Windows64 and C<0> otherwise. The test is +currently based on the value of Perl's C<$^O> variable. + +=cut + +sub win32_64 { + if ($^O =~ /^MSWin/i) { + # TODO check 64bit + return 1; + } else { + return 0; + } + # the following needs config.guess, which is quite bad ... + # return (&platform eq "win32")? 1:0; +} + =item C<win32> -Return C<1> if platform is Windows and C<0> otherwise. The test is +Return C<1> if platform is Windows32 or 64 and C<0> otherwise. The test is currently based on the value of Perl's C<$^O> variable. =cut @@ -449,6 +488,9 @@ sub win32 { } + + + =item C<unix> Return C<1> if platform is UNIX and C<0> otherwise. @@ -456,7 +498,7 @@ Return C<1> if platform is UNIX and C<0> otherwise. =cut sub unix { - return (&platform eq "win32")? 0:1; + return (&platform eq "win32" || &platform eq "win64" )? 0:1; } |