X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/4388f060552cc537e71e957d32f35e9d75a61233..f3c0d7a59d99c2a94c6b8822291f0e42be3773c9:/icuSources/data/makedata.mak diff --git a/icuSources/data/makedata.mak b/icuSources/data/makedata.mak index e6bb80b6..65c2e76c 100644 --- a/icuSources/data/makedata.mak +++ b/icuSources/data/makedata.mak @@ -1,5 +1,7 @@ +# Copyright (C) 2016 and later: Unicode, Inc. and others. +# License & terms of use: http://www.unicode.org/copyright.html #********************************************************************** -#* Copyright (C) 1999-2011, International Business Machines Corporation +#* Copyright (C) 1999-2016, International Business Machines Corporation #* and others. All Rights Reserved. #********************************************************************** # nmake file for creating data files on win32 @@ -10,10 +12,13 @@ ############################################################################## # Keep the following in sync with the version - see common/unicode/uvernum.h -U_ICUDATA_NAME=icudt49 +U_ICUDATA_NAME=icudt59 ############################################################################## +!IF "$(UWP)" == "UWP" +U_ICUDATA_NAME=icudt +!ENDIF U_ICUDATA_ENDIAN_SUFFIX=l -UNICODE_VERSION=6.1 +UNICODE_VERSION=9.0 ICU_LIB_TARGET=$(DLL_OUTPUT)\$(U_ICUDATA_NAME).dll # ICUMAKE @@ -117,10 +122,14 @@ ICUDATA=$(ICUP)\source\data # This is the same place that all of the other ICU DLLs go (the code-containing DLLs) # The lib file for the data DLL goes in $(DLL_OUTPUT)/../lib/ # -!IF "$(CFG)" == "x64\Release" || "$(CFG)" == "x64\Debug" -DLL_OUTPUT=$(ICUP)\bin64 +!IF "$(CFG)" == "ARM\Release" || "$(CFG)" == "ARM\Debug" +DLL_OUTPUT=$(ICUP)\binARM$(UWP) +!ELSE IF "$(CFG)" == "x64\Release" || "$(CFG)" == "x64\Debug" +DLL_OUTPUT=$(ICUP)\bin64$(UWP) +!ELSE IF "$(UWP)" == "UWP" +DLL_OUTPUT=$(ICUP)\bin32$(UWP) !ELSE -DLL_OUTPUT=$(ICUP)\bin +DLL_OUTPUT=$(ICUP)\bin$(UWP) !ENDIF # @@ -145,14 +154,28 @@ TESTDATABLD=$(ICUP)\source\test\testdata\out\build # Directory under which all of the ICU data building tools live. # ICUTOOLS=$(ICUP)\source\tools +!MESSAGE ICU tools path is $(ICUTOOLS) + +# +# TOOLS CFG PATH +# ARM needs to use one of the other tools, so make sure to get an usable cfg path +# Since tools, particularly pkggen, have architecture built-in, we made x64 on +# Windows be machine-independent and use those tools. +# +CFGTOOLS=$(CFG) +!IF "$(CFG)" == "ARM\Release" || "$(CFG)" == "ARM\Debug" +CFGTOOLS=x64\Release +!ENDIF +!MESSAGE ICU tools CFG subpath is $(CFGTOOLS) # The current ICU tools need to be in the path first. -!IF "$(CFG)" == "x64\Release" || "$(CFG)" == "x64\Debug" -PATH = $(ICUP)\bin64;$(PATH) -ICUPBIN=$(ICUP)\bin64 -!ELSE +# x86 uses x86, x64 and arm use x64 +!IF "$(CFG)" == "x86\Release" || "$(CFG)" == "x86\Debug" PATH = $(ICUP)\bin;$(PATH) ICUPBIN=$(ICUP)\bin +!ELSE +PATH = $(ICUP)\bin64;$(PATH) +ICUPBIN=$(ICUP)\bin64 !ENDIF @@ -236,7 +259,7 @@ CNV_FILES_SPECIAL=$(UCM_SOURCE_SPECIAL:.ucm=.cnv) !IF EXISTS("$(ICUSRCDATA)\$(ICUBRK)\brklocal.mk") !INCLUDE "$(ICUSRCDATA)\$(ICUBRK)\brklocal.mk" BRK_SOURCE=$(BRK_SOURCE) $(BRK_SOURCE_LOCAL) -BRK_CTD_SOURCE=$(BRK_CTD_SOURCE) $(BRK_CTD_SOURCE_LOCAL) +BRK_DICT_SOURCE=$(BRK_DICT_SOURCE) $(BRK_DICT_SOURCE_LOCAL) BRK_RES_SOURCE=$(BRK_RES_SOURCE) $(BRK_RES_SOURCE_LOCAL) !ELSE !MESSAGE Information: cannot find "brklocal.mk". Not building user-additional break iterator files. @@ -252,10 +275,10 @@ BRK_FILES=$(ICUBRK)\$(BRK_SOURCE:.txt =.brk brkitr\) BRK_FILES=$(BRK_FILES:.txt=.brk) BRK_FILES=$(BRK_FILES:brkitr\ =brkitr\) -!IFDEF BRK_CTD_SOURCE -BRK_CTD_FILES = $(ICUBRK)\$(BRK_CTD_SOURCE:.txt =.ctd brkitr\) -BRK_CTD_FILES = $(BRK_CTD_FILES:.txt=.ctd) -BRK_CTD_FILES = $(BRK_CTD_FILES:brkitr\ =) +!IFDEF BRK_DICT_SOURCE +BRK_DICT_FILES = $(ICUBRK)\$(BRK_DICT_SOURCE:.txt =.dict brkitr\) +BRK_DICT_FILES = $(BRK_DICT_FILES:.txt=.dict) +BRK_DICT_FILES = $(BRK_DICT_FILES:brkitr\ =brkitr\) !ENDIF !IFDEF BRK_RES_SOURCE @@ -356,6 +379,7 @@ ZONE_SOURCE=$(ZONE_SOURCE) $(ZONE_SOURCE_LOCAL) !ELSE !MESSAGE Information: cannot find "zone\reslocal.mk". Not building user-additional resource bundle files. !ENDIF +ZONE_SOURCE=$(ZONE_SOURCE) tzdbNames.txt !ELSE !MESSAGE Warning: cannot find "zone\resfiles.mk" !ENDIF @@ -368,6 +392,27 @@ ZONE_RES_FILES = zone\pool.res $(ZONE_RES_FILES:zone\ =zone\) ALL_RES = $(ALL_RES) zone\res_index.res !ENDIF +# Read the list of units display name resource bundle files +!IF EXISTS("$(ICUSRCDATA)\unit\resfiles.mk") +!INCLUDE "$(ICUSRCDATA)\unit\resfiles.mk" +!IF EXISTS("$(ICUSRCDATA)\unit\reslocal.mk") +!INCLUDE "$(ICUSRCDATA)\unit\reslocal.mk" +UNIT_SOURCE=$(UNIT_SOURCE) $(UNIT_SOURCE_LOCAL) +!ELSE +!MESSAGE Information: cannot find "unit\reslocal.mk". Not building user-additional resource bundle files. +!ENDIF +!ELSE +!MESSAGE Warning: cannot find "unit\resfiles.mk" +!ENDIF + +!IFDEF UNIT_SOURCE +UNIT_FILES = unit\root.txt $(UNIT_ALIAS_SOURCE) $(UNIT_SOURCE) +UNIT_RES_FILES = $(UNIT_FILES:.txt =.res unit\) +UNIT_RES_FILES = $(UNIT_RES_FILES:.txt=.res) +UNIT_RES_FILES = unit\pool.res $(UNIT_RES_FILES:unit\ =unit\) +ALL_RES = $(ALL_RES) unit\res_index.res +!ENDIF + # Read the list of collation resource bundle files !IF EXISTS("$(ICUSRCDATA)\$(ICUCOL)\colfiles.mk") !INCLUDE "$(ICUSRCDATA)\$(ICUCOL)\colfiles.mk" @@ -468,6 +513,12 @@ SPREP_FILES = $(SPREP_SOURCE:.txt=.spp) # Common defines for both ways of building ICU's data library. COMMON_ICUDATA_DEPENDENCIES="$(ICUPBIN)\pkgdata.exe" "$(ICUTMP)\icudata.res" "$(ICUP)\source\stubdata\stubdatabuilt.txt" COMMON_ICUDATA_ARGUMENTS=-f -e $(U_ICUDATA_NAME) -v $(ICU_PACKAGE_MODE) -c -p $(ICUPKG) -T "$(ICUTMP)" -L $(U_ICUDATA_NAME) -d "$(ICUBLD_PKG)" -s . +!IF "$(UWP)" == "UWP" +COMMON_ICUDATA_ARGUMENTS=$(COMMON_ICUDATA_ARGUMENTS) -u +!IF "$(CFG)" == "ARM\Release" || "$(CFG)" == "ARM\Debug" +COMMON_ICUDATA_ARGUMENTS=$(COMMON_ICUDATA_ARGUMENTS) -a +!ENDIF +!ENDIF ############################################################################# # @@ -481,6 +532,11 @@ COMMON_ICUDATA_ARGUMENTS=-f -e $(U_ICUDATA_NAME) -v $(ICU_PACKAGE_MODE) -c -p $( ALL : GODATA "$(ICU_LIB_TARGET)" "$(TESTDATAOUT)\testdata.dat" @echo All targets are up to date +!IF "$(UWP)" == "UWP" + @if not exist "$(ICUMAKE)\..\..\commondata\" mkdir "$(ICUMAKE)\..\..\commondata\" + copy "$(ICUOUT)\$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX).dat" "$(ICUMAKE)\..\..\commondata\" +!ENDIF + # The core Unicode properties files (uprops.icu, ucase.icu, ubidi.icu) # are hardcoded in the common DLL and therefore not included in the data package any more. # They are not built by default but need to be built for ICU4J data and for getting the .c source files @@ -489,7 +545,7 @@ ALL : GODATA "$(ICU_LIB_TARGET)" "$(TESTDATAOUT)\testdata.dat" # 2010-dec Removed pnames.icu. # Command line: # C:\svn\icuproj\icu\trunk\source\data>nmake -f makedata.mak ICUMAKE=C:\svn\icuproj\icu\trunk\source\data\ CFG=x86\Debug uni-core-data -uni-core-data: GODATA "$(ICUBLD_PKG)\pnames.icu" "$(ICUBLD_PKG)\uprops.icu" "$(ICUBLD_PKG)\ucase.icu" "$(ICUBLD_PKG)\ubidi.icu" +uni-core-data: GODATA "$(ICUBLD_PKG)\pnames.icu" "$(ICUBLD_PKG)\uprops.icu" "$(ICUBLD_PKG)\ucase.icu" "$(ICUBLD_PKG)\ubidi.icu" "$(ICUBLD_PKG)\nfc.nrm" @echo Unicode .icu files built to "$(ICUBLD_PKG)" # Build the ICU4J icudata.jar and testdata.jar. @@ -502,7 +558,7 @@ ICU4J_TZDATA_PATHS=$(ICU4J_DATA_DIRNAME)\zoneinfo64.res $(ICU4J_DATA_DIRNAME)\me generate-data: GODATA "$(ICUOUT)\$(ICUPKG).dat" uni-core-data if not exist "$(ICUOUT)\icu4j\$(ICU4J_DATA_DIRNAME)" mkdir "$(ICUOUT)\icu4j\$(ICU4J_DATA_DIRNAME)" if not exist "$(ICUOUT)\icu4j\tzdata\$(ICU4J_DATA_DIRNAME)" mkdir "$(ICUOUT)\icu4j\tzdata\$(ICU4J_DATA_DIRNAME)" - echo pnames.icu ubidi.icu ucase.icu uprops.icu > "$(ICUOUT)\icu4j\add.txt" + echo pnames.icu ubidi.icu ucase.icu uprops.icu nfc.nrm > "$(ICUOUT)\icu4j\add.txt" "$(ICUPBIN)\icupkg" "$(ICUOUT)\$(ICUPKG).dat" "$(ICUOUT)\icu4j\$(U_ICUDATA_NAME)b.dat" -a "$(ICUOUT)\icu4j\add.txt" -s "$(ICUBLD_PKG)" -x * -tb -d "$(ICUOUT)\icu4j\$(ICU4J_DATA_DIRNAME)" @for %f in ($(ICU4J_TZDATA_PATHS)) do @move "$(ICUOUT)\icu4j\%f" "$(ICUOUT)\icu4j\tzdata\$(ICU4J_DATA_DIRNAME)" @@ -532,9 +588,9 @@ DEBUGUTILITIESDATA_DIR=main\tests\core\src\com\ibm\icu\dev\test\util DEBUGUTILITIESDATA_SRC=DebugUtilitiesData.java # Build DebugUtilitiesData.java -"$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)\$(DEBUGUTILITIESDATA_SRC)" : {"$(ICUTOOLS)\gentest\$(CFG)"}gentest.exe +"$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)\$(DEBUGUTILITIESDATA_SRC)" : {"$(ICUTOOLS)\gentest\$(CFGTOOLS)"}gentest.exe if not exist "$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)" mkdir "$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)" - "$(ICUTOOLS)\gentest\$(CFG)\gentest" -j -d"$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)" + "$(ICUTOOLS)\gentest\$(CFGTOOLS)\gentest" -j -d"$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)" ICU4J_DATA="$(ICUOUT)\icu4j\icudata.jar" "$(ICUOUT)\icu4j\testdata.jar" "$(ICUOUT)\icu4j\src\$(DEBUGUTILITIESDATA_DIR)\$(DEBUGUTILITIESDATA_SRC)" @@ -578,10 +634,10 @@ icu4j-data-install : # # testdata - nmake will invoke pkgdata, which will create testdata.dat # -"$(TESTDATAOUT)\testdata.dat": "$(TESTDATA)\*" "$(ICUBLD_PKG)\$(ICUCOL)\ucadata.icu" $(TRANSLIT_RES_FILES) $(MISC_FILES) $(RB_FILES) {"$(ICUTOOLS)\genrb\$(CFG)"}genrb.exe +"$(TESTDATAOUT)\testdata.dat": "$(TESTDATA)\*" "$(ICUBLD_PKG)\$(ICUCOL)\ucadata.icu" $(TRANSLIT_RES_FILES) $(MISC_FILES) $(RB_FILES) {"$(ICUTOOLS)\genrb\$(CFGTOOLS)"}genrb.exe @cd "$(TESTDATA)" @echo building testdata... - nmake /nologo /f "$(TESTDATA)\testdata.mak" TESTDATA=. ICUTOOLS="$(ICUTOOLS)" ICUPBIN="$(ICUPBIN)" ICUP="$(ICUP)" CFG=$(CFG) TESTDATAOUT="$(TESTDATAOUT)" TESTDATABLD="$(TESTDATABLD)" + nmake /nologo /f "$(TESTDATA)\testdata.mak" TESTDATA=. ICUTOOLS="$(ICUTOOLS)" ICUPBIN="$(ICUPBIN)" ICUP="$(ICUP)" CFG=$(CFGTOOLS) TESTDATAOUT="$(TESTDATAOUT)" TESTDATABLD="$(TESTDATABLD)" #invoke pkgdata for ICU common data # pkgdata will drop all output files (.dat, .dll, .lib) into the target (ICUBLD_PKG) directory. @@ -602,16 +658,14 @@ icu4j-data-install : copy "$(ICUTMP)\$(ICUPKG).dat" "$(ICUOUT)\$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX).dat" -@erase "$(ICUTMP)\$(ICUPKG).dat" !ELSE -"$(ICU_LIB_TARGET)" : $(COMMON_ICUDATA_DEPENDENCIES) $(CNV_FILES) $(CNV_FILES_SPECIAL) "$(ICUBLD_PKG)\unames.icu" "$(ICUBLD_PKG)\cnvalias.icu" "$(ICUBLD_PKG)\nfc.nrm" "$(ICUBLD_PKG)\nfkc.nrm" "$(ICUBLD_PKG)\nfkc_cf.nrm" "$(ICUBLD_PKG)\uts46.nrm" "$(ICUBLD_PKG)\$(ICUCOL)\ucadata.icu" "$(ICUBLD_PKG)\$(ICUCOL)\invuca.icu" $(CURR_RES_FILES) $(LANG_RES_FILES) $(REGION_RES_FILES) $(ZONE_RES_FILES) $(BRK_FILES) $(BRK_CTD_FILES) $(BRK_RES_FILES) $(COL_COL_FILES) $(RBNF_RES_FILES) $(TRANSLIT_RES_FILES) $(ALL_RES) $(SPREP_FILES) "$(ICUBLD_PKG)\confusables.cfu" +"$(ICU_LIB_TARGET)" : $(COMMON_ICUDATA_DEPENDENCIES) $(CNV_FILES) $(CNV_FILES_SPECIAL) "$(ICUBLD_PKG)\unames.icu" "$(ICUBLD_PKG)\cnvalias.icu" "$(ICUBLD_PKG)\nfkc.nrm" "$(ICUBLD_PKG)\nfkc_cf.nrm" "$(ICUBLD_PKG)\uts46.nrm" "$(ICUBLD_PKG)\$(ICUCOL)\ucadata.icu" $(CURR_RES_FILES) $(LANG_RES_FILES) $(REGION_RES_FILES) $(ZONE_RES_FILES) $(UNIT_RES_FILES) $(BRK_FILES) $(BRK_DICT_FILES) $(BRK_RES_FILES) $(ALL_RES) $(COL_COL_FILES) $(RBNF_RES_FILES) $(TRANSLIT_RES_FILES) $(SPREP_FILES) "$(ICUBLD_PKG)\confusables.cfu" @echo Building icu data cd "$(ICUBLD_PKG)" "$(ICUPBIN)\pkgdata" $(COMMON_ICUDATA_ARGUMENTS) <<"$(ICUTMP)\icudata.lst" unames.icu confusables.cfu $(ICUCOL)\ucadata.icu -$(ICUCOL)\invuca.icu cnvalias.icu -nfc.nrm nfkc.nrm nfkc_cf.nrm uts46.nrm @@ -629,6 +683,8 @@ $(REGION_RES_FILES:.res =.res ) $(ZONE_RES_FILES:.res =.res ) +$(UNIT_RES_FILES:.res =.res +) $(COL_COL_FILES:.res =.res ) $(RBNF_RES_FILES:.res =.res @@ -637,7 +693,7 @@ $(TRANSLIT_RES_FILES:.res =.res ) $(BRK_FILES:.brk =.brk ) -$(BRK_CTD_FILES:.ctd =.ctd +$(BRK_DICT_FILES:.dict =.dict ) $(BRK_RES_FILES:.res =.res ) @@ -645,6 +701,7 @@ $(SPREP_FILES:.spp=.spp ) <