uClibc provides strlcpy() but e/glibc don't.  Thus we need to link against 
libbsd in those cases.

It was suggested that the extra values be added to the end of the config.sh 
file, but (a) I didn't want
to introduce a new mechanism, and (b) someone might expect the alphabetical 
order of variables in the
config.sh file to be continued, and hence not be look at the end of the file 
for the additional values.

Also one of those variables already is partially initialized, so doing:

perllibs="$perllibs ..."

would be required, which is risky.

Signed-off-by: Philip Prindeville <[email protected]>
Index: feeds/packages/lang/perl/files/config.sh-arm.in
===================================================================
--- feeds/packages/lang/perl/files/config.sh-arm.in     (revision 27302)
+++ feeds/packages/lang/perl/files/config.sh-arm.in     (working copy)
@@ -735,7 +735,7 @@
 ksh=''
 ld='%%LD%%'
 lddlflags='-shared %%LDFLAGS%%'
-ldflags=''
+ldflags='%%EXTRA_PERLLIBDIRS%%'
 ldflags_uselargefiles=''
 ldlibpthname='LD_LIBRARY_PATH'
 less='less'
@@ -832,7 +832,7 @@
 perl=''
 perl_patchlevel=''
 perladmin='[email protected]'
-perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc'
+perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc %%EXTRA_PERLLIBS%%'
 perlpath='/usr/bin/perl'
 pg='pg'
 phostname='hostname'
Index: feeds/packages/lang/perl/files/config.sh-powerpc.in
===================================================================
--- feeds/packages/lang/perl/files/config.sh-powerpc.in (revision 27302)
+++ feeds/packages/lang/perl/files/config.sh-powerpc.in (working copy)
@@ -735,7 +735,7 @@
 ksh=''
 ld='%%LD%%'
 lddlflags='-shared %%LDFLAGS%%'
-ldflags=''
+ldflags='%%EXTRA_PERLLIBDIRS%%'
 ldflags_uselargefiles=''
 ldlibpthname='LD_LIBRARY_PATH'
 less='less'
@@ -832,7 +832,7 @@
 perl=''
 perl_patchlevel=''
 perladmin='[email protected]'
-perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc'
+perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc %%EXTRA_PERLLIBS%%'
 perlpath='/usr/bin/perl'
 pg='pg'
 phostname='hostname'
Index: feeds/packages/lang/perl/files/config.sh-armeb.in
===================================================================
--- feeds/packages/lang/perl/files/config.sh-armeb.in   (revision 27302)
+++ feeds/packages/lang/perl/files/config.sh-armeb.in   (working copy)
@@ -735,7 +735,7 @@
 ksh=''
 ld='%%LD%%'
 lddlflags='-shared %%LDFLAGS%%'
-ldflags=''
+ldflags='%%EXTRA_PERLLIBDIRS%%'
 ldflags_uselargefiles=''
 ldlibpthname='LD_LIBRARY_PATH'
 less='less'
@@ -832,7 +832,7 @@
 perl=''
 perl_patchlevel=''
 perladmin='[email protected]'
-perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc'
+perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc %%EXTRA_PERLLIBS%%'
 perlpath='/usr/bin/perl'
 pg='pg'
 phostname='hostname'
Index: feeds/packages/lang/perl/files/config.sh-mips.in
===================================================================
--- feeds/packages/lang/perl/files/config.sh-mips.in    (revision 27302)
+++ feeds/packages/lang/perl/files/config.sh-mips.in    (working copy)
@@ -735,7 +735,7 @@
 ksh=''
 ld='%%LD%%'
 lddlflags='-shared %%LDFLAGS%%'
-ldflags=''
+ldflags='%%EXTRA_PERLLIBDIRS%%'
 ldflags_uselargefiles=''
 ldlibpthname='LD_LIBRARY_PATH'
 less='less'
@@ -832,7 +832,7 @@
 perl=''
 perl_patchlevel=''
 perladmin='[email protected]'
-perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc'
+perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc %%EXTRA_PERLLIBS%%'
 perlpath='/usr/bin/perl'
 pg='pg'
 phostname='hostname'
Index: feeds/packages/lang/perl/files/config.sh-mipsel.in
===================================================================
--- feeds/packages/lang/perl/files/config.sh-mipsel.in  (revision 27302)
+++ feeds/packages/lang/perl/files/config.sh-mipsel.in  (working copy)
@@ -735,7 +735,7 @@
 ksh=''
 ld='%%LD%%'
 lddlflags='-shared %%LDFLAGS%%'
-ldflags=''
+ldflags='%%EXTRA_PERLLIBDIRS%%'
 ldflags_uselargefiles=''
 ldlibpthname='LD_LIBRARY_PATH'
 less='less'
@@ -832,7 +832,7 @@
 perl=''
 perl_patchlevel=''
 perladmin='[email protected]'
-perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc'
+perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc %%EXTRA_PERLLIBS%%'
 perlpath='/usr/bin/perl'
 pg='pg'
 phostname='hostname'
Index: feeds/packages/lang/perl/files/config.sh-i486.in
===================================================================
--- feeds/packages/lang/perl/files/config.sh-i486.in    (revision 27302)
+++ feeds/packages/lang/perl/files/config.sh-i486.in    (working copy)
@@ -735,7 +735,7 @@
 ksh=''
 ld='%%LD%%'
 lddlflags='-shared %%LDFLAGS%%'
-ldflags=''
+ldflags='%%EXTRA_PERLLIBDIRS%%'
 ldflags_uselargefiles=''
 ldlibpthname='LD_LIBRARY_PATH'
 less='less'
@@ -832,7 +832,7 @@
 perl=''
 perl_patchlevel=''
 perladmin='[email protected]'
-perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc'
+perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc %%EXTRA_PERLLIBS%%'
 perlpath='/usr/bin/perl'
 pg='pg'
 phostname='hostname'
Index: feeds/packages/lang/perl/files/config.sh-avr32.in
===================================================================
--- feeds/packages/lang/perl/files/config.sh-avr32.in   (revision 27302)
+++ feeds/packages/lang/perl/files/config.sh-avr32.in   (working copy)
@@ -737,7 +737,7 @@
 ksh=''
 ld='%%LD%%'
 lddlflags='-shared %%LDFLAGS%%'
-ldflags=''
+ldflags='%%EXTRA_PERLLIBDIRS%%'
 ldflags_uselargefiles=''
 ldlibpthname='LD_LIBRARY_PATH'
 less='less'
@@ -834,7 +834,7 @@
 perl=''
 perl_patchlevel=''
 perladmin='[email protected]'
-perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc'
+perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc %%EXTRA_PERLLIBS%%'
 perlpath='/usr/bin/perl'
 pg='pg'
 phostname='hostname'
Index: feeds/packages/lang/perl/Makefile
===================================================================
--- feeds/packages/lang/perl/Makefile   (revision 27302)
+++ feeds/packages/lang/perl/Makefile   (working copy)
@@ -22,12 +22,18 @@
 
 include $(INCLUDE_DIR)/package.mk
 
+ifneq ($(CONFIG_USE_EGLIBC)$(CONFIG_USE_GLIBC),)
+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||USE_GLIBC):libbsd
 endef
 
 define Package/microperl
@@ -107,6 +113,8 @@
                -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)
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to