|author||Luis Hector Chavez <email@example.com>||Mon Jul 18 16:08:56 2016 -0700|
|committer||Luis Hector Chavez <firstname.lastname@example.org>||Fri Jul 22 18:21:09 2016 +0000|
libweave: Update libchrome APIs to r405848 The new libchrome has been ported from Chromium and some APIs have changed. Make necessary changes at call sites. Notable changes are: - base::Bind() now explicitly disallows captures in lambdas (which was never allowed in the style guide). - base::ListValue::iterator now exposes std::unique_ptr<base::Value> instead of raw base::Value*. BUG=29104761 TEST=All tests in libweave_test pass on dragonboard-eng build TEST=make testall Change-Id: Ifb2d4f83f9f92b8ded5f12ac1c622e8ab5549b7d Reviewed-on: https://weave-review.googlesource.com/4185 Reviewed-by: Robert Ginda <email@example.com>
libWeave is the library with device side implementation of Weave protocol.
Sources are located in git repository at https://weave.googlesource.com/weave/libweave/
Make sure you have a bin/ directory in your home directory and that it is included in your path:
mkdir ~/bin PATH=~/bin:$PATH
Download the Repo tool and ensure that it is executable:
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo
mkdir ~/weave cd ~/weave repo init -u https://weave.googlesource.com/weave/manifest repo sync
This checks out libweave and its dependencies into the ~/weave directory.
|include/||Includes to be used by device code|
|examples/||Example of device code|
|Makefile, *.mk files||Build files|
sudo apt-get update sudo apt-get install \ autoconf \ automake \ binutils \ cmake \ g++ \ hostapd \ libavahi-client-dev \ libcurl4-openssl-dev \ libevent-dev \ libexpat1-dev \ libssl-dev \ libtool
make --jobs/-j flag is encouraged, to speed up build time. For example
which happens to be the same as
make all -j
See the examples README for details.
In order to cross-compile, all you need to configure is CC/CXX/AR.
make CC=your-cc CXX=your-cxx AR=your-ar
So if you have a toolchain in a path like
make \ CC=/opt/vendor/bin/arm-linux-gcc \ CXX=/opt/vendor/bin/arm-linux-g++ \ AR=/opt/vendor/bin/arm-linux-ar
The build supports transparently downloading & using a few cross-compilers. Just add
cross-<arch> to the command line in addition to the target you want to actually build.
This will cross-compile for an armv7 (hard float) target:
make cross-arm all-libs
This will cross-compile for a mips (little endian) target:
make cross-mipsel all-libs
make test make export-test
The build supports using qemu to run non-native tests.
This will run armv7 tests through qemu:
make cross-arm testall
The Android Developing site has a lot of good tips for working with git and repo in general. The tips below are meant as a quick cheat sheet rather than diving deep into relevant topics.
Make sure to have correct user in local or global config e.g.:
git config --local user.name "User Name" git config --local user.email firstname.lastname@example.org
repo start <branch name> .
git commit -a -v
repo upload .
Go to the url from the output of
repo upload and add reviewers.