Add msbuild build system for ICU

This commit is contained in:
Thomas Goyne 2014-05-08 06:46:26 -07:00
parent d3a4bed994
commit 679b96fdfe
6 changed files with 2463 additions and 107 deletions

View File

@ -15,10 +15,6 @@
advapi32.lib;
wsock32.lib;
opengl32.lib;
sicudt.lib;
sicuin.lib;
sicutu.lib;
sicuuc.lib;
fribidi.lib;
%(AdditionalDependencies)
</AdditionalDependencies>

View File

@ -33,6 +33,7 @@
<UseDebugLibraries Condition="'$(Configuration)'=='Release'" >false</UseDebugLibraries>
<WholeProgramOptimization Condition="'$(Configuration)'=='Release'" >true</WholeProgramOptimization>
<CharacterSet >Unicode</CharacterSet>
<CharacterSet Condition="'$(AegisubMBCS)'=='true'" >MultiByte</CharacterSet>
<PlatformToolset >v120_xp</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

View File

@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{F934AB7B-186B-4E96-B20C-A58C38C1B818}</ProjectGuid>
<Keyword>MakeFileProj</Keyword>
<ConfigurationType>Makefile</ConfigurationType>
<RootNamespace>icu</RootNamespace>
<AegisubProjectType>lib</AegisubProjectType>
<AegisubMBCS>true</AegisubMBCS>
</PropertyGroup>
<!-- Aegisub project configuration -->
@ -11,111 +12,676 @@
<Import Project="$(MSBuildThisFileDirectory)..\aegisub.props" />
</ImportGroup>
<UsingTask TaskName="DownloadTgzFile" AssemblyFile="$(AegisubBinaryDir)BuildTasks.dll" />
<!-- Project specific configuration -->
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>
$(IcuSrcDir)\common;
$(IcuSrcDir)\common\unicode;
$(IcuSrcDir)\i18n;
$(IcuSrcDir)\i18n\unicode;
%(AdditionalIncludeDirectories)
</AdditionalIncludeDirectories>
<PreprocessorDefinitions>
U_ATTRIBUTE_DEPRECATED=;
_CRT_SECURE_NO_DEPRECATE;
U_COMMON_IMPLEMENTATION;
U_I18N_IMPLEMENTATION;
%(PreprocessorDefinitions)
</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<PropertyGroup Label="ConfigArgs">
<CfgDebug Condition="'$(Configuration)' == 'Debug'">--enable-debug --disable-release CFLAGS=-MDd CXXFLAGS=-MDd</CfgDebug>
<CfgDebug Condition="'$(Configuration)' == 'Release'">--disable-debug --enable-release CFLAGS="-MD -Gw -O2 -GL" CXXFLAGS="-MD -Gw -O2 -GL"</CfgDebug>
<CfgArgs>
CC=cl
CXX=cl
--enable-static
--disable-shared
--disable-extras
--disable-icuio
--disable-layout
--disable-tests
--disable-samples
$(CfgDebug)
</CfgArgs>
<AbsSrcDir>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)$(IcuSrcDir)'))</AbsSrcDir>
<!-- ICU data table stuff -->
<PropertyGroup>
<MiniLuaCommand>$(AegisubBinaryDir)luajit-minilua$(AegisubPlatformSuffix)</MiniLuaCommand>
<PackCommand>$(MSBuildThisFileDirectory)pack-dt.lua</PackCommand>
<IcuDt>icudt53l</IcuDt>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<ItemGroup>
<ConfigureInput Include="$(AbsSrcDir)\configure" />
<ConfigureOutput Include="$(AegisubObjectDir)Makefile" />
</ItemGroup>
<Target Name="Configure"
Inputs="@(ConfigureInput)"
Outputs="@(ConfigureOutput)"
<UsingTask TaskName="DownloadTgzFile" AssemblyFile="$(AegisubBinaryDir)BuildTasks.dll" />
<Target
Name="DownloadDataTables"
BeforeTargets="PackDataTables"
Inputs="$(IcuSrcDir)data\in\$(IcuDt).dat.gz"
Outputs="$(IcuSrcDir)data\in\$(IcuDt).dat"
>
<Delete Files="$(AegisubObjectDir)build.timestamp" />
<Copy
SourceFiles="mh-msys-msvc"
DestinationFiles="$(IcuSrcDir)\config\mh-cygwin-msvc"
SkipUnchangedFiles="true"
/>
<MsysPath Path="$(AegisubObjectDir)\temp">
<Output TaskParameter="Result" PropertyName="CfgPrefix" />
</MsysPath>
<MsysPath Path="$(MSBuildThisFileDirectory)../../include">
<Output TaskParameter="Result" PropertyName="CfgIncludePrefix" />
</MsysPath>
<MsysPath Path="$(AegisubLibraryDir)">
<Output TaskParameter="Result" PropertyName="CfgLibPrefix" />
</MsysPath>
<ExecShellScript
Command="$(AbsSrcDir)\configure"
Arguments="$(CfgArgs) --prefix=$(CfgPrefix) --libdir=$(CfgLibPrefix) --includedir=$(CfgIncludePrefix)"
WorkingDirectory="$(AegisubObjectDir)"
Configuration="@(ExecShellScript)"
/>
<!-- Ensure that Makefile has a recent modified time to avoid
rerunning configure pointlessly -->
<Touch Files="@(ConfigureOutput)" />
</Target>
<ItemGroup>
<OutputLibraries Include="$(AegisubObjectDir)lib\*" />
</ItemGroup>
<Target Name="Compile"
Inputs="$(IcuSrcDir)"
Outputs="$(AegisubObjectDir)build.timestamp"
>
<!-- Generated with tools/strip-icu.py -->
<DownloadTgzFile
Url="http://www.aegisub.org/~plorkyeran/icudt53l.dat.gz"
OutputFile="$(MSBuildThisFileDirectory)..\..\vendor\icu\source\data\in\icudt53l.dat"
Url="http://www.aegisub.org/~plorkyeran/$(IcuDt).dat.gz"
OutputFile="$(MSBuildThisFileDirectory)..\..\vendor\icu\source\data\in\$(IcuDt).dat"
Hash="2a351e7753fb1e92910dc2d68721b8f41bbf33b0"
/>
</Target>
<ExecShellScript
Command="make"
Arguments="$(GmakeParallelBuild)"
WorkingDirectory="$(AegisubObjectDir)"
Configuration="@(ExecShellScript)"
<Target
Name="PackDataTables"
BeforeTargets="ClCompile"
Inputs="$(IcuSrcDir)\data\in\$(IcuDt).dat;pack-dt.lua"
Outputs="$(AegisubObjectDir)$(IcuDt).c"
>
<Exec
Command="$(MiniLuaCommand) $(PackCommand) &quot;$(IcuSrcDir)&quot; &quot;$(AegisubObjectDir)$(IcuDt).c&quot;"
/>
<ExecShellScript
Command="make install"
WorkingDirectory="$(AegisubObjectDir)"
Configuration="@(ExecShellScript)"
/>
<Touch Files="$(AegisubObjectDir)build.timestamp" AlwaysCreate="true" />
</Target>
<Target Name="Build">
<Error Condition="!Exists('$(AbsSrcDir)')" Text="ICU source not found at '$(AbsSrcDir)'" />
<CallTarget Targets="Configure" />
<CallTarget Targets="Compile" />
</Target>
<Target Name="Clean">
<RemoveDir Directories="$(AegisubObjectDir)" ContinueOnError="WarnAndContinue" />
</Target>
<Target Name="Rebuild">
<CallTarget Targets="Clean;Build" />
</Target>
<!-- Source files -->
<ItemGroup>
<ClCompile Include="$(AegisubObjectDir)\$(IcuDt).c" />
<ClCompile Include="$(IcuSrcDir)\common\ubidi.c" />
<ClCompile Include="$(IcuSrcDir)\common\ubidi_props.c" />
<ClCompile Include="$(IcuSrcDir)\common\ubidiln.c" />
<ClCompile Include="$(IcuSrcDir)\common\ubidiwrt.c" />
<ClCompile Include="$(IcuSrcDir)\common\ushape.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\brkeng.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\brkiter.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\dictbe.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\rbbi.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\rbbidata.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\rbbinode.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\rbbirb.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\rbbiscan.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\rbbisetb.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\rbbistbl.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\rbbitblb.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\dictionarydata.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ubrk.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ucol_swp.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\propsvec.c" />
<ClCompile Include="$(IcuSrcDir)\common\uarrsort.c" />
<ClCompile Include="$(IcuSrcDir)\common\uenum.c" />
<ClCompile Include="$(IcuSrcDir)\common\uhash.c" />
<ClCompile Include="$(IcuSrcDir)\common\uhash_us.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ulist.c" />
<ClCompile Include="$(IcuSrcDir)\common\ustack.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ustrenum.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\utrie.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\utrie2.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\utrie2_builder.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\uvector.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\uvectr32.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\uvectr64.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\errorcode.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\icudataver.c" />
<ClCompile Include="$(IcuSrcDir)\common\locmap.c">
<DisableLanguageExtensions>false</DisableLanguageExtensions>
</ClCompile>
<ClCompile Include="$(IcuSrcDir)\common\putil.cpp">
<DisableLanguageExtensions>false</DisableLanguageExtensions>
</ClCompile>
<ClCompile Include="$(IcuSrcDir)\common\umath.c" />
<ClCompile Include="$(IcuSrcDir)\common\umutex.cpp">
<DisableLanguageExtensions>false</DisableLanguageExtensions>
</ClCompile>
<ClCompile Include="$(IcuSrcDir)\common\utrace.c" />
<ClCompile Include="$(IcuSrcDir)\common\utypes.c" />
<ClCompile Include="$(IcuSrcDir)\common\wintz.c">
<DisableLanguageExtensions>false</DisableLanguageExtensions>
</ClCompile>
<ClCompile Include="$(IcuSrcDir)\common\ucnv.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucnv2022.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ucnv_bld.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ucnv_cb.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucnv_cnv.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucnv_ct.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucnv_err.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucnv_ext.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ucnv_io.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ucnv_lmb.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucnv_set.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucnv_u16.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucnv_u32.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucnv_u7.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucnv_u8.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucnvbocu.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ucnvdisp.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucnvhz.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucnvisci.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucnvlat1.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucnvmbcs.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucnvscsu.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucnvsel.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\cmemory.c" />
<ClCompile Include="$(IcuSrcDir)\common\ucln_cmn.c">
<DisableLanguageExtensions>false</DisableLanguageExtensions>
</ClCompile>
<ClCompile Include="$(IcuSrcDir)\common\ucmndata.c" />
<ClCompile Include="$(IcuSrcDir)\common\udata.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\udatamem.c" />
<ClCompile Include="$(IcuSrcDir)\common\udataswp.c" />
<ClCompile Include="$(IcuSrcDir)\common\uinit.cpp">
<DisableLanguageExtensions>false</DisableLanguageExtensions>
</ClCompile>
<ClCompile Include="$(IcuSrcDir)\common\umapfile.c">
<DisableLanguageExtensions>false</DisableLanguageExtensions>
</ClCompile>
<ClCompile Include="$(IcuSrcDir)\common\uobject.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\dtintrv.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\parsepos.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ustrfmt.c" />
<ClCompile Include="$(IcuSrcDir)\common\util.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\util_props.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\punycode.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\uidna.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\uts46.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\locavailable.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\locbased.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\locdispnames.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\locid.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\loclikely.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\locresdata.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\locutil.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\lrucache.cpp">
<DisableLanguageExtensions>false</DisableLanguageExtensions>
</ClCompile>
<ClCompile Include="$(IcuSrcDir)\common\resbund.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\resbund_cnv.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ucat.c" />
<ClCompile Include="$(IcuSrcDir)\common\uloc.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\uloc_tag.c" />
<ClCompile Include="$(IcuSrcDir)\common\ures_cnv.c" />
<ClCompile Include="$(IcuSrcDir)\common\uresbund.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\uresdata.c" />
<ClCompile Include="$(IcuSrcDir)\common\caniter.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\filterednormalizer2.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\normalizer2.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\normalizer2impl.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\normlzr.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\unorm.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\unormcmp.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\bmpset.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\patternprops.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\propname.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ruleiter.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ucase.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\uchar.c" />
<ClCompile Include="$(IcuSrcDir)\common\unames.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\unifilt.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\unifunct.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\uniset.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\uniset_closure.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\uniset_props.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\unisetspan.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\uprops.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\usc_impl.c" />
<ClCompile Include="$(IcuSrcDir)\common\uscript.c" />
<ClCompile Include="$(IcuSrcDir)\common\uscript_props.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\uset.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\uset_props.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\usetiter.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\icuplug.c" />
<ClCompile Include="$(IcuSrcDir)\common\serv.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\servlk.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\servlkf.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\servls.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\servnotf.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\servrbf.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\servslkf.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\usprep.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\appendable.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\bytestream.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\bytestrie.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\bytestriebuilder.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\bytestrieiterator.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\chariter.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\charstr.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\cstring.c" />
<ClCompile Include="$(IcuSrcDir)\common\cwchar.c" />
<ClCompile Include="$(IcuSrcDir)\common\messagepattern.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\schriter.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\stringpiece.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\stringtriebuilder.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\simplepatternformatter.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ucasemap.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ucasemap_titlecase_brkiter.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ucharstrie.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ucharstriebuilder.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ucharstrieiterator.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\uchriter.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\uinvchar.c" />
<ClCompile Include="$(IcuSrcDir)\common\uiter.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\unistr.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\unistr_case.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\unistr_case_locale.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\unistr_cnv.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\unistr_props.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\unistr_titlecase_brkiter.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ustr_cnv.c" />
<ClCompile Include="$(IcuSrcDir)\common\ustr_titlecase_brkiter.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ustr_wcs.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ustrcase.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ustrcase_locale.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ustring.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\ustrtrns.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\utext.cpp" />
<ClCompile Include="$(IcuSrcDir)\common\utf_impl.c" />
<ClCompile Include="$(IcuSrcDir)\common\listformatter.cpp" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(IcuSrcDir)\common\sharedobject.cpp" />
<ClInclude Include="$(IcuSrcDir)\common\bmpset.h" />
<ClInclude Include="$(IcuSrcDir)\common\brkeng.h" />
<ClInclude Include="$(IcuSrcDir)\common\charstr.h" />
<ClInclude Include="$(IcuSrcDir)\common\cmemory.h" />
<ClInclude Include="$(IcuSrcDir)\common\cpputils.h" />
<ClInclude Include="$(IcuSrcDir)\common\cstring.h" />
<ClInclude Include="$(IcuSrcDir)\common\cwchar.h" />
<ClInclude Include="$(IcuSrcDir)\common\dictbe.h" />
<ClInclude Include="$(IcuSrcDir)\common\dictionarydata.h" />
<ClInclude Include="$(IcuSrcDir)\common\hash.h" />
<ClInclude Include="$(IcuSrcDir)\common\icuplugimp.h" />
<ClInclude Include="$(IcuSrcDir)\common\localsvc.h" />
<ClInclude Include="$(IcuSrcDir)\common\locbased.h" />
<ClInclude Include="$(IcuSrcDir)\common\locmap.h" />
<ClInclude Include="$(IcuSrcDir)\common\locutil.h" />
<ClInclude Include="$(IcuSrcDir)\common\lrucache.h" />
<ClInclude Include="$(IcuSrcDir)\common\messageimpl.h" />
<ClInclude Include="$(IcuSrcDir)\common\msvcres.h" />
<ClInclude Include="$(IcuSrcDir)\common\mutex.h" />
<ClInclude Include="$(IcuSrcDir)\common\normalizer2impl.h" />
<ClInclude Include="$(IcuSrcDir)\common\patternprops.h" />
<ClInclude Include="$(IcuSrcDir)\common\propname.h" />
<ClInclude Include="$(IcuSrcDir)\common\propname_data.h" />
<ClInclude Include="$(IcuSrcDir)\common\propsvec.h" />
<ClInclude Include="$(IcuSrcDir)\common\punycode.h" />
<ClInclude Include="$(IcuSrcDir)\common\putilimp.h" />
<ClInclude Include="$(IcuSrcDir)\common\rbbidata.h" />
<ClInclude Include="$(IcuSrcDir)\common\rbbinode.h" />
<ClInclude Include="$(IcuSrcDir)\common\rbbirb.h" />
<ClInclude Include="$(IcuSrcDir)\common\rbbirpt.h" />
<ClInclude Include="$(IcuSrcDir)\common\rbbiscan.h" />
<ClInclude Include="$(IcuSrcDir)\common\rbbisetb.h" />
<ClInclude Include="$(IcuSrcDir)\common\rbbitblb.h" />
<ClInclude Include="$(IcuSrcDir)\common\ruleiter.h" />
<ClInclude Include="$(IcuSrcDir)\common\serv.h" />
<ClInclude Include="$(IcuSrcDir)\common\servloc.h" />
<ClInclude Include="$(IcuSrcDir)\common\servnotf.h" />
<ClInclude Include="$(IcuSrcDir)\common\sharedobject.h" />
<ClInclude Include="$(IcuSrcDir)\common\sharedptr.h" />
<ClInclude Include="$(IcuSrcDir)\common\simplepatternformatter.h" />
<ClInclude Include="$(IcuSrcDir)\common\sprpimpl.h" />
<ClInclude Include="$(IcuSrcDir)\common\uarrsort.h" />
<ClInclude Include="$(IcuSrcDir)\common\uassert.h" />
<ClInclude Include="$(IcuSrcDir)\common\ubidi_props.h" />
<ClInclude Include="$(IcuSrcDir)\common\ubidi_props_data.h" />
<ClInclude Include="$(IcuSrcDir)\common\ubidiimp.h" />
<ClInclude Include="$(IcuSrcDir)\common\ubrkimpl.h" />
<ClInclude Include="$(IcuSrcDir)\common\ucase.h" />
<ClInclude Include="$(IcuSrcDir)\common\ucase_props_data.h" />
<ClInclude Include="$(IcuSrcDir)\common\uchar_props_data.h" />
<ClInclude Include="$(IcuSrcDir)\common\ucln.h" />
<ClInclude Include="$(IcuSrcDir)\common\ucln_cmn.h" />
<ClInclude Include="$(IcuSrcDir)\common\ucln_imp.h" />
<ClInclude Include="$(IcuSrcDir)\common\ucmndata.h" />
<ClInclude Include="$(IcuSrcDir)\common\ucnv_bld.h" />
<ClInclude Include="$(IcuSrcDir)\common\ucnv_cnv.h" />
<ClInclude Include="$(IcuSrcDir)\common\ucnv_ext.h" />
<ClInclude Include="$(IcuSrcDir)\common\ucnv_imp.h" />
<ClInclude Include="$(IcuSrcDir)\common\ucnv_io.h" />
<ClInclude Include="$(IcuSrcDir)\common\ucnvmbcs.h" />
<ClInclude Include="$(IcuSrcDir)\common\ucol_data.h" />
<ClInclude Include="$(IcuSrcDir)\common\ucol_swp.h" />
<ClInclude Include="$(IcuSrcDir)\common\udatamem.h" />
<ClInclude Include="$(IcuSrcDir)\common\udataswp.h" />
<ClInclude Include="$(IcuSrcDir)\common\uelement.h" />
<ClInclude Include="$(IcuSrcDir)\common\uenumimp.h" />
<ClInclude Include="$(IcuSrcDir)\common\uhash.h" />
<ClInclude Include="$(IcuSrcDir)\common\uinvchar.h" />
<ClInclude Include="$(IcuSrcDir)\common\ulist.h" />
<ClInclude Include="$(IcuSrcDir)\common\ulocimp.h" />
<ClInclude Include="$(IcuSrcDir)\common\umapfile.h" />
<ClInclude Include="$(IcuSrcDir)\common\umutex.h" />
<ClInclude Include="$(IcuSrcDir)\common\unisetspan.h" />
<ClInclude Include="$(IcuSrcDir)\common\unormimp.h" />
<ClInclude Include="$(IcuSrcDir)\common\uposixdefs.h" />
<ClInclude Include="$(IcuSrcDir)\common\uprops.h" />
<ClInclude Include="$(IcuSrcDir)\common\uresdata.h" />
<ClInclude Include="$(IcuSrcDir)\common\uresimp.h" />
<ClInclude Include="$(IcuSrcDir)\common\ureslocs.h" />
<ClInclude Include="$(IcuSrcDir)\common\usc_impl.h" />
<ClInclude Include="$(IcuSrcDir)\common\uset_imp.h" />
<ClInclude Include="$(IcuSrcDir)\common\ustr_cnv.h" />
<ClInclude Include="$(IcuSrcDir)\common\ustr_imp.h" />
<ClInclude Include="$(IcuSrcDir)\common\ustrenum.h" />
<ClInclude Include="$(IcuSrcDir)\common\ustrfmt.h" />
<ClInclude Include="$(IcuSrcDir)\common\util.h" />
<ClInclude Include="$(IcuSrcDir)\common\utracimp.h" />
<ClInclude Include="$(IcuSrcDir)\common\utrie.h" />
<ClInclude Include="$(IcuSrcDir)\common\utrie2.h" />
<ClInclude Include="$(IcuSrcDir)\common\utrie2_impl.h" />
<ClInclude Include="$(IcuSrcDir)\common\utypeinfo.h" />
<ClInclude Include="$(IcuSrcDir)\common\uvector.h" />
<ClInclude Include="$(IcuSrcDir)\common\uvectr32.h" />
<ClInclude Include="$(IcuSrcDir)\common\uvectr64.h" />
<ClInclude Include="$(IcuSrcDir)\common\wintz.h" />
<InstallHeader Include="$(IcuSrcDir)\common\unicode\*.h">
<Destination>unicode</Destination>
</InstallHeader>
</ItemGroup>
<ItemGroup>
<ClCompile Include="$(IcuSrcDir)\i18n\filteredbrk.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\region.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\uregion.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\alphaindex.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\bocsu.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\coleitr.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\coll.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collation.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationbasedatabuilder.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationbuilder.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationcompare.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationdata.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationdatabuilder.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationdatareader.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationdatawriter.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationfastlatin.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationfastlatinbuilder.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationfcd.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationiterator.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationkeys.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationroot.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationrootelements.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationruleparser.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationsets.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationsettings.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationtailoring.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\collationweights.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\rulebasedcollator.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\search.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\sortkey.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\stsearch.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\tzfmt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\tzgnames.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\tznames.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\tznames_impl.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\ucol.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\ucol_res.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\ucol_sit.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\ucoleitr.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\uitercollationiterator.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\usearch.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\astro.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\basictz.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\buddhcal.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\calendar.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\cecal.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\chnsecal.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\choicfmt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\compactdecimalformat.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\coptccal.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\curramt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\currfmt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\currpinf.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\currunit.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\dangical.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\datefmt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\dcfmtsym.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\decContext.c" />
<ClCompile Include="$(IcuSrcDir)\i18n\decfmtst.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\decimalformatpattern.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\decimfmt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\decNumber.c" />
<ClCompile Include="$(IcuSrcDir)\i18n\digitlst.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\dtfmtsym.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\dtitvfmt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\dtitvinf.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\dtptngen.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\dtrule.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\ethpccal.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\fmtable.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\fmtable_cnv.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\format.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\fphdlimp.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\fpositer.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\gender.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\gregocal.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\gregoimp.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\hebrwcal.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\identifier_info.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\indiancal.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\islamcal.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\japancal.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\locdspnm.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\measfmt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\measunit.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\measure.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\msgfmt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\nfrs.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\nfrule.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\nfsubs.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\numfmt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\numsys.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\olsontz.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\persncal.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\plurfmt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\plurrule.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\quantityformatter.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\rbnf.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\rbtz.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\reldatefmt.cpp">
<DisableLanguageExtensions>false</DisableLanguageExtensions>
</ClCompile>
<ClCompile Include="$(IcuSrcDir)\i18n\reldtfmt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\selfmt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\simpletz.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\scriptset.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\smpdtfmt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\smpdtfst.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\taiwncal.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\timezone.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\tmunit.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\tmutamt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\tmutfmt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\tzrule.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\tztrans.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\ucal.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\ucurr.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\udat.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\udateintervalformat.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\udatpg.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\ulocdata.c" />
<ClCompile Include="$(IcuSrcDir)\i18n\umsg.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\unum.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\unumsys.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\upluralrules.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\utf16collationiterator.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\utf8collationiterator.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\utmscale.c" />
<ClCompile Include="$(IcuSrcDir)\i18n\vtzone.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\vzone.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\windtfmt.cpp">
<DisableLanguageExtensions>false</DisableLanguageExtensions>
</ClCompile>
<ClCompile Include="$(IcuSrcDir)\i18n\winnmfmt.cpp">
<DisableLanguageExtensions>false</DisableLanguageExtensions>
</ClCompile>
<ClCompile Include="$(IcuSrcDir)\i18n\wintzimpl.cpp">
<DisableLanguageExtensions>false</DisableLanguageExtensions>
</ClCompile>
<ClCompile Include="$(IcuSrcDir)\i18n\zonemeta.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\zrule.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\ztrans.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\ucln_in.c">
<DisableLanguageExtensions>false</DisableLanguageExtensions>
</ClCompile>
<ClCompile Include="$(IcuSrcDir)\i18n\regexcmp.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\regeximp.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\regexst.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\regextxt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\rematch.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\repattrn.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\uregex.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\uregexc.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\anytrans.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\brktrans.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\casetrn.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\cpdtrans.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\esctrn.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\funcrepl.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\name2uni.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\nortrans.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\nultrans.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\quant.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\rbt.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\rbt_data.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\rbt_pars.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\rbt_rule.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\rbt_set.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\remtrans.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\strmatch.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\strrepl.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\titletrn.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\tolowtrn.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\toupptrn.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\translit.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\transreg.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\tridpars.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\unesctrn.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\uni2name.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\utrans.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\csdetect.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\csmatch.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\csr2022.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\csrecog.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\csrmbcs.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\csrsbcs.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\csrucode.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\csrutf8.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\inputext.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\ucsdet.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\uspoof.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\uspoof_build.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\uspoof_conf.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\uspoof_impl.cpp" />
<ClCompile Include="$(IcuSrcDir)\i18n\uspoof_wsconf.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(IcuSrcDir)\i18n\bocsu.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collation.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationbasedatabuilder.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationbuilder.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationcompare.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationdata.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationdatabuilder.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationdatareader.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationdatawriter.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationfastlatin.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationfastlatinbuilder.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationfcd.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationiterator.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationkeys.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationroot.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationrootelements.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationruleparser.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationsets.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationsettings.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationtailoring.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\collationweights.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\dcfmtimp.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\numsys_impl.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\region_impl.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\selfmtimpl.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\tzgnames.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\tznames_impl.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\ucol_imp.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\uitercollationiterator.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\unicode\filteredbrk.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\usrchimp.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\astro.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\buddhcal.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\cecal.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\chnsecal.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\coptccal.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\currfmt.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\dangical.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\decContext.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\decfmtst.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\decimalformatpattern.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\decNumber.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\decNumberLocal.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\digitlst.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\dtitv_impl.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\dtptngen_impl.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\ethpccal.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\fphdlimp.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\gregoimp.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\hebrwcal.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\indiancal.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\islamcal.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\japancal.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\msgfmt_impl.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\nfrlist.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\nfrs.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\nfrule.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\nfsubs.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\olsontz.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\persncal.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\plurrule_impl.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\quantityformatter.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\sharednumberformat.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\sharedpluralrules.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\reldtfmt.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\smpdtfst.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\taiwncal.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\ucurrimp.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\umsg_imp.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\utf16collationiterator.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\utf8collationiterator.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\vzone.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\windtfmt.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\winnmfmt.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\wintzimpl.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\zonemeta.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\zrule.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\ztrans.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\ucln_in.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\regexcmp.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\regexcst.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\regeximp.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\regexst.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\regextxt.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\anytrans.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\brktrans.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\casetrn.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\cpdtrans.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\esctrn.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\funcrepl.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\name2uni.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\nortrans.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\nultrans.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\quant.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\rbt.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\rbt_data.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\rbt_pars.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\rbt_rule.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\rbt_set.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\remtrans.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\strmatch.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\strrepl.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\titletrn.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\tolowtrn.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\toupptrn.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\transreg.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\tridpars.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\unesctrn.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\uni2name.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\csdetect.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\csmatch.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\csr2022.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\csrecog.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\csrmbcs.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\csrsbcs.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\csrucode.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\csrutf8.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\inputext.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\identifier_info.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\scriptset.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\uspoof_conf.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\uspoof_impl.h" />
<ClInclude Include="$(IcuSrcDir)\i18n\uspoof_wsconf.h" />
<InstallHeader Include="$(IcuSrcDir)\i18n\unicode\*.h">
<Destination>unicode</Destination>
</InstallHeader>
</ItemGroup>
</Project>

File diff suppressed because it is too large Load Diff

47
build/icu/pack-dt.lua Normal file
View File

@ -0,0 +1,47 @@
-- Copyright (c) 2014, Thomas Goyne <plorkyeran@aegisub.org>
--
-- Permission to use, copy, modify, and distribute this software for any
-- purpose with or without fee is hereby granted, provided that the above
-- copyright notice and this permission notice appear in all copies.
--
-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-- ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
--
-- Aegisub Project http://www.aegisub.org/
local ICU_VERSION = 'icudt53'
local function try_open(filename, mode)
local file, err = io.open(filename, mode)
if not file then
io.stdout:write(string.format('Failed to open "%s": %s\n', filename, err))
os.exit(1)
end
return file
end
local icu_root, out_path = ...
local infile = try_open(string.format('%s/data/in/%sl.dat', icu_root, ICU_VERSION), 'rb')
local outfile = try_open(out_path, 'w')
outfile:write("const unsigned char " .. ICU_VERSION .. "_dat[] = {")
local len = 0
while true do
local bytes = infile:read(65536)
if not bytes then break end
for i = 1, #bytes do
if len > 0 then outfile:write(',') end
outfile:write(string.format('%d', bytes:byte(i)))
len = len + 1
end
end
outfile:write('};\n')

View File

@ -50,13 +50,15 @@ for line in manifest:lines() do
local len = 0
while true do
local b = file:read(1)
if not b then break end
local bytes = file:read(65536)
if not bytes then break end
for i = 1, #bytes do
if len > 0 then out_cpp:write(',') end
out_cpp:write(string.format('%d', b:byte()))
out_cpp:write(string.format('%d', bytes:byte(i)))
len = len + 1
end
end
out_cpp:write('};\n')
out_h:write(string.format('extern const unsigned char %s[%d];\n', id, len))
file:close()