|
Boost Users : |
Subject: Re: [Boost-users] How to build modular boost for android?
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2015-01-18 20:15:09
On 16 Jan 2015 at 15:53, Robert Dailey wrote:
> How do I build modular boost for android? I have it checked out from
> github at the 1.57 tag. I don't see a user-config.jam file, except for
> at "tools/build/example/user-config.jam". The structure is completely
> changed, where do I need to make changes? What changes do I make?
>
> Any guidance is appreciated. I'm no where near an expert here, I just
> need a quick ad-hoc solution. Thanks.
Below is the shell script that the nightly Boost.Thread CI build bot
does. This includes multiple Android targets, including 5.0 clang and
gcc targets plus a 2.0 target. Hope it's useful.
Niall
CXXFLAGS=
LINKFLAGS=
B2FLAGS="libs/thread/build release -a link=$LINKTYPE
cxxflags=-std=$CPPSTD cxxflags=-Wno-unused-parameter"
PREFIX=
if [ "$label" = "android-ndk" ]; then
if [ "$CXX" != "${CXX#clang++}" ]; then
export PATH=$HOME/toolchain-android-5.0-clang35/bin:$PATH
export CXX=arm-linux-androideabi-clang++
B2FLAGS="$B2FLAGS toolset=clang target-os=android"
elif [ "4.8" = "${CXX#g++-}" ]; then
export PATH=$HOME/toolchain-android-5.0-gcc48/bin:$PATH
export CXX=arm-linux-androideabi-g++
B2FLAGS="$B2FLAGS toolset=gcc target-os=android"
else
export PATH=$HOME/toolchain-android-2.0/bin:$PATH
export CXX=arm-linux-androideabi-g++
B2FLAGS="$B2FLAGS toolset=gcc target-os=android"
fi
else
if [ "$CXX" = "clang++-analyse" ]; then
rm -rf "clangScanBuildReport"
rm -rf "boost-local/clangScanBuildReports"
B2FLAGS="$B2FLAGS toolset=clang"
export CXX=g++-4.9
PREFIX="/usr/share/clang/scan-build-3.5/scan-build -o
clangScanBuildReports -analyze-headers
--use-analyzer=/usr/bin/clang-3.5 --use-c++=/usr/bin/g++-4.9"
elif [ "$CXX" != "${CXX#clang++}" ]; then
B2FLAGS="$B2FLAGS toolset=clang"
else
B2FLAGS="$B2FLAGS toolset=gcc"
fi
fi
if [ "$CXXFLAGS" != "" ]; then B2FLAGS="$B2FLAGS
cxxflags=\"$CXXFLAGS\""; fi
if [ "$LINKFLAGS" != "" ]; then B2FLAGS="$B2FLAGS
linkflags=\"$LINKFLAGS\""; fi
git submodule update --init --recursive
cd boost-local
FAILED=0
$PREFIX ./b2 $B2FLAGS || FAILED=1
if [ -d "clangScanBuildReports" ]; then
mkdir -p ../clangScanBuildReport
mv clangScanBuildReports/*/* ../clangScanBuildReport/
fi
exit $FAILED
-- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net