aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@smyrno.hos.anvin.org>2005-11-25 21:14:35 -0800
committerH. Peter Anvin <hpa@smyrno.hos.anvin.org>2005-11-25 21:14:35 -0800
commit4cf9a4c781e3979fa0d08a955bc7e2499b0c0f3c (patch)
tree95d472d35dca9ae54af6fdd2c9dbf20aceec9eef
parent83d603e1de70d7741eac904b60174b2933283be3 (diff)
downloadlibucd-4cf9a4c781e3979fa0d08a955bc7e2499b0c0f3c.tar.gz
Generate forward hash for UCS->name calculation
-rw-r--r--Makefile22
-rwxr-xr-xconvert_ucd.pl19
2 files changed, 37 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index e7fc2c4..73de55a 100644
--- a/Makefile
+++ b/Makefile
@@ -11,19 +11,26 @@ HOST_LIBS =
#
# These are the files produced by convert_ucd.pl
#
-GEN_FILES = gen/jamo.c gen/nameslist.c gen/nametoucs.keys gen/propdump.txt
+CVT_FILES = gen/jamo.c gen/nameslist.c gen/nametoucs.keys \
+ gen/ucstoname.keys gen/propdump.txt
-.SUFFIXES: .c .o .s .i .cc .h
+.SUFFIXES: .c .o .lo .s .ls .i .li .cc .h
.c.o:
$(CC) $(CFLAGS) -c -o $@ $<
.c.s:
$(CC) $(CFLAGS) -S -o $@ $<
.c.i:
$(CC) $(CFLAGS) -E -o $@ $<
+.c.lo:
+ $(HOST_CC) $(HOST_CFLAGS) -c -o $@ $<
+.c.ls:
+ $(HOST_CC) $(HOST_CFLAGS) -S -o $@ $<
+.c.li:
+ $(HOST_CC) $(HOST_CFLAGS) -E -o $@ $<
-all : gen/done perfect/perfect gen/nametoucs_hash.o
+all : gen/done perfect/perfect gen/nametoucs_hash.o gen/ucstoname_hash.o
-$(GEN_FILES) : gen/done
+$(CVT_FILES) : gen/done
gen/done: convert_ucd.pl $(wildcard ucd/*.txt ucd/extracted/*.txt)
mkdir -p gen
@@ -40,6 +47,13 @@ gen/nametoucs_hash.c: gen/nametoucs.keys perfect/perfect
gen/nametoucs_hash.h: gen/nametoucs_hash.c
: Generated by side effect
+gen/ucstoname_hash.c: gen/ucstoname.keys perfect/perfect
+ perfect/perfect -hm libucd_ucstoname_hash gen/ucstoname_hash.c \
+ gen/ucstoname_hash.h < gen/ucstoname.keys
+
+gen/ucstoname_hash.h: gen/ucstoname_hash.c
+ : Generated by side effect
+
clean:
rm -rf gen
rm -f *.o *.a *.so *.so.*
diff --git a/convert_ucd.pl b/convert_ucd.pl
index d070685..08889df 100755
--- a/convert_ucd.pl
+++ b/convert_ucd.pl
@@ -310,6 +310,24 @@ sub make_name_keyfile()
}
#
+# Make a keyfile for all non-systematically named codepoints
+#
+sub make_named_ucs_keyfile()
+{
+ my $fh;
+ my $k;
+
+ open($fh, '>', 'gen/ucstoname.keys')
+ or die "$0: cannot write gen/ucstoname.keys\n";
+
+ foreach $k ( values(%name_to_ucs) ) {
+ printf $fh "%08x\n", $k;
+ }
+
+ close($fh);
+}
+
+#
# Produce a list of character properties, sans names; this is
# a test in order to figure out how much we could save from a
# range-oriented table for everything except names.
@@ -395,4 +413,5 @@ read_boolean_file('ucd/PropList.txt');
make_jamo_tables();
make_names_list();
make_name_keyfile();
+make_named_ucs_keyfile();
dump_prop_list();