| OLD | NEW |
| 1 Intro | 1 Intro |
| 2 ===== | 2 ===== |
| 3 | 3 |
| 4 The C++ version of libaddressinput library provides UI layout information and | 4 The C++ version of libaddressinput library provides UI layout information and |
| 5 validation for address input forms. All strings in the library use UTF-8 | 5 validation for address input forms. All strings in the library use UTF-8 |
| 6 encoding. | 6 encoding. |
| 7 | 7 |
| 8 The library does not provide a UI. The user of the library must provide the user | 8 The library does not provide a UI. The user of the library must provide the user |
| 9 interface that uses libaddressinput. The user of the library must also provide a | 9 interface that uses libaddressinput. The user of the library must also provide a |
| 10 way to store data on disk and download data from the internet. | 10 way to store data on disk and download data from the internet. |
| 11 | 11 |
| 12 The first client of the library is Chrome web browser. This motivates not | 12 The first client of the library is Chrome web browser. This motivates not |
| 13 providing UI or networking capabilities. Chrome will provide those. | 13 providing UI or networking capabilities. Chrome will provide those. |
| 14 | 14 |
| 15 Dependencies | 15 Dependencies |
| 16 ============ | 16 ============ |
| 17 | 17 |
| 18 The library depends on these tools and libraries: | 18 The library depends on these tools and libraries: |
| 19 | 19 |
| 20 GYP: Generates the build files. | 20 GYP: Generates the build files. |
| 21 Ninja: Executes the build files. | 21 Ninja: Executes the build files. |
| 22 GTest: Used for unit tests. | 22 GTest: Used for unit tests. |
| 23 Python: Used by GRIT, which generates localization files. | 23 Python: Used by GRIT, which generates localization files. |
| 24 RE2: Used for validating postal code format. |
| 24 | 25 |
| 25 Most of these packages are available on Debian-like distributions. You can | 26 Most of these packages are available on Debian-like distributions. You can |
| 26 install them with this command: | 27 install them with this command: |
| 27 | 28 |
| 28 $ sudo apt-get install gyp ninja-build libgtest-dev python | 29 $ sudo apt-get install gyp ninja-build libgtest-dev python libre2-dev |
| 29 | 30 |
| 30 Make sure that your version of GYP is at least 0.1~svn1395. Older versions of | 31 Make sure that your version of GYP is at least 0.1~svn1395. Older versions of |
| 31 GYP do not generate the Ninja build files correctly. You can download a | 32 GYP do not generate the Ninja build files correctly. You can download a |
| 32 new-enough version from http://packages.ubuntu.com/saucy/gyp. | 33 new-enough version from http://packages.ubuntu.com/saucy/gyp. |
| 33 | 34 |
| 34 If your distribution does not include the binary packages for the dependencies, | 35 If your distribution does not include the binary packages for the dependencies, |
| 35 you can download them from these locations: | 36 you can download them from these locations: |
| 36 | 37 |
| 37 http://packages.ubuntu.com/saucy/gyp | 38 http://packages.ubuntu.com/saucy/gyp |
| 38 http://packages.ubuntu.com/saucy/ninja-build | 39 http://packages.ubuntu.com/saucy/ninja-build |
| 39 http://packages.ubuntu.com/saucy/libgtest-dev | 40 http://packages.ubuntu.com/saucy/libgtest-dev |
| 40 http://packages.ubuntu.com/saucy/python | 41 http://packages.ubuntu.com/saucy/python |
| 42 http://packages.debian.org/experimental/libre2-dev |
| 41 | 43 |
| 42 Alternatively, you can download, build, and install these tools and libraries | 44 Alternatively, you can download, build, and install these tools and libraries |
| 43 from source code. Their home pages contain information on how to accomplish | 45 from source code. Their home pages contain information on how to accomplish |
| 44 that. | 46 that. |
| 45 | 47 |
| 46 https://code.google.com/p/gyp/ | 48 https://code.google.com/p/gyp/ |
| 47 http://martine.github.io/ninja/ | 49 http://martine.github.io/ninja/ |
| 48 https://code.google.com/p/googletest/ | 50 https://code.google.com/p/googletest/ |
| 49 http://python.org/ | 51 http://python.org/ |
| 52 https://code.google.com/p/re2/ |
| 50 | 53 |
| 51 Build | 54 Build |
| 52 ===== | 55 ===== |
| 53 | 56 |
| 54 Building the library involves generating an out/Default/build.ninja file and | 57 Building the library involves generating an out/Default/build.ninja file and |
| 55 running ninja: | 58 running ninja: |
| 56 | 59 |
| 57 $ export GYP_GENERATORS='ninja' | 60 $ export GYP_GENERATORS='ninja' |
| 58 $ gyp --depth . | 61 $ gyp --depth . |
| 59 $ ninja -C out/Default | 62 $ ninja -C out/Default |
| 60 | 63 |
| 61 Overriding paths defined in the *.gyp files can be done by setting the | 64 Overriding paths defined in the *.gyp files can be done by setting the |
| 62 GYP_DEFINES environment variable before running gyp: | 65 GYP_DEFINES environment variable before running gyp: |
| 63 | 66 |
| 64 $ export GYP_DEFINES="gtest_dir='/xxx/include' gtest_src_dir='/xxx'" | 67 $ export GYP_DEFINES="gtest_dir='/xxx/include' gtest_src_dir='/xxx'" |
| 65 | 68 |
| 66 Test | 69 Test |
| 67 ==== | 70 ==== |
| 68 | 71 |
| 69 This command will execute the unit tests for the library: | 72 This command will execute the unit tests for the library: |
| 70 | 73 |
| 71 $ out/Default/unit_tests | 74 $ out/Default/unit_tests |
| OLD | NEW |