From 8a82cc302401f7beea53f0395bbba2030ffe587a Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 13 Aug 2000 07:01:35 +0000 Subject: Update. * locale/programs/localedef.c: Implement --prefix option to allow writing in standard places of alternative install directories. --- ChangeLog | 3 +++ locale/programs/localedef.c | 14 ++++++++++++-- localedata/ChangeLog | 5 +++++ localedata/Makefile | 2 +- 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 + * 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 + + * Makefile (install-locales): Use --prefix option of localedef to + avoid providing complete path for output file. + 2000-08-03 Ulrich Drepper * 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 -- cgit v1.2.3