[packages/*] remove special treatment when using glibc - support got dropped
[openwrt/svn-archive/archive.git] / lang / perl / Makefile
index 012a2e25c2cb5a71c50bf1f6ee2ebfb402d79eba..b059ac40e789b9381eca57f4ae4bdeab2cd35156 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2008 OpenWrt.org
+# Copyright (C) 2006-2011 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.10.0
-PKG_RELEASE:=1
+PKG_RELEASE:=7
 PKG_MD5SUM:=d2c39b002ebfd2c3c5dba589365c5a71
 
 PKG_SOURCE_URL:=ftp://ftp.cpan.org/pub/CPAN/src/5.0 \
@@ -17,18 +17,23 @@ PKG_SOURCE_URL:=ftp://ftp.cpan.org/pub/CPAN/src/5.0 \
                ftp://ftp.gmd.de/mirrors/CPAN/src/5.0 \
                ftp://ftp.funet.fi/pub/languages/perl/CPAN/src/5.0
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_CAT:=zcat
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/perl/$(PKG_NAME)-$(PKG_VERSION)
 
 include $(INCLUDE_DIR)/package.mk
 
+ifneq ($(CONFIG_USE_EGLIBC),)
+EXTRA_LIBS:=bsd
+EXTRA_LIBDIRS:=$(STAGING_DIR)/lib
+endif
+
 define Package/perl/Default
   SUBMENU:=Perl
   SECTION:=lang
   CATEGORY:=Languages
   TITLE:=The Perl intepreter
   URL:=http://www.perl.com/
+  DEPENDS:=+USE_EGLIBC:libbsd
 endef
 
 define Package/microperl
@@ -61,7 +66,7 @@ endef
 define Build/microperl/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) -f Makefile.micro \
                CC="$(TARGET_CC)" OPTIMIZE="$(TARGET_CFLAGS)"
-       mkdir -p $(PKG_INSTALL_DIR)/usr/bin/
+       $(INSTALL_DIR) $(PKG_INSTALL_DIR)/usr/bin/
        $(CP) $(PKG_BUILD_DIR)/microperl $(PKG_INSTALL_DIR)/usr/bin/
 endef
 
@@ -74,7 +79,6 @@ include perlmod.mk
 
 define Package/perl
 $(call Package/perl/Default)
-  MAINTAINER:=Peter Colberg <peter@petercolberg.org>
 endef
 
 define Package/perl/description
@@ -88,7 +92,7 @@ define Build/perl/Configure
        @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)
+       (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"
@@ -101,13 +105,15 @@ define Build/perl/Configure
        -$(MAKE) -C $(PKG_BUILD_DIR) clean
        sed \
                -e 's!%%CC%%!$(TARGET_CC)!g' \
-               -e 's!%%CFLAGS%%!$(TARGET_CFLAGS) -DUSE_CROSS_COMPILE -I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/include!g' \
+               -e 's!%%CFLAGS%%!$(TARGET_CFLAGS) -DUSE_CROSS_COMPILE $(TARGET_CPPFLAGS)!g' \
                -e 's!%%CPP%%!$(TARGET_CROSS)gcc -E!g' \
                -e 's!%%AR%%!$(TARGET_CROSS)ar!g' \
                -e 's!%%LD%%!$(TARGET_CROSS)gcc!g' \
-               -e 's!%%LDFLAGS%%!-rdynamic -L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib!g' \
+               -e 's!%%LDFLAGS%%!-rdynamic $(TARGET_LDFLAGS)!g' \
                -e 's!%%LIBDIRS%%!$(STAGING_DIR)/lib $(STAGING_DIR)/usr/lib!g' \
                -e 's!%%INCDIRS%%!$(STAGING_DIR)/include $(STAGING_DIR)/usr/include!g' \
+               -e 's!%%EXTRA_PERLLIBS%%!$(EXTRA_LIBS:%=-l%)!g' \
+               -e 's!%%EXTRA_PERLLIBDIRS%%!$(EXTRA_LIBDIRS:%=-L%)!g' \
                files/config.sh-$(patsubst i386,i486,$(ARCH)).in \
                > $(PKG_BUILD_DIR)/config.sh
        (cd $(PKG_BUILD_DIR) && ./Configure -S)
@@ -161,7 +167,7 @@ endef
 define Package/perl/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/perl$(PKG_VERSION) $(1)/usr/bin
-       ln -f $(1)/usr/bin/perl$(PKG_VERSION) $(1)/usr/bin/perl
+       ln -nsf perl$(PKG_VERSION) $(1)/usr/bin/perl
 endef
 
 ifneq ($(CONFIG_PACKAGE_microperl),)
@@ -184,11 +190,11 @@ endef
 define Build/Compile
 endef
 
-$(eval $(call BuildPackage,microperl))
-$(eval $(call BuildPackage,perl))
-
 $(eval $(call RequireCommand,rsync, \
        $(PKG_NAME) requires rsync installed on the host-system. \
 ))
 
+$(eval $(call BuildPackage,microperl))
+$(eval $(call BuildPackage,perl))
+
 -include perlbase.mk