Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Images can now be compiled either by an x86 or aarch64 builder. When the builder arch matches the target arch, the image is produced natively (rather than running through emulation). When the builder arch and the target arch differ, the appropriate toolchain is installed and used for image compilation, thus avoiding emulation and slow compile times for all cases. Until this change, the builder was always assumed to be x86-based.
- Loading branch information
Showing
5 changed files
with
69 additions
and
23 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# Target architecture in docker parlance. This is essentially $GOARCH, per the | ||
# manifest spec at https://docs.docker.com/registry/spec/manifest-v2-2/ | ||
# | ||
# The "linux/" OS prefix is assumed. | ||
# | ||
export ARCH=amd64 | ||
|
||
# The advertised variant that will be used in the manifest. | ||
export VARIANT= | ||
|
||
# Generic x86-64 | ||
# | ||
# https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html | ||
export ARCH_FLAGS=x86-64 | ||
|
||
# The GNU triplet toolchain for cross-compiling to the specified architecture. | ||
# These are specifically "debian multiarch tuples" per https://wiki.debian.org/Multiarch/Tuples | ||
export TOOLCHAIN=x86-64-linux-gnu | ||
export TOOLCHAIN_PREFIX=x86_64-linux-gnu | ||
|
||
# Valid openssl targets are defined in openssl/Configurations/10-main.conf. | ||
export OPENSSL_TARGET=linux-x86_64 | ||
|