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"
|
||||
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
|
||||
bool "Include perl tests"
|
||||
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.
|
||||
# See /LICENSE for more information.
|
||||
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||
|
||||
PKG_NAME:=perl
|
||||
PKG_VERSION:=5.20.1
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
|
||||
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 \
|
||||
|
@ -40,15 +40,30 @@ ifneq ($(CONFIG_USE_EGLIBC),)
|
|||
EXTRA_LIBS:=bsd
|
||||
EXTRA_LIBDIRS:=$(STAGING_DIR)/lib
|
||||
endif
|
||||
|
||||
# Filter -g3, it will break Compress-Raw-Zlib
|
||||
TARGET_CFLAGS_PERL:=$(patsubst -g3,-g,$(TARGET_CFLAGS))
|
||||
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
|
||||
# native extensions on the target machine at the moment
|
||||
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
|
||||
# NDBM and ODBM not supported
|
||||
PERL_DISABLEDTESTS+=ext/NDBM_File ext/ODBM_File
|
||||
|
@ -64,7 +79,7 @@ define Package/perl
|
|||
CATEGORY:=Languages
|
||||
TITLE:=The Perl intepreter
|
||||
URL:=http://www.perl.com/
|
||||
DEPENDS:=+USE_EGLIBC:libbsd
|
||||
DEPENDS:=+USE_EGLIBC:libbsd +PERL_THREADS:libpthread
|
||||
endef
|
||||
|
||||
define Package/perl/description
|
||||
|
@ -108,8 +123,10 @@ define Build/Configure
|
|||
-e 's!%%EXTRA_PERLLIBDIRS%%!$(EXTRA_LIBDIRS:%=-L%)!g' \
|
||||
-e 's!%%IPV6%%!$(if $($(CONFIG_IPV6)),define,undef)!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' \
|
||||
files/config.sh-$(patsubst i386,i486,$(ARCH)).in \
|
||||
files/config.sh-$(patsubst i386,i486,$(ARCH))$(PERL_CONFIG_SUFFIX).in \
|
||||
> $(PKG_BUILD_DIR)/config.sh
|
||||
(cd $(PKG_BUILD_DIR) && ./Configure -S)
|
||||
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
|
||||
$(call Package/perlbase-template)
|
||||
TITLE:=perl module to enable/disable experimental features
|
||||
TITLE:=experimental perl module
|
||||
DEPENDS+=+perlbase-essential +perlbase-feature
|
||||
endef
|
||||
|
||||
|
|
Loading…
Reference in a new issue