Make "--with-intl=none" the default and add "intl-none" option to
vcbuild.bat.
If icu data is missing print a warning unless either --download=all or
--download=icu is set. If set then automatically download, verify (MD5)
and unpack the ICU data if not already available.
There's a "list" of URLs being used, but right now only the first is
picked up. The logic works something like this:
* If there is no directory deps/icu,
* If no zip file (currently icu4c-54_1-src.zip),
* Download zip file (icu-project.org -> sf.net)
* Verify the MD5 sum of the zipfile
* If bad, print error and exit
* Unpack the zipfile into deps/icu
* If deps/icu now exists, use it, else fail with help text
Add the configuration option "--with-icu-source=..."
Usage:
* --with-icu-source=/path/to/my/other/icu
* --with-icu-source=/path/to/icu54.zip
* --with-icu-source=/path/to/icu54.tgz
* --with-icu-source=http://example.com/icu54.tar.bz2
Add the configuration option "--with-icu-locals=...". Allows choosing
which locales are used in the "small-icu" case.
Example:
configure --with-intl=small-icu --with-icu-locales=tlh,grc,nl
(Also note that as of this writing, neither Klingon nor Ancient Greek
are in upstream CLDR data. Serving suggestion only.)
Don't use hard coded ../../out paths on windows. This was suggested by
@misterdjules as it causes test failures. With this fix, "out" is no
longer created on windows and the following can run properly:
python tools/test.py simple
Reduce space by about 1MB with ICU 54 (over without this patch). Also
trims a few other source files, but only conditional on the exact ICU
version used. This is to future-proof - a file that is unneeded now may
be needed in future ICUs.
Also:
* Update distclean to remove icu related files
* Refactor some code into tools/configure.d/nodedownload.py
* Update docs
* Add test
PR-URL: https://github.com/joyent/node/pull/8719
Fixes: https://github.com/joyent/node/issues/7676#issuecomment-64704230
[trev.norris@gmail.com small change to test's whitespace and logic]
Signed-off-by: Trevor Norris <trev.norris@gmail.com>
4.2 KiB
Evented I/O for V8 javascript.
To build:
Prerequisites (Unix only):
* GCC 4.2 or newer
* G++ 4.2 or newer
* Python 2.6 or 2.7
* GNU Make 3.81 or newer
* libexecinfo (FreeBSD and OpenBSD only)
Unix/Macintosh:
./configure
make
make install
If your python binary is in a non-standard location or has a non-standard name, run the following instead:
export PYTHON=/path/to/python
$PYTHON ./configure
make
make install
Prerequisites (Windows only):
* Python 2.6 or 2.7
* Visual Studio 2010 or 2012
Windows:
vcbuild nosign
You can download pre-built binaries for various operating systems from http://nodejs.org/download/. The Windows and OS X installers will prompt you for the location in which to install. The tarballs are self-contained; you can extract them to a local directory with:
tar xzf /path/to/node-<version>-<platform>-<arch>.tar.gz
Or system-wide with:
cd /usr/local && tar --strip-components 1 -xzf \
/path/to/node-<version>-<platform>-<arch>.tar.gz
To run the tests:
Unix/Macintosh:
make test
Windows:
vcbuild test
To build the documentation:
make doc
To read the documentation:
man doc/node.1
Intl (ECMA-402) support:
Intl support is not enabled by default.
"small" (English only) support
This option will build with "small" (English only) support, but
the full Intl (ECMA-402) APIs. With --download=all it will
download the ICU library as needed.
Unix/Macintosh:
./configure --with-intl=small-icu --download=all
Windows:
vcbuild small-icu download-all
The small-icu mode builds
with English-only data. You can add full data at runtime.
Note: more docs are on the wiki.
Build with full ICU support (all locales supported by ICU):
With the --download=all, this may download ICU if you don't
have an ICU in deps/icu.
Unix/Macintosh:
./configure --with-intl=full-icu --download=all
Windows:
vcbuild full-icu download-all
Build with no Intl support :-(
The Intl object will not be available.
This is the default at present, so this option is not normally needed.
Unix/Macintosh:
./configure --with-intl=none
Windows:
vcbuild intl-none
Use existing installed ICU (Unix/Macintosh only):
pkg-config --modversion icu-i18n && ./configure --with-intl=system-icu
Build with a specific ICU:
You can find other ICU releases at
the ICU homepage.
Download the file named something like icu4c-**##.#**-src.tgz (or
.zip).
Unix/Macintosh: from an already-unpacked ICU
./configure --with-intl=[small-icu,full-icu] --with-icu-source=/path/to/icu
Unix/Macintosh: from a local ICU tarball
./configure --with-intl=[small-icu,full-icu] --with-icu-source=/path/to/icu.tgz
Unix/Macintosh: from a tarball URL
./configure --with-intl=full-icu --with-icu-source=http://url/to/icu.tgz
Windows: first unpack latest ICU to deps/icu
icu4c-##.#-src.tgz (or .zip)
as deps/icu (You'll have: deps/icu/source/...)
vcbuild full-icu