Skip to content

Commit 851975c

Browse files
committed
docker files - update to ubuntu 22.04
1 parent 9814dc8 commit 851975c

File tree

4 files changed

+24
-24
lines changed

4 files changed

+24
-24
lines changed

License.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2018 Silverglint - Creative Software
3+
Copyright (c) Declan Moran
44

55

66
Permission is hereby granted, free of charge, to any person obtaining a copy

README.md

+9-14
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,10 @@ Build and/or simply download the Boost C++ Libraries for the Android platform, w
44
The [Boost C++ Libraries](http://www.boost.org/), are possibly *the* most popular and generally useful c++ libraries. It would be nice to be able to use them when developing (native c++ or hybrid java/c++ with Google's [Ndk](https://developer.android.com/ndk/)) apps and/or libraries for Android devices.
55
The Boost libraries are written to be cross platform, and are available in source code format. However, building the libraries for a given target platform like Android can be very difficult and time consuming. (In particular, building **arm64_v8a** shared libraries that an application can actually load). This project aims to lower the barrier by offering a simple customizable build script you can use to build Boost for Android (abstracting away all the details of the underlying custom boost build system, and target architecture differences), and even providing standard prebuilt binaries to get you started fast.
66

7-
Tested with **Boost 1.79.0** and **Google's Ndk 25** (LTS).
7+
Tested with **Boost 1.83.0** and **Google's Ndk 26c** (LTS).
88

9-
You can build directly on a Linux or MacOS machine, or indirectly on any of Linux, Windows, MacOS via [docker](https://www.docker.com) (or of course virtual machines). _No matter what OS you use to build with, the resulting binaries can then be copied to any other, and used from then on as if you had built them there to start with (theyre cross compiled *for* android and have no memory of *where* they were built_).
9+
You can build directly on a Linux or MacOS machine, or indirectly on any of Linux, Windows, MacOS via [docker](https://www.docker.com) (or of course virtual machines and wsl). _No matter what OS you use to build with, the resulting binaries can then be copied to any other, and used from then on as if you had built them there to start with (theyre cross compiled *for* android and have no memory of *where* they were built_).
1010

11-
Works with **clang** (llvm)
12-
*- as of ndk 16 google no longer supports gcc*.
1311

1412
Creates binaries for multiple abis (**armeabi-v7a**, **arm64-v8a**, **x86**, **x86_64**).
1513

@@ -32,15 +30,12 @@ See [docker_readme](./docker/docker_readme.md) for instructions.
3230

3331
* For prerequisites see [Dockerflile](./docker/droid_base#L18) (even though the remaining instructions below don't use docker)
3432
* Download the [boost source](https://www.boost.org) and extract to a directory of the form *..../major.minor.patch*
35-
eg */home/declan/Documents/zone/mid/lib/boost/1.71.0*
36-
If necessary, fix any bugs in boost (eg for [1.71.0](https://github.com/boostorg/build/issues/385)).
37-
38-
39-
*__Note__:* After the extarction *..../boost/1.71.0* should then be the direct parent dir of "bootstrap.sh", "boost-build.jam" etc
33+
eg */home/declan/Documents/zone/mid/lib/boost/1.83.0*
34+
*__Note__:* After the extarction *..../boost/1.83.0* should then be the direct parent dir of "bootstrap.sh", "boost-build.jam" etc
4035

4136

4237
```
43-
> ls /home/declan/Documents/zone/mid/lib/boost/1.71.0
38+
> ls /home/declan/Documents/zone/mid/lib/boost/1.83.0
4439
boost boost-build.jam boostcpp.jam boost.css boost.png ....
4540
```
4641

@@ -79,7 +74,7 @@ want to use these. To see which of the libraries do require building you can swi
7974
> ./bootstrap.sh --show-libraries
8075
```
8176

82-
which for example with boost 1.79 produces the output:
77+
which for example with boost 1.83.0 produces the output:
8378

8479
```
8580
The following Boost libraries have portions that require a separate build
@@ -118,14 +113,14 @@ The Boost libraries requiring separate building and installation are:
118113
- thread
119114
- timer
120115
- type_erasure
116+
- url
121117
- wave
122118
123-
124119
```
125120
## Crystax
126-
[Crystax](https://www.crystax.net/) is an excellent alternative to Google's Ndk. It ships with prebuilt boost binaries, and dedicated build scripts.
121+
[Crystax](https://www.crystax.net/) is an alternative to Google's Ndk. It ships with prebuilt boost binaries, and dedicated build scripts.
127122
These binaries will however not work with Goolge's Ndk. If for some reason you can't or don't want to use Crystax then you can't use their boost binaries or build scripts, which is why this project exists.
128123

129124
## Contributions
130125
- Many thanks to [crystax](https://github.com/crystax/android-platform-ndk/tree/master/build/tools) for their version of *build-boost.sh* which I adapted to make it work with the google ndk.
131-
- Thanks to [google](https://android.googlesource.com/platform/ndk/+/master/build/tools) for the files *dev-defaults.sh, ndk-common.sh, prebuilt-common.sh*.
126+

docker/droid_base

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
# Version: 1.3
1+
# Version: 1.4
22

3-
# Dockerfile for building
3+
# Dockerfile with all tools, libraries and sources for building boost for android, interactively
44
# https://github.com/dec1/Boost-for-Android
55

66

77
# Author: Declan Moran
8-
# www.silverglint.com
98

109

1110

1211

1312

14-
FROM amd64/ubuntu:18.04
13+
14+
FROM amd64/ubuntu:22.04
1515
#----------------------
1616

1717

@@ -27,7 +27,7 @@ RUN apt-get -y install wget
2727
# for unzipping downloaded android archives
2828
RUN apt-get -y install zip
2929

30-
RUN apt-get -y install openjdk-8-jdk
30+
RUN apt-get -y install openjdk-17-jdk
3131
RUN apt-get -y install lib32z1
3232

3333

docker/droid_full docker/droid_full_auto

+9-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1-
# Version: 1.2
1+
# Version: 1.4
2+
3+
# Dockerfile with all tools, libraries and sources for building boost for android, automatically.
4+
5+
# NOT recommended as some things used here change often.
6+
# Prefer droid_base instead
7+
8+
29

3-
# Dockerfile for building boost for android
410
# https://github.com/dec1/Boost-for-Android
5-
# creates docker container with all tools, libraries and sources required to build boost for android.
11+
# creates docker container
612

713
# Author: Declan Moran
8-
# www.silverglint.com
914

1015

1116
# Usage:

0 commit comments

Comments
 (0)