Commit Graph

26 Commits

Author SHA1 Message Date
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
Jonas Vautherin
a35ef4410b Update Toolchain.cmake to use BOTH for CMAKE_FIND_ROOT_PATH_MODES
This is necessary if one wants to be able to use libraries or
includes or programs installed locally (and not on the system
of the build machine, or in CMAKE_SYSROOT, or in CMAKE_FIND_ROOT_PATH).

According to cmake order for find_* functions, CMAKE_FIND_ROOT_PATH
will be searched before the system of the build machine anyway,
which doesn't dramatically change the current behavior.
2019-07-18 00:29:15 +02:00
Chaos
3cc9903b13
Enable the ARM Simulator for GDB
This should add the `target sim` for GDB from what I’ve seen online about this.

Closes #295
2019-02-07 13:59:48 -06: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
654c357bd5 Pinned armv7 ABI to use hard float 2018-09-18 16:40:02 +00:00
Anton Chernov
78b49e90cb Enabled OpenMP for linux-arm64, linux-armv5, linux-armv7, linux-mips, linux-s390x 2018-08-27 13:53:31 +02:00
Nadav Ruskin
b3bcf24ffc Crosstool-ng'd armv7 2018-07-11 10:45:53 +03: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
Daniel Jacques
acc6d3bb3b linux-armv7: Fix cpp path
Addresses #132.
2017-04-17 11:30:15 -07: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
04c7d0de18 Rename project and repository to dockcross 2016-07-15 23:46:08 -04:00
Matt McCormick
fdb18671e3 dockcross: make the default image specific to each compiler 2016-07-04 00:10:36 -04:00
Sven Fischer
f9ea9d6d8d Updated ARMv7 Dockerfile 2016-05-30 22:50:22 +02:00
Jean-Christophe Fillion-Robin
f07fe2e3b9 linux-armv7: Install "common" additional packages
These packages also mirror the one already available in the base images
for x86_64.
2016-04-16 16:43:13 -04:00
Jean-Christophe Fillion-Robin
44dd51cbe8 linux-armv7: Specify system processor and fix library finding.
This commit updates the toolchain to ensure libraries associated with arm
can be found. While a new root path needed to be set for armv6, the
most recent armv7 toolchain doesn't require to explicitly set a new
root.
2016-04-15 03:40:58 -04:00
Matt McCormick
8a21e98e63 linux-armv7: Add CircleCI testing and environmental vars. 2016-03-18 18:20:04 -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
293318fa31 linux-armv7: Move Toolchain.cmake file location.
Move it from /usr/src so /usr/src can be mounted as a volume.
2015-05-12 15:45:05 -04:00
Matt McCormick
20e147c72c linux-armv7: Add note about CMake toolchain in Debian Experimental. 2015-05-09 08:23:31 -04:00
Matt McCormick
1e838b6cdf linux-armv7: Add CMAKE_CROSSCOMPILING_EMULATOR. 2015-05-09 07:57:41 -04:00
Matt McCormick
a04f06eecc linux-armv7: Add CMake and GFortran support. 2015-05-09 07:48:53 -04:00
Rob Burns
4c1d8b361a don't run dpk configure 2015-02-01 11:02:11 +07:00
Rob Burns
b885c5c80e don't create symlinks for already existing files 2015-02-01 10:25:04 +07:00
Rob Burns
418c0715bb add apt-utils so dpkg configure isnt delayed 2015-02-01 10:24:49 +07:00
Rob Burns
7a5bc6c22d restructure makefile for individual builds, restructure linux-arm dockerfiles 2015-02-01 10:18:38 +07:00