Update.
authorUlrich Drepper <drepper@redhat.com>
Sun, 13 Aug 2000 07:01:35 +0000 (07:01 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 13 Aug 2000 07:01:35 +0000 (07:01 +0000)
* locale/programs/localedef.c: Implement --prefix option to allow
writing in standard places of alternative install directories.

ChangeLog
locale/programs/localedef.c
localedata/ChangeLog
localedata/Makefile

index e95ebe9..3417171 100644 (file)
--- 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.
index b632cc4..719cfd3 100644 (file)
@@ -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;
index fa6ed68..51b1042 100644 (file)
@@ -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.
index 2f63004..8bdbedf 100644 (file)
@@ -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