- Notifications
You must be signed in to change notification settings - Fork143
🌍 multiarch cross compiling environments
License
NotificationsYou must be signed in to change notification settings
multiarch/crossbuild
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
🌍 multiarch cross compiling environments
This is a multiarch Docker build environment image.You can use this image to produce binaries for multiple architectures.
| Triple | Aliases | linux | osx | windows |
|---|---|---|---|---|
| x86_64-linux-gnu | (default), linux, amd64, x86_64 | X | ||
| arm-linux-gnueabi | arm, armv5 | X | ||
| arm-linux-gnueabihf | armhf, armv7, armv7l | X | ||
| aarch64-linux-gnu | arm64, aarch64 | X | ||
| mipsel-linux-gnu | mips, mipsel | X | ||
| powerpc64le-linux-gnu | powerpc, powerpc64, powerpc64le | X | ||
| x86_64-apple-darwin | osx, osx64, darwin, darwin64 | X | ||
| x86_64h-apple-darwin | osx64h, darwin64h, x86_64h | X | ||
| i386-apple-darwin | osx32, darwin32 | X | ||
| x86_64-w64-mingw32 | windows, win64 | X | ||
| i686-w64-mingw32 | win32 | X |
$docker run --rm -v$(pwd):/workdir multiarch/crossbuild make helloworldcc helloworld.c -o helloworld$file helloworldhelloworld: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=9cfb3d5b46cba98c5aa99db67398afbebb270cb9, not stripped
Misc: usingcc instead ofmake
$docker run --rm -v$(pwd):/workdir multiarch/crossbuild cc test/helloworld.c$docker run --rm -v$(pwd):/workdir -e CROSS_TRIPLE=arm-linux-gnueabi multiarch/crossbuild make helloworldcc helloworld.c -o helloworld$file helloworldhelloworld: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=c8667acaa127072e05ddb9f67a5e48a337c80bc9, not stripped
$docker run --rm -v$(pwd):/workdir -e CROSS_TRIPLE=arm-linux-gnueabihf multiarch/crossbuild make helloworldcc helloworld.c -o helloworld$file helloworldhelloworld: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=ad507da0b9aeb78e7b824692d4bae6b2e6084598, not stripped
$docker run --rm -v$(pwd):/workdir -e CROSS_TRIPLE=powerpc64le-linux-gnu multiarch/crossbuild make helloworldcc helloworld.c -o helloworld$file helloworldhelloworld: ELF 64-bit LSB executable, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=035c50a8b410361d3069f77e2ec2454c70a140e8, not stripped
$docker run --rm -v$(pwd):/workdir -e CROSS_TRIPLE=aarch64-linux-gnu multiarch/crossbuild make helloworldcc helloworld.c -o helloworld$file helloworldhelloworld: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 3.7.0, BuildID[sha1]=dce6100f0bc19504bc19987535f3cc04bd550d60, not stripped
$docker run --rm -v$(pwd):/workdir -e CROSS_TRIPLE=mipsel-linux-gnu multiarch/crossbuild make helloworldcc helloworld.c -o helloworld$file helloworldhelloworld: ELF 32-bit LSB executable, MIPS, MIPS-II version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=d6b2f608a3c1a56b8b990be66eed0c41baaf97cd, not stripped
$docker run -it --rm -v$(pwd):/workdir -e CROSS_TRIPLE=i386-apple-darwin multiarch/crossbuild make helloworldo32-clang helloworld.c -o helloworld$file helloworldhelloworld: Mach-O executable i386
$docker run -it --rm -v$(pwd):/workdir -e CROSS_TRIPLE=x86_64-apple-darwin multiarch/crossbuild make helloworldo64-clang helloworld.c -o helloworld$file helloworldhelloworld: Mach-O 64-bit executable x86_64
$docker run -it --rm -v$(pwd):/workdir -e CROSS_TRIPLE=i686-w64-mingw32 multiarch/crossbuild make helloworldo32-clang helloworld.c -o helloworld$file helloworldhelloworld: PE32 executable (console) Intel 80386, for MS Windows
$docker run -it --rm -v$(pwd):/workdir -e CROSS_TRIPLE=x86_64-w64-mingw32 multiarch/crossbuild make helloworldo64-clang helloworld.c -o helloworld$file helloworldhelloworld: PE32+ executable (console) x86-64, for MS Windows
FROM multiarch/crossbuildRUN git clone https://github.com/bit-spark/objective-c-hello-worldENV CROSS_TRIPLE=x86_64-apple-darwinWORKDIR /workdir/objective-c-hello-worldRUN crossbuild ./compile-all.sh
This project is inspired by thecross-compiler by the venerableSteeve Morin
OSX/Darwin/Apple builds:Please ensure you have read and understood the Xcode licenseterms before continuing.
MIT
About
🌍 multiarch cross compiling environments
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.
Contributors8
Uh oh!
There was an error while loading.Please reload this page.
