perlmod: avoid 'do' semantics and just concatenate
In Perl the 'do' construct has some odd side-effects regarding $@, $!, and return values (i.e. 'do'ing a file which evaluates to undef can be a little ambiguous). Instead, generate a preamble to the Makefile.PL and execute it as stdin. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
This commit is contained in:
parent
6973d0e1d8
commit
1e0db9ba80
2 changed files with 7 additions and 6 deletions
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||
|
||||
PKG_NAME:=perl
|
||||
PKG_VERSION:=5.26.1
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_SOURCE_URL:=\
|
||||
https://cpan.metacpan.org/src/5.0 \
|
||||
|
|
|
@ -55,9 +55,10 @@ endef
|
|||
|
||||
define perlmod/Configure
|
||||
(cd $(if $(3),$(3),$(PKG_BUILD_DIR)); \
|
||||
PERL_MM_USE_DEFAULT=1 \
|
||||
$(2) \
|
||||
$(PERL_CMD) -MConfig -e '$$$${tied %Config::Config}{cpprun}="$(GNU_TARGET_NAME)-cpp -E"; do "./Makefile.PL"' \
|
||||
(echo -e 'use Config;\n\n$$$${tied %Config::Config}{cpprun}="$(GNU_TARGET_NAME)-cpp -E";\n' ; cat Makefile.PL) | \
|
||||
PERL_MM_USE_DEFAULT=1 \
|
||||
$(2) \
|
||||
$(PERL_CMD) -I. -- - \
|
||||
$(1) \
|
||||
AR=ar \
|
||||
CC=$(GNU_TARGET_NAME)-gcc \
|
||||
|
@ -103,8 +104,8 @@ define perlmod/Configure
|
|||
INSTALLVENDORMAN3DIR=" " \
|
||||
LINKTYPE=dynamic \
|
||||
DESTDIR=$(PKG_INSTALL_DIR) \
|
||||
);
|
||||
sed 's!^PERL_INC = .*!PERL_INC = $(STAGING_DIR)/usr/lib/perl5/$(PERL_VERSION)/CORE/!' -i $(if $(3),$(3),$(PKG_BUILD_DIR))/Makefile
|
||||
)
|
||||
sed -i -e 's!^PERL_INC = .*!PERL_INC = $(STAGING_DIR)/usr/lib/perl5/$(PERL_VERSION)/CORE/!' $(if $(3),$(3),$(PKG_BUILD_DIR))/Makefile
|
||||
endef
|
||||
|
||||
define perlmod/Compile
|
||||
|
|
Loading…
Reference in a new issue