aboutsummaryrefslogtreecommitdiff
path: root/lang/perl
diff options
context:
space:
mode:
authorPhilip Prindeville <philipp@redfish-solutions.com>2018-08-07 16:00:19 -0600
committerPhilip Prindeville <philipp@redfish-solutions.com>2018-08-13 13:23:11 -0600
commit0d9584724ff1c011f587540c2d25be8a90a81413 (patch)
treea1e92a5d4e41f0e5ae5953abdfd76dbf59e93582 /lang/perl
parent7f71fa5a8dd55a4b003848adbdb1bb65c6af67bb (diff)
perl: version modules and non-base packages
Currently external modules and non-base packages are numbered from their own internal number space, and even though the Perl ABI number is embedded into them this isn't externally visible. For example, perl-html-parser-3.72.1 could be built for ABI 5.26 or for 5.28, we can't easily tell. This changes all of that by embedding the ABI number into the filename. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Diffstat (limited to 'lang/perl')
3 files changed, 22 insertions, 4 deletions
diff --git a/lang/perl/Makefile b/lang/perl/Makefile
index 60c304691..86a4351ac 100644
--- a/lang/perl/Makefile
+++ b/lang/perl/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2006-2016 OpenWrt.org
+# Copyright (C) 2006-2018 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -7,8 +7,10 @@
include $(TOPDIR)/rules.mk
+include perlver.mk
+
PKG_NAME:=perl
-PKG_VERSION:=5.28.0
+PKG_VERSION:=$(PERL_VERSION)
PKG_RELEASE:=1
PKG_SOURCE_URL:=\
diff --git a/lang/perl/perlmod.mk b/lang/perl/perlmod.mk
index 48adea666..d00a8c42e 100644
--- a/lang/perl/perlmod.mk
+++ b/lang/perl/perlmod.mk
@@ -1,7 +1,13 @@
# This makefile simplifies perl module builds.
#
-PERL_VERSION:=5.28
+include ../perl/perlver.mk
+
+ifneq ($(PKG_NAME),perl)
+ PKG_VERSION:=$(PKG_VERSION)+perl$(PERL_VERSION2)
+endif
+
+PERL_VERSION:=$(PERL_VERSION2)
# Build environment
HOST_PERL_PREFIX:=$(STAGING_DIR_HOSTPKG)/usr
@@ -9,7 +15,7 @@ ifneq ($(CONFIG_USE_GLIBC),)
EXTRA_LIBS:=bsd
EXTRA_LIBDIRS:=$(STAGING_DIR)/lib
endif
-PERL_CMD:=$(STAGING_DIR_HOSTPKG)/usr/bin/perl$(PERL_VERSION).0
+PERL_CMD:=$(STAGING_DIR_HOSTPKG)/usr/bin/perl$(PERL_VERSION3)
MOD_CFLAGS_PERL:=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(TARGET_CFLAGS) $(TARGET_CPPFLAGS)
ifdef CONFIG_PERL_THREADS
diff --git a/lang/perl/perlver.mk b/lang/perl/perlver.mk
new file mode 100644
index 000000000..b23e68a20
--- /dev/null
+++ b/lang/perl/perlver.mk
@@ -0,0 +1,10 @@
+PERL_VERSION:=5.28.0
+
+PERL_EXPLODE:=$(subst ., ,$(PERL_VERSION))
+
+PERL_MAJOR:=$(word 1,$(PERL_EXPLODE))
+PERL_MINOR:=$(word 2,$(PERL_EXPLODE))
+PERL_REL:=$(word 3,$(PERL_EXPLODE))
+
+PERL_VERSION3:=$(PERL_VERSION)
+PERL_VERSION2:=$(PERL_MAJOR).$(PERL_MINOR)