Explorar el Código

locales prepared for new build system, will allow to autobuild locales, not only use the pregenerated ones

Peter S. Mazinger hace 20 años
padre
commit
e1ae525bd8
Se han modificado 4 ficheros con 11 adiciones y 98 borrados
  1. 5 3
      Makefile.in
  2. 4 93
      extra/locale/Makefile
  3. 1 1
      extra/locale/gen_wc8bit.c
  4. 1 1
      extra/locale/gen_wctype.c

+ 5 - 3
Makefile.in

@@ -107,7 +107,9 @@ ifeq ($(UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA),y)
 endif
 ifeq ($(UCLIBC_PREGENERATED_LOCALE_DATA),y)
 	(cd $(top_builddir)extra/locale; zcat $(LOCALE_DATA_FILENAME) | tar -xvf -)
-	$(MAKE) -C $(top_srcdir)extra/locale pregen
+endif
+ifeq ($(UCLIBC_HAS_LOCALE),y)
+	$(MAKE) -C $(top_builddir)extra/locale locale_objs
 endif
 
 install: install_runtime install_dev
@@ -335,8 +337,8 @@ clean:
 distclean: clean
 	-find . \( -name core -o -name \*.orig -o -name \*~ \) -exec $(RM) {} \;
 	$(RM) .config .config.old .config.cmd
-	$(RM) extra/locale/*.txt
-	$(MAKE) -C extra clean
+	$(RM) extra/locale/*.{txt,tgz}
+	$(MAKE) -C extra/config clean
 
 dist release:
 	$(MAKE) -s distclean

+ 4 - 93
extra/locale/Makefile

@@ -5,98 +5,9 @@
 # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
+top_srcdir=../../
 top_builddir=../../
+all: objs
 include $(top_builddir)Rules.mak
-
-EXTRA_LOCALE_DIR:=${shell cd $(top_builddir)extra/locale && pwd}
-
-CFLAGS_wc8bit=-DCTYPE_PACKED=1
-CFLAGS_mmap=
-ifeq ($(UCLIBC_HAS_WCHAR),y)
-    CFLAGS_wc8bit += -DDO_WIDE_CHAR=1
-    CFLAGS_mmap += -D__WCHAR_ENABLED=1
-endif
-
-all: links-target
-
-codesets.txt:
-	@if [ ! -f codesets.txt ] ; then \
-	    set -e; \
-	    echo " "; \
-	    echo "You do not have a codesets.txt file.  Please create this "; \
-	    echo "file in the extra/locale directory by running something like: "; \
-	    echo -e "  find $(EXTRA_LOCALE_DIR)/charmaps -name \"*.pairs\" > \\"; \
-	    echo -e "        $(EXTRA_LOCALE_DIR)/codesets.txt"; \
-	    echo "and then edit that file to disable/enable the codesets you wish to support. "; \
-	    echo " "; \
-	    false; \
-	fi;
-
-gen_wc8bit: gen_wc8bit.c
-	$(HOSTCC) $(HOSTCFLAGS) $(NATIVE_LDFLAGS) $(CFLAGS_wc8bit) -D__UCLIBC_GEN_LOCALE $^ -o $@
-
-c8tables.h: gen_wc8bit codesets.txt
-	./gen_wc8bit `cat codesets.txt`
-
-gen_wctype: gen_wctype.c
-	$(HOSTCC) $(HOSTCFLAGS) $(NATIVE_LDFLAGS) -D__UCLIBC_GEN_LOCALE $^ -o $@
-
-# Warning! Beware tr_TR toupper/tolower exceptions!
-wctables.h: gen_wctype
-	./gen_wctype en_US
-
-gen_locale: gen_locale.c c8tables.h
-	$(HOSTCC) $(HOSTCFLAGS) $(NATIVE_LDFLAGS) gen_locale.c -o $@
-
-locale_tables.h: gen_locale locales.txt
-	./gen_locale locales.txt
-
-lt_defines.h: locale_tables.h locale_collate.h
-	grep "^#define" locale_tables.h > lt_defines.h
-	grep "^#define __lc" locale_collate.h >> lt_defines.h
-
-gen_collate: gen_collate.c
-	$(HOSTCC) $(HOSTCFLAGS) $(NATIVE_LDFLAGS) gen_collate.c -o $@
-
-locale_collate.h: gen_collate locale_tables.h
-	grep COL_IDX_ locale_tables.h | sed -e "s/^.*COL_IDX_\([^, ]*\).*$$/\1/" | sort | uniq | xargs ./gen_collate
-
-locales.txt:
-	@if [ ! -f locales.txt ] ; then \
-	    set -e; \
-	    echo " "; \
-	    echo "You do not have a locales.txt file in the extra/locale "; \
-	    echo "directory, Please copy the LOCALES file to locales.txt by "; \
-	    echo "running something like: "; \
-	    echo "  cp $(EXTRA_LOCALE_DIR)/LOCALES \\ "; \
-	    echo "      $(EXTRA_LOCALE_DIR)/locales.txt "; \
-	    echo "then edit locales.txt to disable/enable the locales you wish "; \
-	    echo "to support. "; \
-	    echo " "; \
-	    false; \
-	fi;
-
-gen_ldc: gen_ldc.c c8tables.h wctables.h locale_tables.h locale_collate.h
-	$(HOSTCC) $(HOSTCFLAGS) $(NATIVE_LDFLAGS) $(CFLAGS_mmap) gen_ldc.c -o $@
-
-locale_data.c: gen_ldc
-	./gen_ldc
-
-uClibc_locale_data.h: c8tables.h wctables.h lt_defines.h locale_mmap.h
-	grep -v "define __LC" lt_defines.h > uClibc_locale_data.h
-	cat c8tables.h wctables.h locale_mmap.h >> uClibc_locale_data.h
-
-links-target: locale_data.c uClibc_locale_data.h
-	cat uClibc_locale_data.h | awk 'BEGIN{i=1}{ if ( /WANT_/ ) i = /endif/ ; else if (i) print $0 }' > ../../include/bits/uClibc_locale_data.h
-
-pregen:
-	cat uClibc_locale_data.h | awk 'BEGIN{i=1}{ if ( /WANT_/ ) i = /endif/ ; else if (i) print $0 }' > ../../include/bits/uClibc_locale_data.h
-
-clean:
-	$(RM) *.o *~ core
-	$(RM) gen_wc8bit gen_wctype gen_locale gen_ldc gen_collate
-	$(RM) c8tables.h wctables.h locale_tables.h lt_defines.h locale_collate.h
-	$(RM) gen_mmap locale.mmap lmmtolso
-	$(RM) locale_data.c uClibc_locale_data.h
-
-.PHONY: pregen links-target
+include Makefile.in
+include $(top_srcdir)Makerules

+ 1 - 1
extra/locale/gen_wc8bit.c

@@ -13,7 +13,7 @@
 #ifndef _WCTYPE_H
 #define _WCTYPE_H
 #endif
-#include "../../libc/sysdeps/linux/common/bits/uClibc_ctype.h"
+#include <bits/uClibc_ctype.h>
 
 
 /*  #define CTYPE_PACKED */

+ 1 - 1
extra/locale/gen_wctype.c

@@ -20,7 +20,7 @@
 #ifndef _WCTYPE_H
 #define _WCTYPE_H
 #endif
-#include "../../libc/sysdeps/linux/common/bits/uClibc_ctype.h"
+#include <bits/uClibc_ctype.h>
 
 /*       0x9 : space  blank */
 /*       0xa : space */