From 263bb1be67cae52f2bf20fdf1edf8e4e716ec4ee Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 9 Jun 2008 10:52:20 +0200 Subject: enforce the proper_name_utf8-requires-ICONV link rule * maint.mk (sc_proper_name_utf8_requires_ICONV): New rule. * src/Makefile.am (timeout_LDADD, truncate_LDADD): Add $(LIBICONV). --- maint.mk | 17 +++++++++++++++++ src/Makefile.am | 4 ++++ 2 files changed, 21 insertions(+) diff --git a/maint.mk b/maint.mk index 9363baf73..7f86349b2 100644 --- a/maint.mk +++ b/maint.mk @@ -466,6 +466,23 @@ sc_immutable_NEWS: { echo '$(ME): you have modified old NEWS' 1>&2; exit 1; }; \ fi +# Each program that uses proper_name_utf8 must link with +# one of the ICONV libraries. +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"); \ + base=$$(basename "$$p" .c); \ + grep "$${base}_LDADD.*ICONV)" $$dir/Makefile.am > /dev/null \ + || { fail=1; echo 1>&2 "$(ME): $$p uses proper_name_utf8"; }; \ + done; \ + test $$fail = 1 && \ + { echo 1>&2 '$(ME): the above not link with any ICONV library'; \ + exit 1; } || :; \ + fi + # Update the hash stored above. Do this after each release and # for any corrections to old entries. update-NEWS-hash: NEWS diff --git a/src/Makefile.am b/src/Makefile.am index 04c461535..342fc0964 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -81,6 +81,8 @@ df_LDADD = $(LDADD) du_LDADD = $(LDADD) ptx_LDADD = $(LDADD) split_LDADD = $(LDADD) +timeout_LDADD = $(LDADD) +truncate_LDADD = $(LDADD) # for eaccess in lib/euidaccess.c. chcon_LDADD = $(LDADD) $(LIB_SELINUX) @@ -151,6 +153,8 @@ df_LDADD += $(LIBICONV) du_LDADD += $(LIBICONV) ptx_LDADD += $(LIBICONV) split_LDADD += $(LIBICONV) +timeout_LDADD += $(LIBICONV) +truncate_LDADD += $(LIBICONV) $(PROGRAMS): ../lib/libcoreutils.a -- cgit v1.2.3-70-g09d2