Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 2 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,9 @@ This repository contains infrastructure for providing this support.

[ap]: https://azure.microsoft.com/en-us/services/devops/pipelines/


## Custom `cross` program

In order to do all sorts of tricky cross-compilation tests, we need to use a
customized version of the [`cross`] program. The `custom-cross/` directory
contains the files needed to create it. We do a creative/ingenious/weird/dumb
thing where we distribute the customized binary as a Docker container that just
copies the binary out of the container to the host.

[`cross`]: https://github.com/cross-rs/cross

See the `README.md` in the `custom-cross` subdirectory for more information.


## Custom `cross` images

As a less weird thing, we need to create custom images used by [`cross`] to
We need to create custom images used by [`cross`] to
build Tectonic. Scripts to create them are in the `cross-images/` directory.

See the `README.md` in the `cross-images` subdirectory for more information.
Expand All @@ -38,5 +24,6 @@ Check the Git history for:
- Updated `libharfbuzz` package for old Ubuntus
- Old CI helper tool `ttcitool`, superseded by [Cranko]
- Custom PPC build chroot for testing Tectonic on bigendian systems
- Custom cross build for custom docker behavior on old cross versions

[Cranko]: https://pkgw.github.io/cranko/
14 changes: 6 additions & 8 deletions cross-images/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ to compile more of the tooling yourself:
analogous if you specify a different target; all appearances of the target
name below will likewise track your choice).
1. Obtain a copy of the [tectonic] source code.
1. Within the Tectonic source tree, unpack the [custom Tectonic `cross` program][1]:
1. Install cross:
```
docker run --rm -v $(pwd):/work:rw,Z tectonictypesetting/ttcross:latest
cargo install cross
```
1. It is often necessary to delete your entire `target` tree before a new cross
build. If you don't, you may see an error like:
Expand All @@ -36,22 +36,20 @@ to compile more of the tooling yourself:
This is because the containerized cross build is not smart enough to
differentiate between build scripts built for your true host OS, and the host
OS of the cross Docker container.
1. Use that program to execute the cross build:
1. Execute the cross build:
```
./cross build --target=x86_64-unknown-linux-musl --release
cross build --target=x86_64-unknown-linux-musl --release
```
1. The final output will be found at
`target/x86_64-unknown-linux-musl/release/tectonic`.
1. The aspiration is that `./cross test ...` will work, although this is often
1. The aspiration is that `cross test ...` will work, although this is often
dicey in cross-compilation scenarios. In order to run any cross-compiled binaries,
you may need to have QEmu handlers registered with your kernel, which can be
achieved conveniently with:
```
docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes
```

[1]: ../custom-cross/README.md


## Adding New Targets

Expand Down Expand Up @@ -97,7 +95,7 @@ docker run \

To set up an environment that can run an actual build, many more settings are
needed. The most reasonable way to determine them is to run a program like `ps
xawww` while a `./cross build` is running.
xawww` while a `cross build` is running.


## Static Build Implementation
Expand Down
15 changes: 0 additions & 15 deletions custom-cross/001-privileges.patch

This file was deleted.

13 changes: 0 additions & 13 deletions custom-cross/002-rw-project.patch

This file was deleted.

35 changes: 0 additions & 35 deletions custom-cross/Dockerfile

This file was deleted.

47 changes: 0 additions & 47 deletions custom-cross/README.md

This file was deleted.

Loading