Subject: | [PATCH]: X11 discovery on non-x86_64 platforms |
Date: | Mon, 12 May 2014 15:38:31 -0500 |
To: | bug-Tk [...] rt.cpan.org |
From: | Eric Bavier <ericbavier [...] gmail.com> |
When configuring Tk, one has the option to specify the location of the
X11 installation to use while building. On non-x86_64 platforms
however, when X11 is not installed in a "standard location",
configuration fails saying that no X11 could be found, despite the X11
installation directory being given with when invoking Makefile.PL as
in::
$ perl -v
This is perl 5, version 16, subversion 1 (v5.16.1) built for i686-linux
[...]
$ perl Makefile.PL X11="/path/to/x11"
[...]
Cannot find -lX11 anywhere --- cannot build Perl/Tk
Looking for X in /path/to/x11
Using -L/path/to/x11/lib to find /path/to/x11
The value of the X11 variable gets overwritten in myConfig. The
attached patch ensures that the value of X11 does not get overwritten
when the target platform is not x86_64.
On non-x86_64 systems, this conditional can cause a specified X11 build value
to be overwritten to null, causing x11 discovery to fail.
--- a/myConfig 2014-05-12 11:16:48.152719722 -0500
+++ b/myConfig 2014-05-12 11:16:24.704719113 -0500
@@ -350,7 +350,7 @@
#
# Prefer 64bit libraries on certain architectures
#
- unless (defined $xlib and $Config{'archname'} =~ m/x86_64/)
+ unless (defined $xlib or not $Config{'archname'} =~ m/x86_64/)
{
$xlib64 = &lX11(0, chooseX11(</usr/X11*/lib64>));
}
--
`~Eric