This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH v4 1/2] add benchmark for strcoll


This patch prepares for the strcoll benchmark by moving the makefile code for
generating the locale files into a standalone snippet that can be used elsewhere.

	* gen-locales.mk: New Makefile snippet to generate locales.
	* localedata/Makefile: Use gen-locales.mk for locale generation.
	* localedata/gen-locale.sh (generate_locale): Make path to charmaps
	independent of current working directory.


diff --git a/gen-locales.mk b/gen-locales.mk
index e69de29..354fc53 100644
--- a/gen-locales.mk
+++ b/gen-locales.mk
@@ -0,0 +1,21 @@
+# defines target $(gen-locales) that generates the locales given in $(LOCALES)
+
+LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^ ]*/\1/g')
+CHARMAPS := $(shell echo "$(LOCALES)" | \
+		    sed -e 's/[^ .]*[.]\([^ ]*\)/\1/g' -e s/SJIS/SHIFT_JIS/g)
+CTYPE_FILES = $(addsuffix /LC_CTYPE,$(LOCALES))
+gen-locales := $(addprefix $(common-objpfx)localedata/,$(CTYPE_FILES))
+
+# Dependency for the locale files.  We actually make it depend only on
+# one of the files.
+$(addprefix $(common-objpfx)localedata/,$(CTYPE_FILES)): %: \
+  ../localedata/gen-locale.sh \
+  $(common-objpfx)locale/localedef \
+  ../localedata/Makefile \
+  $(addprefix ../localedata/charmaps/,$(CHARMAPS)) \
+  $(addprefix ../localedata/locales/,$(LOCALE_SRCS))
+	@$(SHELL) ../localedata/gen-locale.sh $(common-objpfx) \
+		  '$(built-program-cmd-before-env)' '$(run-program-env)' \
+		  '$(built-program-cmd-after-env)' $@; \
+	$(evaluate-test)
+
diff --git a/localedata/Makefile b/localedata/Makefile
index 0f67725..03ec98c 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -107,11 +107,7 @@ LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \
 	   nb_NO.ISO-8859-1 nn_NO.ISO-8859-1 tr_TR.UTF-8 cs_CZ.UTF-8 \
 	   zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8 ja_JP.UTF-8 si_LK.UTF-8 \
 	   tr_TR.ISO-8859-9 en_GB.UTF-8
-LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^ ]*/\1/g')
-CHARMAPS := $(shell echo "$(LOCALES)" | \
-		    sed -e 's/[^ .]*[.]\([^ ]*\)/\1/g' -e s/SJIS/SHIFT_JIS/g)
-CTYPE_FILES = $(addsuffix /LC_CTYPE,$(LOCALES))
-tests-special += $(addprefix $(objpfx),$(CTYPE_FILES))
+include ../gen-locales.mk
 endif

 include ../Rules
@@ -130,16 +126,6 @@ $(inst_i18ndir)/locales/%: locales/% $(+force); $(do-install)
 ifeq ($(run-built-tests),yes)
 generated-dirs += $(LOCALES)

-# Dependency for the locale files.  We actually make it depend only on
-# one of the files.
-$(addprefix $(objpfx),$(CTYPE_FILES)): %: \
-  gen-locale.sh $(common-objpfx)locale/localedef Makefile \
-  $(addprefix charmaps/,$(CHARMAPS)) $(addprefix locales/,$(LOCALE_SRCS))
-	@$(SHELL) gen-locale.sh $(common-objpfx) \
-		  '$(built-program-cmd-before-env)' '$(run-program-env)' \
-		  '$(built-program-cmd-after-env)' $@; \
-	$(evaluate-test)
-
 $(addsuffix .out,$(addprefix $(objpfx),$(tests))): %: \
   $(addprefix $(objpfx),$(CTYPE_FILES))

diff --git a/localedata/gen-locale.sh b/localedata/gen-locale.sh
index 4156f9e..f713c55 100644
--- a/localedata/gen-locale.sh
+++ b/localedata/gen-locale.sh
@@ -30,9 +30,9 @@ generate_locale ()
   charmap=$1
   input=$2
   out=$3
-  if ${localedef_before_env} ${run_program_env} I18NPATH=. \
+  if ${localedef_before_env} ${run_program_env} I18NPATH=../localedata \
      ${localedef_after_env} --quiet -c -f $charmap -i $input \
-			    ${common_objpfx}localedata/$out
+     ${common_objpfx}localedata/$out
   then
     # The makefile checks the timestamp of the LC_CTYPE file,
     # but localedef won't have touched it if it was able to


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]