Fix readme

Fix readme

Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
This commit is contained in:
Bensuperpc 2021-08-08 20:58:04 +02:00
parent d59411d2cb
commit 1866b69356

View File

@ -14,33 +14,25 @@ Cross compiling toolchains in Docker images.
- Clean separation of build tools, source code, and build artifacts. - Clean separation of build tools, source code, and build artifacts.
- Commands in the container are run as the calling user, so that any - Commands in the container are run as the calling user, so that any
created files have the expected ownership, (i.e. not root). created files have the expected ownership, (i.e. not root).
- Make variables ([CC]{.title-ref}, [LD]{.title-ref} etc) are set to - Make variables **CC**, **CXX**, **LD** etc) are set to
point to the appropriate tools in the container. point to the appropriate tools in the container.
- Recent [CMake](https://cmake.org) and ninja are precompiled. - Recent [CMake](https://cmake.org) and ninja are precompiled.
- [Conan.io](https://www.conan.io) can be used as a package manager. - [Conan.io](https://www.conan.io) can be used as a package manager.
- Toolchain files configured for CMake. - Toolchain files configured for CMake.
- Current directory is mounted as the container\'s workdir, `/work`. - Current directory is mounted as the container\'s workdir, `/work`.
- Works with the [Docker for - Works with the [Docker for Mac](https://docs.docker.com/docker-for-mac/) and [Docker for Windows](https://docs.docker.com/docker-for-windows/).
Mac](https://docs.docker.com/docker-for-mac/) and [Docker for - Support using alternative container executor by setting **OCI_EXE** environment variable. By default, it searches
Windows](https://docs.docker.com/docker-for-windows/).
- Support using alternative container executor by setting
[OCI_EXE]{.title-ref} environment variable. By default, it searches
for [docker]{.title-ref} and [podman](https://podman.io) executable. for [docker]{.title-ref} and [podman](https://podman.io) executable.
## Examples ## Examples
1. `dockcross make`: Build the *Makefile* in the current directory. 1. `dockcross make`: Build the *Makefile* in the current directory.
2. `dockcross cmake -Bbuild -H. -GNinja`: Run CMake with a build 2. `dockcross cmake -Bbuild -H. -GNinja`: Run CMake with a build directory `./build` for a *CMakeLists.txt* file in the current directory and generate `ninja` build configuration files.
directory `./build` for a *CMakeLists.txt* file in the current
directory and generate `ninja` build configuration files.
3. `dockcross ninja -Cbuild`: Run ninja in the `./build` directory. 3. `dockcross ninja -Cbuild`: Run ninja in the `./build` directory.
4. `dockcross bash -c '$CC test/C/hello.c -o hello'`: Build the 4. `dockcross bash -c '$CC test/C/hello.c -o hello'`: Build the *hello.c* file with the compiler identified with the `CC` environmental variable in the build environment.
*hello.c* file with the compiler identified with the `CC`
environmental variable in the build environment.
5. `dockcross bash`: Run an interactive shell in the build environment. 5. `dockcross bash`: Run an interactive shell in the build environment.
Note that commands are executed verbatim. If any shell processing for Note that commands are executed verbatim. If any shell processing for environment variable expansion or redirection is required, please use
environment variable expansion or redirection is required, please use
```bash ```bash
bash -c "<command args>" bash -c "<command args>"
``` ```