mirror of
https://github.com/bensuperpc/dockcross.git
synced 2024-12-22 08:24:25 +01:00
Improve install-crosstool-ng-toolchain.sh scripts
It is now possible to choose the version of crosstool-ng per image, To make it easier to upgrade crosstool-ng to newer versions without having to update all images at the same time Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
This commit is contained in:
parent
9adf96c16b
commit
2082f62c76
@ -42,6 +42,7 @@ RUN mkdir /dockcross/crosstool \
|
||||
&& /dockcross/install-crosstool-ng-toolchain.sh \
|
||||
-p "${XCC_PREFIX}" \
|
||||
-c /dockcross/crosstool-ng.config \
|
||||
-v "${CT_VERSION}" \
|
||||
&& rm -rf /dockcross/crosstool /dockcross/install-crosstool-ng-toolchain.sh
|
||||
|
||||
# Restore our default workdir (from "dockcross/base").
|
||||
|
@ -16,7 +16,7 @@ set -o pipefail
|
||||
# be generated underneath of here.
|
||||
ROOT=${PWD}
|
||||
|
||||
usage() { echo "Usage: $0 -p <prefix> -c <config-path>" 1>&2; exit 1; }
|
||||
usage() { echo "Usage: $0 -p <prefix> -c <config-path> -v <version>" 1>&2; exit 1; }
|
||||
|
||||
# Resolve our input parameters.
|
||||
#
|
||||
@ -24,7 +24,8 @@ usage() { echo "Usage: $0 -p <prefix> -c <config-path>" 1>&2; exit 1; }
|
||||
# change directories during installation.
|
||||
CT_PREFIX=
|
||||
CONFIG_PATH=
|
||||
while getopts "p:c:" o; do
|
||||
REV=
|
||||
while getopts "p:c:v:" o; do
|
||||
case "${o}" in
|
||||
p)
|
||||
CT_PREFIX=$(readlink -f ${OPTARG})
|
||||
@ -32,6 +33,9 @@ while getopts "p:c:" o; do
|
||||
c)
|
||||
CONFIG_PATH=$(readlink -f ${OPTARG})
|
||||
;;
|
||||
v)
|
||||
REV=${OPTARG}
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
;;
|
||||
@ -48,6 +52,12 @@ if [ -z ${CONFIG_PATH} ] || [ ! -f ${CONFIG_PATH} ]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
if [ -z ${REV} ]; then
|
||||
echo "WARNING: No version selected, use default version: crosstool-ng-1.23.0 (-v)."
|
||||
REV=crosstool-ng-1.23.0
|
||||
fi
|
||||
|
||||
|
||||
##
|
||||
# Build "crosstool-ng".
|
||||
##
|
||||
@ -57,12 +67,17 @@ mkdir -p "${CTNG}"
|
||||
cd "${CTNG}"
|
||||
|
||||
# Download and install the "crosstool-ng" source.
|
||||
REV=1.23.0
|
||||
curl -# -LO \
|
||||
"https://github.com/crosstool-ng/crosstool-ng/archive/crosstool-ng-${REV}.tar.gz"
|
||||
tar -xf "crosstool-ng-${REV}.tar.gz"
|
||||
patch crosstool-ng-crosstool-ng-1.23.0/scripts/build/companion_libs/210-expat.sh -i /dockcross/crosstool-ng-expat.patch
|
||||
cd "crosstool-ng-crosstool-ng-${REV}"
|
||||
|
||||
git clone https://github.com/crosstool-ng/crosstool-ng.git
|
||||
cd crosstool-ng
|
||||
git fetch --tags
|
||||
|
||||
# checkout
|
||||
git checkout ${REV}
|
||||
|
||||
if [ ${REV} = "crosstool-ng-1.23.0" ]; then
|
||||
patch scripts/build/companion_libs/210-expat.sh -i /dockcross/crosstool-ng-expat.patch
|
||||
fi
|
||||
|
||||
# Bootstrap and install the tool.
|
||||
BOOTSTRAP_PREFIX="${CTNG}/prefix"
|
||||
@ -96,5 +111,6 @@ cp "${CONFIG_PATH}" "${BUILD}/.config"
|
||||
unset LD_LIBRARY_PATH
|
||||
|
||||
# Build and install the toolchain!
|
||||
"${BOOTSTRAP_PREFIX}/bin/ct-ng" build
|
||||
# Print last 250 lines if build fail
|
||||
"${BOOTSTRAP_PREFIX}/bin/ct-ng" build || tail -250 build.log
|
||||
|
||||
|
@ -2,6 +2,9 @@ FROM dockcross/base:latest
|
||||
|
||||
# This is for 64-bit ARM Linux machine
|
||||
|
||||
# Crosstool-ng version
|
||||
ENV CT_VERSION crosstool-ng-1.23.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
|
@ -4,6 +4,9 @@ MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
# This is for ARMv5 "legacy" (armel) devices which do NOT support hard float
|
||||
# VFP instructions (armhf).
|
||||
|
||||
# Crosstool-ng version
|
||||
ENV CT_VERSION crosstool-ng-1.23.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
|
@ -1,6 +1,9 @@
|
||||
FROM dockcross/base:latest
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
|
||||
# Crosstool-ng version
|
||||
ENV CT_VERSION crosstool-ng-1.23.0
|
||||
|
||||
# This is for 32-bit ARMv7 Linux
|
||||
#include "common.crosstool"
|
||||
|
||||
|
@ -2,6 +2,10 @@ FROM dockcross/base:latest
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
|
||||
# This is for 32-bit ARMv7 Linux
|
||||
|
||||
# Crosstool-ng version
|
||||
ENV CT_VERSION crosstool-ng-1.23.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
|
@ -2,6 +2,9 @@ FROM dockcross/base:latest
|
||||
|
||||
# This is for 32-bit Big-Endian MIPS devices with hard floating point enabled
|
||||
|
||||
# Crosstool-ng version
|
||||
ENV CT_VERSION crosstool-ng-1.23.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
|
@ -1,6 +1,9 @@
|
||||
FROM dockcross/base:latest
|
||||
MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
|
||||
|
||||
# Crosstool-ng version
|
||||
ENV CT_VERSION crosstool-ng-1.23.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
ENV CROSS_TRIPLE powerpc64le-linux-gnu
|
||||
|
@ -2,6 +2,9 @@ FROM dockcross/base:latest
|
||||
|
||||
# This is for 64-bit S390X Linux machine
|
||||
|
||||
# Crosstool-ng version
|
||||
ENV CT_VERSION crosstool-ng-1.23.0
|
||||
|
||||
#include "common.crosstool"
|
||||
|
||||
# The cross-compiling emulator
|
||||
|
Loading…
Reference in New Issue
Block a user