0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
Commit Graph

55 Commits

Author SHA1 Message Date
Ujjwal Sharma
e0b3de1e90
deps: bump minimum icu version to 63
Bump minimum version of ICU needed to build node to 63.

Refs: 30a350f298
Co-authored-by: Steven R Loomis <srloomis@us.ibm.com>

PR-URL: https://github.com/nodejs/node/pull/25852
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2019-03-14 18:51:07 +01:00
gengjiawen
8137668c53 src: apply clang-tidy rule modernize-deprecated-headers
PR-URL: https://github.com/nodejs/node/pull/26159
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-02-27 05:35:53 +01:00
Jon Kunkee
dec3dadd32 deps: backport ICU fix for ARM64 Windows
ICU 63 as ingested by Node.js does not quite support ARM64 Windows
because its OBJ file IMAGE_FILE_MACHINE_TYPE field logic defaults to
x86 instead of Unknown. This change backports the ICU 64.1 fix for
this.

ICU Issue: https://unicode-org.atlassian.net/browse/ICU-20382
ICU Commit: unicode-org/icu@11e538b

PR-URL: https://github.com/nodejs/node/pull/26090
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-02-20 19:32:32 -05:00
Juan José Arboleda
a2f81df5a7 tools: replace NULL with nullptr
PR-URL: https://github.com/nodejs/node/pull/25179
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2018-12-30 19:38:07 -08:00
cclauss
a91293d4d9 tools: prepare tools/icu/icutrim.py for Python 3
PR-URL: https://github.com/nodejs/node/pull/24888
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2018-12-10 08:37:54 -08:00
cclauss
b507783bc1 tools: use print() function on both Python 2 and 3
PR-URL: https://github.com/nodejs/node/pull/24486
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2018-11-25 18:58:58 -05:00
Steven R. Loomis
6786ff4d36 deps: icu 63.1 bump (CLDR 34)
- Full release notes: http://site.icu-project.org/download/63

Fixes: https://github.com/nodejs/node/issues/22344

PR-URL: https://github.com/nodejs/node/pull/23715
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2018-10-24 08:27:36 -07:00
Steven R. Loomis
d8b6a1d4f6 doc: document and warn if the ICU version is too old
Fixes: https://github.com/nodejs/node/issues/19657

PR-URL: https://github.com/nodejs/node/pull/23766
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
2018-10-23 13:37:48 -07:00
Steven R. Loomis
4194b051e8 deps: icu: apply workaround patch
ICU 62.1 had a bug where certain orders of operations would not
work with the minimum significant digit setting. Fixed in
ICU 63.1. Applied the following patch from v8.

https://chromium-review.googlesource.com/c/chromium/deps/icu/+/1128503

ICU Bug:
https://unicode-org.atlassian.net/browse/ICU-20063

Fixes: https://github.com/nodejs/node/issues/22156

PR-URL: https://github.com/nodejs/node/pull/23764
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2018-10-23 13:32:40 -07:00
Refael Ackermann
be346d9d32 tools,icu: read full ICU version info from file
* ATM on every ICU version bump we need to update these data. Reading
  it from a file makes it independant of `configre.py` changes.
* Update guide.

PR-URL: https://github.com/nodejs/node/pull/23269
Refs: https://github.com/nodejs/node/issues/23245
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2018-10-11 20:19:50 -04:00
Steven R. Loomis
a4ffa0cb94 tools: fix ICU shrinker and docs
- tools: path to ICU datafile moved
- docs: configure is now configure.py

Fixes: https://github.com/nodejs/node/issues/23245

PR-URL: https://github.com/nodejs/node/pull/23266
Reviewed-By: Refael Ackermann <refack@gmail.com>
2018-10-04 14:27:07 -07:00
Daniel Bevenius
f01adb5454 deps: add no-strict-aliasing to ICU cflags
This commit adds -Wno-strict-aliasing to the icu_implementation target.
The motivation for this is that this flags is enabled when building with
macosx, and will make the output a little cleaner when building on
other operating systems.

PR-URL: https://github.com/nodejs/node/pull/23112
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2018-10-04 12:27:02 +02:00
Michaël Zasso
267b0b5f3d
tools: fix compilation after V8 upgrade
V8 now requires ICU's regular expressions.

PR-URL: https://github.com/nodejs/node/pull/21983
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2018-09-07 21:07:38 +02:00
Harry Sarson
c1a05e5c26 tools: fix broken link in icu notes
Link text and url were swapped around, this pr puts
the link text inside [] and the url inside ().

PR-URL: https://github.com/nodejs/node/pull/20030
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2018-04-14 12:25:59 -07:00
Steven R. Loomis
a820f4155b tools: don’t emit illegal utf-8 from icutrim/iculslocs
- argv[0] was being emitted into a utf-8 stream, but argv[0] may
not be legal utf-8
- fix by not emitting argv[0] (was only for a source comment)
- partially resolves https://github.com/nodejs/node/issues/17077

PR-URL: https://github.com/nodejs/node/pull/19756
Fixes: https://github.com/nodejs/node/issues/17077
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Nikolai Vavilov <vvnicholas@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2018-04-03 08:00:04 -07:00
Steven R. Loomis
4de7821971 deps: turn in std::string for ICU
- node and v8 did not call into std::string previously,
so that access was shut off.
- this fixes compilation for ICU 58.2 (backlevel) but may
be expressed in other versions also.

Fixes: https://github.com/nodejs/node/issues/19151

PR-URL: https://github.com/nodejs/node/pull/19624
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
2018-03-28 07:56:11 -07:00
Steven R. Loomis
ad721429c0 src: #include <stdio.h>" to iculslocs
iculslocs uses stdio, but didn't include the header.

PR-URL: https://github.com/nodejs/node/pull/19150
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
2018-03-06 07:16:39 -08:00
Yuta Hiroto
35c7238bb7 doc: replace to Node.js
PR-URL: https://github.com/nodejs/node/pull/19056
Reviewed-By: Matheus Marchini <matheus@sthima.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Shingo Inoue <leko.noor@gmail.com>
2018-03-06 00:46:30 +09:00
estrada9166
a29089d7c8
doc: add new documentation lint rule
Add 80 characters limit to docs.
Change docs to fit 80 characters per row.

PR-URL: https://github.com/nodejs/node/pull/18726
Fixes: https://github.com/nodejs/node/issues/18703
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
2018-02-23 16:26:29 +00:00
Steven R. Loomis
b8f47b2757
src: add "icu::" prefix before ICU symbols
In ICU 61.x, icu4c will no longer put its declarations in the global namespace.
Everything will be in the "icu::" namespace (or icu_60:: in the linker).
Prepare for this.
https://ssl.icu-project.org/trac/ticket/13460
2018-02-09 18:09:08 -08:00
Anatoli Papirovski
6790ba9ed1
tools: fix icu readme lint error
PR-URL: https://github.com/nodejs/node/pull/18445
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
2018-01-29 20:26:37 -05:00
Steven R. Loomis
07712d1eb8
doc: Update tools/icu/README.md
- remove TODOs: the one about defaults has been
addressed, and the one about testing is a work
item that doesn't belong in a doc.
- add some background information

Fixes: https://github.com/nodejs/node/issues/7843

PR-URL: https://github.com/nodejs/node/pull/16939
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2018-01-29 16:25:42 -08:00
Daniel Bevenius
12c8b4d154 tools: add cpplint rule for NULL usage
This commit is a suggestion for adding a rule for NULL usages in the
code base. This will currently report a number of errors which could be
ignored using // NOLINT (readability/null_usage)

PR-URL: https://github.com/nodejs/node/pull/17373
Reviewed-By: Jon Moss <me@jonathanmoss.me>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2017-12-01 07:45:05 +01:00
Steven R. Loomis
44d3e17985
deps: ICU 60 bump
- Update to released ICU 60.1, including:
  - CLDR 32 (many new languages and data improvements)
  - Unicode 10 (8,518 new characters, including four new scripts,
  7,494 new Han characters, and 56 new emoji characters)
  - UTF-8 malformed bytes now handled according to W3C/WHATWG spec

Fixes: https://github.com/nodejs/node/issues/15540
PR-URL: https://github.com/nodejs/node/pull/16876
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2017-11-09 18:25:58 -08:00
James M Snell
ed21cb1774 util: implement WHATWG Encoding Standard API
Provide an (initially experimental) implementation of the WHATWG Encoding
Standard API (`TextDecoder` and `TextEncoder`). The is the same API
implemented on the browser side.

By default, with small-icu, only the UTF-8, UTF-16le and UTF-16be decoders
are supported. With full-icu enabled, every encoding other than iso-8859-16
is supported.

This provides a basic test, but does not include the full web platform
tests. Note: many of the web platform tests for this would fail by default
because we ship with small-icu by default.

A process warning will be emitted on first use to indicate that the
API is still experimental. No runtime flag is required to use the
feature.

Refs: https://encoding.spec.whatwg.org/
PR-URL: https://github.com/nodejs/node/pull/13644
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2017-07-24 14:04:13 -07:00
Vse Mozhet Byt
15599cbc97 tools: update: eslint-plugin-markdown@1.0.0-beta.7
* Remove pinning of eslint-plugin-markdown

  An issue affecting Node.js source has been fixed in
  eslint-plugin-markdown so we don't need to pin it to beta-4 anymore.

  Refs: https://github.com/eslint/eslint-plugin-markdown/issues/69

* Update eslint-plugin-markdown up to 1.0.0-beta.7

* Fix docs for eslint-plugin-markdown@1.0.0-beta.7

PR-URL: https://github.com/nodejs/node/pull/14047
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2017-07-05 06:51:10 +03:00
Ben Noordhuis
2ea60e926e build: remove dependency on icu io library
The library is only used in a single build-time tool where it can be
easily substituted by regular libc I/O functions.

PR-URL: https://github.com/nodejs/node/pull/13656
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2017-06-26 11:36:24 +02:00
Vse Mozhet Byt
b4fea2a3d6 doc: add eslint-plugin-markdown
* install eslint-plugin-markdown
* add doc/.eslintrc.yaml
* add `<!-- eslint-disable rule -->` or `<!-- eslint-disable -->`
  for the rest of problematic code
* .js files in doc folder added to .eslintignore
* update Makefile and vcbuild.bat

PR-URL: https://github.com/nodejs/node/pull/12563
Refs: https://github.com/nodejs/node/pull/12557#issuecomment-296015032
Reviewed-By: Teddy Katz <teddy.katz@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
2017-04-25 00:06:17 +03:00
Refael Ackermann
14c6ae81fb build: fix case in lib names
ninja on Windows chokes if libs are named .Lib (Capital L)

PR-URL: https://github.com/nodejs/node/pull/12522
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
2017-04-21 09:24:13 -04:00
Refael Ackermann
e139dae157
build: fix path voodoo in icu-generic.gyp
Intention was to get to `PRODUCT_DIR` so no need to do path voodoo
Also added `'msvs_quote_cmd': 0` and more precise quoting

PR-URL: https://github.com/nodejs/node/pull/11217
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com>
2017-04-06 08:21:46 +01:00
Steven R. Loomis
b08490774d
tools: add missing #include "unicode/putil.h"
* we use u_setDataDirectory() in "unicode/putil.h"
* at present, this header is indirectly included,
  but this will change in ICU 59
* no impact on past ICUs.
* this is an exact analog to https://github.com/nodejs/node/issues/11753

PR-URL: https://github.com/nodejs/node/pull/12078
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2017-03-30 14:20:52 -07:00
Steven R. Loomis
03023fa7ae
deps: Intl: ICU 58 bump: configure/LICENSE/docs
* bump to ICU 58.1 - update URL / hash
* does not attempt to reduce size - yet
* patch to work around http://bugs.icu-project.org/trac/ticket/12822
  ( compile issue on Windows)
* Fix ICU shrinker to delete old license.html file
  (update to https://github.com/nodejs/node/pull/8674 )

Fixes: https://github.com/nodejs/node/issues/7844
PR-URL: https://github.com/nodejs/node/pull/9234
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-10-31 13:42:52 -07:00
James M Snell
e8eaaa7724 buffer: add buffer.transcode
Add buffer.transcode(source, from, to) method. Primarily uses ICU
to transcode a buffer's content from one of Node.js' supported
encodings to another.

Originally part of a proposal to add a new unicode module. Decided
to refactor the approach towrds individual PRs without a new module.

Refs: https://github.com/nodejs/node/pull/8075
PR-URL: https://github.com/nodejs/node/pull/9038
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-10-25 10:12:02 -07:00
Ben Noordhuis
c1be60945a build: don't build icu with -fno-rtti
ICU should be compiled with -frtti (and it sets that flag in its gyp
file) but it was also inheriting the -fno-rtti flag from common.gypi,
breaking the build on some systems.

Fixes: https://github.com/nodejs/node/issues/8867
PR-URL: https://github.com/nodejs/node/pull/8886
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
2016-10-03 12:53:24 +02:00
Michaël Zasso
2187bd3b4a tools: do not disable ICU's transliteration
V8 needs it for case conversion.
Ref: https://codereview.chromium.org/1812673005

PR-URL: https://github.com/nodejs/node/pull/8317
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2016-09-22 09:55:39 +02:00
Сковорода Никита Андреевич
fe69d0d0a4 tools: clean up icu/README.md formatting
1. Normalize headings.
 2. Specify language in all code blocks.

PR-URL: https://github.com/nodejs/node/pull/8660
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-09-20 15:30:12 +03:00
Sakthipriyan Vairamani
ef1f7661c7 tools: fix broken format string
The format specifier is incomplete and without this the program will
fail at runtime, with "incomplete format" error.

PR-URL: https://github.com/nodejs/node/pull/7620
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-07-12 09:36:28 +05:30
Sakthipriyan Vairamani
89ede72fca tools: remove unnecessary imports and assignments
PR-URL: https://github.com/nodejs/node/pull/7483
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-07-08 20:17:08 +05:30
James M Snell
7de59ef925 net: use icu's punycode implementation
ICU has a punycode implementation built in. Use it instead of the
javascript implementation because it's much faster.

PR-URL: https://github.com/nodejs/node/pull/7355
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-06-29 17:10:53 -07:00
Ben Noordhuis
9a6439aacc tools: fix -Wunused-variable warning
PR-URL: https://github.com/nodejs/node/pull/7462
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2016-06-28 21:21:21 +02:00
Ben Noordhuis
2f2002a75c src: fix runtime/references cpplint warnings
PR-URL: https://github.com/nodejs/node/pull/7462
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2016-06-28 21:21:21 +02:00
Steven R. Loomis
03a8637f79
tools: Check in tools for shrinking ICU size, change default to small-icu
* Change configure default to "small-icu" (Intl on, English only)
* add "--without-intl" and "vcbuild without-intl" options, equivalent
to --with-intl=none
* update BUILDING.md with above changes
* Checks in tools that generate the deps/icu-small source directory
from ICU source
* Tools and process for updating ICU documented in tools/icu/README.md

Fixes: https://github.com/nodejs/node/issues/3476
PR-URL: https://github.com/nodejs/node/pull/6088
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-05-04 16:04:22 -07:00
Steven R. Loomis
84f09647d0 build: fix --with-intl=system-icu for x-compile
* add toolset stuff to icu-system.gyp
* update docs

Fixes: https://github.com/nodejs/node/issues/3801
PR-URL: https://github.com/nodejs/node/pull/3808
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2015-11-14 16:38:40 -08:00
Steven R. Loomis
aa97ae7cf8 build: intl: avoid 'duplicate main()' on ICU 56
* Exclude `derb.cpp` as well as `derb.c` from Node builds
  (file was renamed in ICU 56)

ICU 56 renamed derb.c to derb.cpp because of C++ yay.
This broke the exclusion of "derb.c" when building tools.

Solution is to add derb.c AND derb.cpp to exclusion.
We don't build the 'derb' tool, so it's fine to list the
excluded source twice.

Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: https://github.com/nodejs/node/pull/3066
Fixes: https://github.com/nodejs/node/issues/3065
2015-10-06 14:34:12 -04:00
Michael Dawson
3f62c401ff i18n: add caller to removal list for bidi in ICU55
For ICU 55 we are currently stripping out bidi and
the callers.  AIX is more pedantic and identified
an additional caller than needed to be stripped out.
This PR adds that caller to those stripped out.

PR-URL: https://github.com/nodejs/node/pull/3115
Reviewed-By: Steven Loomis <srloomis@us.ibm.com>
2015-09-30 10:13:47 -04:00
Stewart Addison
1fa0cb83e3 build: fix icutrim when building small-icu on BE
Fix a build error that occurs when icutrim is run to cut down
the ICU locale set on Big-Endian platforms when building with
--with-intl=small-icu (which is done by the "make binary" target).
This fixes the binary build on POWER platforms.

Fixes: https://github.com/nodejs/node/issues/2601
PR-URL: https://github.com/nodejs/node/pull/2602
Reviewed-By: Steven Loomis <srloomis@us.ibm.com>
2015-09-17 10:53:54 -04:00
Steven R. Loomis
4c06515a2f build: work around VS2015 issue in ICU <56
The particular ufile.c is from
http://bugs.icu-project.org/trac/changeset/37704
and should be OK for ICU 54 and 55.

Also, adds general mechanism for floating patches on top of ICU.

Fixes: https://github.com/nodejs/node/issues/2279
PR-URL: https://github.com/nodejs/node/pull/2283
Reviewed-By: João Reis <reis@janeasystems.com>
2015-08-14 21:16:34 +01:00
Steven R. Loomis
6dc01eb7fd
build: Intl: bump ICU4C from 54 to 55
node was using ICU4C 54 ( released 2014-oct-06 )

* Bump to ICU4C 55 ( released 2015-apr-08)
 * Timezone fixes, translation fixes, bug/performance fixes.
 * Speed improvements in date formatting
 * ICU4C 55 changelog: http://site.icu-project.org/download/55
 * CLDR 27 changelog: http://cldr.unicode.org/index/downloads/cldr-27

* Retarget the file exclusions from ICU4C 54 to ICU4C 55
 * (improves on-disk footprint on some platforms)

Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Fixes: https://github.com/nodejs/node/issues/2292
PR-URL: https://github.com/nodejs/node/pull/2293
2015-08-13 06:44:27 -07:00
Steven R. Loomis
a30839576c build: i18n: add icu config options
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>
2015-01-02 16:51:53 -08:00
Steven Loomis
855b1c98ca build: i18n: support little-endian machines
Note that this may not affect anything until powerpc support lands in
v8.

Related: https://github.com/srl295/node/issues/7
Related: ba8ab91bc4
PR-URL: https://github.com/joyent/node/pull/8712
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
2014-11-13 11:25:55 -08:00