tag | fcb65bf4575ec454530912b19ec1aff252e20936 | |
---|---|---|
tagger | The Android Open Source Project <initial-contribution@android.com> | Tue Aug 02 09:37:02 2016 -0700 |
object | b20409af35ba1a15cd260567decb8ce9dca1d091 |
Android N Preview 5 (NPD90G)
commit | b20409af35ba1a15cd260567decb8ce9dca1d091 | [log] [tgz] |
---|---|---|
author | Luis Hector Chavez <lhchavez@google.com> | Wed Jun 01 21:57:05 2016 +0000 |
committer | android-build-merger <android-build-merger@google.com> | Wed Jun 01 21:57:05 2016 +0000 |
tree | 7f57ba7623a0cbf9621452f92e900095242090d5 | |
parent | d77dfa0b5a854a80a586b89f13f602ee5a523d06 [diff] | |
parent | 83db8f75afbb37010450a6a5607764dedf20db6b [diff] |
Reland "Merge remote-tracking branch \'weave/master\' into \'weave/aosp-master\'" am: 83db8f75af * commit '83db8f75afbb37010450a6a5607764dedf20db6b': Reland "Merge remote-tracking branch 'weave/master' into 'weave/aosp-master'" Change-Id: Idac2caa8eb2921e7ee9954a3896f936b793c99a7
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.
Path | Description |
---|---|
include/ | Includes to be used by device code |
src/ | Implementation sources |
examples/ | Example of device code |
third_party/ | Dependencies |
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
From the libweave
directory:
The make --jobs/-j
flag is encouraged, to speed up build time. For example
make -j
which happens to be the same as
make all -j
make out/Debug/libweave.so
make all-examples
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 /opt/vendor/bin/arm-linux-gcc
, do:
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
or
make testall
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 user.name@example.com
repo start <branch name> .
git commit -a -v
repo upload .
Go to the url from the output of repo upload
and add reviewers.