mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-08-01 23:47:42 +00:00
perl: add option "custom install"
allows same behaviour (and footprint) as microperl Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
1ff20d33e3
commit
fa3afe2d81
@ -16,6 +16,22 @@ config BR2_PACKAGE_PERL
|
|||||||
|
|
||||||
if BR2_PACKAGE_PERL
|
if BR2_PACKAGE_PERL
|
||||||
|
|
||||||
|
config BR2_PACKAGE_PERL_CUSTOM_INSTALL
|
||||||
|
bool "custom install"
|
||||||
|
help
|
||||||
|
Don't use the full install target
|
||||||
|
Install only a selection of modules (like microperl).
|
||||||
|
|
||||||
|
config BR2_PACKAGE_PERL_MODULES
|
||||||
|
string "additional modules"
|
||||||
|
depends on BR2_PACKAGE_PERL_CUSTOM_INSTALL
|
||||||
|
help
|
||||||
|
List of space-separated perl modules to copy to the rootfs.
|
||||||
|
|
||||||
|
Examples: constant.pm Getopt/Std.pm Time/Local.pm
|
||||||
|
|
||||||
|
Module dependencies are not automatic so check your needs.
|
||||||
|
|
||||||
config BR2_PACKAGE_PERL_DB_FILE
|
config BR2_PACKAGE_PERL_DB_FILE
|
||||||
bool "DB_File"
|
bool "DB_File"
|
||||||
select BR2_PACKAGE_BERKELEYDB
|
select BR2_PACKAGE_BERKELEYDB
|
||||||
|
@ -89,7 +89,38 @@ PERL_RUN_PERL = $(QEMU_USER) $(@D)/perl -Ilib
|
|||||||
PERL_ARCHNAME = $(shell $(PERL_RUN_PERL) -MConfig -e "print Config->{archname}")
|
PERL_ARCHNAME = $(shell $(PERL_RUN_PERL) -MConfig -e "print Config->{archname}")
|
||||||
PERL_LIB = $(TARGET_DIR)/usr/lib/perl5/$(PERL_VERSION)
|
PERL_LIB = $(TARGET_DIR)/usr/lib/perl5/$(PERL_VERSION)
|
||||||
PERL_ARCHLIB = $(PERL_LIB)/$(PERL_ARCHNAME)
|
PERL_ARCHLIB = $(PERL_LIB)/$(PERL_ARCHNAME)
|
||||||
|
PERL_MODS = $(call qstrip,$(BR2_PACKAGE_PERL_MODULES))
|
||||||
|
# Minimal set of modules required for 'perl -V' to work
|
||||||
|
PERL_ARCH_MODS = Config.pm Config_git.pl Config_heavy.pl
|
||||||
|
PERL_BASE_MODS = strict.pm vars.pm warnings.pm warnings/register.pm
|
||||||
|
|
||||||
|
define PERL_INSTALL_MODULES
|
||||||
|
for i in $(PERL_ARCH_MODS); do \
|
||||||
|
$(INSTALL) -m 0644 -D $(@D)/lib/$$i $(PERL_ARCHLIB)/$$i; \
|
||||||
|
done
|
||||||
|
for i in $(PERL_BASE_MODS); do \
|
||||||
|
$(INSTALL) -m 0644 -D $(@D)/lib/$$i $(PERL_LIB)/$$i; \
|
||||||
|
done
|
||||||
|
for i in $(PERL_MODS); do \
|
||||||
|
j=`echo $$i|cut -d : -f 1` ; \
|
||||||
|
if [ -d $(@D)/lib/$$j ] ; then \
|
||||||
|
cp -af $(@D)/lib/$$j $(PERL_LIB) ; \
|
||||||
|
fi ; \
|
||||||
|
if [ -f $(@D)/lib/$$i ] ; then \
|
||||||
|
$(INSTALL) -m 0644 -D $(@D)/lib/$$i $(PERL_LIB)/$$i; \
|
||||||
|
fi ; \
|
||||||
|
done
|
||||||
|
# Remove test files
|
||||||
|
find $(PERL_LIB) -type f -name *.t -exec rm -f {} \;
|
||||||
|
endef
|
||||||
|
|
||||||
|
ifeq ($(BR2_PACKAGE_PERL_CUSTOM_INSTALL),y)
|
||||||
|
define PERL_INSTALL_TARGET_CMDS
|
||||||
|
$(INSTALL) -m 0755 -D $(@D)/perl $(TARGET_DIR)/usr/bin/perl
|
||||||
|
$(INSTALL) -m 0755 -D $(@D)/libperl.so $(PERL_ARCHLIB)/CORE/libperl.so
|
||||||
|
$(PERL_INSTALL_MODULES)
|
||||||
|
endef
|
||||||
|
else
|
||||||
define PERL_INSTALL_TARGET_CMDS
|
define PERL_INSTALL_TARGET_CMDS
|
||||||
$(MAKE) INSTALL_DEPENDENCE= \
|
$(MAKE) INSTALL_DEPENDENCE= \
|
||||||
INSTALLFLAGS=-p \
|
INSTALLFLAGS=-p \
|
||||||
@ -98,6 +129,7 @@ define PERL_INSTALL_TARGET_CMDS
|
|||||||
rm -f $(PERL_ARCHLIB)/CORE/*.h
|
rm -f $(PERL_ARCHLIB)/CORE/*.h
|
||||||
find $(PERL_ARCHLIB) -type f -name *.bs -exec rm -f {} \;
|
find $(PERL_ARCHLIB) -type f -name *.bs -exec rm -f {} \;
|
||||||
endef
|
endef
|
||||||
|
endif
|
||||||
|
|
||||||
define PERL_CLEAN_CMDS
|
define PERL_CLEAN_CMDS
|
||||||
-$(MAKE) -C $(@D) clean
|
-$(MAKE) -C $(@D) clean
|
||||||
|
Loading…
x
Reference in New Issue
Block a user