Commit Graph

19 Commits

Author SHA1 Message Date
Josiah Samuel
48f9bda187 re-enable ppc64le with crosstool-ng 2019-11-26 19:20:32 +05:30
Leonardo Graboski Veiga
0848dfc264 Set environment variables for Linux kernel cross compilation
Set the ARCH, CROSS_COMPILE and PATH variables to support Linux kernel
cross compilation.

ARCH is set according to:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch?h=v5.2.2

PATH is set to include the cross toolchain path, which is used by the
kernel Makefile.

CROSS_COMPILE is the CROSS_TRIPLE with a dash appended, as the kernel
Makefile uses it to invoke the toolchain utils.

To build the kernel, depending on the config, libssl-dev and libelf-dev
are required. Those are not dealt in this commit as they are not
correlated to the environment variables.

Validated by build the kernel using default kernel config when possible,
otherwise randomly select a defconfig.

<arch> - <defconfig>
arm64 - defconfig
armv5 and armv5-musl - colibri_pxa270_defconfig
armv6 - bcm2835_defconfig
armv7 and armv7a- tegra_defconfig
*x86 - i386_defconfig
mips and mipsel - ath79_defconfig
ppc64le - wii_defconfig
s390x - defconfig
x64 - x86_64_defconfig

* x86 dockcross toolchain does not provide "ld" and compilation fails.

fix #160
2019-07-23 22:54:25 -03:00
Hubert Farnsworth
aae501313e Updated debian distro from jessie to stretch 2019-04-22 14:09:10 +00:00
Matt McCormick
c96cbdc956
versioning: Set DEFAULT_DOCKCROSS_IMAGE based on the image tag
This ensures that the dockcross script will continue to use the specific
tagged version of the image that generates it.
2019-01-16 23:25:52 -05:00
Anton Chernov
eb65a8970a Added fortran compiler
* Added FC to all Dockerfiles
* Changed cmake toolchains to use environment variables for compilers
2018-05-25 18:34:23 +02:00
Jean-Christophe Fillion-Robin
286e6b5c95
Dockerfile: Explicitly depend on "dockcross/base:latest"
As recommended in by CircleCI, explicitly specify the "latest"
tag. This will be important when we will start versioning our images.

Copied from CircleCI documentation [1]:

"Make sure you tag the image you use in the FROM command in your
Dockerfile, even if it is the default “latest” tag. Otherwise, Docker
will pull down all tags for the image you specify. This will create
significant performance problems because the save/load strategy described
above only caches the image layers (and thus tags) that you specify in
the docker save command, so other tags will be re-pulled on every build
if a tag is not specified in the FROM command."

[1] https://circleci.com/docs/docker/#caching-docker-layers
2016-11-26 18:25:08 -05:00
Jean-Christophe Fillion-Robin
cfcc7d6700
dockerfile: Keep track of buildtime metadata
This commit build each images with the following arguments:

* IMAGE: Name of the image (e.g dockcross/base, dockcross/manylinux-x64, ...)
* VCS_REF: dockcross/dockcross commit from which this image is built
* VCS_URL: this repository obtained reading remote.origin.url
* BUILD_DATE: Date and time when the build was initiated

Then, within the Dockerfile, the metadata are associated with the image
using the "LABEL" instruction.
See https://docs.docker.com/engine/reference/builder/#/label

The corresponding labels can be found here:
http://label-schema.org/rc1/#build-time-labels

See #28
2016-10-30 23:57:04 -04:00
Matt McCormick
b6f09a22bf Merge pull request #13 from thewtex/qemu-bump
qemu: Bump built version to 2.6.0
2016-07-16 01:17:29 -04:00
Matt McCormick
e76eb019d8 qemu: Bump built version to 2.6.0 2016-07-16 01:16:39 -04:00
Jean-Christophe Fillion-Robin
96f3514bf2 Dockerfiles: Rename working directory from "/build" to "/work"
Since the directory will contain both sources and build, this commit
generalizes its name.
2016-07-16 01:12:58 -04:00
Matt McCormick
04c7d0de18 Rename project and repository to dockcross 2016-07-15 23:46:08 -04:00
Matt McCormick
b4ceb8c514 linux-ppc64le: Fix WORKDIR for dockcross script 2016-07-05 21:52:25 -04:00
Matt McCormick
fdb18671e3 dockcross: make the default image specific to each compiler 2016-07-04 00:10:36 -04:00
Jean-Christophe Fillion-Robin
2c81b4957f linux-ppc64le: Specify system processor and fix library finding.
This commit updates the toolchain to ensure libraries associated with
ppc64le can be found.

Since the libraries are all installed on the system and not in dedicated
root, FIND_ROOT_PATH should *not* be specified.
2016-04-18 23:37:20 -04:00
Matt McCormick
ad0e9e9aa4 linux-ppc64le: Update QEMU user version to 2.5.0.
Also, the build needs to come before environmental variables are set for the
cross-compiler.
2016-03-20 18:23:31 -04:00
Matt McCormick
58e30d987d linux-ppc64le: Add toolchain environmental variables. 2016-03-19 14:53:43 -04:00
Matt McCormick
58f007910a Add missing CROSS_TRIPLE for linux-armv7 and linux-ppc64le. 2015-05-25 22:01:03 -04:00
Matt McCormick
812697483f linux-ppc64le: Build QEMU 2.3.0 from source.
QEMU contains some fixes for powerpc since 2.1.
2015-05-18 16:00:50 -04:00
Matt McCormick
bd41c2520e linux-ppc64le: Initial addition based off Debian. 2015-05-18 15:21:41 -04:00