| 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 |