diff options
author | Ludovic Courtès <ludo@gnu.org> | 2009-09-14 00:40:03 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2009-09-14 00:42:25 +0200 |
commit | 756e8a3acfd52ed391c1f8374d85a8cca0d2bad3 (patch) | |
tree | a6c95b91db5967df0d3f734dcb1121fba641a059 /libguile | |
parent | a5229ee822a17caa46400e08bcd37e3d38b19768 (diff) | |
download | guile-756e8a3acfd52ed391c1f8374d85a8cca0d2bad3.tar.gz |
Merge `libguile-i18n' into `libguile'.
* GUILE-VERSION (LIBGUILE_I18N_MAJOR, LIBGUILE_I18N_INTERFACE_CURRENT,
LIBGUILE_I18N_INTERFACE_REVISION, LIBGUILE_I18N_INTERFACE_AGE,
LIBGUILE_I18N_INTERFACE): Remove.
* doc/ref/api-i18n.texi (i18n Introduction): Don't mention
`libguile-i18n'.
* libguile.h: Include "libguile/i18n.h".
* libguile/Makefile.am (lib_LTLIBRARIES): Remove `libguile-i18n-v*'.
(libguile_la_SOURCES): Add `i18n.c'.
(libguile_i18n_v_*_SOURCES, libguile_i18n_v_*_CFLAGS,
libguile_i18n_v_*_LIBADD, libguile_i18n_v_*_LDFLAGS): Remove.
* libguile/i18n.c (scm_bootstrap_i18n): New function.
* libguile/i18n.h (scm_nl_langinfo, scm_init_i18n): Made internal.
(scm_bootstrap_i18n): New declaration.
* libguile/init.c (scm_i_init_guile): Invoke `scm_bootstrap_i18n ()'.
* module/ice-9/i18n.scm: Load from `libguile' instead of
`libguile-i18n-v-0'.
Diffstat (limited to 'libguile')
-rw-r--r-- | libguile/Makefile.am | 13 | ||||
-rw-r--r-- | libguile/i18n.c | 10 | ||||
-rw-r--r-- | libguile/i18n.h | 9 | ||||
-rw-r--r-- | libguile/init.c | 2 |
4 files changed, 20 insertions, 14 deletions
diff --git a/libguile/Makefile.am b/libguile/Makefile.am index 5070de6b8..f4f12825d 100644 --- a/libguile/Makefile.am +++ b/libguile/Makefile.am @@ -43,8 +43,7 @@ gnulib_library = $(top_builddir)/lib/libgnu.la ETAGS_ARGS = --regex='/SCM_\(GLOBAL_\)?\(G?PROC\|G?PROC1\|SYMBOL\|VCELL\|CONST_LONG\).*\"\([^\"]\)*\"/\3/' \ --regex='/[ \t]*SCM_[G]?DEFINE1?[ \t]*(\([^,]*\),[^,]*/\1/' -lib_LTLIBRARIES = libguile.la \ - libguile-i18n-v-@LIBGUILE_I18N_MAJOR@.la +lib_LTLIBRARIES = libguile.la bin_PROGRAMS = guile noinst_PROGRAMS = guile_filter_doc_snarfage gen-scmconfig @@ -145,6 +144,7 @@ libguile_la_SOURCES = \ hash.c \ hashtab.c \ hooks.c \ + i18n.c \ init.c \ inline.c \ instructions.c \ @@ -203,15 +203,6 @@ libguile_la_SOURCES = \ vports.c \ weaks.c -libguile_i18n_v_@LIBGUILE_I18N_MAJOR@_la_SOURCES = i18n.c -libguile_i18n_v_@LIBGUILE_I18N_MAJOR@_la_CFLAGS = \ - $(libguile_la_CFLAGS) -libguile_i18n_v_@LIBGUILE_I18N_MAJOR@_la_LIBADD = \ - libguile.la $(gnulib_library) -libguile_i18n_v_@LIBGUILE_I18N_MAJOR@_la_LDFLAGS = \ - -module -L$(builddir) -lguile \ - -version-info @LIBGUILE_I18N_INTERFACE@ - DOT_X_FILES = \ alist.x \ arbiters.x \ diff --git a/libguile/i18n.c b/libguile/i18n.c index fd15227b5..4b7eb044c 100644 --- a/libguile/i18n.c +++ b/libguile/i18n.c @@ -23,6 +23,7 @@ #include <alloca.h> #include "libguile/_scm.h" +#include "libguile/extensions.h" #include "libguile/feature.h" #include "libguile/i18n.h" #include "libguile/strings.h" @@ -1707,6 +1708,15 @@ scm_init_i18n () SCM_VARIABLE_SET (scm_global_locale, global_locale_smob); } +void +scm_bootstrap_i18n () +{ + scm_c_register_extension ("libguile", "scm_init_i18n", + (scm_t_extension_init_func) scm_init_i18n, + NULL); + +} + /* Local Variables: diff --git a/libguile/i18n.h b/libguile/i18n.h index df2970b4e..16045eb0c 100644 --- a/libguile/i18n.h +++ b/libguile/i18n.h @@ -3,7 +3,7 @@ #ifndef SCM_I18N_H #define SCM_I18N_H -/* Copyright (C) 2006, 2008 Free Software Foundation, Inc. +/* Copyright (C) 2006, 2008, 2009 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -42,9 +42,12 @@ SCM_API SCM scm_string_locale_upcase (SCM chr, SCM locale); SCM_API SCM scm_string_locale_downcase (SCM chr, SCM locale); SCM_API SCM scm_locale_string_to_integer (SCM str, SCM base, SCM locale); SCM_API SCM scm_locale_string_to_inexact (SCM str, SCM locale); -SCM_API SCM scm_nl_langinfo (SCM item, SCM locale); -SCM_API void scm_init_i18n (void); +SCM_INTERNAL SCM scm_nl_langinfo (SCM item, SCM locale); + +SCM_INTERNAL void scm_init_i18n (void); +SCM_INTERNAL void scm_bootstrap_i18n (void); + #endif /* SCM_I18N_H */ diff --git a/libguile/init.c b/libguile/init.c index 940d515f6..3fbe3685f 100644 --- a/libguile/init.c +++ b/libguile/init.c @@ -71,6 +71,7 @@ #include "libguile/hashtab.h" #include "libguile/hooks.h" #include "libguile/gettext.h" +#include "libguile/i18n.h" #include "libguile/iselect.h" #include "libguile/ioext.h" #include "libguile/keywords.h" @@ -561,6 +562,7 @@ scm_i_init_guile (SCM_STACKITEM *base) scm_init_load_path (); scm_init_standard_ports (); /* Requires fports */ scm_init_dynamic_linking (); + scm_bootstrap_i18n (); #if SCM_ENABLE_ELISP scm_init_lang (); #endif /* SCM_ENABLE_ELISP */ |