view modules/localcharset @ 7274:9ff9e0f3d681

Don't make generated files read-only. That would bother too many people. However, do retain the ability to work when targets are read-only: remove the destination and temporary files before writing them (when generated via sed or echo), or by using the -f option for both cp and mv commands. Suggestion to use -f from Paul Eggert. * modules/alloca-opt, modules/argz, modules/arpa_inet: * modules/byteswap, modules/configmake, modules/fcntl: * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes: * modules/localcharset, modules/netinet_in, modules/poll: * modules/stdbool, modules/stdint, modules/sys_select: * modules/sys_socket, modules/sys_stat, modules/sysexits:
author Jim Meyering <jim@meyering.net>
date Fri, 08 Sep 2006 12:26:34 +0000
parents e476bb105193
children 6a764f23e302
line wrap: on
line source

Description:
Return current locale's character encoding.

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

Makefile.am:
lib_SOURCES += localcharset.h localcharset.c
EXTRA_DIST += config.charset ref-add.sin ref-del.sin

# 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:
LGPL

Maintainer:
Bruno Haible