X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=modules%2Flocalcharset;h=e07061a701e453399bf969a6ee1eb4d735b032ed;hb=cd19e83484e2c0ff9fd68e7439dd97128c6a2703;hp=8075a2ca8d85292887ad253a730a3488e6610a61;hpb=f110f8c4810ee8acf04df527cba30413f709648f;p=gnulib.git diff --git a/modules/localcharset b/modules/localcharset index 8075a2ca8..e07061a70 100644 --- a/modules/localcharset +++ b/modules/localcharset @@ -1,6 +1,12 @@ 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 @@ -8,18 +14,21 @@ lib/config.charset lib/ref-add.sin lib/ref-del.sin m4/codeset.m4 +m4/fcntl-o.m4 m4/glibc21.m4 m4/localcharset.m4 Depends-on: configmake +extensions 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 -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 @@ -32,21 +41,37 @@ 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) +install-exec-local: install-exec-localcharset +install-exec-localcharset: all-local + if test $(GLIBC21) = no; then \ + case '$(host_os)' in \ + darwin[56]*) \ + need_charset_alias=true ;; \ + darwin* | cygwin* | mingw* | pw32* | cegcc*) \ + need_charset_alias=false ;; \ + *) \ + need_charset_alias=true ;; \ + esac ; \ + else \ + need_charset_alias=false ; \ + fi ; \ + if $$need_charset_alias; then \ + $(mkinstalldirs) $(DESTDIR)$(libdir) ; \ + fi ; \ 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 \ + if $$need_charset_alias; 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 +uninstall-local: uninstall-localcharset +uninstall-localcharset: 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) \ @@ -59,16 +84,14 @@ uninstall-local: all-local fi charset.alias: config.charset - rm -f t-$@ $@ - $(SHELL) $(srcdir)/config.charset '$(host)' > t-$@ - chmod a-w t-$@ + $(AM_V_GEN)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-$@ - chmod a-w t-$@ + $(AM_V_GEN)rm -f t-$@ $@ && \ + sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@ && \ mv t-$@ $@ CLEANFILES += charset.alias ref-add.sed ref-del.sed @@ -77,7 +100,7 @@ Include: "localcharset.h" License: -LGPL +LGPLv2+ Maintainer: Bruno Haible