Merge pull request #854 from Naoir/perl-threads
perl: Add initial threading support
This commit is contained in:
commit
922dc01896
12 changed files with 10447 additions and 7 deletions
|
@ -1,6 +1,11 @@
|
||||||
menu "Configuration"
|
menu "Configuration"
|
||||||
depends on PACKAGE_perl
|
depends on PACKAGE_perl
|
||||||
|
|
||||||
|
config PERL_THREADS
|
||||||
|
bool "Enable threading support"
|
||||||
|
default y if (mips || mipsel || x86 || x86_64 || armeb || arm) && (USE_UCLIBC || USE_EGLIBC)
|
||||||
|
default n
|
||||||
|
|
||||||
config PERL_TESTS
|
config PERL_TESTS
|
||||||
bool "Include perl tests"
|
bool "Include perl tests"
|
||||||
default n
|
default n
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright (C) 2006-2014 OpenWrt.org
|
# Copyright (C) 2006-2015 OpenWrt.org
|
||||||
#
|
#
|
||||||
# This is free software, licensed under the GNU General Public License v2.
|
# This is free software, licensed under the GNU General Public License v2.
|
||||||
# See /LICENSE for more information.
|
# See /LICENSE for more information.
|
||||||
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=perl
|
PKG_NAME:=perl
|
||||||
PKG_VERSION:=5.20.1
|
PKG_VERSION:=5.20.1
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=3
|
||||||
|
|
||||||
PKG_SOURCE_URL:=ftp://ftp.cpan.org/pub/CPAN/src/5.0 \
|
PKG_SOURCE_URL:=ftp://ftp.cpan.org/pub/CPAN/src/5.0 \
|
||||||
http://www.cpan.org/src/5.0/perl-5.20.0.tar.gz \
|
http://www.cpan.org/src/5.0/perl-5.20.0.tar.gz \
|
||||||
|
@ -40,15 +40,30 @@ ifneq ($(CONFIG_USE_EGLIBC),)
|
||||||
EXTRA_LIBS:=bsd
|
EXTRA_LIBS:=bsd
|
||||||
EXTRA_LIBDIRS:=$(STAGING_DIR)/lib
|
EXTRA_LIBDIRS:=$(STAGING_DIR)/lib
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Filter -g3, it will break Compress-Raw-Zlib
|
# Filter -g3, it will break Compress-Raw-Zlib
|
||||||
TARGET_CFLAGS_PERL:=$(patsubst -g3,-g,$(TARGET_CFLAGS))
|
TARGET_CFLAGS_PERL:=$(patsubst -g3,-g,$(TARGET_CFLAGS))
|
||||||
TARGET_CPPFLAGS_PERL:=$(patsubst -g3,-g,$(TARGET_CPPFLAGS))
|
TARGET_CPPFLAGS_PERL:=$(patsubst -g3,-g,$(TARGET_CPPFLAGS))
|
||||||
|
|
||||||
# A list of disabled testss
|
# Handle threading
|
||||||
|
ifdef CONFIG_PERL_THREADS
|
||||||
|
PERL_CONFIG_SUFFIX:=-mt
|
||||||
|
|
||||||
|
# uclibc doesn't provide crypt_r(). Enable crypt() usage for glibc builds only
|
||||||
|
ifdef CONFIG_USE_EGLIBC
|
||||||
|
CRYPT_R_PROTO:=REENTRANT_PROTO_B_CCS
|
||||||
|
CRYPT:=define
|
||||||
|
else
|
||||||
|
CRYPT_R_PROTO:=0
|
||||||
|
CRYPT:=undef
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# A list of disabled tests
|
||||||
# ExtUtils tests are disabled for now as we don't support building
|
# ExtUtils tests are disabled for now as we don't support building
|
||||||
# native extensions on the target machine at the moment
|
# native extensions on the target machine at the moment
|
||||||
PERL_DISABLEDTESTS:=cpan/ExtUtils-Constant cpan/ExtUtils-MakeMaker
|
PERL_DISABLEDTESTS:=cpan/ExtUtils-Constant cpan/ExtUtils-MakeMaker
|
||||||
# We're on Linux, so don't even package those
|
# We're on Linux, so don't even package them
|
||||||
PERL_DISABLEDTESTS+=cpan/Win32API-File cpan/Win32 ext/VMS-DCLsym ext/VMS-Filespec ext/VMS-Stdio ext/Win32CORE
|
PERL_DISABLEDTESTS+=cpan/Win32API-File cpan/Win32 ext/VMS-DCLsym ext/VMS-Filespec ext/VMS-Stdio ext/Win32CORE
|
||||||
# NDBM and ODBM not supported
|
# NDBM and ODBM not supported
|
||||||
PERL_DISABLEDTESTS+=ext/NDBM_File ext/ODBM_File
|
PERL_DISABLEDTESTS+=ext/NDBM_File ext/ODBM_File
|
||||||
|
@ -64,7 +79,7 @@ define Package/perl
|
||||||
CATEGORY:=Languages
|
CATEGORY:=Languages
|
||||||
TITLE:=The Perl intepreter
|
TITLE:=The Perl intepreter
|
||||||
URL:=http://www.perl.com/
|
URL:=http://www.perl.com/
|
||||||
DEPENDS:=+USE_EGLIBC:libbsd
|
DEPENDS:=+USE_EGLIBC:libbsd +PERL_THREADS:libpthread
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/perl/description
|
define Package/perl/description
|
||||||
|
@ -108,8 +123,10 @@ define Build/Configure
|
||||||
-e 's!%%EXTRA_PERLLIBDIRS%%!$(EXTRA_LIBDIRS:%=-L%)!g' \
|
-e 's!%%EXTRA_PERLLIBDIRS%%!$(EXTRA_LIBDIRS:%=-L%)!g' \
|
||||||
-e 's!%%IPV6%%!$(if $($(CONFIG_IPV6)),define,undef)!g' \
|
-e 's!%%IPV6%%!$(if $($(CONFIG_IPV6)),define,undef)!g' \
|
||||||
-e 's!%%HOSTMINIPERL%%!$(HOST_PERL_PREFIX)/bin/perl!g' \
|
-e 's!%%HOSTMINIPERL%%!$(HOST_PERL_PREFIX)/bin/perl!g' \
|
||||||
|
-e 's!%%CRYPT_R_PROTO%%!$(CRYPT_R_PROTO)!g' \
|
||||||
|
-e 's!%%CRYPT%%!$(CRYPT)!g' \
|
||||||
-e 's!%%HOSTGENERATE%%!$(HOST_PERL_PREFIX)/bin/generate_uudmap!g' \
|
-e 's!%%HOSTGENERATE%%!$(HOST_PERL_PREFIX)/bin/generate_uudmap!g' \
|
||||||
files/config.sh-$(patsubst i386,i486,$(ARCH)).in \
|
files/config.sh-$(patsubst i386,i486,$(ARCH))$(PERL_CONFIG_SUFFIX).in \
|
||||||
> $(PKG_BUILD_DIR)/config.sh
|
> $(PKG_BUILD_DIR)/config.sh
|
||||||
(cd $(PKG_BUILD_DIR) && ./Configure -S)
|
(cd $(PKG_BUILD_DIR) && ./Configure -S)
|
||||||
install -m 0644 $(PKG_BUILD_DIR)/config.h $(PKG_BUILD_DIR)/xconfig.h
|
install -m 0644 $(PKG_BUILD_DIR)/config.h $(PKG_BUILD_DIR)/xconfig.h
|
||||||
|
|
1162
lang/perl/files/config.sh-arm-mt.in
Normal file
1162
lang/perl/files/config.sh-arm-mt.in
Normal file
File diff suppressed because it is too large
Load diff
1162
lang/perl/files/config.sh-armeb-mt.in
Normal file
1162
lang/perl/files/config.sh-armeb-mt.in
Normal file
File diff suppressed because it is too large
Load diff
1164
lang/perl/files/config.sh-avr32-mt.in
Normal file
1164
lang/perl/files/config.sh-avr32-mt.in
Normal file
File diff suppressed because it is too large
Load diff
1148
lang/perl/files/config.sh-i486-mt.in
Normal file
1148
lang/perl/files/config.sh-i486-mt.in
Normal file
File diff suppressed because it is too large
Load diff
1162
lang/perl/files/config.sh-mips-mt.in
Normal file
1162
lang/perl/files/config.sh-mips-mt.in
Normal file
File diff suppressed because it is too large
Load diff
1162
lang/perl/files/config.sh-mips64-mt.in
Normal file
1162
lang/perl/files/config.sh-mips64-mt.in
Normal file
File diff suppressed because it is too large
Load diff
1148
lang/perl/files/config.sh-mipsel-mt.in
Normal file
1148
lang/perl/files/config.sh-mipsel-mt.in
Normal file
File diff suppressed because it is too large
Load diff
1162
lang/perl/files/config.sh-powerpc-mt.in
Normal file
1162
lang/perl/files/config.sh-powerpc-mt.in
Normal file
File diff suppressed because it is too large
Load diff
1148
lang/perl/files/config.sh-x86_64-mt.in
Normal file
1148
lang/perl/files/config.sh-x86_64-mt.in
Normal file
File diff suppressed because it is too large
Load diff
|
@ -562,7 +562,7 @@ $(eval $(call BuildPackage,perlbase-essential))
|
||||||
|
|
||||||
define Package/perlbase-experimental
|
define Package/perlbase-experimental
|
||||||
$(call Package/perlbase-template)
|
$(call Package/perlbase-template)
|
||||||
TITLE:=perl module to enable/disable experimental features
|
TITLE:=experimental perl module
|
||||||
DEPENDS+=+perlbase-essential +perlbase-feature
|
DEPENDS+=+perlbase-essential +perlbase-feature
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue