Skip to content
Commits on Source (10)
1.0.2 (2019-08-07)
------------------
- Use dune's include_subdirs (#72)
- Fix parallel build (#75)
- Add `(mode fallback)` to installConfig.ml (#76)
- Fix iana executable (#77)
- Generate opam files from dune. (#78)
1.0.1
-----
......
(include_subdirs no)
(executable (name dune_gen))
(rule
(deps (glob_files sources/*))
(targets dune.inc.gen)
(action (with-stdout-to %{targets}
(run ./dune_gen.exe sources))))
(copy_files sources/*)
(alias
(name dune)
(action (diff dune.inc dune.inc.gen)))
(alias
(name runtest)
(deps (alias dune)))
(include dune.inc)
......@@ -97,15 +97,15 @@ let () =
let pr fmt = Printf.bprintf buf (fmt ^^ "\n") in
pr "";
pr "(install";
pr " ((section share)";
pr " (files (";
pr " (section share)";
pr " (files";
List.iter to_install ~f:(fun fn ->
pr " (%s as charmaps/%s)" fn fn);
pr " ))))";
pr " ))";
List.iter charmaps ~f:(fun (fn, targets) ->
pr "";
pr "(rule";
pr " ((targets (%s))" (String.concat ~sep:" " targets);
pr " (deps (%s))" fn;
pr " (action (run ../tools/camomilecharmap.exe -d . ${^}))))");
pr " (targets %s)" (String.concat ~sep:" " targets);
pr " (deps %s)" fn;
pr " (action (run ../tools/camomilecharmap.exe -d . %%{deps})))");
print_endline (Buffer.contents buf)
(jbuild_version 1)
(rule
((deps ((glob_files sources/*)))
(targets (jbuild.inc.gen))
(action (with-stdout-to ${@}
(run ocaml ${path:jbuild_gen.ml} sources)))))
(copy_files sources/*)
(alias
((name jbuild)
(action (diff jbuild.inc jbuild.inc.gen))))
(alias
((name runtest)
(deps ((alias jbuild)))))
(include jbuild.inc)
(install
(section share)
(files
(acset.mar as database/acset.mar)
(age.mar as database/age.mar)
(allkeys.mar as database/allkeys.mar)
(Alphabetic.mar as database/Alphabetic.mar)
(Alphabetic_set.mar as database/Alphabetic_set.mar)
(ASCII_Hex_Digit.mar as database/ASCII_Hex_Digit.mar)
(ASCII_Hex_Digit_set.mar as database/ASCII_Hex_Digit_set.mar)
(Bidi_Control.mar as database/Bidi_Control.mar)
(Bidi_Control_set.mar as database/Bidi_Control_set.mar)
(case_folding.mar as database/case_folding.mar)
(combined_class_map.mar as database/combined_class_map.mar)
(combined_class.mar as database/combined_class.mar)
(composition_exclusion.mar as database/composition_exclusion.mar)
(composition_exclusion_set.mar as database/composition_exclusion_set.mar)
(composition.mar as database/composition.mar)
(d1.mar as database/d1.mar)
(d2.mar as database/d2.mar)
(decomposition.mar as database/decomposition.mar)
(Default_Ignorable_Code_Point.mar as database/Default_Ignorable_Code_Point.mar)
(Default_Ignorable_Code_Point_set.mar as database/Default_Ignorable_Code_Point_set.mar)
(Deprecated.mar as database/Deprecated.mar)
(Deprecated_set.mar as database/Deprecated_set.mar)
(Diacritic.mar as database/Diacritic.mar)
(Diacritic_set.mar as database/Diacritic_set.mar)
(Extender.mar as database/Extender.mar)
(Extender_set.mar as database/Extender_set.mar)
(general_category_map.mar as database/general_category_map.mar)
(general_category.mar as database/general_category.mar)
(Grapheme_Base.mar as database/Grapheme_Base.mar)
(Grapheme_Base_set.mar as database/Grapheme_Base_set.mar)
(Grapheme_Extend.mar as database/Grapheme_Extend.mar)
(Grapheme_Extend_set.mar as database/Grapheme_Extend_set.mar)
(Grapheme_Link.mar as database/Grapheme_Link.mar)
(Grapheme_Link_set.mar as database/Grapheme_Link_set.mar)
(Hex_Digit.mar as database/Hex_Digit.mar)
(Hex_Digit_set.mar as database/Hex_Digit_set.mar)
(Hyphen.mar as database/Hyphen.mar)
(Hyphen_set.mar as database/Hyphen_set.mar)
(ID_Continue.mar as database/ID_Continue.mar)
(ID_Continue_set.mar as database/ID_Continue_set.mar)
(Ideographic.mar as database/Ideographic.mar)
(Ideographic_set.mar as database/Ideographic_set.mar)
(IDS_Binary_Operator.mar as database/IDS_Binary_Operator.mar)
(IDS_Binary_Operator_set.mar as database/IDS_Binary_Operator_set.mar)
(ID_Start.mar as database/ID_Start.mar)
(ID_Start_set.mar as database/ID_Start_set.mar)
(IDS_Trinary_Operator.mar as database/IDS_Trinary_Operator.mar)
(IDS_Trinary_Operator_set.mar as database/IDS_Trinary_Operator_set.mar)
(iscsi_prohibited.mar as database/iscsi_prohibited.mar)
(Join_Control.mar as database/Join_Control.mar)
(Join_Control_set.mar as database/Join_Control_set.mar)
(Logical_Order_Exception.mar as database/Logical_Order_Exception.mar)
(Logical_Order_Exception_set.mar as database/Logical_Order_Exception_set.mar)
(Lowercase.mar as database/Lowercase.mar)
(Lowercase_set.mar as database/Lowercase_set.mar)
(map_b1b2.mar as database/map_b1b2.mar)
(map_b1.mar as database/map_b1.mar)
(Math.mar as database/Math.mar)
(Math_set.mar as database/Math_set.mar)
(mib_prohibited.mar as database/mib_prohibited.mar)
(nameprep_prohibited.mar as database/nameprep_prohibited.mar)
(nodeprep_prohibited.mar as database/nodeprep_prohibited.mar)
(Noncharacter_Code_Point.mar as database/Noncharacter_Code_Point.mar)
(Noncharacter_Code_Point_set.mar as database/Noncharacter_Code_Point_set.mar)
(Other_Alphabetic.mar as database/Other_Alphabetic.mar)
(Other_Alphabetic_set.mar as database/Other_Alphabetic_set.mar)
(Other_Default_Ignorable_Code_Point.mar as database/Other_Default_Ignorable_Code_Point.mar)
(Other_Default_Ignorable_Code_Point_set.mar as database/Other_Default_Ignorable_Code_Point_set.mar)
(Other_Grapheme_Extend.mar as database/Other_Grapheme_Extend.mar)
(Other_Grapheme_Extend_set.mar as database/Other_Grapheme_Extend_set.mar)
(Other_Lowercase.mar as database/Other_Lowercase.mar)
(Other_Lowercase_set.mar as database/Other_Lowercase_set.mar)
(Other_Math.mar as database/Other_Math.mar)
(Other_Math_set.mar as database/Other_Math_set.mar)
(Other_Uppercase.mar as database/Other_Uppercase.mar)
(Other_Uppercase_set.mar as database/Other_Uppercase_set.mar)
(Quotation_Mark.mar as database/Quotation_Mark.mar)
(Quotation_Mark_set.mar as database/Quotation_Mark_set.mar)
(Radical.mar as database/Radical.mar)
(Radical_set.mar as database/Radical_set.mar)
(resourceprep_prohibited.mar as database/resourceprep_prohibited.mar)
(saslprep_map.mar as database/saslprep_map.mar)
(saslprep_prohibited.mar as database/saslprep_prohibited.mar)
(scripts_map.mar as database/scripts_map.mar)
(scripts.mar as database/scripts.mar)
(Soft_Dotted.mar as database/Soft_Dotted.mar)
(Soft_Dotted_set.mar as database/Soft_Dotted_set.mar)
(special_casing.mar as database/special_casing.mar)
(Terminal_Punctuation.mar as database/Terminal_Punctuation.mar)
(Terminal_Punctuation_set.mar as database/Terminal_Punctuation_set.mar)
(to_lower1.mar as database/to_lower1.mar)
(to_title1.mar as database/to_title1.mar)
(to_upper1.mar as database/to_upper1.mar)
(trace_prohibited.mar as database/trace_prohibited.mar)
(Unified_Ideograph.mar as database/Unified_Ideograph.mar)
(Unified_Ideograph_set.mar as database/Unified_Ideograph_set.mar)
(Uppercase.mar as database/Uppercase.mar)
(Uppercase_set.mar as database/Uppercase_set.mar)
(White_Space.mar as database/White_Space.mar)
(White_Space_set.mar as database/White_Space_set.mar)
(XID_Continue.mar as database/XID_Continue.mar)
(XID_Continue_set.mar as database/XID_Continue_set.mar)
(XID_Start.mar as database/XID_Start.mar)
(XID_Start_set.mar as database/XID_Start_set.mar)
))
;; PROPS
(rule
(targets White_Space.mar White_Space_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . White_Space %{deps})))
(rule
(targets Bidi_Control.mar Bidi_Control_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Bidi_Control %{deps})))
(rule
(targets Join_Control.mar Join_Control_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Join_Control %{deps})))
(rule
(targets Hyphen.mar Hyphen_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Hyphen %{deps})))
(rule
(targets Quotation_Mark.mar Quotation_Mark_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Quotation_Mark %{deps})))
(rule
(targets Terminal_Punctuation.mar Terminal_Punctuation_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Terminal_Punctuation %{deps})))
(rule
(targets Other_Math.mar Other_Math_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Other_Math %{deps})))
(rule
(targets Hex_Digit.mar Hex_Digit_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Hex_Digit %{deps})))
(rule
(targets ASCII_Hex_Digit.mar ASCII_Hex_Digit_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . ASCII_Hex_Digit %{deps})))
(rule
(targets Other_Alphabetic.mar Other_Alphabetic_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Other_Alphabetic %{deps})))
(rule
(targets Ideographic.mar Ideographic_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Ideographic %{deps})))
(rule
(targets Diacritic.mar Diacritic_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Diacritic %{deps})))
(rule
(targets Extender.mar Extender_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Extender %{deps})))
(rule
(targets Other_Lowercase.mar Other_Lowercase_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Other_Lowercase %{deps})))
(rule
(targets Other_Uppercase.mar Other_Uppercase_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Other_Uppercase %{deps})))
(rule
(targets Noncharacter_Code_Point.mar Noncharacter_Code_Point_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Noncharacter_Code_Point %{deps})))
(rule
(targets Other_Grapheme_Extend.mar Other_Grapheme_Extend_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Other_Grapheme_Extend %{deps})))
(rule
(targets Grapheme_Link.mar Grapheme_Link_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Grapheme_Link %{deps})))
(rule
(targets IDS_Binary_Operator.mar IDS_Binary_Operator_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . IDS_Binary_Operator %{deps})))
(rule
(targets IDS_Trinary_Operator.mar IDS_Trinary_Operator_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . IDS_Trinary_Operator %{deps})))
(rule
(targets Radical.mar Radical_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Radical %{deps})))
(rule
(targets Unified_Ideograph.mar Unified_Ideograph_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Unified_Ideograph %{deps})))
(rule
(targets Other_Default_Ignorable_Code_Point.mar Other_Default_Ignorable_Code_Point_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Other_Default_Ignorable_Code_Point %{deps})))
(rule
(targets Deprecated.mar Deprecated_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Deprecated %{deps})))
(rule
(targets Soft_Dotted.mar Soft_Dotted_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Soft_Dotted %{deps})))
(rule
(targets Logical_Order_Exception.mar Logical_Order_Exception_set.mar)
(deps ../unidata/PropList.txt)
(action (run ../tools/parse_uniset.exe -filter . Logical_Order_Exception %{deps})))
;; CORE_DERIVED_PROPS
(rule
(targets Math.mar Math_set.mar)
(deps ../unidata/DerivedCoreProperties.txt)
(action (run ../tools/parse_uniset.exe -filter . Math %{deps})))
(rule
(targets Alphabetic.mar Alphabetic_set.mar)
(deps ../unidata/DerivedCoreProperties.txt)
(action (run ../tools/parse_uniset.exe -filter . Alphabetic %{deps})))
(rule
(targets Lowercase.mar Lowercase_set.mar)
(deps ../unidata/DerivedCoreProperties.txt)
(action (run ../tools/parse_uniset.exe -filter . Lowercase %{deps})))
(rule
(targets Uppercase.mar Uppercase_set.mar)
(deps ../unidata/DerivedCoreProperties.txt)
(action (run ../tools/parse_uniset.exe -filter . Uppercase %{deps})))
(rule
(targets ID_Start.mar ID_Start_set.mar)
(deps ../unidata/DerivedCoreProperties.txt)
(action (run ../tools/parse_uniset.exe -filter . ID_Start %{deps})))
(rule
(targets ID_Continue.mar ID_Continue_set.mar)
(deps ../unidata/DerivedCoreProperties.txt)
(action (run ../tools/parse_uniset.exe -filter . ID_Continue %{deps})))
(rule
(targets XID_Start.mar XID_Start_set.mar)
(deps ../unidata/DerivedCoreProperties.txt)
(action (run ../tools/parse_uniset.exe -filter . XID_Start %{deps})))
(rule
(targets XID_Continue.mar XID_Continue_set.mar)
(deps ../unidata/DerivedCoreProperties.txt)
(action (run ../tools/parse_uniset.exe -filter . XID_Continue %{deps})))
(rule
(targets Default_Ignorable_Code_Point.mar Default_Ignorable_Code_Point_set.mar)
(deps ../unidata/DerivedCoreProperties.txt)
(action (run ../tools/parse_uniset.exe -filter . Default_Ignorable_Code_Point %{deps})))
(rule
(targets Grapheme_Extend.mar Grapheme_Extend_set.mar)
(deps ../unidata/DerivedCoreProperties.txt)
(action (run ../tools/parse_uniset.exe -filter . Grapheme_Extend %{deps})))
(rule
(targets Grapheme_Base.mar Grapheme_Base_set.mar)
(deps ../unidata/DerivedCoreProperties.txt)
(action (run ../tools/parse_uniset.exe -filter . Grapheme_Base %{deps})))
;; FROM_UNIDATA
(rule
(targets combined_class.mar
combined_class_map.mar
composition.mar
decomposition.mar
general_category.mar
to_lower1.mar
to_title1.mar
to_upper1.mar
general_category_map.mar)
(deps ../unidata/UnicodeData.txt)
(action (run ../tools/parse_unidata.exe . %{deps})))
;; STRINGPREP_TABLES
(rule
(targets map_b1b2.mar
map_b1.mar
d1.mar d2.mar
saslprep_map.mar
nodeprep_prohibited.mar
resourceprep_prohibited.mar
nameprep_prohibited.mar
saslprep_prohibited.mar
trace_prohibited.mar
iscsi_prohibited.mar
mib_prohibited.mar)
(deps (glob_files ../unidata/stringprep/*))
(action (run ../tools/camomilestringprep.exe -in ../unidata/stringprep -out .)))
;; other
(alias
(name database)
(deps combined_class.mar
composition.mar
decomposition.mar
general_category.mar
to_lower1.mar
to_title1.mar
to_upper1.mar
general_category_map.mar
White_Space.mar
Bidi_Control.mar
Join_Control.mar
Hyphen.mar
Quotation_Mark.mar
Terminal_Punctuation.mar
Other_Math.mar
Hex_Digit.mar
ASCII_Hex_Digit.mar
Other_Alphabetic.mar
Ideographic.mar
Diacritic.mar
Extender.mar
Other_Lowercase.mar
Other_Uppercase.mar
Noncharacter_Code_Point.mar
Other_Grapheme_Extend.mar
Grapheme_Link.mar
IDS_Binary_Operator.mar
IDS_Trinary_Operator.mar
Radical.mar
Unified_Ideograph.mar
Other_Default_Ignorable_Code_Point.mar
Deprecated.mar
Soft_Dotted.mar
Logical_Order_Exception.mar
scripts.mar))
(rule
(targets allkeys.mar acset.mar)
(deps ../unidata/tr10/allkeys.txt (alias database))
(action (chdir .. (run tools/parse_allkeys.exe database %{deps}))))
(rule
(targets case_folding.mar)
(deps ../unidata/CaseFolding.txt)
(action (run ../tools/parse_casefolding.exe . %{deps})))
(rule
(targets composition_exclusion.mar composition_exclusion_set.mar)
(deps ../unidata/CompositionExclusions.txt)
(action (run ../tools/parse_uniset.exe . composition_exclusion %{deps})))
(rule
(targets special_casing.mar)
(deps ../unidata/SpecialCasing.txt (alias database))
(action (chdir .. (run tools/parse_specialcasing.exe database %{deps}))))
(rule
(targets scripts.mar scripts_map.mar)
(deps ../unidata/Scripts.txt)
(action (run ../tools/parse_scripts.exe . %{deps})))
(rule
(targets age.mar)
(deps ../unidata/DerivedAge.txt)
(action (run ../tools/parse_age.exe . %{deps})))
(jbuild_version 1)
(install
((section share)
(files (
(acset.mar as database/acset.mar)
(age.mar as database/age.mar)
(allkeys.mar as database/allkeys.mar)
(Alphabetic.mar as database/Alphabetic.mar)
(Alphabetic_set.mar as database/Alphabetic_set.mar)
(ASCII_Hex_Digit.mar as database/ASCII_Hex_Digit.mar)
(ASCII_Hex_Digit_set.mar as database/ASCII_Hex_Digit_set.mar)
(Bidi_Control.mar as database/Bidi_Control.mar)
(Bidi_Control_set.mar as database/Bidi_Control_set.mar)
(case_folding.mar as database/case_folding.mar)
(combined_class_map.mar as database/combined_class_map.mar)
(combined_class.mar as database/combined_class.mar)
(composition_exclusion.mar as database/composition_exclusion.mar)
(composition_exclusion_set.mar as database/composition_exclusion_set.mar)
(composition.mar as database/composition.mar)
(d1.mar as database/d1.mar)
(d2.mar as database/d2.mar)
(decomposition.mar as database/decomposition.mar)
(Default_Ignorable_Code_Point.mar as database/Default_Ignorable_Code_Point.mar)
(Default_Ignorable_Code_Point_set.mar as database/Default_Ignorable_Code_Point_set.mar)
(Deprecated.mar as database/Deprecated.mar)
(Deprecated_set.mar as database/Deprecated_set.mar)
(Diacritic.mar as database/Diacritic.mar)
(Diacritic_set.mar as database/Diacritic_set.mar)
(Extender.mar as database/Extender.mar)
(Extender_set.mar as database/Extender_set.mar)
(general_category_map.mar as database/general_category_map.mar)
(general_category.mar as database/general_category.mar)
(Grapheme_Base.mar as database/Grapheme_Base.mar)
(Grapheme_Base_set.mar as database/Grapheme_Base_set.mar)
(Grapheme_Extend.mar as database/Grapheme_Extend.mar)
(Grapheme_Extend_set.mar as database/Grapheme_Extend_set.mar)
(Grapheme_Link.mar as database/Grapheme_Link.mar)
(Grapheme_Link_set.mar as database/Grapheme_Link_set.mar)
(Hex_Digit.mar as database/Hex_Digit.mar)
(Hex_Digit_set.mar as database/Hex_Digit_set.mar)
(Hyphen.mar as database/Hyphen.mar)
(Hyphen_set.mar as database/Hyphen_set.mar)
(ID_Continue.mar as database/ID_Continue.mar)
(ID_Continue_set.mar as database/ID_Continue_set.mar)
(Ideographic.mar as database/Ideographic.mar)
(Ideographic_set.mar as database/Ideographic_set.mar)
(IDS_Binary_Operator.mar as database/IDS_Binary_Operator.mar)
(IDS_Binary_Operator_set.mar as database/IDS_Binary_Operator_set.mar)
(ID_Start.mar as database/ID_Start.mar)
(ID_Start_set.mar as database/ID_Start_set.mar)
(IDS_Trinary_Operator.mar as database/IDS_Trinary_Operator.mar)
(IDS_Trinary_Operator_set.mar as database/IDS_Trinary_Operator_set.mar)
(iscsi_prohibited.mar as database/iscsi_prohibited.mar)
(Join_Control.mar as database/Join_Control.mar)
(Join_Control_set.mar as database/Join_Control_set.mar)
(Logical_Order_Exception.mar as database/Logical_Order_Exception.mar)
(Logical_Order_Exception_set.mar as database/Logical_Order_Exception_set.mar)
(Lowercase.mar as database/Lowercase.mar)
(Lowercase_set.mar as database/Lowercase_set.mar)
(map_b1b2.mar as database/map_b1b2.mar)
(map_b1.mar as database/map_b1.mar)
(Math.mar as database/Math.mar)
(Math_set.mar as database/Math_set.mar)
(mib_prohibited.mar as database/mib_prohibited.mar)
(nameprep_prohibited.mar as database/nameprep_prohibited.mar)
(nodeprep_prohibited.mar as database/nodeprep_prohibited.mar)
(Noncharacter_Code_Point.mar as database/Noncharacter_Code_Point.mar)
(Noncharacter_Code_Point_set.mar as database/Noncharacter_Code_Point_set.mar)
(Other_Alphabetic.mar as database/Other_Alphabetic.mar)
(Other_Alphabetic_set.mar as database/Other_Alphabetic_set.mar)
(Other_Default_Ignorable_Code_Point.mar as database/Other_Default_Ignorable_Code_Point.mar)
(Other_Default_Ignorable_Code_Point_set.mar as database/Other_Default_Ignorable_Code_Point_set.mar)
(Other_Grapheme_Extend.mar as database/Other_Grapheme_Extend.mar)
(Other_Grapheme_Extend_set.mar as database/Other_Grapheme_Extend_set.mar)
(Other_Lowercase.mar as database/Other_Lowercase.mar)
(Other_Lowercase_set.mar as database/Other_Lowercase_set.mar)
(Other_Math.mar as database/Other_Math.mar)
(Other_Math_set.mar as database/Other_Math_set.mar)
(Other_Uppercase.mar as database/Other_Uppercase.mar)
(Other_Uppercase_set.mar as database/Other_Uppercase_set.mar)
(Quotation_Mark.mar as database/Quotation_Mark.mar)
(Quotation_Mark_set.mar as database/Quotation_Mark_set.mar)
(Radical.mar as database/Radical.mar)
(Radical_set.mar as database/Radical_set.mar)
(resourceprep_prohibited.mar as database/resourceprep_prohibited.mar)
(saslprep_map.mar as database/saslprep_map.mar)
(saslprep_prohibited.mar as database/saslprep_prohibited.mar)
(scripts_map.mar as database/scripts_map.mar)
(scripts.mar as database/scripts.mar)
(Soft_Dotted.mar as database/Soft_Dotted.mar)
(Soft_Dotted_set.mar as database/Soft_Dotted_set.mar)
(special_casing.mar as database/special_casing.mar)
(Terminal_Punctuation.mar as database/Terminal_Punctuation.mar)
(Terminal_Punctuation_set.mar as database/Terminal_Punctuation_set.mar)
(to_lower1.mar as database/to_lower1.mar)
(to_title1.mar as database/to_title1.mar)
(to_upper1.mar as database/to_upper1.mar)
(trace_prohibited.mar as database/trace_prohibited.mar)
(Unified_Ideograph.mar as database/Unified_Ideograph.mar)
(Unified_Ideograph_set.mar as database/Unified_Ideograph_set.mar)
(Uppercase.mar as database/Uppercase.mar)
(Uppercase_set.mar as database/Uppercase_set.mar)
(White_Space.mar as database/White_Space.mar)
(White_Space_set.mar as database/White_Space_set.mar)
(XID_Continue.mar as database/XID_Continue.mar)
(XID_Continue_set.mar as database/XID_Continue_set.mar)
(XID_Start.mar as database/XID_Start.mar)
(XID_Start_set.mar as database/XID_Start_set.mar)
))))
;; PROPS
(rule
((targets (White_Space.mar White_Space_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . White_Space ${<}))))
(rule
((targets (Bidi_Control.mar Bidi_Control_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Bidi_Control ${<}))))
(rule
((targets (Join_Control.mar Join_Control_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Join_Control ${<}))))
(rule
((targets (Hyphen.mar Hyphen_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Hyphen ${<}))))
(rule
((targets (Quotation_Mark.mar Quotation_Mark_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Quotation_Mark ${<}))))
(rule
((targets (Terminal_Punctuation.mar Terminal_Punctuation_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Terminal_Punctuation ${<}))))
(rule
((targets (Other_Math.mar Other_Math_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Other_Math ${<}))))
(rule
((targets (Hex_Digit.mar Hex_Digit_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Hex_Digit ${<}))))
(rule
((targets (ASCII_Hex_Digit.mar ASCII_Hex_Digit_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . ASCII_Hex_Digit ${<}))))
(rule
((targets (Other_Alphabetic.mar Other_Alphabetic_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Other_Alphabetic ${<}))))
(rule
((targets (Ideographic.mar Ideographic_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Ideographic ${<}))))
(rule
((targets (Diacritic.mar Diacritic_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Diacritic ${<}))))
(rule
((targets (Extender.mar Extender_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Extender ${<}))))
(rule
((targets (Other_Lowercase.mar Other_Lowercase_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Other_Lowercase ${<}))))
(rule
((targets (Other_Uppercase.mar Other_Uppercase_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Other_Uppercase ${<}))))
(rule
((targets (Noncharacter_Code_Point.mar Noncharacter_Code_Point_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Noncharacter_Code_Point ${<}))))
(rule
((targets (Other_Grapheme_Extend.mar Other_Grapheme_Extend_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Other_Grapheme_Extend ${<}))))
(rule
((targets (Grapheme_Link.mar Grapheme_Link_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Grapheme_Link ${<}))))
(rule
((targets (IDS_Binary_Operator.mar IDS_Binary_Operator_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . IDS_Binary_Operator ${<}))))
(rule
((targets (IDS_Trinary_Operator.mar IDS_Trinary_Operator_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . IDS_Trinary_Operator ${<}))))
(rule
((targets (Radical.mar Radical_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Radical ${<}))))
(rule
((targets (Unified_Ideograph.mar Unified_Ideograph_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Unified_Ideograph ${<}))))
(rule
((targets (Other_Default_Ignorable_Code_Point.mar Other_Default_Ignorable_Code_Point_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Other_Default_Ignorable_Code_Point ${<}))))
(rule
((targets (Deprecated.mar Deprecated_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Deprecated ${<}))))
(rule
((targets (Soft_Dotted.mar Soft_Dotted_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Soft_Dotted ${<}))))
(rule
((targets (Logical_Order_Exception.mar Logical_Order_Exception_set.mar))
(deps (../unidata/PropList.txt))
(action (run ../tools/parse_uniset.exe -filter . Logical_Order_Exception ${<}))))
;; CORE_DERIVED_PROPS
(rule
((targets (Math.mar Math_set.mar))
(deps (../unidata/DerivedCoreProperties.txt))
(action (run ../tools/parse_uniset.exe -filter . Math ${<}))))
(rule
((targets (Alphabetic.mar Alphabetic_set.mar))
(deps (../unidata/DerivedCoreProperties.txt))
(action (run ../tools/parse_uniset.exe -filter . Alphabetic ${<}))))
(rule
((targets (Lowercase.mar Lowercase_set.mar))
(deps (../unidata/DerivedCoreProperties.txt))
(action (run ../tools/parse_uniset.exe -filter . Lowercase ${<}))))
(rule
((targets (Uppercase.mar Uppercase_set.mar))
(deps (../unidata/DerivedCoreProperties.txt))
(action (run ../tools/parse_uniset.exe -filter . Uppercase ${<}))))
(rule
((targets (ID_Start.mar ID_Start_set.mar))
(deps (../unidata/DerivedCoreProperties.txt))
(action (run ../tools/parse_uniset.exe -filter . ID_Start ${<}))))
(rule
((targets (ID_Continue.mar ID_Continue_set.mar))
(deps (../unidata/DerivedCoreProperties.txt))
(action (run ../tools/parse_uniset.exe -filter . ID_Continue ${<}))))
(rule
((targets (XID_Start.mar XID_Start_set.mar))
(deps (../unidata/DerivedCoreProperties.txt))
(action (run ../tools/parse_uniset.exe -filter . XID_Start ${<}))))
(rule
((targets (XID_Continue.mar XID_Continue_set.mar))
(deps (../unidata/DerivedCoreProperties.txt))
(action (run ../tools/parse_uniset.exe -filter . XID_Continue ${<}))))
(rule
((targets (Default_Ignorable_Code_Point.mar Default_Ignorable_Code_Point_set.mar))
(deps (../unidata/DerivedCoreProperties.txt))
(action (run ../tools/parse_uniset.exe -filter . Default_Ignorable_Code_Point ${<}))))
(rule
((targets (Grapheme_Extend.mar Grapheme_Extend_set.mar))
(deps (../unidata/DerivedCoreProperties.txt))
(action (run ../tools/parse_uniset.exe -filter . Grapheme_Extend ${<}))))
(rule
((targets (Grapheme_Base.mar Grapheme_Base_set.mar))
(deps (../unidata/DerivedCoreProperties.txt))
(action (run ../tools/parse_uniset.exe -filter . Grapheme_Base ${<}))))
;; FROM_UNIDATA
(rule
((targets (combined_class.mar
combined_class_map.mar
composition.mar
decomposition.mar
general_category.mar
to_lower1.mar
to_title1.mar
to_upper1.mar
general_category_map.mar))
(deps (../unidata/UnicodeData.txt))
(action (run ../tools/parse_unidata.exe . ${<}))))
;; STRINGPREP_TABLES
(rule
((targets (map_b1b2.mar
map_b1.mar
d1.mar d2.mar
saslprep_map.mar
nodeprep_prohibited.mar
resourceprep_prohibited.mar
nameprep_prohibited.mar
saslprep_prohibited.mar
trace_prohibited.mar
iscsi_prohibited.mar
mib_prohibited.mar))
(deps ((glob_files ../unidata/stringprep/*)))
(action (run ../tools/camomilestringprep.exe -in ../unidata/stringprep -out .))))
;; other
(alias
((name database)
(deps (combined_class.mar
composition.mar
decomposition.mar
general_category.mar
to_lower1.mar
to_title1.mar
to_upper1.mar
general_category_map.mar
White_Space.mar
Bidi_Control.mar
Join_Control.mar
Hyphen.mar
Quotation_Mark.mar
Terminal_Punctuation.mar
Other_Math.mar
Hex_Digit.mar
ASCII_Hex_Digit.mar
Other_Alphabetic.mar
Ideographic.mar
Diacritic.mar
Extender.mar
Other_Lowercase.mar
Other_Uppercase.mar
Noncharacter_Code_Point.mar
Other_Grapheme_Extend.mar
Grapheme_Link.mar
IDS_Binary_Operator.mar
IDS_Trinary_Operator.mar
Radical.mar
Unified_Ideograph.mar
Other_Default_Ignorable_Code_Point.mar
Deprecated.mar
Soft_Dotted.mar
Logical_Order_Exception.mar
scripts.mar))))
(rule
((targets (allkeys.mar acset.mar))
(deps (../unidata/tr10/allkeys.txt
(alias database)))
(action (chdir .. (run tools/parse_allkeys.exe database ${<})))))
(rule
((targets (case_folding.mar))
(deps (../unidata/CaseFolding.txt))
(action (run ../tools/parse_casefolding.exe . ${<}))))
(rule
((targets (composition_exclusion.mar composition_exclusion_set.mar))
(deps (../unidata/CompositionExclusions.txt))
(action (run ../tools/parse_uniset.exe . composition_exclusion ${<}))))
(rule
((targets (special_casing.mar))
(deps (../unidata/SpecialCasing.txt
(alias database)))
(action (chdir .. (run tools/parse_specialcasing.exe database ${<})))))
(rule
((targets (scripts.mar scripts_map.mar))
(deps (../unidata/Scripts.txt))
(action (run ../tools/parse_scripts.exe . ${<}))))
(rule
((targets (age.mar))
(deps (../unidata/DerivedAge.txt))
(action (run ../tools/parse_age.exe . ${<}))))
;; Default config, overridden by the configure.ml script
(rule
(targets installConfig.ml)
(mode fallback)
(action (with-stdout-to %{targets}
(echo "let share_dir = \"/usr/share/camomile\""))))
(library
(name camomileLibrary)
(public_name camomile.library)
(wrapped true)
(libraries bigarray camomileDefaultConfig)
(modules
:standard \ camomileDefaultConfig
camomile_do_not_use
installConfig
camomileLibraryDyn
camomileLibraryDefault))
(library
(name camomileDefaultConfig)
(public_name camomile.default_config)
(wrapped true)
(modules camomileDefaultConfig installConfig))
(library
(name camomileLibraryDyn)
(public_name camomile.dyn)
(wrapped false)
(libraries camomileLibraryDefault)
(modules camomileLibraryDyn))
(library
(name camomileLibraryDefault)
(public_name camomile.lib_default)
(modules camomileLibraryDefault)
(libraries camomileDefaultConfig camomileLibrary))
(library
(name camomile_yuge)
(public_name camomile)
(wrapped false)
(flags :standard)
(modules camomile_do_not_use)
(libraries
camomile.library
camomile.default_config
camomile.dyn
camomile.lib_default))
(include_subdirs unqualified)
(ocamllex uReStrLexer)
(ocamlyacc uReStrParser)
(jbuild_version 1)
(ocamllex (uReStrLexer))
(ocamlyacc (uReStrParser))
(jbuild_version 1)
;; Default config, overridden by the configure.ml script
(rule (with-stdout-to installConfig.ml
(echo "let share_dir = \"/usr/share/camomile\"")))
(library
((name camomileLibrary)
(public_name camomile.library)
(wrapped true)
(libraries (bigarray camomileDefaultConfig))
(modules
(:standard \ camomileDefaultConfig
camomile_do_not_use
installConfig
camomileLibraryDyn
camomileLibraryDefault))))
(library
((name camomileDefaultConfig)
(public_name camomile.default_config)
(wrapped true)
(modules (camomileDefaultConfig installConfig))))
(library
((name camomileLibraryDyn)
(public_name camomile.dyn)
(wrapped false)
(libraries (camomileLibraryDefault))
(modules (camomileLibraryDyn))))
(library
((name camomileLibraryDefault)
(public_name camomile.lib_default)
(modules (camomileLibraryDefault))
(libraries (camomileDefaultConfig camomileLibrary))))
(library
((name camomile_yuge)
(public_name camomile)
(wrapped false)
(flags (:standard))
(modules (camomile_do_not_use))
(libraries
(camomile.library
camomile.default_config
camomile.dyn
camomile.lib_default))))
;; Temporary workaround as jbuilder doesn't yet support multi directory libs
(rule (copy# internal/avlTree.ml avlTree.ml))
(rule (copy# internal/bitsvect.ml bitsvect.ml))
(rule (copy# internal/byte_labeled_dag.ml byte_labeled_dag.ml))
(rule (copy# internal/bytesvect.ml bytesvect.ml))
(rule (copy# internal/charmap.ml charmap.ml))
(rule (copy# internal/database.ml database.ml))
(rule (copy# internal/hangul.ml hangul.ml))
(rule (copy# internal/iMap.ml iMap.ml))
(rule (copy# internal/iSet.ml iSet.ml))
(rule (copy# internal/stringPrep_data.ml stringPrep_data.ml))
(rule (copy# internal/tbl31.ml tbl31.ml))
(rule (copy# internal/uReStrLexer.ml uReStrLexer.ml))
(rule (copy# internal/uReStrParser.ml uReStrParser.ml))
(rule (copy# internal/uReStrParserType.ml uReStrParserType.ml))
(rule (copy# internal/unidata.ml unidata.ml))
(rule (copy# internal/unimap.ml unimap.ml))
(rule (copy# internal/xArray.ml xArray.ml))
(rule (copy# internal/avlTree.mli avlTree.mli))
(rule (copy# internal/bitsvect.mli bitsvect.mli))
(rule (copy# internal/byte_labeled_dag.mli byte_labeled_dag.mli))
(rule (copy# internal/bytesvect.mli bytesvect.mli))
(rule (copy# internal/charmap.mli charmap.mli))
(rule (copy# internal/database.mli database.mli))
(rule (copy# internal/hangul.mli hangul.mli))
(rule (copy# internal/iMap.mli iMap.mli))
(rule (copy# internal/iSet.mli iSet.mli))
(rule (copy# internal/stringPrep_data.mli stringPrep_data.mli))
(rule (copy# internal/tbl31.mli tbl31.mli))
(rule (copy# internal/uReStrParser.mli uReStrParser.mli))
(rule (copy# internal/unidata.mli unidata.mli))
(rule (copy# internal/unimap.mli unimap.mli))
(rule (copy# internal/xArray.mli xArray.mli))
(rule (copy# public/caseMap.ml caseMap.ml))
(rule (copy# public/charEncoding.ml charEncoding.ml))
(rule (copy# public/oOChannel.ml oOChannel.ml))
(rule (copy# public/stringPrep.ml stringPrep.ml))
(rule (copy# public/subText.ml subText.ml))
(rule (copy# public/uCS4.ml uCS4.ml))
(rule (copy# public/uChar.ml uChar.ml))
(rule (copy# public/uCharInfo.ml uCharInfo.ml))
(rule (copy# public/uCharTbl.ml uCharTbl.ml))
(rule (copy# public/uCol.ml uCol.ml))
(rule (copy# public/uLine.ml uLine.ml))
(rule (copy# public/locale.ml locale.ml))
(rule (copy# public/uMap.ml uMap.ml))
(rule (copy# public/uNF.ml uNF.ml))
(rule (copy# public/uPervasives.ml uPervasives.ml))
(rule (copy# public/uRe.ml uRe.ml))
(rule (copy# public/uReStr.ml uReStr.ml))
(rule (copy# public/uSet.ml uSet.ml))
(rule (copy# public/uTF16.ml uTF16.ml))
(rule (copy# public/uTF8.ml uTF8.ml))
(rule (copy# public/uText.ml uText.ml))
(rule (copy# public/unicodeString.ml unicodeString.ml))
(rule (copy# public/xString.ml xString.ml))
(rule (copy# public/caseMap.mli caseMap.mli))
(rule (copy# public/charEncoding.mli charEncoding.mli))
(rule (copy# public/oOChannel.mli oOChannel.mli))
(rule (copy# public/stringPrep.mli stringPrep.mli))
(rule (copy# public/subText.mli subText.mli))
(rule (copy# public/uCS4.mli uCS4.mli))
(rule (copy# public/uChar.mli uChar.mli))
(rule (copy# public/uCharInfo.mli uCharInfo.mli))
(rule (copy# public/uCharTbl.mli uCharTbl.mli))
(rule (copy# public/uCol.mli uCol.mli))
(rule (copy# public/uLine.mli uLine.mli))
(rule (copy# public/locale.mli locale.mli))
(rule (copy# public/uMap.mli uMap.mli))
(rule (copy# public/uNF.mli uNF.mli))
(rule (copy# public/uPervasives.mli uPervasives.mli))
(rule (copy# public/uRe.mli uRe.mli))
(rule (copy# public/uReStr.mli uReStr.mli))
(rule (copy# public/uSet.mli uSet.mli))
(rule (copy# public/uTF16.mli uTF16.mli))
(rule (copy# public/uTF8.mli uTF8.mli))
(rule (copy# public/uText.mli uText.mli))
(rule (copy# public/xString.mli xString.mli))
(include_subdirs no)
(executable (name dune_gen))
(rule
(deps (glob_files *.txt))
(targets dune.inc.gen)
(action
(with-stdout-to %{targets}
(run ./dune_gen.exe))))
(alias
(name dune)
(action (diff dune.inc dune.inc.gen)))
(alias
(name runtest)
(deps (alias dune)))
(include dune.inc)
This diff is collapsed.
......@@ -9,22 +9,22 @@ let file locale = Printf.sprintf "(%s.mar as locales/%s.mar)" locale locale
let rule locale = Printf.sprintf {|
(rule
((targets (%s.mar))
(deps (%s.txt (alias database)))
(action (chdir .. (run tools/camomilelocaledef.exe --file ${<} locales)))))
(targets %s.mar)
(deps (:x %s.txt) (alias database))
(action (chdir .. (run tools/camomilelocaledef.exe --file %%{x} locales))))
|} locale locale
let () = Printf.printf {|
(install
((section share)
(files (
(section share)
(files
%s
))))
))
(alias
((name database)
(deps ((glob_files ../database/*.mar)))))
(name database)
(deps (glob_files ../database/*.mar)))
%s
|} (String.concat "\n" (List.map file locales))
......
(jbuild_version 1)
(rule
((deps ((glob_files *.txt)))
(targets (jbuild.inc.gen))
(action
(with-stdout-to ${@}
(run ocaml ${path:jbuild_gen.ml})))))
(alias
((name jbuild)
(action (diff jbuild.inc jbuild.inc.gen))))
(alias
((name runtest)
(deps ((alias jbuild)))))
(include jbuild.inc)
This diff is collapsed.
(include_subdirs no)
(executable
(name gen_mappings)
(libraries toolslib camomile.library))
(install
(section share)
(files
(cns11643.mar as mappings/cns11643.mar)
(gb2312.mar as mappings/gb2312.mar)
(iso88597.mar as mappings/iso88597.mar)
(jisx0201.mar as mappings/jisx0201.mar)
(jisx0208.mar as mappings/jisx0208.mar)
(jisx0212.mar as mappings/jisx0212.mar)
(ksc5601.mar as mappings/ksc5601.mar)))
(rule
(targets cns11643.mar
jisx0201.mar
ksc5601.mar
gb2312.mar
jisx0208.mar
iso88597.mar
jisx0212.mar)
(deps ../charmaps/sources/GB2312
../charmaps/sources/EUC-JP
../charmaps/sources/EUC-KR
../charmaps/sources/EUC-TW
../charmaps/sources/ISO-8859-7)
(action (run ./gen_mappings.exe)))
(jbuild_version 1)
(executable
((name gen_mappings)
(libraries (toolslib))))
(install
((section share)
(files
((cns11643.mar as mappings/cns11643.mar)
(gb2312.mar as mappings/gb2312.mar)
(iso88597.mar as mappings/iso88597.mar)
(jisx0201.mar as mappings/jisx0201.mar)
(jisx0208.mar as mappings/jisx0208.mar)
(jisx0212.mar as mappings/jisx0212.mar)
(ksc5601.mar as mappings/ksc5601.mar)
))))
(rule
((targets (cns11643.mar
jisx0201.mar
ksc5601.mar
gb2312.mar
jisx0208.mar
iso88597.mar
jisx0212.mar))
(deps (../charmaps/GB2312
../charmaps/EUC-JP
../charmaps/EUC-KR
../charmaps/EUC-TW
../charmaps/ISO-8859-7))
(action (run ./gen_mappings.exe))))
......@@ -229,11 +229,11 @@ module Make (Config : ConfigInt.Type) : Type = struct
(* General category *)
let general_category_tbl : UCharTbl.Bits.t =
read_data "general_category"
let general_category_tbl : UCharTbl.Bits.t Lazy.t =
lazy (read_data "general_category")
let general_category u =
match UCharTbl.Bits.get general_category_tbl u with
match UCharTbl.Bits.get (Lazy.force general_category_tbl) u with
0 ->
let n = UChar.uint_code u in
if n >= 0x0f0000 && n <= 0x100000 then `Co else
......@@ -404,9 +404,9 @@ module Make (Config : ConfigInt.Type) : Type = struct
(* Scripts *)
let script_tbl : UCharTbl.Bits.t = read_data "scripts"
let script_tbl : UCharTbl.Bits.t Lazy.t = lazy (read_data "scripts")
let script u = script_of_num (UCharTbl.Bits.get script_tbl u)
let script u = script_of_num (UCharTbl.Bits.get (Lazy.force script_tbl) u)
let load_script_map () = read_data "scripts_map"
type version_type =
......@@ -440,9 +440,9 @@ module Make (Config : ConfigInt.Type) : Type = struct
| `v3_2 -> '\x32'
| `Nc -> '\xfe'
let age_tbl : UCharTbl.Char.t = read_data "age"
let age_tbl : UCharTbl.Char.t Lazy.t = lazy (read_data "age")
let age u = version_of_char (UCharTbl.Char.get age_tbl u)
let age u = version_of_char (UCharTbl.Char.get (Lazy.force age_tbl) u)
let older v1 v2 =
( version_to_char v1 ) <= ( version_to_char v2 )
......@@ -510,10 +510,10 @@ module Make (Config : ConfigInt.Type) : Type = struct
(* Combined class *)
let combined_class_tbl : UCharTbl.Char.t =
read_data "combined_class"
let combined_class_tbl : UCharTbl.Char.t Lazy.t =
lazy (read_data "combined_class")
let combined_class u = Char.code (UCharTbl.Char.get combined_class_tbl u)
let combined_class u = Char.code (UCharTbl.Char.get (Lazy.force combined_class_tbl) u)
(* Decomposition *)
......
(include_subdirs no)
(executables
(names parse_unidata
parse_uniset
camomilecharmap
parse_specialcasing
parse_casefolding
parse_scripts
parse_allkeys
parse_age
camomilestringprep)
(flags -I Camomile :standard)
(modules :standard \ camomilelocaledef camomilelocaledef_lexer iana)
(libraries toolslib camomile camomile.library))
(executable
(name iana)
(modules iana)
(libraries camomile str))
(executable
(name camomilelocaledef)
(libraries toolslib camomile.library)
(flags -I Camomile :standard)
(modules camomilelocaledef camomilelocaledef_lexer))