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/

Optional dependencies:
  external/
  third_party/

Build files:
  libweave_standalone.gyp
  libweave_common.gypi

ChromiumOS specific build files:
  libweave-test.pc.in
  libweave.pc.in
  platform2.gyp
  platform2_preinstall.sh

AOSP specific build files:
  Android.mk

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=. \
      -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.
