Add a Docker container for regenerating wx configure
This allows doing it on any system with Docker instead of having to do it only under Debian stable that was traditionally used for this. Closes #22889.
This commit is contained in:
parent
ee67242b5f
commit
ca4e70df74
3 changed files with 58 additions and 0 deletions
10
build/tools/autoconf/Dockerfile
Normal file
10
build/tools/autoconf/Dockerfile
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
FROM alpine:3.13
|
||||
|
||||
RUN apk add autoconf
|
||||
|
||||
# wxWidgets sources must be mounted here.
|
||||
VOLUME /wx
|
||||
|
||||
WORKDIR /wx
|
||||
|
||||
CMD ["autoconf", "-B", "build/autoconf_prepend-include"]
|
||||
44
build/tools/autoconf/README.md
Normal file
44
build/tools/autoconf/README.md
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
# Docker container for running autoconf
|
||||
|
||||
## Rationale
|
||||
|
||||
We store generated `configure` in Git to make it simpler for people to build
|
||||
wxWidgets without having to run autoconf themselves first, but this means that
|
||||
generating it on another system often results in insignificant changes just due
|
||||
to a different version of autoconf being used. By using this container, we can
|
||||
use the same version everywhere.
|
||||
|
||||
To use it, first build the container, then run it, see below.
|
||||
|
||||
|
||||
## Build
|
||||
|
||||
Just run
|
||||
|
||||
```shell
|
||||
$ docker build -t autoconf-for-wx build/tools/autoconf
|
||||
```
|
||||
|
||||
This should (quickly) finish with
|
||||
```
|
||||
Successfully tagged autoconf-for-wx:latest
|
||||
```
|
||||
|
||||
|
||||
## Run
|
||||
|
||||
Use the following command to update `configure` from `configure.in`:
|
||||
|
||||
```shell
|
||||
$ docker run -v `pwd`:/wx --rm autoconf-for-wx
|
||||
```
|
||||
|
||||
It should be run from the top-level wx directory.
|
||||
|
||||
|
||||
## Updating autoconf version
|
||||
|
||||
When we decide to switch to a newer autoconf version, we should update the
|
||||
`Dockerfile` here to use a later version of Alpine Linux: the currently used
|
||||
version is specifically chosen because it has the package with the latest
|
||||
version of autoconf 2.69.
|
||||
|
|
@ -166,6 +166,10 @@ and from the root directory run
|
|||
|
||||
autoconf -B build/autoconf_prepend-include
|
||||
|
||||
or, if you're not using Debian Stable version of autoconf, see the instructions
|
||||
in `build/tools/autoconf/README.md` for regenerating configure on a different
|
||||
system.
|
||||
|
||||
* Restore the description of the Git notes use and create a skeleton section
|
||||
for the next release in `docs/changes.txt`.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue