summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--locale/programs/localedef.c14
-rw-r--r--localedata/ChangeLog5
-rw-r--r--localedata/Makefile2
4 files changed, 21 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index e95ebe995e..3417171de7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2000-08-12 Ulrich Drepper <drepper@redhat.com>
+ * locale/programs/localedef.c: Implement --prefix option to allow
+ writing in standard places of alternative install directories.
+
* posix/regex.c (compile_range): Implement collation sequence
handling for glibc. Use simple character ordering otherwise and
not strcoll.
diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c
index b632cc4f1c..719cfd3bb7 100644
--- a/locale/programs/localedef.c
+++ b/locale/programs/localedef.c
@@ -61,6 +61,9 @@ int oldstyle_tables;
/* If not zero force output even if warning were issued. */
static int force_output;
+/* Prefix for output files. */
+const char *output_prefix;
+
/* Name of the character map file. */
static const char *charmap_file;
@@ -81,6 +84,7 @@ void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
#define OPT_POSIX 1
#define OPT_QUIET 2
#define OPT_OLDSTYLE 3
+#define OPT_PREFIX 4
/* Definitions of arguments for argp functions. */
static const struct argp_option options[] =
@@ -96,6 +100,7 @@ static const struct argp_option options[] =
{ "force", 'c', NULL, 0,
N_("Create output even if warning messages were issued") },
{ "old-style", OPT_OLDSTYLE, NULL, 0, N_("Create old-style tables") },
+ { "prefix", OPT_PREFIX, "PATH", 0, N_("Optional output file prefix") },
{ "posix", OPT_POSIX, NULL, 0, N_("Be strictly POSIX conform") },
{ "quiet", OPT_QUIET, NULL, 0,
N_("Suppress warnings and information messages") },
@@ -250,6 +255,9 @@ parse_opt (int key, char *arg, struct argp_state *state)
case OPT_OLDSTYLE:
oldstyle_tables = 1;
break;
+ case OPT_PREFIX:
+ output_prefix = arg;
+ break;
case 'c':
force_output = 1;
break;
@@ -359,9 +367,11 @@ construct_output_path (char *path)
the end of the function we need another byte for the trailing
'/'. */
if (normal == NULL)
- n = asprintf (&result, "%s/%s%c", LOCALEDIR, path, '\0');
+ n = asprintf (&result, "%s%s/%s%c",
+ output_prefix ?: "", LOCALEDIR, path, '\0');
else
- n = asprintf (&result, "%s/%.*s%s%s%c", LOCALEDIR,
+ n = asprintf (&result, "%s%s/%.*s%s%s%c",
+ output_prefix ?: "", LOCALEDIR,
(int) (startp - path), path, normal, endp, '\0');
endp = result + n;
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index fa6ed6855c..51b10428b9 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,8 @@
+2000-08-13 Ulrich Drepper <drepper@redhat.com>
+
+ * Makefile (install-locales): Use --prefix option of localedef to
+ avoid providing complete path for output file.
+
2000-08-03 Ulrich Drepper <drepper@redhat.com>
* locales/zh_TW: Updated.
diff --git a/localedata/Makefile b/localedata/Makefile
index 2f63004119..8bdbedfb90 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -188,7 +188,7 @@ install-locales:
case $$locale in \#*) continue;; esac; \
$(LOCALEDEF) -i locales/`echo $$locale | sed 's/\([^.]*\).*/\1/'` \
-c -f charmaps/$$charset \
- $(inst_localedir)/$$locale; \
+ $(addprefix --prefix=,$(install_root)) $$locale; \
done < SUPPORTED
# The mbwc-tests need some environment setup to find the locale data files