commit d977fbafcb24c35211972132e62c77b9fcb8adba
parent 30a979a9924ee843c469a65b4bdeaf2e81fa9793
Author: sbyx <steven@midlink.org>
Date: Sat, 19 Jul 2014 12:47:41 +0200
Merge pull request #106 from Naoir/perl
perl: Modernize build, re-enable building external perl modules, remove microperl
Diffstat:
9 files changed, 94 insertions(+), 135 deletions(-)
diff --git a/lang/perl/Makefile b/lang/perl/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=perl
PKG_VERSION:=5.20.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MD5SUM:=406ec049ebe3afcc80d9c76ec78ca4f8
PKG_SOURCE_URL:=ftp://ftp.cpan.org/pub/CPAN/src/5.0 \
@@ -26,16 +26,24 @@ PKG_LICENSE:=GPLv1 ARTISTIC
PKG_LICENSE_FILES:=Copying Artistic README
PKG_MAINTAINER:=Marcel Denia <naoir@gmx.net>
+# Build settings
PKG_BUILD_DIR:=$(BUILD_DIR)/perl/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL:=1
+PKG_BUILD_DEPENDS:=perl/host
+PKG_BUILD_PARALLEL:=1
+HOST_BUILD_PARALLEL:=1
-include $(INCLUDE_DIR)/package.mk
-
+# Variables used during configuration/build
+HOST_PERL_PREFIX:=$(STAGING_DIR_HOST)/usr
ifneq ($(CONFIG_USE_EGLIBC),)
-EXTRA_LIBS:=bsd
-EXTRA_LIBDIRS:=$(STAGING_DIR)/lib
+ EXTRA_LIBS:=bsd
+ EXTRA_LIBDIRS:=$(STAGING_DIR)/lib
endif
-define Package/perl/Default
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
+
+define Package/perl
SUBMENU:=Perl
SECTION:=lang
CATEGORY:=Languages
@@ -44,75 +52,24 @@ define Package/perl/Default
DEPENDS:=+USE_EGLIBC:libbsd
endef
-define Package/microperl
-$(call Package/perl/Default)
- TITLE+=(minimal version)
-endef
-
-define Package/microperl/description
- A perl package without operating-specific functions such as readdir.
-endef
-
-define Build/Template
-
-$(STAMP_CONFIGURED)-$(1): $(STAMP_PREPARED)
- -$(MAKE) -C $(PKG_BUILD_DIR) clean
- $(call Build/$(1)/Configure)
- touch $$@
-
-$(STAMP_BUILT)-$(1): $(STAMP_CONFIGURED)-$(1)
- $(call Build/$(1)/Compile)
- touch $$@
-
-$(STAMP_BUILT): $(STAMP_BUILT)-$(1)
-
-endef
-
-define Build/microperl/Configure
-endef
-
-define Build/microperl/Compile
- +$(MAKE) $(MAKE_J) -C $(PKG_BUILD_DIR) -f Makefile.micro \
- CC="gcc" ugenerate_uudmap
- +$(MAKE) $(MAKE_J) -C $(PKG_BUILD_DIR) -f Makefile.micro \
- CC="$(TARGET_CC)" OPTIMIZE="$(TARGET_CFLAGS)"
- $(INSTALL_DIR) $(PKG_INSTALL_DIR)/usr/bin/
- $(CP) $(PKG_BUILD_DIR)/microperl $(PKG_INSTALL_DIR)/usr/bin/
-endef
-
-define Package/microperl/install
- $(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/microperl $(1)/usr/bin/
-endef
-
-include perlmod.mk
-
-define Package/perl
-$(call Package/perl/Default)
-endef
-
define Package/perl/description
Perl is a stable, cross platform programming language.
It is used for mission critical projects in the public and private sectors
and is widely used to program web applications of all needs.
endef
-define Build/perl/Configure
- @echo
- @echo "===> Stage 1: Configure host perl"
- @echo
- mkdir -p $(PKG_BUILD_DIR)/host-perl
- (cd $(PKG_BUILD_DIR)/host-perl && sh ../Configure -der -Dmksymlinks -Uusedl -Dotherlibdirs=$(PERL_LIB))
-
- @echo
- @echo "===> Stage 2: Build host perl binary with static extensions"
- @echo
- +$(MAKE) $(MAKE_J) -C $(PKG_BUILD_DIR)/host-perl miniperl
-
- @echo
- @echo "===> Stage 3: Configure target perl"
- @echo
- -$(MAKE) -C $(PKG_BUILD_DIR) clean
+# Static host perl
+define Host/Configure
+ ( cd $(HOST_BUILD_DIR); ./Configure -der -Uusedl -Duserelocatableinc -Dprefix=$(HOST_PERL_PREFIX) )
+endef
+
+define Host/Install
+ ( cd $(HOST_BUILD_DIR); ./miniperl installperl )
+ $(CP) $(HOST_BUILD_DIR)/generate_uudmap $(HOST_PERL_PREFIX)/bin/
+endef
+
+# Target perl
+define Build/Configure
sed \
-e 's!%%CC%%!$(TARGET_CC)!g' \
-e 's!%%CFLAGS%%!$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)!g' \
@@ -125,37 +82,16 @@ define Build/perl/Configure
-e 's!%%EXTRA_PERLLIBS%%!$(EXTRA_LIBS:%=-l%)!g' \
-e 's!%%EXTRA_PERLLIBDIRS%%!$(EXTRA_LIBDIRS:%=-L%)!g' \
-e 's!%%IPV6%%!$(if $($(CONFIG_IPV6)),define,undef)!g' \
- -e 's!%%HOSTMINIPERL%%!$(PKG_BUILD_DIR)/host-perl/miniperl!g' \
- -e 's!%%HOSTGENERATE%%!$(PKG_BUILD_DIR)/host-perl/generate_uudmap!g' \
+ -e 's!%%HOSTMINIPERL%%!$(HOST_PERL_PREFIX)/bin/perl!g' \
+ -e 's!%%HOSTGENERATE%%!$(HOST_PERL_PREFIX)/bin/generate_uudmap!g' \
files/config.sh-$(patsubst i386,i486,$(ARCH)).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
endef
-define Build/perl/Compile
- @echo
- @echo "===> Stage 4: Build target perl binary"
- @echo
- install -m 0644 $(PKG_BUILD_DIR)/config.h $(PKG_BUILD_DIR)/xconfig.h
- +$(MAKE) $(MAKE_J) -C $(PKG_BUILD_DIR) perl
- mkdir -p $(PKG_BUILD_DIR)/target-bin
- install -m 0755 $(PKG_BUILD_DIR)/perl $(PKG_BUILD_DIR)/target-bin/
-
- @echo
- @echo "===> Stage 5: Build target extensions and utils"
- @echo
- +$(MAKE) $(MAKE_J) -C $(PKG_BUILD_DIR)
-
- @echo
- @echo "===> Stage 6: Install Perl into staging dir"
- @echo
- (cd $(PKG_BUILD_DIR) && ./miniperl installperl --destdir=$(STAGING_DIR))
-
- @echo
- @echo "===> Stage 7: Install Perl into a temporary root"
- @echo
- mkdir -p $(PKG_INSTALL_DIR)
- (cd $(PKG_BUILD_DIR) && ./miniperl installperl --destdir=$(PKG_INSTALL_DIR))
+define Build/Compile
+ +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)
endef
define Package/perl/install
@@ -164,31 +100,13 @@ define Package/perl/install
ln -nsf perl$(PKG_VERSION) $(1)/usr/bin/perl
endef
-ifneq ($(CONFIG_PACKAGE_microperl),)
-define Build/microperl
- $(call Build/Template,microperl)
-endef
-endif
-$(eval $(Build/microperl))
-
-ifneq ($(CONFIG_PACKAGE_perl),)
-define Build/perl
- $(call Build/Template,perl)
-endef
-endif
-$(eval $(Build/perl))
-
-define Build/Configure
-endef
-
-define Build/Compile
-endef
$(eval $(call RequireCommand,rsync, \
$(PKG_NAME) requires rsync installed on the host-system. \
))
-$(eval $(call BuildPackage,microperl))
$(eval $(call BuildPackage,perl))
+$(eval $(call HostBuild))
+include perlmod.mk
-include perlbase.mk
diff --git a/lang/perl/files/config.sh-arm.in b/lang/perl/files/config.sh-arm.in
@@ -36,8 +36,6 @@ api_subversion='0'
ar='ar'
-archlib=''
-archlibexp=''
archname64=''
archname='arm-linux-uclibc'
archobjs=''
@@ -1151,6 +1149,8 @@ installsitelib='/usr/lib/perl5/5.20'
nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader B/Debug CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version'
privlib='/usr/lib/perl5/5.20'
privlibexp='/usr/lib/perl5/5.20'
+archlib='/usr/lib/perl5/5.20'
+archlibexp='/usr/lib/perl5/5.20'
version='5.20.0'
version_patchlevel_string='version 20 subversion 0'
PERL_VERSION=20
diff --git a/lang/perl/files/config.sh-armeb.in b/lang/perl/files/config.sh-armeb.in
@@ -36,8 +36,6 @@ api_subversion='0'
ar='ar'
-archlib=''
-archlibexp=''
archname64=''
archname='armeb-linux-uclibc'
archobjs=''
@@ -1151,6 +1149,8 @@ installsitelib='/usr/lib/perl5/5.20'
nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader B/Debug CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version'
privlib='/usr/lib/perl5/5.20'
privlibexp='/usr/lib/perl5/5.20'
+archlib='/usr/lib/perl5/5.20'
+archlibexp='/usr/lib/perl5/5.20'
version='5.20.0'
version_patchlevel_string='version 20 subversion 0'
PERL_VERSION=20
diff --git a/lang/perl/files/config.sh-avr32.in b/lang/perl/files/config.sh-avr32.in
@@ -36,8 +36,6 @@ api_subversion='0'
ar='ar'
-archlib=''
-archlibexp=''
archname64=''
archname='avr32-linux-uclibc'
archobjs=''
@@ -1153,6 +1151,8 @@ installsitelib='/usr/lib/perl5/5.20'
nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader B/Debug CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version'
privlib='/usr/lib/perl5/5.20'
privlibexp='/usr/lib/perl5/5.20'
+archlib='/usr/lib/perl5/5.20'
+archlibexp='/usr/lib/perl5/5.20'
version='5.20.0'
version_patchlevel_string='version 20 subversion 0'
PERL_VERSION=20
diff --git a/lang/perl/files/config.sh-i486.in b/lang/perl/files/config.sh-i486.in
@@ -34,8 +34,6 @@ aphostname='/bin/hostname'
api_revision='5'
api_subversion='0'
ar='ar'
-archlib=''
-archlibexp=''
archname64=''
archname='i386-linux-uclibc'
archobjs=''
@@ -1136,6 +1134,8 @@ installsitelib='/usr/lib/perl5/5.20'
nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader B/Debug CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version'
privlib='/usr/lib/perl5/5.20'
privlibexp='/usr/lib/perl5/5.20'
+archlib='/usr/lib/perl5/5.20'
+archlibexp='/usr/lib/perl5/5.20'
version='5.20.0'
version_patchlevel_string='version 20 subversion 0'
PERL_VERSION=20
diff --git a/lang/perl/files/config.sh-mips.in b/lang/perl/files/config.sh-mips.in
@@ -36,8 +36,6 @@ api_subversion='0'
ar='ar'
-archlib=''
-archlibexp=''
archname64=''
archname='mips-linux-uclibc'
archobjs=''
@@ -1151,6 +1149,8 @@ installsitelib='/usr/lib/perl5/5.20'
nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader B/Debug CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version'
privlib='/usr/lib/perl5/5.20'
privlibexp='/usr/lib/perl5/5.20'
+archlib='/usr/lib/perl5/5.20'
+archlibexp='/usr/lib/perl5/5.20'
version='5.20.0'
version_patchlevel_string='version 20 subversion 0'
PERL_VERSION=20
diff --git a/lang/perl/files/config.sh-mipsel.in b/lang/perl/files/config.sh-mipsel.in
@@ -34,8 +34,6 @@ aphostname='/bin/hostname'
api_revision='5'
api_subversion='0'
ar='ar'
-archlib=''
-archlibexp=''
archname64=''
archname='mipsel-linux-uclibc'
archobjs=''
@@ -1136,6 +1134,8 @@ installsitelib='/usr/lib/perl5/5.20'
nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader B/Debug CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version'
privlib='/usr/lib/perl5/5.20'
privlibexp='/usr/lib/perl5/5.20'
+archlib='/usr/lib/perl5/5.20'
+archlibexp='/usr/lib/perl5/5.20'
version='5.20.0'
version_patchlevel_string='version 20 subversion 0'
PERL_VERSION=20
diff --git a/lang/perl/files/config.sh-powerpc.in b/lang/perl/files/config.sh-powerpc.in
@@ -36,8 +36,6 @@ api_subversion='0'
ar='ar'
-archlib=''
-archlibexp=''
archname64=''
archname='powerpc-linux-uclibc'
archobjs=''
@@ -1151,6 +1149,8 @@ installsitelib='/usr/lib/perl5/5.20'
nonxs_ext='Archive/Tar Attribute/Handlers AutoLoader B/Debug CGI CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML Carp Config/Perl/V Devel/SelfStubber Digest Dumpvalue Env Errno Exporter ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/Miniperl ExtUtils/ParseXS File/Fetch File/Find File/Path File/Temp FileCache Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags IO/Compress IO/Socket/IP IO/Zlib IPC/Cmd IPC/Open3 JSON/PP Locale/Codes Locale/Maketext Locale/Maketext/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata NEXT Net/Ping Package/Constants Params/Check Parse/CPAN/Meta Perl/OSType PerlIO/via/QuotedPrint Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader autodie autouse base bignum constant encoding/warnings experimental if lib libnet parent perlfaq podlators version'
privlib='/usr/lib/perl5/5.20'
privlibexp='/usr/lib/perl5/5.20'
+archlib='/usr/lib/perl5/5.20'
+archlibexp='/usr/lib/perl5/5.20'
version='5.20.0'
version_patchlevel_string='version 20 subversion 0'
PERL_VERSION=20
diff --git a/lang/perl/perlmod.mk b/lang/perl/perlmod.mk
@@ -2,23 +2,64 @@
#
# Build environment
-PERL_CMD := $(STAGING_DIR)/usr/bin/perl
-PERL_LIB := $(STAGING_DIR)/usr/lib/perl5/5.20
+HOST_PERL_PREFIX:=$(STAGING_DIR_HOST)/usr
+ifneq ($(CONFIG_USE_EGLIBC),)
+ EXTRA_LIBS:=bsd
+ EXTRA_LIBDIRS:=$(STAGING_DIR)/lib
+endif
+PERL_CMD:=$(STAGING_DIR_HOST)/usr/bin/perl5.20.0
# Module install prefix
-PERL_SITELIB := /usr/lib/perl5/5.20
+PERL_SITELIB:=/usr/lib/perl5/5.20
define perlmod/Configure
(cd $(PKG_BUILD_DIR); \
- PERL5LIB=$(PERL_LIB) \
PERL_MM_USE_DEFAULT=1 \
$(2) \
$(PERL_CMD) Makefile.PL \
$(1) \
- PERL_LIB=$(PERL_LIB) \
- PERL_ARCHLIB=$(PERL_LIB) \
+ AR=ar \
+ CC=$(GNU_TARGET_NAME)-gcc \
+ CCCDLFLAGS=-fPIC \
+ CCDLFLAGS=-Wl,-E \
+ DLEXT=so \
+ DLSRC=dl_dlopen.xs \
+ EXE_EXT=" " \
+ FULL_AR=$(GNU_TARGET_NAME)-ar \
+ LD=$(GNU_TARGET_NAME)-gcc \
+ LDDLFLAGS="-shared $(TARGET_LDFLAGS)" \
+ LDFLAGS="$(EXTRA_LIBDIRS:%=-L%) $(EXTRA_LIBS:%=-l%) " \
+ LIBC=" " \
+ LIB_EXT=.a \
+ OBJ_EXT=.o \
+ OSNAME=linux \
+ OSVERS=2.4.30 \
+ RANLIB=: \
+ SITELIBEXP=" " \
+ SITEARCHEXP=" " \
+ SO=so \
+ VENDORARCHEXP=" " \
+ VENDORLIBEXP=" " \
+ SITEPREFIX=/usr \
+ INSTALLPRIVLIB=$(PERL_SITELIB) \
INSTALLSITELIB=$(PERL_SITELIB) \
+ INSTALLVENDORLIB=" " \
+ INSTALLARCHLIB=$(PERL_SITELIB) \
INSTALLSITEARCH=$(PERL_SITELIB) \
+ INSTALLVENDORARCH=" " \
+ INSTALLBIN=/usr/bin \
+ INSTALLSITEBIN=/usr/bin \
+ INSTALLVENDORBIN=" " \
+ INSTALLSCRIPT=/usr/bin \
+ INSTALLSITESCRIPT=/usr/bin \
+ INSTALLVENDORSCRIPT=" " \
+ INSTALLMAN1DIR=/usr/man/man1 \
+ INSTALLSITEMAN1DIR=/usr/man/man1 \
+ INSTALLVENDORMAN1DIR=" " \
+ INSTALLMAN3DIR=/usr/man/man3 \
+ INSTALLSITEMAN3DIR=/usr/man/man3 \
+ INSTALLVENDORMAN3DIR=" " \
+ LINKTYPE=dynamic \
DESTDIR=$(PKG_INSTALL_DIR) \
);
endef