+2004-09-05 Bruno Haible <bruno@clisp.org>
+
+ * langprefs.c: New file.
+ * gettextP.h (_nl_language_preferences): New declaration.
+ * dcigettext.c (guess_category_value) [!_LIBC]: Use
+ _nl_language_preferences.
+ * Makefile.in (SOURCES): Add langprefs.c.
+ (OBJECTS): Add langprefs.$lo.
+ (langprefs.lo): New rule.
+ * Makefile.msvc (OBJECTS): Add langprefs.obj.
+ (langprefs.obj): New rule.
+ * Makefile.vms (OBJECTS): Add langprefs.obj.
+ (langprefs.obj): New rule.
+
2004-09-03 Bruno Haible <bruno@clisp.org>
* localename.c (_nl_locale_name): Use a more intelligent fallback on
plural-exp.c \
localcharset.c \
relocatable.c \
+ langprefs.c \
localename.c \
log.c \
printf.c \
plural-exp.$lo \
localcharset.$lo \
relocatable.$lo \
+ langprefs.$lo \
localename.$lo \
log.$lo \
printf.$lo \
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localcharset.c
relocatable.lo: $(srcdir)/relocatable.c
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/relocatable.c
+langprefs.lo: $(srcdir)/langprefs.c
+ $(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/langprefs.c
localename.lo: $(srcdir)/localename.c
$(LIBTOOL) --mode=compile $(COMPILE) $(srcdir)/localename.c
log.lo: $(srcdir)/log.c
SHELL = /bin/sh
-OBJECTS = bindtextdom.obj dcgettext.obj dgettext.obj gettext.obj finddomain.obj loadmsgcat.obj localealias.obj textdomain.obj l10nflist.obj explodename.obj dcigettext.obj dcngettext.obj dngettext.obj ngettext.obj plural.obj plural-exp.obj localcharset.obj relocatable.obj localename.obj log.obj printf.obj osdep.obj intl-compat.obj
+OBJECTS = bindtextdom.obj dcgettext.obj dgettext.obj gettext.obj finddomain.obj loadmsgcat.obj localealias.obj textdomain.obj l10nflist.obj explodename.obj dcigettext.obj dcngettext.obj dngettext.obj ngettext.obj plural.obj plural-exp.obj localcharset.obj relocatable.obj langprefs.obj localename.obj log.obj printf.obj osdep.obj intl-compat.obj
RESOURCES = intl.res
relocatable.obj : $(srcdir)\relocatable.c libgnuintl.h $(srcdir)\relocatable.h
$(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\relocatable.c
+langprefs.obj : $(srcdir)\langprefs.c libgnuintl.h
+ $(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\langprefs.c
+
localename.obj : $(srcdir)\localename.c libgnuintl.h
$(CC) $(INCLUDES) $(CFLAGS) $(PICFLAGS) -c $(srcdir)\localename.c
#### End of system configuration section. ####
-OBJECTS = bindtextdom.obj,dcgettext.obj,dgettext.obj,gettext.obj,finddomain.obj,loadmsgcat.obj,localealias.obj,textdomain.obj,l10nflist.obj,explodename.obj,dcigettext.obj,dcngettext.obj,dngettext.obj,ngettext.obj,plural-parse.obj,plural-exp.obj,localcharset.obj,relocatable.obj,localename.obj,log.obj,osdep.obj,intl-compat.obj
+OBJECTS = bindtextdom.obj,dcgettext.obj,dgettext.obj,gettext.obj,finddomain.obj,loadmsgcat.obj,localealias.obj,textdomain.obj,l10nflist.obj,explodename.obj,dcigettext.obj,dcngettext.obj,dngettext.obj,ngettext.obj,plural-parse.obj,plural-exp.obj,localcharset.obj,relocatable.obj,langprefs.obj,localename.obj,log.obj,osdep.obj,intl-compat.obj
all : intl.olb,libintl.h
write sys$output "Nothing else to be done for 'all'."
relocatable.obj : $(srcdir)relocatable.c,libgnuintl.h,$(srcdir)relocatable.h
$(CC) $(INCLUDES) $(CFLAGS) /define=($(DEFS)) $(srcdir)relocatable.c
+langprefs.obj : $(srcdir)langprefs.c,libgnuintl.h
+ $(CC) $(INCLUDES) $(CFLAGS) /define=($(DEFS)) $(srcdir)langprefs.c
+
localename.obj : $(srcdir)localename.c,libgnuintl.h
$(CC) $(INCLUDES) $(CFLAGS) /define=($(DEFS)) $(srcdir)localename.c
/* The highest priority value is the `LANGUAGE' environment
variable. But we don't use the value if the currently selected
locale is the C locale. This is a GNU extension. */
+#ifdef _LIBC
language = getenv ("LANGUAGE");
if (language != NULL && language[0] == '\0')
language = NULL;
+#else
+ language = _nl_language_preferences ();
+#endif
/* We have to proceed with the POSIX methods of looking to `LC_ALL',
`LC_xxx', and `LANG'. On some systems this can be done by the
/* Header describing internals of libintl library.
- Copyright (C) 1995-1999, 2000-2003 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999, 2000-2004 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@cygnus.com>, 1995.
This program is free software; you can redistribute it and/or modify it
extern int _nl_msg_cat_cntr;
#ifndef _LIBC
+const char *_nl_language_preferences (void);
const char *_nl_locale_name (int category, const char *categoryname);
#endif
+2004-09-05 Bruno Haible <bruno@clisp.org>
+
+ * gettext.m4 (AM_INTL_SUBDIR): Test for CFPreferencesCopyAppValue.
+
2004-09-03 Bruno Haible <bruno@clisp.org>
* gettext.m4 (AM_INTL_SUBDIR): Add a test for CFLocaleCopyCurrent.
gt_LC_MESSAGES
fi
+ dnl Check for API introduced in MacOS X 10.2.
+ AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
+ gt_cv_func_CFPreferencesCopyAppValue,
+ [gt_save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
+ gt_save_LIBS="$LIBS"
+ LIBS="$LIBS -framework CoreFoundation"
+ AC_TRY_LINK([#include <CFPreferences.h>],
+ [CFPreferencesCopyAppValue(NULL, NULL)],
+ [gt_cv_func_CFPreferencesCopyAppValue=yes],
+ [gt_cv_func_CFPreferencesCopyAppValue=no])
+ CPPFLAGS="$gt_save_CPPFLAGS"
+ LIBS="$gt_save_LIBS"])
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+ AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1,
+ [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
+ fi
dnl Check for API introduced in MacOS X 10.3.
AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent,
[gt_save_CPPFLAGS="$CPPFLAGS"
gt_save_LIBS="$LIBS"
LIBS="$LIBS -framework CoreFoundation"
AC_TRY_LINK([#include <CFLocale.h>], [CFLocaleCopyCurrent();],
- [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no])
+ [gt_cv_func_CFLocaleCopyCurrent=yes],
+ [gt_cv_func_CFLocaleCopyCurrent=no])
CPPFLAGS="$gt_save_CPPFLAGS"
LIBS="$gt_save_LIBS"])
if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
[Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
+ fi
+ INTL_MACOSX_LDFLAGS=
+ if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers"
INTL_MACOSX_LDFLAGS="-Wl,-framework -Wl,CoreFoundation"
- else
- INTL_MACOSX_LDFLAGS=
fi
AC_SUBST([INTL_MACOSX_LDFLAGS])