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