This repository has been archived by the owner on Sep 2, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 614
Building ICU libaries
Prashanth Nethi edited this page Nov 3, 2017
·
1 revision
-
Download the latest source code(not binary) from the ICU repo from http://site.icu-project.org/download (Choose the latest ICU4C Release)
-
Do the above step for Unix (MAC and Linux) and Windows
-
- Extract the downloaded source code and go to
icu\source\allinone
directory - There would be a solution file named
allinone.sln
. Open this file in the latest Visual Studio (>=VS2015) - Change the build configuration to
Release
and Platform toWin32
in Visual Studio as we currently support 32 bit brackets only. - Once it is built, folders named
icu\bin
,icu\lib
andicu\include
would be created. These will contain all the*.dll
files, lib files and header files respectively, which we will be using in Brackets for Dynamic Linking. - Currently we only use
icuuc58.dll
,icuin58.dll
andicudt58.dll
as dlls,icuin.lib
andicuuc.lib
as lib files, and we use the completeinclude
folder. - Please note that these files might change as we update since ICU may change the functionality of these dlls, we might need to add/remove some dlls, but all the dlls would be present in
icu\bin
,icu\lib
andicu\include
directories only. - Now we once we have our updated dlls we have to put those updated dlls in S3 so that while building brackets-shell we fetch the latest executables.
- Upload it to
files.brackets.io/icu
in S3. Please follow the same format which is being currently used. - Also if there are some changes in the dll (some are removed/renamed/added), then we have to update the linking step in the brackets-shell as well. Update the dll names in the
Gruntfile.js
andappshell.gyp
.
- Extract the downloaded source code and go to
-
- Extract the downloaded source code and go to
icu/source
directory - From Terminal run
./runConfigureICU MacOSX --enable-static --disable-shared
in case of MAC and./runConfigureICU Linux --enable-static --disable-shared
in case of Linux to set configuration. - Run
make
to build the binaries from the source code. - Once it is built, folders named
icu/source/lib
would be created. These will contain all the*.a
files and header files which we will be using in Brackets for Static Linking. - We need to get the
include
folder from the Windows build. We will upload both the lib and include folder to S3. - Currently we only use
libicuuc.a
,libicui18n.a
andlibicudata.a
as lib files and we use the completeinclude
folder. - Please note that these files might change as we update since ICU may change the functionality of these libs, we might need to add/remove some libs, but all the lib files would be present in that
icu/source/lib
directory only. - Now we once we have our updated lib files we have to put those updated libs in S3 so that while building brackets-shell we fetch the latest executables.
- Upload it to
files.brackets.io/icu
in S3. Please follow the same format which is being currently used. - Also if there are some changes in the lib (some are removed/renamed/added), then we have to update the linking step in the brackets-shell as well. Update the lib names in the
Gruntfile.js
andappshell.gyp
.
- Extract the downloaded source code and go to