From: Jim Meyering Date: Sat, 9 Jan 2010 10:41:00 +0000 (+0100) Subject: maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule X-Git-Tag: v0.1~4879 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=bc3991768078b437cbbbe93bc1cd2eab0ca98000;p=gnulib.git maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD. --- diff --git a/ChangeLog b/ChangeLog index 4d4137ed4..9bacb894b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-01-09 Jim Meyering + + maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule + * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work + also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD. + 2010-01-08 Simon Josefsson * lib/dup2.c (rpl_dup2): Improve comment. diff --git a/top/maint.mk b/top/maint.mk index 3cd1a93bf..365154326 100644 --- a/top/maint.mk +++ b/top/maint.mk @@ -524,14 +524,20 @@ sc_prohibit_S_IS_definition: msg='do not define S_IS* macros; include ' \ $(_prohibit_regexp) -# Each program that uses proper_name_utf8 must link with -# one of the ICONV libraries. +# Each program that uses proper_name_utf8 must link with one of the +# ICONV libraries. Otherwise, some ICONV library must appear in LDADD. +# The perl -0777 invocation below extracts the possibly-multi-line +# definition of LDADD from the appropriate Makefile.am and exits 0 +# when it contains "ICONV". sc_proper_name_utf8_requires_ICONV: @progs=$$(grep -l 'proper_name_utf8 ''("' $$($(VC_LIST_EXCEPT)));\ if test "x$$progs" != x; then \ fail=0; \ for p in $$progs; do \ dir=$$(dirname "$$p"); \ + perl -0777 \ + -ne 'exit !(/^LDADD =(.+?[^\\]\n)/ms && $$1 =~ /ICONV/)' \ + $$dir/Makefile.am && continue; \ base=$$(basename "$$p" .c); \ grep "$${base}_LDADD.*ICONV)" $$dir/Makefile.am > /dev/null \ || { fail=1; echo 1>&2 "$(ME): $$p uses proper_name_utf8"; }; \