21573eb159
X-SVN-Rev: 1589
112 lines
3.3 KiB
Batchfile
Executable File
112 lines
3.3 KiB
Batchfile
Executable File
@echo off
|
|
rem makedata.bat
|
|
rem batch file for Windows for creating the ICU data files
|
|
rem parameter:
|
|
rem %1 path where the icu folder resides
|
|
|
|
if "%1"=="" goto :error
|
|
|
|
if "%ICU_DATA%"=="" set ICU_DATA=%1\data\
|
|
|
|
rem toolversion: Debug or Release
|
|
set toolversion=Release
|
|
if not "%2"=="" set toolversion=%2
|
|
|
|
nmake /f makedata.mak icup=%1 cfg=%2 %3 %4
|
|
if not errorlevel 9009 goto :othererror
|
|
echo Build tools are not on path! Please make sure that MSVC++ is setup correctly!
|
|
goto :error
|
|
:othererror
|
|
if errorlevel 0 goto :end
|
|
echo Nmake has unsuccesfully finished with errorcode %errorlevel%!
|
|
goto :end
|
|
|
|
rem setup mkhelper to read ucmfiles.mk and ucmlocal.mk
|
|
set conv=mkhelper\%toolversion%\mkhelper -n UCM_SOURCE -n UCM_SOURCE_LOCAL makeconv\ucmfiles.mk makeconv\ucmlocal.mk
|
|
|
|
echo create conversion tables
|
|
rem delete preexisting files to prevent upper/lowercase file name problems
|
|
del "%ICU_DATA%*.cnv"
|
|
del "%ICU_DATA%*_cnv.c"
|
|
del *_cnv.obj
|
|
%conv% -p "$toolversion$\makeconv \"$ICU_DATA$" -s "\"">makeconv\mkcnvtmp.bat
|
|
cd makeconv
|
|
call mkcnvtmp.bat
|
|
|
|
echo create locale resource bundles
|
|
cd ..\genrb
|
|
call genrb %toolversion% %1
|
|
|
|
echo create binary collation tables
|
|
cd ..\gencol
|
|
%toolversion%\gencol
|
|
|
|
cd ..
|
|
|
|
echo create unames.dat and unames_dat.c from UnicodeData.txt
|
|
gennames\%toolversion%\gennames -v- -c- "%ICU_DATA%UnicodeData-3.0.0.txt"
|
|
genccode\%toolversion%\genccode "%ICU_DATA%unames.dat"
|
|
|
|
echo create cnvalias.dat and cnvalias_dat.c from convrtrs.txt
|
|
gencnval\%toolversion%\gencnval -c-
|
|
genccode\%toolversion%\genccode "%ICU_DATA%cnvalias.dat"
|
|
|
|
echo create tz.dat from tz.txt
|
|
gentz\%toolversion%\gentz -c- gentz\tz.txt
|
|
genccode\%toolversion%\genccode "%ICU_DATA%tz.dat"
|
|
|
|
echo create the converters
|
|
%conv% -p "genccode\$toolversion$\genccode \"$ICU_DATA$" -s "\"" -old ".ucm" -new ".cnv">mkconv.bat
|
|
call mkconv.bat
|
|
|
|
echo create the data DLL
|
|
type mkobj.cl>mkobj.tmp
|
|
echo "%ICU_DATA%unames_dat.c">>mkobj.tmp
|
|
echo "%ICU_DATA%cnvalias_dat.c">>mkobj.tmp
|
|
echo "%ICU_DATA%tz_dat.c">>mkobj.tmp
|
|
%conv% -p "\"$ICU_DATA$" -s "\"" -old ".ucm" -new "_cnv.c">>mkobj.tmp
|
|
cl @mkobj.tmp
|
|
|
|
echo "/out:%ICU_DATA%icudata.dll">mkdll.tmp
|
|
echo unames_dat.obj>>mkdll.tmp
|
|
echo cnvalias_dat.obj>>mkdll.tmp
|
|
echo tz_dat.obj>>mkdll.tmp
|
|
%conv% -old ".ucm" -new "_cnv.obj">>mkdll.tmp
|
|
type mkdll.lk>>mkdll.tmp
|
|
link @mkdll.tmp
|
|
|
|
echo create the common, memory-mappable file
|
|
del "%ICU_DATA%icudata.dat"
|
|
echo %ICU_DATA%unames.dat>mkmap.tmp
|
|
echo %ICU_DATA%cnvalias.dat>>mkmap.tmp
|
|
echo %ICU_DATA%tz.dat>>mkmap.tmp
|
|
%conv% -p "$ICU_DATA$" -old ".ucm" -new ".cnv">>mkmap.tmp
|
|
gencmn\%toolversion%\gencmn 1000000 mkmap.tmp
|
|
|
|
echo create memory mappable test.dat using gentest and creating test_dat.c
|
|
gentest\%toolversion%\gentest
|
|
genccode\%toolversion%\genccode "%ICU_DATA%test.dat"
|
|
|
|
echo create the test data DLL
|
|
type mkobj.cl>mkobj.tmp
|
|
echo "%ICU_DATA%test_dat.c">>mkobj.tmp
|
|
cl @mkobj.tmp
|
|
|
|
echo "/out:%ICU_DATA%test_dat.dll">mkdll.tmp
|
|
echo test_dat.obj>>mkdll.tmp
|
|
type mkdll.lk>>mkdll.tmp
|
|
link @mkdll.tmp
|
|
|
|
goto :end
|
|
|
|
:error
|
|
echo call makedata with the absolute path to the icu directory
|
|
echo for example, if the full path is d:\mytools\icu then call
|
|
echo makedata d:\mytools
|
|
echo a second, optional, parameter can be Debug or Release to specify the tools versions
|
|
echo.
|
|
echo the current directory must be the icu\source\tools directory with makedata.bat
|
|
echo also, the cl compiler and link linker must be on the PATH
|
|
|
|
:end
|