summaryrefslogtreecommitdiff
path: root/libguile
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2009-09-14 00:40:03 +0200
committerLudovic Courtès <ludo@gnu.org>2009-09-14 00:42:25 +0200
commit756e8a3acfd52ed391c1f8374d85a8cca0d2bad3 (patch)
treea6c95b91db5967df0d3f734dcb1121fba641a059 /libguile
parenta5229ee822a17caa46400e08bcd37e3d38b19768 (diff)
downloadguile-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.am13
-rw-r--r--libguile/i18n.c10
-rw-r--r--libguile/i18n.h9
-rw-r--r--libguile/init.c2
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 */