You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
159 lines
4.7 KiB
159 lines
4.7 KiB
Integration of this library into your package: |
|
|
|
The preferred way is to use the Gnulib module 'localcharset'. |
|
|
|
Here are instructions if you don't want to use Gnulib. It's tedious, |
|
many small changes to your package: |
|
|
|
* Copy the lib/ sourcefiles (localcharset.c, config.charset, ref-add.sin, |
|
ref-del.sin) and the include file (include/localcharset.h) into your |
|
package. |
|
|
|
* Add the m4/ files (codeset.m4, fcntl_h.m4, glibc21.m4) to your aclocal.m4 |
|
file or, if you are using automake, to your m4/ directory. |
|
|
|
* Add the following lines to your configure.ac file: |
|
|
|
AC_CANONICAL_HOST |
|
AM_LANGINFO_CODESET |
|
gl_FCNTL_O_FLAGS |
|
jm_GLIBC21 |
|
AC_CHECK_HEADERS([stddef.h stdlib.h string.h]) |
|
|
|
and make sure that it sets and AC_SUBSTs the PACKAGE variable. |
|
|
|
* If you are not using automake, add rules to your Makefile.in: |
|
|
|
- Augment target "all" by |
|
localcharset.o charset.alias ref-add.sed ref-del.sed |
|
with special rules for the last three: |
|
|
|
charset.alias: $(srcdir)/config.charset |
|
$(SHELL) $(srcdir)/config.charset '@host@' > t-$@ |
|
mv t-$@ $@ |
|
|
|
ref-add.sed : $(srcdir)/ref-add.sin |
|
sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-add.sin > t-$@ |
|
mv t-$@ $@ |
|
|
|
ref-del.sed : $(srcdir)/ref-del.sin |
|
sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $(srcdir)/ref-del.sin > t-$@ |
|
mv t-$@ $@ |
|
|
|
- Augment target "install" by |
|
|
|
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 $(DESTDIR)$(libdir)/charset.alias; then \ |
|
sed -f ref-add.sed $(DESTDIR)$(libdir)/charset.alias > $(DESTDIR)$(libdir)/t-charset.alias; \ |
|
$(INSTALL_DATA) $(DESTDIR)$(libdir)/t-charset.alias $(DESTDIR)$(libdir)/charset.alias; \ |
|
rm -f $(DESTDIR)$(libdir)/t-charset.alias; \ |
|
else \ |
|
if $$need_charset_alias; then \ |
|
sed -f ref-add.sed charset.alias > $(DESTDIR)$(libdir)/t-charset.alias; \ |
|
$(INSTALL_DATA) $(DESTDIR)$(libdir)/t-charset.alias $(DESTDIR)$(libdir)/charset.alias; \ |
|
rm -f $(DESTDIR)$(libdir)/t-charset.alias; \ |
|
fi; \ |
|
fi |
|
|
|
- Augment target "installdirs" by |
|
|
|
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 ; \ |
|
|
|
- Augment target "uninstall" by |
|
|
|
if test -f $(DESTDIR)$(libdir)/charset.alias; then \ |
|
sed -f ref-del.sed $(DESTDIR)$(libdir)/charset.alias > $(DESTDIR)$(libdir)/t-charset.alias; \ |
|
if grep '^# Packages using this file: $$' $(DESTDIR)$(libdir)/t-charset.alias > /dev/null; then \ |
|
rm -f $(DESTDIR)$(libdir)/charset.alias; \ |
|
else \ |
|
$(INSTALL_DATA) $(DESTDIR)$(libdir)/t-charset.alias $(DESTDIR)$(libdir)/charset.alias; \ |
|
fi; \ |
|
rm -f $(DESTDIR)$(libdir)/t-charset.alias; \ |
|
fi |
|
|
|
- Augment target "clean" by |
|
|
|
rm -f charset.alias ref-add.sed ref-del.sed |
|
|
|
* If you are using automake, add rules to your Makefile.am: |
|
|
|
- Augment the main *_SOURCES variable by |
|
|
|
localcharset.h localcharset.c |
|
|
|
- Augment EXTRA_DIST by |
|
|
|
config.charset ref-add.sin ref-del.sin |
|
|
|
- Augment target "all-local" by |
|
|
|
charset.alias ref-add.sed ref-del.sed |
|
|
|
- Add the lines: |
|
|
|
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 |
|
$(SHELL) $(srcdir)/config.charset '@host@' > t-$@ |
|
mv t-$@ $@ |
|
|
|
SUFFIXES = .sed .sin |
|
.sin.sed: |
|
sed -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > t-$@ |
|
mv t-$@ $@ |
|
|
|
CLEANFILES = charset.alias ref-add.sed ref-del.sed
|
|
|