diff --git a/icu4c/source/common/common.vcxproj b/icu4c/source/common/common.vcxproj index 1fdf3bda895c..56616215f982 100644 --- a/icu4c/source/common/common.vcxproj +++ b/icu4c/source/common/common.vcxproj @@ -5,6 +5,7 @@ DynamicLibrary + StaticLibrary false MultiByte @@ -48,6 +49,11 @@ icudt.lib;%(AdditionalDependencies) .\..\..\$(IcuLibOutputDir);%(AdditionalLibraryDirectories) + + + icudt.lib;%(AdditionalDependencies) + .\..\..\$(IcuLibOutputDir);%(AdditionalLibraryDirectories) + @@ -61,6 +67,10 @@ .\..\..\$(IcuLibOutputDir)\icuucd.pdb ..\..\$(IcuLibOutputDir)\icuucd.lib + + .\..\..\$(IcuLibOutputDir)\icuucd.pdb + ..\..\$(IcuLibOutputDir)\icuucd.lib + @@ -73,6 +83,10 @@ .\..\..\$(IcuLibOutputDir)\icuuc.pdb ..\..\$(IcuLibOutputDir)\icuuc.lib + + .\..\..\$(IcuLibOutputDir)\icuuc.pdb + ..\..\$(IcuLibOutputDir)\icuuc.lib + diff --git a/icu4c/source/common/common_uwp.vcxproj b/icu4c/source/common/common_uwp.vcxproj index 2230c8df3c66..b4356cfc59d7 100644 --- a/icu4c/source/common/common_uwp.vcxproj +++ b/icu4c/source/common/common_uwp.vcxproj @@ -37,10 +37,12 @@ {C10CF34B-3F79-430E-AD38-5A32DC0589C2} DynamicLibrary + StaticLibrary en-US DynamicLibrary + StaticLibrary false MultiByte @@ -108,6 +110,17 @@ icudt.lib;onecore.lib;%(AdditionalDependencies) + + true + false + true + + + true + vccorlib.lib;msvcrt.lib + + icudt.lib;%(AdditionalDependencies) + @@ -128,6 +141,12 @@ .\..\..\$(IcuLibOutputDir)\icuuc.pdb ..\..\$(IcuLibOutputDir)\icuuc.lib + + true + vccorlib.lib;msvcrt.lib;vcruntime.lib;%(AdditionalDependencies) + .\..\..\$(IcuLibOutputDir)\icuuc.pdb + ..\..\$(IcuLibOutputDir)\icuuc.lib + @@ -151,6 +170,11 @@ .\..\..\$(IcuLibOutputDir)\icuucd.pdb ..\..\$(IcuLibOutputDir)\icuucd.lib + + true + .\..\..\$(IcuLibOutputDir)\icuucd.pdb + ..\..\$(IcuLibOutputDir)\icuucd.lib + @@ -164,6 +188,10 @@ .\..\..\lib;%(AdditionalLibraryDirectories) + + + .\..\..\lib;%(AdditionalLibraryDirectories) + @@ -178,6 +206,11 @@ .\..\..\lib64;%(AdditionalLibraryDirectories) + + MachineX64 + + .\..\..\lib64;%(AdditionalLibraryDirectories) + @@ -192,6 +225,11 @@ .\..\..\libARM;%(AdditionalLibraryDirectories) + + MachineARM + + .\..\..\libARM;%(AdditionalLibraryDirectories) + @@ -206,6 +244,11 @@ .\..\..\libARM64;%(AdditionalLibraryDirectories) + + MachineARM64 + + .\..\..\libARM64;%(AdditionalLibraryDirectories) + diff --git a/icu4c/source/data/makedata.mak b/icu4c/source/data/makedata.mak index f29d07b64f46..e9fb7e84006e 100644 --- a/icu4c/source/data/makedata.mak +++ b/icu4c/source/data/makedata.mak @@ -20,7 +20,11 @@ U_ICUDATA_NAME=icudt78 !ENDIF U_ICUDATA_ENDIAN_SUFFIX=l UNICODE_VERSION=17.0 +!IF "$(ICU_PACKAGE_MODE)"=="-m static" +ICU_LIB_TARGET=$(LIB_OUTPUT)\icudt.lib +!ELSE ICU_LIB_TARGET=$(DLL_OUTPUT)\$(U_ICUDATA_NAME).dll +!ENDIF # ICUMAKE # Must be provided by whoever runs this makefile. @@ -107,14 +111,19 @@ ICUDATA=$(ICUP)\source\data # !IF "$(CFG)" == "ARM\Release" || "$(CFG)" == "ARM\Debug" DLL_OUTPUT=$(ICUP)\binARM$(UWP) +LIB_OUTPUT=$(ICUP)\libARM$(UWP) !ELSE IF "$(CFG)" == "ARM64\Release" || "$(CFG)" == "ARM64\Debug" DLL_OUTPUT=$(ICUP)\binARM64$(UWP) +LIB_OUTPUT=$(ICUP)\libARM64$(UWP) !ELSE IF "$(CFG)" == "x64\Release" || "$(CFG)" == "x64\Debug" DLL_OUTPUT=$(ICUP)\bin64$(UWP) +LIB_OUTPUT=$(ICUP)\lib64$(UWP) !ELSE IF "$(UWP)" == "UWP" DLL_OUTPUT=$(ICUP)\bin32$(UWP) +LIB_OUTPUT=$(ICUP)\lib32$(UWP) !ELSE DLL_OUTPUT=$(ICUP)\bin$(UWP) +LIB_OUTPUT=$(ICUP)\lib$(UWP) !ENDIF !MESSAGE ICU data DLL_OUTPUT path is $(DLL_OUTPUT) @@ -431,8 +440,8 @@ icu4j-data-install : cd "$(ICUBLD_PKG)" "$(ICUPBIN)\icupkg" -x * --list "$(ICUDATA_SOURCE_ARCHIVE)" > "$(ICUTMP)\icudata.lst" "$(ICUPBIN)\pkgdata" $(COMMON_ICUDATA_ARGUMENTS) "$(ICUTMP)\icudata.lst" - copy "$(U_ICUDATA_NAME).dll" "$(DLL_OUTPUT)" - -@erase "$(U_ICUDATA_NAME).dll" + @if "$(ICU_PACKAGE_MODE)"=="-m dll" ( copy "$(U_ICUDATA_NAME).dll" "$(ICU_LIB_TARGET)" ) else ( copy "s$(U_ICUDATA_NAME).lib" "$(ICU_LIB_TARGET)" ) + -@if "$(ICU_PACKAGE_MODE)"=="-m dll" ( erase "$(U_ICUDATA_NAME).dll" ) else ( erase "s$(U_ICUDATA_NAME).lib" ) copy "$(ICUTMP)\$(ICUPKG).dat" "$(ICUOUT)\$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX).dat" -@erase "$(ICUTMP)\$(ICUPKG).dat" !ELSE @@ -441,9 +450,9 @@ icu4j-data-install : cd "$(ICUBLD_PKG)" "$(ICUPBIN)\pkgdata" $(COMMON_ICUDATA_ARGUMENTS) $(ICUTMP)\icudata.lst -@erase "$(ICU_LIB_TARGET)" - @if not exist "$(DLL_OUTPUT)" mkdir "$(DLL_OUTPUT)" - copy "$(U_ICUDATA_NAME).dll" "$(ICU_LIB_TARGET)" - -@erase "$(U_ICUDATA_NAME).dll" + @if "$(ICU_PACKAGE_MODE)"=="-m dll" ( if not exist "$(DLL_OUTPUT)" mkdir "$(DLL_OUTPUT)" ) else ( if not exist "$(LIB_OUTPUT)" mkdir "$(LIB_OUTPUT)" ) + @if "$(ICU_PACKAGE_MODE)"=="-m dll" ( copy "$(U_ICUDATA_NAME).dll" "$(ICU_LIB_TARGET)" ) else ( copy "s$(U_ICUDATA_NAME).lib" "$(ICU_LIB_TARGET)" ) + -@if "$(ICU_PACKAGE_MODE)"=="-m dll" ( erase "$(U_ICUDATA_NAME).dll" ) else ( erase "s$(U_ICUDATA_NAME).lib" ) copy "$(ICUTMP)\$(ICUPKG).dat" "$(ICUOUT)\$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX).dat" -@erase "$(ICUTMP)\$(ICUPKG).dat" !ENDIF @@ -453,9 +462,9 @@ icu4j-data-install : cd "$(ICUBLD_PKG)" "$(ICUPBIN)\pkgdata" $(COMMON_ICUDATA_ARGUMENTS) $(ICUTMP)\icudata.lst -@erase "$(ICU_LIB_TARGET)" - @if not exist "$(DLL_OUTPUT)" mkdir "$(DLL_OUTPUT)" - copy "$(U_ICUDATA_NAME).dll" "$(ICU_LIB_TARGET)" - -@erase "$(U_ICUDATA_NAME).dll" + @if "$(ICU_PACKAGE_MODE)"=="-m dll" ( if not exist "$(DLL_OUTPUT)" mkdir "$(DLL_OUTPUT)" ) else ( if not exist "$(LIB_OUTPUT)" mkdir "$(LIB_OUTPUT)" ) + @if "$(ICU_PACKAGE_MODE)"=="-m dll" ( copy "$(U_ICUDATA_NAME).dll" "$(ICU_LIB_TARGET)" ) else ( copy "s$(U_ICUDATA_NAME).lib" "$(ICU_LIB_TARGET)" ) + -@if "$(ICU_PACKAGE_MODE)"=="-m dll" ( erase "$(U_ICUDATA_NAME).dll" ) else ( erase "s$(U_ICUDATA_NAME).lib" ) copy "$(ICUTMP)\$(ICUPKG).dat" "$(ICUOUT)\$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX).dat" -@erase "$(ICUTMP)\$(ICUPKG).dat" @echo "timestamp" > $(ARM_CROSSBUILD_TS) diff --git a/icu4c/source/i18n/i18n.vcxproj b/icu4c/source/i18n/i18n.vcxproj index 9d340f6b5c84..a11736221cb5 100644 --- a/icu4c/source/i18n/i18n.vcxproj +++ b/icu4c/source/i18n/i18n.vcxproj @@ -5,6 +5,7 @@ DynamicLibrary + StaticLibrary false MultiByte @@ -50,6 +51,9 @@ .\..\..\$(IcuLibOutputDir);%(AdditionalLibraryDirectories) + + .\..\..\$(IcuLibOutputDir);%(AdditionalLibraryDirectories) + @@ -63,6 +67,10 @@ .\..\..\$(IcuLibOutputDir)\icuind.pdb ..\..\$(IcuLibOutputDir)\icuind.lib + + .\..\..\$(IcuLibOutputDir)\icuind.pdb + ..\..\$(IcuLibOutputDir)\icuind.lib + @@ -76,6 +84,10 @@ .\..\..\$(IcuLibOutputDir)\icuin.pdb ..\..\$(IcuLibOutputDir)\icuin.lib + + .\..\..\$(IcuLibOutputDir)\icuin.pdb + ..\..\$(IcuLibOutputDir)\icuin.lib + diff --git a/icu4c/source/i18n/i18n_uwp.vcxproj b/icu4c/source/i18n/i18n_uwp.vcxproj index 49f8531774fe..f9d8e7e83e03 100644 --- a/icu4c/source/i18n/i18n_uwp.vcxproj +++ b/icu4c/source/i18n/i18n_uwp.vcxproj @@ -37,10 +37,12 @@ {6786C051-383B-47E0-9E82-B8B994E06A25} DynamicLibrary + StaticLibrary en-US DynamicLibrary + StaticLibrary false MultiByte @@ -99,6 +101,14 @@ true + + true + false + true + + + true + @@ -114,6 +124,9 @@ true + + true + @@ -132,6 +145,9 @@ true + + true + @@ -190,6 +206,10 @@ ..\..\lib32uwp\icuin.lib ..\..\lib32uwp\icuuc.lib;%(AdditionalDependencies) + + .\..\..\lib32uwp\icuin.pdb + ..\..\lib32uwp\icuin.lib + @@ -207,6 +227,10 @@ ..\..\lib32uwp\icuind.lib ..\..\lib32uwp\icuucd.lib;%(AdditionalDependencies) + + .\..\..\lib32uwp\icuind.pdb + ..\..\lib32uwp\icuind.lib + @@ -224,6 +248,10 @@ ..\..\lib64uwp\icuin.lib ..\..\lib64uwp\icuuc.lib;%(AdditionalDependencies) + + .\..\..\lib64uwp\icuin.pdb + ..\..\lib64uwp\icuin.lib + @@ -241,6 +269,10 @@ ..\..\lib64uwp\icuind.lib ..\..\lib64uwp\icuucd.lib;%(AdditionalDependencies) + + .\..\..\lib64uwp\icuind.pdb + ..\..\lib64uwp\icuind.lib + @@ -258,6 +290,10 @@ ..\..\libARMuwp\icuin.lib ..\..\libARMuwp\icuuc.lib;%(AdditionalDependencies) + + .\..\..\libARMuwp\icuin.pdb + ..\..\libARMuwp\icuin.lib + @@ -275,6 +311,10 @@ ..\..\libARMuwp\icuind.lib ..\..\libARMuwp\icuucd.lib;%(AdditionalDependencies) + + .\..\..\libARMuwp\icuind.pdb + ..\..\libARMuwp\icuind.lib + @@ -292,6 +332,10 @@ ..\..\libARM64uwp\icuin.lib ..\..\libARM64uwp\icuuc.lib;%(AdditionalDependencies) + + .\..\..\libARM64uwp\icuin.pdb + ..\..\libARM64uwp\icuin.lib + @@ -309,6 +353,10 @@ ..\..\libARM64uwp\icuind.lib ..\..\libARM64uwp\icuucd.lib;%(AdditionalDependencies) + + .\..\..\libARM64uwp\icuind.pdb + ..\..\libARM64uwp\icuind.lib + diff --git a/icu4c/source/io/io.vcxproj b/icu4c/source/io/io.vcxproj index 44a6128863f5..18950aba9492 100644 --- a/icu4c/source/io/io.vcxproj +++ b/icu4c/source/io/io.vcxproj @@ -5,6 +5,7 @@ DynamicLibrary + StaticLibrary false MultiByte @@ -50,6 +51,9 @@ ..\..\$(IcuLibOutputDir);%(AdditionalLibraryDirectories) + + ..\..\$(IcuLibOutputDir);%(AdditionalLibraryDirectories) + @@ -64,6 +68,11 @@ ..\..\$(IcuLibOutputDir)\icuiod.lib icuucd.lib;icuind.lib;%(AdditionalDependencies) + + true + ..\..\$(IcuLibOutputDir)\icuiod.pdb + ..\..\$(IcuLibOutputDir)\icuiod.lib + @@ -77,6 +86,10 @@ ..\..\$(IcuLibOutputDir)\icuio.lib icuuc.lib;icuin.lib;%(AdditionalDependencies) + + ..\..\$(IcuLibOutputDir)\icuio.pdb + ..\..\$(IcuLibOutputDir)\icuio.lib + diff --git a/icu4c/source/layoutex/layoutex.vcxproj b/icu4c/source/layoutex/layoutex.vcxproj index 27be3f1a3cb2..5aaff1f81c18 100644 --- a/icu4c/source/layoutex/layoutex.vcxproj +++ b/icu4c/source/layoutex/layoutex.vcxproj @@ -6,6 +6,7 @@ DynamicLibrary + StaticLibrary false MultiByte @@ -61,6 +62,13 @@ ..\..\lib\iculx.lib + + .\..\..\lib;%(AdditionalLibraryDirectories) + .\..\..\lib\iculx.pdb + + + ..\..\lib\iculx.lib + @@ -86,6 +94,14 @@ ..\..\lib\iculxd.lib + + .\..\..\lib;%(AdditionalLibraryDirectories) + true + .\..\..\lib\iculxd.pdb + + + ..\..\lib\iculxd.lib + @@ -107,6 +123,11 @@ .\..\..\lib64\iculx.pdb ..\..\lib64\iculx.lib + + .\..\..\lib64;%(AdditionalLibraryDirectories) + .\..\..\lib64\iculx.pdb + ..\..\lib64\iculx.lib + @@ -130,6 +151,12 @@ .\..\..\lib64\iculxd.pdb ..\..\lib64\iculxd.lib + + .\..\..\lib64;%(AdditionalLibraryDirectories) + true + .\..\..\lib64\iculxd.pdb + ..\..\lib64\iculxd.lib + diff --git a/icu4c/source/stubdata/stubdata.vcxproj b/icu4c/source/stubdata/stubdata.vcxproj index 0b2c61cb06b7..53424a0f60fa 100644 --- a/icu4c/source/stubdata/stubdata.vcxproj +++ b/icu4c/source/stubdata/stubdata.vcxproj @@ -5,6 +5,8 @@ DynamicLibrary + StaticLibrary + Utility false MultiByte @@ -59,6 +61,13 @@ .\..\..\$(IcuLibOutputDir)\icudt.pdb ..\..\$(IcuLibOutputDir)\icudt.lib + + true + true + true + .\..\..\$(IcuLibOutputDir)\icudt.pdb + ..\..\$(IcuLibOutputDir)\icudt.lib + diff --git a/icu4c/source/tools/ctestfw/ctestfw.vcxproj b/icu4c/source/tools/ctestfw/ctestfw.vcxproj index 49fb91a8e938..a089d4b2c6d4 100644 --- a/icu4c/source/tools/ctestfw/ctestfw.vcxproj +++ b/icu4c/source/tools/ctestfw/ctestfw.vcxproj @@ -5,6 +5,7 @@ DynamicLibrary + StaticLibrary false MultiByte @@ -44,6 +45,9 @@ ..\..\..\$(IcuLibOutputDir);%(AdditionalLibraryDirectories) + + ..\..\..\$(IcuLibOutputDir);%(AdditionalLibraryDirectories) + @@ -57,6 +61,11 @@ .\..\..\..\$(IcuLibOutputDir)\icutestd.lib icuucd.lib;icutud.lib;%(AdditionalDependencies) + + .\..\..\..\$(IcuLibOutputDir)\icutestd.pdb + .\..\..\..\$(IcuLibOutputDir)\icutestd.lib + icutud.lib;%(AdditionalDependencies) + @@ -70,6 +79,11 @@ .\..\..\..\$(IcuLibOutputDir)\icutest.lib icuuc.lib;icutu.lib;%(AdditionalDependencies) + + .\..\..\..\$(IcuLibOutputDir)\icutest.pdb + .\..\..\..\$(IcuLibOutputDir)\icutest.lib + icutu.lib;%(AdditionalDependencies) + diff --git a/icu4c/source/tools/icuinfo/testplug.vcxproj b/icu4c/source/tools/icuinfo/testplug.vcxproj index 426776592a90..62f8db7ca4ba 100644 --- a/icu4c/source/tools/icuinfo/testplug.vcxproj +++ b/icu4c/source/tools/icuinfo/testplug.vcxproj @@ -5,6 +5,7 @@ DynamicLibrary + StaticLibrary false MultiByte @@ -45,6 +46,9 @@ ..\..\..\$(IcuLibOutputDir);%(AdditionalLibraryDirectories) + + ..\..\..\$(IcuLibOutputDir);%(AdditionalLibraryDirectories) + @@ -59,6 +63,11 @@ ..\..\..\$(IcuLibOutputDir)\testplugd.lib icuucd.lib;icutud.lib;%(AdditionalDependencies) + + true + ..\..\..\$(IcuLibOutputDir)\stestplugd.pdb + ..\..\..\$(IcuLibOutputDir)\stestplugd.lib + @@ -72,6 +81,10 @@ ..\..\..\$(IcuLibOutputDir)\testplug.lib icuuc.lib;icutu.lib;%(AdditionalDependencies) + + ..\..\..\$(IcuLibOutputDir)\stestplug.pdb + ..\..\..\$(IcuLibOutputDir)\stestplug.lib + diff --git a/icu4c/source/tools/toolutil/toolutil.vcxproj b/icu4c/source/tools/toolutil/toolutil.vcxproj index 538b27fe66a8..1b08b2e068e6 100644 --- a/icu4c/source/tools/toolutil/toolutil.vcxproj +++ b/icu4c/source/tools/toolutil/toolutil.vcxproj @@ -5,6 +5,7 @@ DynamicLibrary + StaticLibrary false MultiByte @@ -45,6 +46,9 @@ icuucd.lib;icuind.lib;%(AdditionalDependencies) + + icuucd.lib;icuind.lib;%(AdditionalDependencies) + @@ -55,6 +59,9 @@ icuuc.lib;icuin.lib;%(AdditionalDependencies) + + icuuc.lib;icuin.lib;%(AdditionalDependencies) + @@ -67,6 +74,9 @@ ..\..\..\lib;%(AdditionalLibraryDirectories) + + ..\..\..\lib;%(AdditionalLibraryDirectories) + @@ -79,6 +89,12 @@ ..\..\..\lib\icutu.lib + + .\..\..\..\lib\icutu.pdb + + + ..\..\..\lib\icutu.lib + @@ -91,6 +107,12 @@ ..\..\..\lib\icutud.lib + + .\..\..\..\lib\icutud.pdb + + + ..\..\..\lib\icutud.lib + @@ -103,6 +125,9 @@ ..\..\..\lib64;%(AdditionalLibraryDirectories) + + ..\..\..\lib64;%(AdditionalLibraryDirectories) + @@ -116,6 +141,10 @@ .\..\..\..\lib64\icutu.pdb ..\..\..\lib64\icutu.lib + + .\..\..\..\lib64\icutu.pdb + ..\..\..\lib64\icutu.lib + @@ -126,6 +155,10 @@ .\..\..\..\lib64\icutud.pdb ..\..\..\lib64\icutud.lib + + .\..\..\..\lib64\icutud.pdb + ..\..\..\lib64\icutud.lib + @@ -137,6 +170,9 @@ .\..\..\..\libARM;%(AdditionalLibraryDirectories) + + .\..\..\..\libARM;%(AdditionalLibraryDirectories) + @@ -147,6 +183,10 @@ .\..\..\..\libARM\icutu.pdb ..\..\..\libARM\icutu.lib + + .\..\..\..\libARM\icutu.pdb + ..\..\..\libARM\icutu.lib + @@ -160,6 +200,10 @@ .\..\..\..\libARM\icutud.pdb ..\..\..\libARM\icutud.lib + + .\..\..\..\libARM\icutud.pdb + ..\..\..\libARM\icutud.lib + @@ -171,6 +215,9 @@ .\..\..\..\libARM64;%(AdditionalLibraryDirectories) + + .\..\..\..\libARM64;%(AdditionalLibraryDirectories) + @@ -181,6 +228,10 @@ .\..\..\..\libARM64\icutu.pdb ..\..\..\libARM64\icutu.lib + + .\..\..\..\libARM64\icutu.pdb + ..\..\..\libARM64\icutu.lib + @@ -194,6 +245,10 @@ .\..\..\..\libARM64\icutud.pdb ..\..\..\libARM64\icutud.lib + + .\..\..\..\libARM64\icutud.pdb + ..\..\..\libARM64\icutud.lib +