view modules/localcharset @ 29242:41975c374e2f

The localcharset module requires a modified TESTS_ENVIRONMENT; tell the user.
author Bruno Haible <bruno@clisp.org>
date Wed, 26 Dec 2007 16:33:48 +0100
parents 6d30f16b5ab1
children 1392a1800208
line wrap: on
line source

Description:
Return current locale's character encoding.

Notice:
If your package's tests make use of the locale_charset() function directly or
indirectly, you may need to define the CHARSETALIASDIR environment variable,
so that "make check" works before "make install". In Makefile.am syntax:
TESTS_ENVIRONMENT += @LOCALCHARSET_TESTS_ENVIRONMENT@

Files:
lib/localcharset.h
lib/localcharset.c
lib/config.charset
lib/ref-add.sin
lib/ref-del.sin
m4/codeset.m4
m4/glibc21.m4
m4/localcharset.m4

Depends-on:
configmake

configure.ac:
gl_LOCALCHARSET
LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\""
AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT])

Makefile.am:
lib_SOURCES += localcharset.h localcharset.c

# We need the following in order to install a simple file in $(libdir)
# which is shared with other installed packages. We use a list of referencing
# packages so that "make uninstall" will remove the file if and only if it
# is not used by another installed package.
# On systems with glibc-2.1 or newer, the file is redundant, therefore we
# avoid installing it.

all-local: charset.alias ref-add.sed ref-del.sed

charset_alias = $(DESTDIR)$(libdir)/charset.alias
charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
install-exec-local: all-local
	test $(GLIBC21) != no || $(mkinstalldirs) $(DESTDIR)$(libdir)
	if test -f $(charset_alias); then \
	  sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
	  $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
	  rm -f $(charset_tmp) ; \
	else \
	  if test $(GLIBC21) = no; then \
	    sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
	    $(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
	    rm -f $(charset_tmp) ; \
	  fi ; \
	fi

uninstall-local: all-local
	if test -f $(charset_alias); then \
	  sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \
	  if grep '^# Packages using this file: $$' $(charset_tmp) \
	      > /dev/null; then \
	    rm -f $(charset_alias); \
	  else \
	    $(INSTALL_DATA) $(charset_tmp) $(charset_alias); \
	  fi; \
	  rm -f $(charset_tmp); \
	fi

charset.alias: config.charset
	rm -f t-$@ $@
	$(SHELL) $(srcdir)/config.charset '$(host)' > t-$@
	mv t-$@ $@

SUFFIXES += .sed .sin
.sin.sed:
	rm -f t-$@ $@
	sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@
	mv t-$@ $@

CLEANFILES += charset.alias ref-add.sed ref-del.sed

Include:
"localcharset.h"

License:
LGPLv2+

Maintainer:
Bruno Haible