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
