From 97050450a35395bba290e678cf36fa3f967db90d Mon Sep 17 00:00:00 2001 From: Yves Orton Date: Sun, 24 Apr 2005 23:35:35 +0200 Subject: [PATCH] mktables.lst and related stuff (was Re: [PATCH] Unicode 4.1.0) Message-ID: <9b18b31105042412352fcf2bc5@mail.gmail.com> Date: Sun, 24 Apr 2005 21:35:35 +0200 p4raw-id: //depot/perl@24320 --- lib/unicore/README.perl | 7 +++ lib/unicore/mktables | 74 +++++++++++++++++++++++++++++- lib/unicore/mktables.lst | 115 ++++++++++++++++++++++++++++++++++------------- 3 files changed, 164 insertions(+), 32 deletions(-) diff --git a/lib/unicore/README.perl b/lib/unicore/README.perl index 409e105..47517fc 100644 --- a/lib/unicore/README.perl +++ b/lib/unicore/README.perl @@ -16,6 +16,13 @@ To be 8.3-friendly, the lib/unicore/PropertyValueAliases.txt was renamed to be lib/unicore/PropValueAliases.txt, since otherwise it would have conflicted with lib/unicore/PropertyAliases.txt. +NOTE: If you modify the input file set you should also run + + mktables -makelist + +which will recreate the mktables.lst file which is used to speed up +the build process. + FOR PUMPKINS The *.pl files are generated from the *.txt files by the mktables script, diff --git a/lib/unicore/mktables b/lib/unicore/mktables index e5480ca..2267443 100644 --- a/lib/unicore/mktables +++ b/lib/unicore/mktables @@ -33,6 +33,7 @@ my $MakeTestScript = 0; my $AlwaysWrite = 0; my $UseDir = ""; my $FileList = "$0.lst"; +my $MakeList = 0; while (@ARGV) { @@ -46,12 +47,21 @@ while (@ARGV) $FileList = ""; } elsif ($arg eq '-maketest') { $MakeTestScript = 1; + } elsif ($arg eq '-makelist') { + $MakeList = 1; } elsif ($arg eq '-C' && defined ($UseDir = shift)) { -d $UseDir or die "Unknown directory '$UseDir'"; } elsif ($arg eq '-L' && defined ($FileList = shift)) { -e $FileList or die "Filelist '$FileList' doesn't appear to exist!"; } else { - die "usage: $0 [-v|-q|-C dir|-L filelist] [-maketest]\n"; + die "usage: $0 [-v|-q|-w|-C dir|-L filelist] [-maketest] [-makelist]\n", + " -v : Verbose Mode\n", + " -q : Quiet Mode\n", + " -w : Write files regardless\n", + " -maketest : Make test script\n", + " -makelist : Rewrite the file list based on current setup\n", + " -L filelist : Use this file list, (defaults to $0)\n", + " -C dir : Change to this directory before proceding\n"; } } @@ -75,6 +85,11 @@ if ($FileList) { close $fh; die "No input or output files in '$FileList'!" if !@input or !@output; + if ( $MakeList ) { + foreach my $file (@output) { + unlink $file; + } + } if ( $Verbose ) { print "Expecting ".scalar( @input )." input files. ", "Checking ".scalar( @output )." output files.\n"; @@ -2069,6 +2084,63 @@ Jamo_txt(); SpecialCasing_txt(); CaseFolding_txt(); +if ( $FileList and $MakeList ) { + + print "Updating '$FileList'\n" + if ($Verbose); + + open my $ofh,">",$FileList + or die "Can't write to '$FileList':$!"; + print $ofh <<"EOFHEADER"; +# +# mktables.lst -- File list for mktables. +# +# Autogenerated on @{[scalar localtime]} +# +# - First section is input files +# (mktables itself is automatically included) +# - Section seperator is /^=+\$/ +# - Second section is a list of output files. +# - Lines matching /^\\s*#/ are treated as comments +# which along with blank lines are ignored. +# + +# Input files: + +EOFHEADER + my @input=("version",glob('*.txt')); + print $ofh "$_\n" for + @input, + "\n=================================\n", + "# Output files:\n", + # special files + "Properties"; + + + require File::Find; + my $count=0; + File::Find::find({ + no_chdir=>1, + wanted=>sub { + if (/\.pl$/) { + s!^\./!!; + print $ofh "$_\n"; + $count++; + } + }, + },"."); + + print $ofh "\n# ",scalar(@input)," input files\n", + "# ",scalar($count+1)," output files\n\n", + "# End list\n"; + close $ofh + or warn "Failed to close $ofh: $!"; + + print "Filelist has ",scalar(@input)," input files and ", + scalar($count+1)," output files\n" + if $Verbose; +} +print "All done\n" if $Verbose; exit(0); ## TRAILING CODE IS USED BY MakePropTestScript() diff --git a/lib/unicore/mktables.lst b/lib/unicore/mktables.lst index 4ff43bf..c3b6dc8 100644 --- a/lib/unicore/mktables.lst +++ b/lib/unicore/mktables.lst @@ -1,6 +1,8 @@ # # mktables.lst -- File list for mktables. # +# Autogenerated on Sun Apr 24 21:25:22 2005 +# # - First section is input files # (mktables itself is automatically included) # - Section seperator is /^=+$/ @@ -11,36 +13,40 @@ # Input files: -PropertyAliases.txt -PropValueAliases.txt -UnicodeData.txt -LineBreak.txt +version ArabicShaping.txt +BidiMirroring.txt +Blocks.txt +CaseFolding.txt +CompositionExclusions.txt EastAsianWidth.txt HangulSyllableType.txt +Index.txt Jamo.txt -Scripts.txt -Blocks.txt +LineBreak.txt +NamedSequences.txt +NamesList.txt +NormalizationCorrections.txt +PropertyAliases.txt PropList.txt +PropValueAliases.txt +ReadMe.txt +Scripts.txt SpecialCasing.txt -CaseFolding.txt +StandardizedVariants.txt +UnicodeData.txt ================================= # Output files: +Properties Canonical.pl CombiningClass.pl Decomposition.pl Exact.pl Name.pl PVA.pl -Properties -To/Digit.pl -To/Fold.pl -To/Lower.pl -To/Title.pl -To/Upper.pl lib/bc/AL.pl lib/bc/AN.pl lib/bc/B.pl @@ -103,13 +109,13 @@ lib/ea/N.pl lib/ea/Na.pl lib/ea/W.pl lib/gc_sc/AHex.pl -lib/gc_sc/ASCII.pl lib/gc_sc/Alnum.pl lib/gc_sc/Alpha.pl lib/gc_sc/Alphabet.pl lib/gc_sc/Any.pl lib/gc_sc/Arab.pl lib/gc_sc/Armn.pl +lib/gc_sc/ASCII.pl lib/gc_sc/AsciiHex.pl lib/gc_sc/Assigned.pl lib/gc_sc/Beng.pl @@ -118,6 +124,7 @@ lib/gc_sc/BidiCont.pl lib/gc_sc/Blank.pl lib/gc_sc/Bopo.pl lib/gc_sc/Brai.pl +lib/gc_sc/Bugi.pl lib/gc_sc/Buhd.pl lib/gc_sc/C.pl lib/gc_sc/Canadian.pl @@ -127,6 +134,7 @@ lib/gc_sc/Cher.pl lib/gc_sc/Cn.pl lib/gc_sc/Cntrl.pl lib/gc_sc/Co.pl +lib/gc_sc/Copt.pl lib/gc_sc/Cprt.pl lib/gc_sc/Cs.pl lib/gc_sc/Cyrl.pl @@ -143,11 +151,12 @@ lib/gc_sc/Ethi.pl lib/gc_sc/Ext.pl lib/gc_sc/Extender.pl lib/gc_sc/Geor.pl +lib/gc_sc/Glag.pl lib/gc_sc/Goth.pl -lib/gc_sc/GrLink.pl lib/gc_sc/Graph.pl lib/gc_sc/Grapheme.pl lib/gc_sc/Grek.pl +lib/gc_sc/GrLink.pl lib/gc_sc/Gujr.pl lib/gc_sc/Guru.pl lib/gc_sc/Hang.pl @@ -159,18 +168,21 @@ lib/gc_sc/HexDigit.pl lib/gc_sc/Hira.pl lib/gc_sc/Hyphen.pl lib/gc_sc/Hyphen2.pl -lib/gc_sc/IDSB.pl -lib/gc_sc/IDST.pl lib/gc_sc/IdContin.pl -lib/gc_sc/IdStart.pl lib/gc_sc/Ideo.pl lib/gc_sc/Ideograp.pl +lib/gc_sc/IDSB.pl lib/gc_sc/IdsBinar.pl +lib/gc_sc/IDST.pl +lib/gc_sc/IdStart.pl lib/gc_sc/IdsTrina.pl lib/gc_sc/InAegean.pl lib/gc_sc/InAlphab.pl +lib/gc_sc/InAncie2.pl +lib/gc_sc/InAncien.pl lib/gc_sc/InArabi2.pl lib/gc_sc/InArabi3.pl +lib/gc_sc/InArabi4.pl lib/gc_sc/InArabic.pl lib/gc_sc/InArmeni.pl lib/gc_sc/InArrows.pl @@ -181,6 +193,7 @@ lib/gc_sc/InBopom2.pl lib/gc_sc/InBopomo.pl lib/gc_sc/InBoxDra.pl lib/gc_sc/InBraill.pl +lib/gc_sc/InBugine.pl lib/gc_sc/InBuhid.pl lib/gc_sc/InByzant.pl lib/gc_sc/InCherok.pl @@ -189,14 +202,17 @@ lib/gc_sc/InCjkCo3.pl lib/gc_sc/InCjkCo4.pl lib/gc_sc/InCjkCom.pl lib/gc_sc/InCjkRad.pl +lib/gc_sc/InCjkStr.pl lib/gc_sc/InCjkSym.pl lib/gc_sc/InCjkUn2.pl lib/gc_sc/InCjkUn3.pl lib/gc_sc/InCjkUni.pl lib/gc_sc/InCombi2.pl lib/gc_sc/InCombi3.pl +lib/gc_sc/InCombi4.pl lib/gc_sc/InCombin.pl lib/gc_sc/InContro.pl +lib/gc_sc/InCoptic.pl lib/gc_sc/InCurren.pl lib/gc_sc/InCyprio.pl lib/gc_sc/InCyril2.pl @@ -206,10 +222,14 @@ lib/gc_sc/InDevana.pl lib/gc_sc/InDingba.pl lib/gc_sc/InEnclo2.pl lib/gc_sc/InEnclos.pl +lib/gc_sc/InEthio2.pl +lib/gc_sc/InEthio3.pl lib/gc_sc/InEthiop.pl lib/gc_sc/InGenera.pl lib/gc_sc/InGeomet.pl +lib/gc_sc/InGeorg2.pl lib/gc_sc/InGeorgi.pl +lib/gc_sc/InGlagol.pl lib/gc_sc/InGothic.pl lib/gc_sc/InGreekA.pl lib/gc_sc/InGreekE.pl @@ -231,6 +251,7 @@ lib/gc_sc/InKangxi.pl lib/gc_sc/InKannad.pl lib/gc_sc/InKatak2.pl lib/gc_sc/InKataka.pl +lib/gc_sc/InKharos.pl lib/gc_sc/InKhmer.pl lib/gc_sc/InKhmerS.pl lib/gc_sc/InLao.pl @@ -251,15 +272,19 @@ lib/gc_sc/InMisce3.pl lib/gc_sc/InMisce4.pl lib/gc_sc/InMisce5.pl lib/gc_sc/InMiscel.pl +lib/gc_sc/InModifi.pl lib/gc_sc/InMongol.pl lib/gc_sc/InMusica.pl lib/gc_sc/InMyanma.pl +lib/gc_sc/InNewTai.pl lib/gc_sc/InNumber.pl lib/gc_sc/InOgham.pl lib/gc_sc/InOldIta.pl +lib/gc_sc/InOldPer.pl lib/gc_sc/InOptica.pl lib/gc_sc/InOriya.pl lib/gc_sc/InOsmany.pl +lib/gc_sc/InPhone2.pl lib/gc_sc/InPhonet.pl lib/gc_sc/InPrivat.pl lib/gc_sc/InRunic.pl @@ -273,7 +298,9 @@ lib/gc_sc/InSuppl2.pl lib/gc_sc/InSuppl3.pl lib/gc_sc/InSuppl4.pl lib/gc_sc/InSuppl5.pl +lib/gc_sc/InSuppl6.pl lib/gc_sc/InSupple.pl +lib/gc_sc/InSyloti.pl lib/gc_sc/InSyriac.pl lib/gc_sc/InTagalo.pl lib/gc_sc/InTagban.pl @@ -285,29 +312,31 @@ lib/gc_sc/InTelugu.pl lib/gc_sc/InThaana.pl lib/gc_sc/InThai.pl lib/gc_sc/InTibeta.pl +lib/gc_sc/InTifina.pl lib/gc_sc/InUgarit.pl lib/gc_sc/InUnifie.pl lib/gc_sc/InVaria2.pl lib/gc_sc/InVariat.pl +lib/gc_sc/InVertic.pl +lib/gc_sc/InYijing.pl lib/gc_sc/InYiRadi.pl lib/gc_sc/InYiSyll.pl -lib/gc_sc/InYijing.pl lib/gc_sc/JoinC.pl lib/gc_sc/JoinCont.pl lib/gc_sc/Kana.pl -lib/gc_sc/Katakana.pl +lib/gc_sc/Khar.pl lib/gc_sc/Khmr.pl lib/gc_sc/Knda.pl lib/gc_sc/L.pl -lib/gc_sc/LC.pl -lib/gc_sc/LOE.pl lib/gc_sc/Laoo.pl lib/gc_sc/Latn.pl +lib/gc_sc/LC.pl lib/gc_sc/Limb.pl lib/gc_sc/LinearB.pl lib/gc_sc/Ll.pl lib/gc_sc/Lm.pl lib/gc_sc/Lo.pl +lib/gc_sc/LOE.pl lib/gc_sc/LogicalO.pl lib/gc_sc/Lower.pl lib/gc_sc/Lowercas.pl @@ -324,28 +353,36 @@ lib/gc_sc/Mymr.pl lib/gc_sc/N.pl lib/gc_sc/NChar.pl lib/gc_sc/Nd.pl +lib/gc_sc/NewTaiLu.pl lib/gc_sc/Nl.pl lib/gc_sc/No.pl lib/gc_sc/Nonchara.pl lib/gc_sc/OAlpha.pl lib/gc_sc/ODI.pl +lib/gc_sc/Ogam.pl lib/gc_sc/OGrExt.pl +lib/gc_sc/OIDC.pl lib/gc_sc/OIDS.pl +lib/gc_sc/OldItali.pl +lib/gc_sc/OldPersi.pl lib/gc_sc/OLower.pl lib/gc_sc/OMath.pl -lib/gc_sc/OUpper.pl -lib/gc_sc/Ogam.pl -lib/gc_sc/OldItali.pl lib/gc_sc/Orya.pl lib/gc_sc/Osma.pl lib/gc_sc/OtherAlp.pl lib/gc_sc/OtherDef.pl lib/gc_sc/OtherGra.pl +lib/gc_sc/OtherIdC.pl lib/gc_sc/OtherIdS.pl lib/gc_sc/OtherLow.pl lib/gc_sc/OtherMat.pl lib/gc_sc/OtherUpp.pl +lib/gc_sc/OUpper.pl lib/gc_sc/P.pl +lib/gc_sc/PatSyn.pl +lib/gc_sc/PatternS.pl +lib/gc_sc/PatternW.pl +lib/gc_sc/PatWS.pl lib/gc_sc/Pc.pl lib/gc_sc/Pd.pl lib/gc_sc/Pe.pl @@ -355,16 +392,15 @@ lib/gc_sc/Po.pl lib/gc_sc/Print.pl lib/gc_sc/Ps.pl lib/gc_sc/Punct.pl -lib/gc_sc/QMark.pl lib/gc_sc/Qaai.pl +lib/gc_sc/QMark.pl lib/gc_sc/Quotatio.pl lib/gc_sc/Radical.pl lib/gc_sc/Radical2.pl lib/gc_sc/Runr.pl lib/gc_sc/S.pl -lib/gc_sc/SD.pl -lib/gc_sc/STerm.pl lib/gc_sc/Sc.pl +lib/gc_sc/SD.pl lib/gc_sc/Shaw.pl lib/gc_sc/Sinh.pl lib/gc_sc/Sk.pl @@ -373,7 +409,9 @@ lib/gc_sc/So.pl lib/gc_sc/SoftDott.pl lib/gc_sc/Space.pl lib/gc_sc/SpacePer.pl +lib/gc_sc/STerm.pl lib/gc_sc/Sterm2.pl +lib/gc_sc/SylotiNa.pl lib/gc_sc/Syrc.pl lib/gc_sc/Tagb.pl lib/gc_sc/TaiLe.pl @@ -381,21 +419,22 @@ lib/gc_sc/Taml.pl lib/gc_sc/Telu.pl lib/gc_sc/Term.pl lib/gc_sc/Terminal.pl +lib/gc_sc/Tfng.pl lib/gc_sc/Tglg.pl lib/gc_sc/Thaa.pl lib/gc_sc/Thai.pl lib/gc_sc/Tibt.pl lib/gc_sc/Title.pl -lib/gc_sc/UIdeo.pl lib/gc_sc/Ugar.pl +lib/gc_sc/UIdeo.pl lib/gc_sc/UnifiedI.pl lib/gc_sc/Upper.pl lib/gc_sc/Uppercas.pl -lib/gc_sc/VS.pl lib/gc_sc/Variatio.pl -lib/gc_sc/WSpace.pl +lib/gc_sc/VS.pl lib/gc_sc/WhiteSpa.pl lib/gc_sc/Word.pl +lib/gc_sc/WSpace.pl lib/gc_sc/XDigit.pl lib/gc_sc/Yiii.pl lib/gc_sc/Z.pl @@ -427,10 +466,15 @@ lib/lb/CM.pl lib/lb/CR.pl lib/lb/EX.pl lib/lb/GL.pl +lib/lb/H2.pl +lib/lb/H3.pl lib/lb/HY.pl lib/lb/ID.pl lib/lb/IN.pl lib/lb/IS.pl +lib/lb/JL.pl +lib/lb/JT.pl +lib/lb/JV.pl lib/lb/LF.pl lib/lb/NL.pl lib/lb/NS.pl @@ -449,4 +493,13 @@ lib/lb/ZW.pl lib/nt/De.pl lib/nt/Di.pl lib/nt/Nu.pl +To/Digit.pl +To/Fold.pl +To/Lower.pl +To/Title.pl +To/Upper.pl + +# 22 input files +# 458 output files +# End list -- 2.7.4