intltool: fix build issues

This commit fixes various build failures caused by the host-perl
series.

Currently, the variables PERL and PERL5LIB are available only during
the configure step of host-intltool, but they are also needed when
running host-intltool, in all packages that depend on
host-intltool. Without them, host-intltool cannot work as it doesn't
find the libxml-parser-perl module installed in
$(HOST_DIR)/usr/lib/perl.

This commit therefore makes the PERL and PERL5LIB variables global, so
that all packages can access them.

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Reviewed-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Francois Perrad 2014-10-17 20:48:01 +02:00 committed by Thomas Petazzoni
parent 9a2d5f9297
commit 2081534cd4
3 changed files with 16 additions and 6 deletions

View File

@ -232,6 +232,17 @@ HOST_LDFLAGS += -L$(HOST_DIR)/lib -L$(HOST_DIR)/usr/lib -Wl,-rpath,$(HOST_DIR)/
HOSTCC_VERSION := $(shell $(HOSTCC_NOCCACHE) --version | \
sed -n 's/^.* \([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)[ ]*.*$$/\1\2\3/p')
# host-intltool should be executed with the system perl, so we save
# the path to the system perl, before a host-perl built by Buildroot
# might get installed into $(HOST_DIR)/usr/bin and therefore appears
# in our PATH. This system perl will be used as INTLTOOL_PERL.
export PERL=$(shell which perl)
# host-intltool needs libxml-parser-perl, which Buildroot installs in
# $(HOST_DIR)/usr/lib/perl, so we must make sure that the system perl
# finds this perl module by exporting the proper value for PERL5LIB.
export PERL5LIB=$(HOST_DIR)/usr/lib/perl
TARGET_CONFIGURE_OPTS = PATH=$(BR_PATH) \
AR="$(TARGET_AR)" \
AS="$(TARGET_AS)" \
@ -267,7 +278,8 @@ TARGET_CONFIGURE_OPTS = PATH=$(BR_PATH) \
LDFLAGS="$(TARGET_LDFLAGS)" \
FCFLAGS="$(TARGET_FCFLAGS)" \
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
STAGING_DIR="$(STAGING_DIR)"
STAGING_DIR="$(STAGING_DIR)" \
INTLTOOL_PERL=$(PERL)
TARGET_MAKE_ENV = PATH=$(BR_PATH)
@ -292,7 +304,8 @@ HOST_CONFIGURE_OPTS = PATH=$(BR_PATH) \
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
PKG_CONFIG_SYSROOT_DIR="/" \
PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig:$(HOST_DIR)/usr/share/pkgconfig" \
LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)"
LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)" \
INTLTOOL_PERL=$(PERL)
HOST_MAKE_ENV = PATH=$(BR_PATH) \
LD_LIBRARY_PATH="$(HOST_DIR)/usr/lib:$(LD_LIBRARY_PATH)" \

View File

@ -10,9 +10,6 @@ INTLTOOL_LICENSE = GPLv2+
INTLTOOL_LICENSE_FILES = COPYING
HOST_INTLTOOL_DEPENDENCIES = host-gettext host-libxml-parser-perl
HOST_INTLTOOL_CONF_OPTS = \
PERL=`which perl` \
PERL5LIB=$(HOST_DIR)/usr/lib/perl
$(eval $(autotools-package))
$(eval $(host-autotools-package))

View File

@ -20,7 +20,7 @@
################################################################################
PERL_ARCHNAME = $(ARCH)-linux
PERL_RUN = $(HOST_DIR)/usr/bin/perl
PERL_RUN = PERL5LIB= $(HOST_DIR)/usr/bin/perl
################################################################################
# inner-perl-package -- defines how the configuration, compilation and