Overview
--------
libWeave is the library to with device side implementation of Weave
protocol.

Sources
-------
Sources are located in git repository at
https://weave.googlesource.com/weave/libweave/

Checkout code with:

  git clone https://weave.googlesource.com/weave/libweave && \
    (cd libweave && \
     curl -Lo `git rev-parse --git-dir`/hooks/commit-msg \
        https://gerrit-review.googlesource.com/tools/hooks/commit-msg ;\
        chmod +x `git rev-parse --git-dir`/hooks/commit-msg)

Directory structure
-------------------
Includes to be used by device code:
  include/

Implementation sources:
  src/

Example of device code:
  examples/

Dependencies:
  third_party/

Build files:
  libweave_standalone.gyp
  libweave_common.gypi

Quick start on Ubuntu
---------------------

Install prerequisites:

  examples/ubuntu/prerequisites.sh

Build library, tests, run tests, build example:

  examples/ubuntu/build.sh

Execute example:

  sudo out/Debug/weave


Prerequisites
-------------
Common:

  autoconf
  automake
  binutils
  libtool
  gyp
  libexpat1-dev
  ninja-build

For tests:

  gtest
  gmock

For examples:

  hostapd
  libavahi-client-dev
  libcurl4-openssl-dev
  libevent 2.1.x-alpha


Compiling
---------
Everywhere below Debug can be replaced with Release.

Generate ninja build files:

  gyp -I libweave_common.gypi --toplevel-dir=. --depth=. \
      -f ninja libweave_standalone.gyp

Build library with tests:

  ninja -C out/Debug

Build library only:

  ninja -C out/Debug libweave

Testing
-------
Run unittests tests:

  out/Debug/libweave_testrunner
  out/Debug/libweave_exports_testrunner

Making changes
--------------
Make sure to have correct user in local or global config e.g.:

  git config --local user.name "John Doe"
  git config --local user.email johndoe@example.com

Edit code and commit locally e.g.:

  git commit -a -v

Upload CL:

  git push origin HEAD:refs/for/master

Go to the url from the output of "push" and add reviewers.
