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 |