|
@@ -29,7 +29,8 @@ use Dpkg::Gettext;
|
|
|
use Dpkg::ErrorHandling;
|
|
use Dpkg::ErrorHandling;
|
|
|
use Dpkg::Shlibs::Objdump;
|
|
use Dpkg::Shlibs::Objdump;
|
|
|
use Dpkg::Path qw(resolve_symlink canonpath);
|
|
use Dpkg::Path qw(resolve_symlink canonpath);
|
|
|
-use Dpkg::Arch qw(debarch_to_gnutriplet get_build_arch get_host_arch);
|
|
|
|
|
|
|
+use Dpkg::Arch qw(debarch_to_gnutriplet get_build_arch get_host_arch
|
|
|
|
|
+ gnutriplet_to_multiarch debarch_to_multiarch);
|
|
|
|
|
|
|
|
use constant DEFAULT_LIBRARY_PATH =>
|
|
use constant DEFAULT_LIBRARY_PATH =>
|
|
|
qw(/lib /usr/lib /lib32 /usr/lib32 /lib64 /usr/lib64
|
|
qw(/lib /usr/lib /lib32 /usr/lib32 /lib64 /usr/lib64
|
|
@@ -38,23 +39,27 @@ use constant DEFAULT_LIBRARY_PATH =>
|
|
|
# Adjust set of directories to consider when we're in a situation of a
|
|
# Adjust set of directories to consider when we're in a situation of a
|
|
|
# cross-build or a build of a cross-compiler
|
|
# cross-build or a build of a cross-compiler
|
|
|
my @crosslibrarypaths;
|
|
my @crosslibrarypaths;
|
|
|
-my $crossprefix;
|
|
|
|
|
|
|
+my ($crossprefix, $multiarch);
|
|
|
# Detect cross compiler builds
|
|
# Detect cross compiler builds
|
|
|
if ($ENV{GCC_TARGET}) {
|
|
if ($ENV{GCC_TARGET}) {
|
|
|
$crossprefix = debarch_to_gnutriplet($ENV{GCC_TARGET});
|
|
$crossprefix = debarch_to_gnutriplet($ENV{GCC_TARGET});
|
|
|
|
|
+ $multiarch = debarch_to_multiarch($ENV{GCC_TARGET});
|
|
|
}
|
|
}
|
|
|
if ($ENV{DEB_TARGET_GNU_TYPE} and
|
|
if ($ENV{DEB_TARGET_GNU_TYPE} and
|
|
|
($ENV{DEB_TARGET_GNU_TYPE} ne $ENV{DEB_BUILD_GNU_TYPE}))
|
|
($ENV{DEB_TARGET_GNU_TYPE} ne $ENV{DEB_BUILD_GNU_TYPE}))
|
|
|
{
|
|
{
|
|
|
$crossprefix = $ENV{DEB_TARGET_GNU_TYPE};
|
|
$crossprefix = $ENV{DEB_TARGET_GNU_TYPE};
|
|
|
|
|
+ $multiarch = gnutriplet_to_multiarch($ENV{DEB_TARGET_GNU_TYPE});
|
|
|
}
|
|
}
|
|
|
# host for normal cross builds.
|
|
# host for normal cross builds.
|
|
|
if (get_build_arch() ne get_host_arch()) {
|
|
if (get_build_arch() ne get_host_arch()) {
|
|
|
$crossprefix = debarch_to_gnutriplet(get_host_arch());
|
|
$crossprefix = debarch_to_gnutriplet(get_host_arch());
|
|
|
|
|
+ $multiarch = debarch_to_multiarch(get_host_arch());
|
|
|
}
|
|
}
|
|
|
# Define list of directories containing crossbuilt libraries
|
|
# Define list of directories containing crossbuilt libraries
|
|
|
if ($crossprefix) {
|
|
if ($crossprefix) {
|
|
|
- push @crosslibrarypaths, "/$crossprefix/lib", "/usr/$crossprefix/lib",
|
|
|
|
|
|
|
+ push @crosslibrarypaths, "/lib/$multiarch", "/usr/lib/$multiarch",
|
|
|
|
|
+ "/$crossprefix/lib", "/usr/$crossprefix/lib",
|
|
|
"/$crossprefix/lib32", "/usr/$crossprefix/lib32",
|
|
"/$crossprefix/lib32", "/usr/$crossprefix/lib32",
|
|
|
"/$crossprefix/lib64", "/usr/$crossprefix/lib64";
|
|
"/$crossprefix/lib64", "/usr/$crossprefix/lib64";
|
|
|
}
|
|
}
|