From 31dbe6deb4fe2dbafce6c5243cdb645618417efc Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sun, 25 Jan 2009 20:16:06 +0100 Subject: [PATCH] Don't install charset.alias on MacOS X >= 10.3. --- ChangeLog | 8 ++++++++ lib/localcharset.c | 41 +++++++++++++++++++++++++++++++++++++++-- modules/localcharset | 4 +++- 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index e3be07ea7b..254e1dbc71 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2009-01-25 Bruno Haible + + Don't install charset.alias on MacOS X >= 10.3. + * lib/localcharset.c (DARWIN7): New macro. + (get_charset_aliases): Hardcode the result for Darwin7. + * modules/localcharset (install-exec-local): Don't install + charset.alias on MacOS X >= 10.3, if the file does not yet exist. + 2009-01-25 Bruno Haible Don't install charset.alias on mingw and Cygwin. diff --git a/lib/localcharset.c b/lib/localcharset.c index fb49519128..1ff46052d7 100644 --- a/lib/localcharset.c +++ b/lib/localcharset.c @@ -1,6 +1,6 @@ /* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2006, 2008 Free Software Foundation, Inc. + Copyright (C) 2000-2006, 2008-2009 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -28,6 +28,10 @@ #include #include +#if defined __APPLE__ && defined __MACH__ && HAVE_LANGINFO_CODESET +# define DARWIN7 /* Darwin 7 or newer, i.e. MacOS X 10.3 or newer */ +#endif + #if defined _WIN32 || defined __WIN32__ # define WIN32_NATIVE #endif @@ -112,7 +116,7 @@ get_charset_aliases (void) cp = charset_aliases; if (cp == NULL) { -#if !(defined VMS || defined WIN32_NATIVE || defined __CYGWIN__) +#if !(defined DARWIN7 || defined VMS || defined WIN32_NATIVE || defined __CYGWIN__) FILE *fp; const char *dir; const char *base = "charset.alias"; @@ -213,6 +217,39 @@ get_charset_aliases (void) #else +# if defined DARWIN7 + /* To avoid the trouble of installing a file that is shared by many + GNU packages -- many packaging systems have problems with this --, + simply inline the aliases here. */ + cp = "ISO8859-1" "\0" "ISO-8859-1" "\0" + "ISO8859-2" "\0" "ISO-8859-2" "\0" + "ISO8859-4" "\0" "ISO-8859-4" "\0" + "ISO8859-5" "\0" "ISO-8859-5" "\0" + "ISO8859-7" "\0" "ISO-8859-7" "\0" + "ISO8859-9" "\0" "ISO-8859-9" "\0" + "ISO8859-13" "\0" "ISO-8859-13" "\0" + "ISO8859-15" "\0" "ISO-8859-15" "\0" + "KOI8-R" "\0" "KOI8-R" "\0" + "KOI8-U" "\0" "KOI8-U" "\0" + "CP866" "\0" "CP866" "\0" + "CP949" "\0" "CP949" "\0" + "CP1131" "\0" "CP1131" "\0" + "CP1251" "\0" "CP1251" "\0" + "eucCN" "\0" "GB2312" "\0" + "GB2312" "\0" "GB2312" "\0" + "eucJP" "\0" "EUC-JP" "\0" + "eucKR" "\0" "EUC-KR" "\0" + "Big5" "\0" "BIG5" "\0" + "Big5HKSCS" "\0" "BIG5-HKSCS" "\0" + "GBK" "\0" "GBK" "\0" + "GB18030" "\0" "GB18030" "\0" + "SJIS" "\0" "SHIFT_JIS" "\0" + "ARMSCII-8" "\0" "ARMSCII-8" "\0" + "PT154" "\0" "PT154" "\0" + /*"ISCII-DEV" "\0" "?" "\0"*/ + "*" "\0" "UTF-8" "\0"; +# endif + # if defined VMS /* To avoid the troubles of an extra file charset.alias_vms in the sources of many GNU packages, simply inline the aliases here. */ diff --git a/modules/localcharset b/modules/localcharset index ae42b032a7..2d4a7009aa 100644 --- a/modules/localcharset +++ b/modules/localcharset @@ -42,7 +42,9 @@ charset_tmp = $(DESTDIR)$(libdir)/charset.tmp install-exec-local: all-local if test $(GLIBC21) = no; then \ case '$(host_os)' in \ - cygwin* | mingw* | pw32* | cegcc*) \ + darwin[56]*) \ + need_charset_alias=true ;; \ + darwin* | cygwin* | mingw* | pw32* | cegcc*) \ need_charset_alias=false ;; \ *) \ need_charset_alias=true ;; \ -- 2.30.2