Browse Source

Merge pull request #854 from Naoir/perl-threads

perl: Add initial threading support
lilik-openwrt-22.03
Steven Barth 10 years ago
parent
commit
922dc01896
12 changed files with 10447 additions and 7 deletions
  1. +5
    -0
      lang/perl/Config.in
  2. +23
    -6
      lang/perl/Makefile
  3. +1162
    -0
      lang/perl/files/config.sh-arm-mt.in
  4. +1162
    -0
      lang/perl/files/config.sh-armeb-mt.in
  5. +1164
    -0
      lang/perl/files/config.sh-avr32-mt.in
  6. +1148
    -0
      lang/perl/files/config.sh-i486-mt.in
  7. +1162
    -0
      lang/perl/files/config.sh-mips-mt.in
  8. +1162
    -0
      lang/perl/files/config.sh-mips64-mt.in
  9. +1148
    -0
      lang/perl/files/config.sh-mipsel-mt.in
  10. +1162
    -0
      lang/perl/files/config.sh-powerpc-mt.in
  11. +1148
    -0
      lang/perl/files/config.sh-x86_64-mt.in
  12. +1
    -1
      lang/perl/perlbase.mk

+ 5
- 0
lang/perl/Config.in View File

@ -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


+ 23
- 6
lang/perl/Makefile View File

@ -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
- 0
lang/perl/files/config.sh-arm-mt.in
File diff suppressed because it is too large
View File


+ 1162
- 0
lang/perl/files/config.sh-armeb-mt.in
File diff suppressed because it is too large
View File


+ 1164
- 0
lang/perl/files/config.sh-avr32-mt.in
File diff suppressed because it is too large
View File


+ 1148
- 0
lang/perl/files/config.sh-i486-mt.in
File diff suppressed because it is too large
View File


+ 1162
- 0
lang/perl/files/config.sh-mips-mt.in
File diff suppressed because it is too large
View File


+ 1162
- 0
lang/perl/files/config.sh-mips64-mt.in
File diff suppressed because it is too large
View File


+ 1148
- 0
lang/perl/files/config.sh-mipsel-mt.in
File diff suppressed because it is too large
View File


+ 1162
- 0
lang/perl/files/config.sh-powerpc-mt.in
File diff suppressed because it is too large
View File


+ 1148
- 0
lang/perl/files/config.sh-x86_64-mt.in
File diff suppressed because it is too large
View File


+ 1
- 1
lang/perl/perlbase.mk View File

@ -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…
Cancel
Save