mirror of
https://github.com/AmigaPorts/docker-amiga-gcc.git
synced 2026-09-12 11:50:38 +00:00
Compare commits
43
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1f5fd6486a | ||
|
|
761b1871e9 | ||
|
|
ba2e2d5b91 | ||
|
|
f91a11a996 | ||
|
|
bb4de40d4b | ||
|
|
b8a444b13d | ||
|
|
dbb0d28bc9 | ||
|
|
918ce13c79 | ||
|
|
ef4c275727 | ||
|
|
02ba44eec1 | ||
|
|
f57d2e45d8 | ||
|
|
a18b24a021 | ||
|
|
ba5755d0ef | ||
|
|
60f532fe14 | ||
|
|
24d0285808 | ||
|
|
05df2c9733 | ||
|
|
6a6b06c29a | ||
|
|
e9ba17e617 | ||
|
|
064ce49fae | ||
|
|
6dde4dbf45 | ||
|
|
3e8bec4dd4 | ||
|
|
215df63020 | ||
|
|
f6b4b63f6d | ||
|
|
85ef020952 | ||
|
|
734f3161bf | ||
|
|
5c437762cd | ||
|
|
bd9e05998a | ||
|
|
0a61803e4d | ||
|
|
ee477d88c7 | ||
|
|
cd0992be76 | ||
|
|
be041006ff | ||
|
|
02e3aaf525 | ||
|
|
cf0c08807d | ||
|
|
5fe3c30b1c | ||
|
|
af2aa2a2b9 | ||
|
|
21e9aff19d | ||
|
|
e59a95efb1 | ||
|
|
a93e460b63 | ||
|
|
371244693a | ||
|
|
b655fbd2ab | ||
|
|
71b7b395df | ||
|
|
84d30defac | ||
|
|
cfb27eb010 |
@@ -0,0 +1,84 @@
|
||||
# Common settings that generally should always be used with your language specific settings
|
||||
|
||||
# Auto detect text files and perform LF normalization
|
||||
* text=auto
|
||||
|
||||
#
|
||||
# The above will handle all files NOT found below
|
||||
#
|
||||
|
||||
# Documents
|
||||
*.bibtex text diff=bibtex
|
||||
*.doc diff=astextplain
|
||||
*.DOC diff=astextplain
|
||||
*.docx diff=astextplain
|
||||
*.DOCX diff=astextplain
|
||||
*.dot diff=astextplain
|
||||
*.DOT diff=astextplain
|
||||
*.pdf diff=astextplain
|
||||
*.PDF diff=astextplain
|
||||
*.rtf diff=astextplain
|
||||
*.RTF diff=astextplain
|
||||
*.md text diff=markdown
|
||||
*.mdx text diff=markdown
|
||||
*.tex text diff=tex
|
||||
*.adoc text
|
||||
*.textile text
|
||||
*.mustache text
|
||||
*.csv text eol=crlf
|
||||
*.tab text
|
||||
*.tsv text
|
||||
*.txt text
|
||||
*.sql text
|
||||
*.epub diff=astextplain
|
||||
|
||||
# Graphics
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
*.jpeg binary
|
||||
*.gif binary
|
||||
*.tif binary
|
||||
*.tiff binary
|
||||
*.ico binary
|
||||
# SVG treated as text by default.
|
||||
*.svg text
|
||||
# If you want to treat it as binary,
|
||||
# use the following line instead.
|
||||
# *.svg binary
|
||||
*.eps binary
|
||||
|
||||
# Scripts
|
||||
*.bash text eol=lf
|
||||
Dockerfile text eol=lf
|
||||
*.fish text eol=lf
|
||||
*.sh text eol=lf
|
||||
*.zsh text eol=lf
|
||||
# These are explicitly windows files and should use crlf
|
||||
*.bat text eol=crlf
|
||||
*.cmd text eol=crlf
|
||||
*.ps1 text eol=crlf
|
||||
|
||||
# Serialisation
|
||||
*.json text
|
||||
*.toml text
|
||||
*.xml text
|
||||
*.yaml text
|
||||
*.yml text
|
||||
|
||||
# Archives
|
||||
*.7z binary
|
||||
*.gz binary
|
||||
*.tar binary
|
||||
*.tgz binary
|
||||
*.zip binary
|
||||
|
||||
# Text files where line endings should be preserved
|
||||
*.patch -text
|
||||
|
||||
#
|
||||
# Exclude files from exporting
|
||||
#
|
||||
|
||||
.gitattributes export-ignore
|
||||
.gitignore export-ignore
|
||||
.gitkeep export-ignore
|
||||
@@ -1,17 +1,25 @@
|
||||
FROM amigadev/morphos-cross-toolchain:warpos as build-env
|
||||
ARG BUILD_OS
|
||||
ARG BUILD_PFX
|
||||
|
||||
FROM --platform=$TARGETPLATFORM amigadev/${BUILD_PFX}:latest AS build-env
|
||||
ARG TARGETPLATFORM
|
||||
|
||||
FROM amigadev/docker-base:latest
|
||||
|
||||
ENV CROSS_PFX ppc-warpos
|
||||
ENV OS_NAME WarpOS
|
||||
ARG BUILD_OS
|
||||
ARG BUILD_PFX
|
||||
ARG PREFIX
|
||||
|
||||
ENV CROSS_PFX=$PREFIX
|
||||
ENV OS_NAME=$BUILD_OS
|
||||
|
||||
COPY --from=build-env /opt/${CROSS_PFX} /opt/${CROSS_PFX}
|
||||
|
||||
# START COMMON
|
||||
MAINTAINER Marlon Beijer "marlon@amigadev.com"
|
||||
RUN apt update && apt install -y libtool automake autoconf && apt autoremove -y
|
||||
RUN apt update && apt install -y libtool automake autoconf && apt -y full-upgrade && apt autoremove -y
|
||||
RUN echo ${CROSS_PFX}
|
||||
RUN echo "root:root" | chpasswd
|
||||
RUN chmod 777 -R /opt/${CROSS_PFX}
|
||||
RUN ln -s /opt/${CROSS_PFX} /tools
|
||||
ENV CROSS_ROOT /opt/${CROSS_PFX}
|
||||
|
||||
@@ -21,6 +29,7 @@ ENTRYPOINT ["/entry/entrypoint.sh"]
|
||||
COPY imagefiles/cmake.sh /usr/local/bin/cmake
|
||||
COPY imagefiles/ccmake.sh /usr/local/bin/ccmake
|
||||
COPY imagefiles/entrypoint.sh /entry/
|
||||
COPY imagefiles/patches/ /patches/
|
||||
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_PFX}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_PFX}-ld \
|
||||
@@ -38,9 +47,14 @@ RUN ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-as /usr/bin/as && \
|
||||
|
||||
COPY dependencies/toolchains/${CROSS_PFX}.cmake ${CROSS_ROOT}/lib/
|
||||
COPY dependencies/toolchains/Modules/${CROSS_PFX} /CMakeModules
|
||||
RUN mv -fv /CMakeModules/* /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/
|
||||
RUN cmake --version
|
||||
RUN cp -afv /CMakeModules/. /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/ && rm -rf /CMakeModules
|
||||
RUN ln -s /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/Generic.cmake /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/${OS_NAME}.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/lib/${CROSS_PFX}.cmake
|
||||
ENV CMAKE_PREFIX_PATH /opt/${CROSS_PFX}:/opt/${CROSS_PFX}/usr
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
|
||||
COPY platforms/${CROSS_PFX}/prep.sh prep.sh
|
||||
RUN ./prep.sh && rm -rf prep.sh
|
||||
RUN chmod 777 -R /opt/${CROSS_PFX}
|
||||
# END COMMON
|
||||
+40
-14
@@ -4,29 +4,55 @@
|
||||
"DockerRoot": "amigadev",
|
||||
"DockerImage": "crosstools",
|
||||
"DockerTag": "m68k-amigaos",
|
||||
"Dockerfile": "m68k-amigaos.docker",
|
||||
"BuildIfSuccessful": ""
|
||||
"Prefix": "",
|
||||
"Dockerfile": "Dockerfile",
|
||||
"Platforms": [
|
||||
"amd64",
|
||||
"arm64"
|
||||
],
|
||||
"BuildIfSuccessful": [],
|
||||
"BuildParam": "AmigaOS"
|
||||
},
|
||||
{
|
||||
"DockerRoot": "amigadev",
|
||||
"DockerImage": "crosstools",
|
||||
"DockerTag": "m68k-amigaos-gcc10",
|
||||
"Prefix": "m68k-amigaos",
|
||||
"Dockerfile": "Dockerfile",
|
||||
"Platforms": [
|
||||
"amd64",
|
||||
"arm64"
|
||||
],
|
||||
"BuildIfSuccessful": [],
|
||||
"BuildParam": "AmigaOS"
|
||||
},
|
||||
{
|
||||
"DockerRoot": "amigadev",
|
||||
"DockerImage": "crosstools",
|
||||
"DockerTag": "ppc-amigaos",
|
||||
"Dockerfile": "ppc-amigaos.docker",
|
||||
"BuildIfSuccessful": ""
|
||||
"Prefix": "",
|
||||
"Dockerfile": "Dockerfile",
|
||||
"Platforms": [
|
||||
"amd64",
|
||||
"arm64"
|
||||
],
|
||||
"BuildIfSuccessful": [],
|
||||
"BuildParam": "AmigaOS"
|
||||
|
||||
},
|
||||
{
|
||||
"DockerRoot": "amigadev",
|
||||
"DockerImage": "crosstools",
|
||||
"DockerTag": "ppc-morphos",
|
||||
"Dockerfile": "ppc-morphos.docker",
|
||||
"BuildIfSuccessful": ""
|
||||
},
|
||||
{
|
||||
"DockerRoot": "amigadev",
|
||||
"DockerImage": "crosstools",
|
||||
"DockerTag": "x86_64-aros",
|
||||
"Dockerfile": "x86_64-aros.docker",
|
||||
"BuildIfSuccessful": ""
|
||||
"Prefix": "",
|
||||
"Dockerfile": "Dockerfile",
|
||||
"Platforms": [
|
||||
"amd64",
|
||||
"arm64"
|
||||
],
|
||||
"BuildIfSuccessful": [],
|
||||
"BuildParam": "MorphOS"
|
||||
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+112
-28
@@ -9,36 +9,75 @@ def notify(status){
|
||||
replyTo: '$DEFAULT_REPLYTO',
|
||||
subject: '$DEFAULT_SUBJECT',
|
||||
to: '$DEFAULT_RECIPIENTS'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@NonCPS
|
||||
def killall_jobs() {
|
||||
def jobname = env.JOB_NAME
|
||||
def buildnum = env.BUILD_NUMBER.toInteger()
|
||||
def killnums = ""
|
||||
def job = Jenkins.instance.getItemByFullName(jobname)
|
||||
def fixed_job_name = env.JOB_NAME.replace('%2F','/')
|
||||
def jobname = env.JOB_NAME;
|
||||
def buildnum = env.BUILD_NUMBER.toInteger();
|
||||
def killnums = "";
|
||||
def job = Jenkins.instance.getItemByFullName(jobname);
|
||||
def fixed_job_name = env.JOB_NAME.replace('%2F','/');
|
||||
|
||||
for (build in job.builds) {
|
||||
if (!build.isBuilding()) { continue; }
|
||||
if (buildnum == build.getNumber().toInteger()) { continue; println "equals" }
|
||||
if (buildnum < build.getNumber().toInteger()) { continue; println "newer" }
|
||||
|
||||
echo "Kill task = ${build}"
|
||||
echo "Kill task = ${build}";
|
||||
|
||||
killnums += "#" + build.getNumber().toInteger() + ", "
|
||||
killnums += "#" + build.getNumber().toInteger() + ", ";
|
||||
|
||||
build.doStop();
|
||||
}
|
||||
|
||||
if (killnums != "") {
|
||||
slackSend color: "danger", channel: "#jenkins", message: "Killing task(s) ${fixed_job_name} ${killnums} in favor of #${buildnum}, ignore following failed builds for ${killnums}"
|
||||
//slackSend color: "danger", channel: "#jenkins", message: "Killing task(s) ${fixed_job_name} ${killnums} in favor of #${buildnum}, ignore following failed builds for ${killnums}";
|
||||
}
|
||||
echo "Done killing"
|
||||
echo "Done killing";
|
||||
}
|
||||
|
||||
def buildStep(DOCKER_ROOT, DOCKERIMAGE, DOCKERTAG, DOCKERFILE, BUILD_NEXT) {
|
||||
def buildStep(DOCKER_ROOT, DOCKERIMAGE, DOCKERTAG, EXTRATAG, DOCKERFILE, BUILD_NEXT, BUILD_OS, PREFIX) {
|
||||
def fixed_job_name = env.JOB_NAME.replace('%2F','/');
|
||||
try {
|
||||
sh "rm -rfv ./*"
|
||||
checkout scm;
|
||||
|
||||
def buildenv = '';
|
||||
def tag = '';
|
||||
if (env.BRANCH_NAME.equals('master')) {
|
||||
buildenv = 'production';
|
||||
tag = "${DOCKERTAG}";
|
||||
} else if (env.BRANCH_NAME.equals('dev')) {
|
||||
buildenv = 'development';
|
||||
tag = "${DOCKERTAG}-dev";
|
||||
} else {
|
||||
throw new Exception("Invalid branch, stopping build!");
|
||||
}
|
||||
|
||||
if (PREFIX.equals('')) {
|
||||
PREFIX = "${tag}";
|
||||
}
|
||||
|
||||
docker.withRegistry("https://index.docker.io/v1/", "dockerhub") {
|
||||
def customImage
|
||||
stage("Building ${DOCKERIMAGE}:${tag}...") {
|
||||
customImage = docker.build("${DOCKER_ROOT}/${DOCKERIMAGE}:${tag}_${EXTRATAG}", "--build-arg BUILDENV=${buildenv} --build-arg BUILD_OS=${BUILD_OS} --build-arg BUILD_PFX=${tag} --build-arg PREFIX=${PREFIX} --network=host --pull -f ${DOCKERFILE} .");
|
||||
}
|
||||
|
||||
stage("Pushing to docker hub registry...") {
|
||||
customImage.push();
|
||||
}
|
||||
}
|
||||
} catch(err) {
|
||||
currentBuild.result = 'FAILURE'
|
||||
notify("Build Failed: ${fixed_job_name} #${env.BUILD_NUMBER} Target: ${DOCKER_ROOT}/${DOCKERIMAGE}:${DOCKERTAG}")
|
||||
throw err
|
||||
}
|
||||
}
|
||||
|
||||
def buildManifest(DOCKER_ROOT, DOCKERIMAGE, DOCKERTAG, DOCKERFILE, PLATFORMS, BUILD_NEXT) {
|
||||
def fixed_job_name = env.JOB_NAME.replace('%2F','/')
|
||||
try {
|
||||
checkout scm;
|
||||
@@ -56,19 +95,28 @@ def buildStep(DOCKER_ROOT, DOCKERIMAGE, DOCKERTAG, DOCKERFILE, BUILD_NEXT) {
|
||||
}
|
||||
|
||||
docker.withRegistry("https://index.docker.io/v1/", "dockerhub") {
|
||||
def customImage
|
||||
stage("Building ${DOCKERIMAGE}:${tag}...") {
|
||||
customImage = docker.build("${DOCKER_ROOT}/${DOCKERIMAGE}:${tag}", "--build-arg BUILDENV=${buildenv} --network=host --pull -f ${DOCKERFILE} .");
|
||||
}
|
||||
|
||||
stage("Pushing to docker hub registry...") {
|
||||
customImage.push();
|
||||
stage("Building ${DOCKERIMAGE}:${tag} manifest...") {
|
||||
sh('docker version');
|
||||
def platformsString = "";
|
||||
PLATFORMS.each { p ->
|
||||
sh("docker pull ${DOCKER_ROOT}/${DOCKERIMAGE}:${tag}_${p}");
|
||||
platformsString = "${platformsString} ${DOCKER_ROOT}/${DOCKERIMAGE}:${tag}_${p}"
|
||||
}
|
||||
|
||||
sh("docker manifest create ${DOCKER_ROOT}/${DOCKERIMAGE}:${tag} ${platformsString}");
|
||||
sh("docker manifest push ${DOCKER_ROOT}/${DOCKERIMAGE}:${tag}");
|
||||
}
|
||||
}
|
||||
|
||||
if (!BUILD_NEXT.equals('')) {
|
||||
build "${BUILD_NEXT}/${env.BRANCH_NAME}";
|
||||
def branches = [:]
|
||||
|
||||
BUILD_NEXT.each { v ->
|
||||
branches["Build ${v}"] = {
|
||||
build "${v}/${env.BRANCH_NAME}";
|
||||
}
|
||||
}
|
||||
|
||||
parallel branches;
|
||||
} catch(err) {
|
||||
slackSend color: "danger", channel: "#jenkins", message: "Build Failed: ${fixed_job_name} #${env.BUILD_NUMBER} Target: ${DOCKER_ROOT}/${DOCKERIMAGE}:${tag} (<${env.BUILD_URL}|Open>)"
|
||||
currentBuild.result = 'FAILURE'
|
||||
@@ -77,25 +125,61 @@ def buildStep(DOCKER_ROOT, DOCKERIMAGE, DOCKERTAG, DOCKERFILE, BUILD_NEXT) {
|
||||
}
|
||||
}
|
||||
|
||||
def steps(v) {
|
||||
def platforms = [:];
|
||||
|
||||
v.Platforms.each { p ->
|
||||
platforms["Build ${v.DockerRoot}/${v.DockerImage}:${v.DockerTag}_${p}"] = {
|
||||
stage("Build ${p} version") {
|
||||
node(p) {
|
||||
buildStep(v.DockerRoot, v.DockerImage, v.DockerTag, p, v.Dockerfile, [], v.BuildParam, v.Prefix);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
parallel platforms;
|
||||
|
||||
stage('Build multi-arch manifest') {
|
||||
node() {
|
||||
buildManifest(v.DockerRoot, v.DockerImage, v.DockerTag, v.Dockerfile, v.Platforms, v.BuildIfSuccessful);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
properties([[$class: 'ParametersDefinitionProperty', parameterDefinitions: [[$class: 'StringParameterDefinition', name: 'BUILD_IMAGE', defaultValue: 'all']]]])
|
||||
|
||||
node('master') {
|
||||
killall_jobs();
|
||||
|
||||
if (BUILD_IMAGE.equals('all')) {
|
||||
killall_jobs();
|
||||
}
|
||||
|
||||
def fixed_job_name = env.JOB_NAME.replace('%2F','/');
|
||||
slackSend color: "good", channel: "#jenkins", message: "Build Started: ${fixed_job_name} #${env.BUILD_NUMBER} (<${env.BUILD_URL}|Open>)";
|
||||
|
||||
checkout scm;
|
||||
|
||||
def branches = [:]
|
||||
def branches = [:];
|
||||
def project = readJSON file: "JenkinsEnv.json";
|
||||
|
||||
project.builds.each { v ->
|
||||
branches["Build ${v.DockerRoot}/${v.DockerImage}:${v.DockerTag}"] = {
|
||||
node {
|
||||
buildStep(v.DockerRoot, v.DockerImage, v.DockerTag, v.Dockerfile, v.BuildIfSuccessful)
|
||||
if (BUILD_IMAGE.equals('all')) {
|
||||
project.builds.each { v ->
|
||||
branches["Build ${v.DockerRoot}/${v.DockerImage}:${v.DockerTag}"] = {
|
||||
steps(v);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
echo("Building: ${BUILD_IMAGE}");
|
||||
project.builds.each { v ->
|
||||
if ("${v.DockerTag}".equals("${BUILD_IMAGE}")) {
|
||||
branches["Build ${v.DockerRoot}/${v.DockerImage}:${v.DockerTag}"] = {
|
||||
steps(v);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sh "rm -rf ./*"
|
||||
sh "rm -rf ./*";
|
||||
|
||||
parallel branches;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# AmigDev Docker Crosstools
|
||||
# AmigaDev Docker Crosstools
|
||||
|
||||
Currently AmigaOS 3.x, AmigaOS 4.x and MorphOS 3.9+ are supported.
|
||||
WarpOS and AROS will get supported in the forseeable future
|
||||
@@ -17,17 +17,17 @@ MorphOS 3.9+ | MorphOS Team SDK 3.14 - gcc 9 | **Yes**
|
||||
|
||||
## Build the Docker container
|
||||
|
||||
Example for AROSv1 x86_64
|
||||
Example for AmigaOS 4.x toolchain:
|
||||
```
|
||||
docker build -t "amigadev/crosstools:ppc-amigaos" --build-arg BUILD_OS=AmigaOS --build-arg BUILD_PFX=ppc-amigaos -f Dockerfile .
|
||||
```
|
||||
For other toolchains, use the appropriate parameters:
|
||||
|
||||
docker build -t "amigadev/crosstools:x86_64-aros" --rm -f x86_64-aros.docker .
|
||||
- AmigaOS 3.x (M680x0): `--build-arg BUILD_OS=AmigaOS --build-arg BUILD_PFX=m68k-amigaos`
|
||||
|
||||
For other toolchains, use the appropriate Dockerfile:
|
||||
- AmigaOS 4.x (PPC): `--build-arg BUILD_OS=AmigaOS --build-arg BUILD_PFX=ppc-amigaos`
|
||||
|
||||
- AmigaOS 3.x (M680x0): m68k-amigaos.docker
|
||||
|
||||
- AmigaOS 4.x (PPC): ppc-amigaos.docker
|
||||
|
||||
- MorphOS (PPC): ppc-morphos.docker
|
||||
- MorphOS (PPC): `--build-arg BUILD_OS=MorphOS --build-arg BUILD_PFX=ppc-morphos`
|
||||
|
||||
## Run the Docker container for compiling a third party application
|
||||
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
# START COMMON
|
||||
MAINTAINER Marlon Beijer "marlon@amigadev.com"
|
||||
RUN apt purge -y gcc g++ flex bison gettext texinfo binutils libgmp-dev libmpfr-dev libmpc-dev libncurses-dev && apt autoremove -y
|
||||
RUN echo "root:root" | chpasswd
|
||||
RUN ln -s /opt/${CROSS_PFX} /tools
|
||||
ENV CROSS_ROOT /opt/${CROSS_PFX}
|
||||
|
||||
WORKDIR /work
|
||||
ENTRYPOINT ["/entry/entrypoint.sh"]
|
||||
|
||||
COPY imagefiles/cmake.sh /usr/local/bin/cmake
|
||||
COPY imagefiles/ccmake.sh /usr/local/bin/ccmake
|
||||
COPY imagefiles/entrypoint.sh /entry/
|
||||
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_PFX}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_PFX}-ld \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_PFX}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_PFX}-gcc \
|
||||
CXX=${CROSS_ROOT}/bin/${CROSS_PFX}-g++ \
|
||||
RANLIB=${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib
|
||||
|
||||
RUN ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-as /usr/bin/as && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ar /usr/bin/ar && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ld /usr/bin/ld && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-gcc /usr/bin/gcc && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-g++ /usr/bin/g++ && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib /usr/bin/ranlib
|
||||
|
||||
COPY dependencies/toolchains/${CROSS_PFX}.cmake ${CROSS_ROOT}/lib/
|
||||
COPY dependencies/toolchains/Modules/${CROSS_PFX} /CMakeModules
|
||||
RUN mv -fv /CMakeModules/* /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/
|
||||
RUN ln -s /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/Generic.cmake /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/${OS_NAME}.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/lib/${CROSS_PFX}.cmake
|
||||
ENV CMAKE_PREFIX_PATH /opt/${CROSS_PFX}:/opt/${CROSS_PFX}/usr
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
# END COMMON
|
||||
Vendored
+1
-1
Submodule dependencies/toolchains updated: a85da3155e...c579e46732
@@ -0,0 +1,30 @@
|
||||
diff --git a/src/timer/amigaos/SDL_systimer.c b/src/timer/amigaos/SDL_systimer.c
|
||||
--- a/src/timer/amigaos/SDL_systimer.c
|
||||
+++ b/src/timer/amigaos/SDL_systimer.c
|
||||
@@ -71,7 +71,7 @@
|
||||
extern struct ExecBase *SysBase;
|
||||
|
||||
static struct timeval basetime;
|
||||
-struct Library *TimerBase;
|
||||
+struct Device *TimerBase;
|
||||
|
||||
struct Task *OwnerTask;
|
||||
struct timerequest *TimerReq[2]; /* Local copy! */
|
||||
@@ -163,7 +163,7 @@ gettimerbase() {
|
||||
/* Open with UNIT_VBLANK, but any unit can be used */
|
||||
if ( !(error = OpenDevice(TIMERNAME, UNIT_MICROHZ, (struct IORequest *)TimerIO_2, 0L))) {
|
||||
/* Issue the command and wait for it to finish, then get the reply */
|
||||
- TimerBase = (struct Library *)TimerIO_2->tr_node.io_Device;
|
||||
+ TimerBase = TimerIO_2->tr_node.io_Device;
|
||||
|
||||
TimerReq[0] = TimerIO_2;
|
||||
TimerReq[1] = TimerIO_2;
|
||||
@@ -234,7 +234,7 @@ void SDL_Delay(Uint32 ms) {
|
||||
/* Data to handle a single periodic alarm */
|
||||
static int timer_alive = 0;
|
||||
static SDL_Thread *timer_thread = NULL;
|
||||
-struct Library *TimerBase;
|
||||
+struct Device *TimerBase;
|
||||
|
||||
int RunTimer(void *unused) {
|
||||
struct timeval tv;
|
||||
@@ -1,48 +0,0 @@
|
||||
FROM amigadev/m68k-amigaos-gcc:latest as build-env
|
||||
|
||||
FROM amigadev/docker-base:latest
|
||||
|
||||
ENV CROSS_PFX m68k-amigaos
|
||||
ENV OS_NAME AmigaOS
|
||||
|
||||
# Temporary fix
|
||||
COPY --from=build-env /opt/amiga /opt/${CROSS_PFX}
|
||||
RUN ln -s /opt/${CROSS_PFX} /opt/amiga
|
||||
|
||||
# START COMMON
|
||||
MAINTAINER Marlon Beijer "marlon@amigadev.com"
|
||||
RUN apt update && apt install -y libtool automake autoconf && apt autoremove -y
|
||||
RUN echo "root:root" | chpasswd
|
||||
RUN chmod 777 -R /opt/${CROSS_PFX}
|
||||
RUN ln -s /opt/${CROSS_PFX} /tools
|
||||
ENV CROSS_ROOT /opt/${CROSS_PFX}
|
||||
|
||||
WORKDIR /work
|
||||
ENTRYPOINT ["/entry/entrypoint.sh"]
|
||||
|
||||
COPY imagefiles/cmake.sh /usr/local/bin/cmake
|
||||
COPY imagefiles/ccmake.sh /usr/local/bin/ccmake
|
||||
COPY imagefiles/entrypoint.sh /entry/
|
||||
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_PFX}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_PFX}-ld \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_PFX}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_PFX}-gcc \
|
||||
CXX=${CROSS_ROOT}/bin/${CROSS_PFX}-g++ \
|
||||
RANLIB=${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib
|
||||
|
||||
RUN ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-as /usr/bin/as && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ar /usr/bin/ar && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ld /usr/bin/ld && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-gcc /usr/bin/gcc && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-g++ /usr/bin/g++ && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib /usr/bin/ranlib
|
||||
|
||||
COPY dependencies/toolchains/${CROSS_PFX}.cmake ${CROSS_ROOT}/lib/
|
||||
COPY dependencies/toolchains/Modules/${CROSS_PFX} /CMakeModules
|
||||
RUN mv -fv /CMakeModules/* /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/
|
||||
RUN ln -s /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/Generic.cmake /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/${OS_NAME}.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/lib/${CROSS_PFX}.cmake
|
||||
ENV CMAKE_PREFIX_PATH /opt/${CROSS_PFX}:/opt/${CROSS_PFX}/usr
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
# END COMMON
|
||||
Executable
+58
@@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
|
||||
# exit when any command fails
|
||||
set -e
|
||||
|
||||
#set compiler params
|
||||
export TARGET='m68k-amigaos-gcc10'
|
||||
export SYSROOT=/opt/${TARGET}/usr
|
||||
export M68K_CPU="-m68040 -mhard-float"
|
||||
export M68K_COMMON="-s -ffast-math -fomit-frame-pointer"
|
||||
export M68K_CFLAGS="${CFLAGS} ${M68K_CPU} ${M68K_COMMON}"
|
||||
export M68K_CXXFLAGS="${CXXFLAGS} ${M68K_CPU} ${M68K_COMMON}"
|
||||
export CURPATH="${PWD}"
|
||||
export SUBMODULES="${CURPATH}/dependencies"
|
||||
|
||||
# ZLIB
|
||||
git clone https://github.com/madler/zlib.git "${SUBMODULES}"/zlib
|
||||
rm -rf "${SUBMODULES}"/zlib/build
|
||||
mkdir -p "${SUBMODULES}"/zlib/build
|
||||
cd "${SUBMODULES}"/zlib/build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${SYSROOT} -DZLIB_BUILD_TESTING=OFF -DZLIB_BUILD_SHARED=OFF -DM68K_CPU=68040 -DM68K_FPU=hard -DM68K_COMMON="${M68K_COMMON} -O3 -fno-exceptions -w -DBIG_ENDIAN -DAMIGA -fpermissive -std=c++14"
|
||||
cmake --build . --config Release --target install -- -j$(getconf _NPROCESSORS_ONLN)
|
||||
cd "${SUBMODULES}"
|
||||
|
||||
# SDL1.2
|
||||
if [ ! -d "${SUBMODULES}/SDL" ]; then
|
||||
git clone https://github.com/AmigaPorts/SDL_old.git "${SUBMODULES}"/SDL
|
||||
fi
|
||||
cd "${SUBMODULES}"/SDL
|
||||
git checkout SDL-1.2-AmigaOS3
|
||||
git pull
|
||||
if ! git apply --reverse --check /patches/sdl-old-timerbase-device.patch 2>/dev/null; then
|
||||
git apply /patches/sdl-old-timerbase-device.patch
|
||||
fi
|
||||
rm -rf "${SUBMODULES}"/SDL/build
|
||||
mkdir -p "${SUBMODULES}"/SDL/build
|
||||
cd "${SUBMODULES}"/SDL/build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${SYSROOT} -DM68K_CPU=68040 -DM68K_FPU=hard -DM68K_COMMON="${M68K_COMMON} -O3 -fno-exceptions -w -DBIG_ENDIAN -DAMIGA -fpermissive -std=c++14"
|
||||
cmake --build . --config Release --target install -- -j$(getconf _NPROCESSORS_ONLN)
|
||||
cd "${SUBMODULES}"
|
||||
|
||||
# Zziplib
|
||||
#rm -rf "${SUBMODULES}"/zziplib/build
|
||||
#mkdir -p "${SUBMODULES}"/zziplib/build
|
||||
#cd "${SUBMODULES}"/zziplib/build
|
||||
#cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${SYSROOT} -DM68K_CPU=68040 -DM68K_FPU=hard -DM68K_COMMON="${M68K_COMMON} -O2 -fno-exceptions -w -DBIG_ENDIAN -DAMIGA -fpermissive -std=c++14"
|
||||
#cmake --build . --config Release --target install -- -j$(getconf _NPROCESSORS_ONLN)
|
||||
#cd "${SUBMODULES}"
|
||||
|
||||
# lhasa
|
||||
#cd ${SUBMODULES}/lhasa
|
||||
#./autogen.sh --host=${TARGET}
|
||||
#CFLAGS="${M68K_CFLAGS}" CXXFLAGS="${M68K_CXXFLAGS}" ./configure --disable-sdltest --disable-shared --enable-static --host=${TARGET} --prefix=${SYSROOT}
|
||||
#make -j$(getconf _NPROCESSORS_ONLN)
|
||||
#make install
|
||||
#cd ${SUBMODULES}
|
||||
|
||||
cd "${CURPATH}"
|
||||
Executable
+58
@@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
|
||||
# exit when any command fails
|
||||
set -e
|
||||
|
||||
#set compiler params
|
||||
export TARGET='m68k-amigaos'
|
||||
export SYSROOT=/opt/${TARGET}/usr
|
||||
export M68K_CPU="-m68040 -mhard-float"
|
||||
export M68K_COMMON="-s -ffast-math -fomit-frame-pointer"
|
||||
export M68K_CFLAGS="${CFLAGS} ${M68K_CPU} ${M68K_COMMON}"
|
||||
export M68K_CXXFLAGS="${CXXFLAGS} ${M68K_CPU} ${M68K_COMMON}"
|
||||
export CURPATH="${PWD}"
|
||||
export SUBMODULES="${CURPATH}/dependencies"
|
||||
|
||||
# ZLIB
|
||||
git clone https://github.com/madler/zlib.git "${SUBMODULES}"/zlib
|
||||
rm -rf "${SUBMODULES}"/zlib/build
|
||||
mkdir -p "${SUBMODULES}"/zlib/build
|
||||
cd "${SUBMODULES}"/zlib/build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${SYSROOT} -DZLIB_BUILD_TESTING=OFF -DZLIB_BUILD_SHARED=OFF -DM68K_CPU=68040 -DM68K_FPU=hard -DM68K_COMMON="${M68K_COMMON} -O3 -fno-exceptions -w -DBIG_ENDIAN -DAMIGA -fpermissive -std=c++14"
|
||||
cmake --build . --config Release --target install -- -j$(getconf _NPROCESSORS_ONLN)
|
||||
cd "${SUBMODULES}"
|
||||
|
||||
# SDL1.2
|
||||
if [ ! -d "${SUBMODULES}/SDL" ]; then
|
||||
git clone https://github.com/AmigaPorts/SDL_old.git "${SUBMODULES}"/SDL
|
||||
fi
|
||||
cd "${SUBMODULES}"/SDL
|
||||
git checkout SDL-1.2-AmigaOS3
|
||||
git pull
|
||||
if ! git apply --reverse --check /patches/sdl-old-timerbase-device.patch 2>/dev/null; then
|
||||
git apply /patches/sdl-old-timerbase-device.patch
|
||||
fi
|
||||
rm -rf "${SUBMODULES}"/SDL/build
|
||||
mkdir -p "${SUBMODULES}"/SDL/build
|
||||
cd "${SUBMODULES}"/SDL/build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${SYSROOT} -DM68K_CPU=68040 -DM68K_FPU=hard -DM68K_COMMON="${M68K_COMMON} -O3 -fno-exceptions -w -DBIG_ENDIAN -DAMIGA -fpermissive -std=c++14"
|
||||
cmake --build . --config Release --target install -- -j$(getconf _NPROCESSORS_ONLN)
|
||||
cd "${SUBMODULES}"
|
||||
|
||||
# Zziplib
|
||||
#rm -rf "${SUBMODULES}"/zziplib/build
|
||||
#mkdir -p "${SUBMODULES}"/zziplib/build
|
||||
#cd "${SUBMODULES}"/zziplib/build
|
||||
#cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${SYSROOT} -DM68K_CPU=68040 -DM68K_FPU=hard -DM68K_COMMON="${M68K_COMMON} -O2 -fno-exceptions -w -DBIG_ENDIAN -DAMIGA -fpermissive -std=c++14"
|
||||
#cmake --build . --config Release --target install -- -j$(getconf _NPROCESSORS_ONLN)
|
||||
#cd "${SUBMODULES}"
|
||||
|
||||
# lhasa
|
||||
#cd ${SUBMODULES}/lhasa
|
||||
#./autogen.sh --host=${TARGET}
|
||||
#CFLAGS="${M68K_CFLAGS}" CXXFLAGS="${M68K_CXXFLAGS}" ./configure --disable-sdltest --disable-shared --enable-static --host=${TARGET} --prefix=${SYSROOT}
|
||||
#make -j$(getconf _NPROCESSORS_ONLN)
|
||||
#make install
|
||||
#cd ${SUBMODULES}
|
||||
|
||||
cd "${CURPATH}"
|
||||
Executable
+82
@@ -0,0 +1,82 @@
|
||||
#!/bin/bash
|
||||
|
||||
# exit when any command fails
|
||||
set -e
|
||||
|
||||
#set compiler params
|
||||
export TARGET='ppc-amigaos'
|
||||
export SYSROOT=/opt/${TARGET}/usr
|
||||
export M68K_CPU=""
|
||||
export M68K_COMMON="-s -athread=single -ffast-math -fomit-frame-pointer -I${SYSROOT}/include -L${SYSROOT}/lib"
|
||||
export M68K_CFLAGS="${CFLAGS} ${M68K_CPU} ${M68K_COMMON}"
|
||||
export M68K_CXXFLAGS="${CXXFLAGS} ${M68K_CPU} ${M68K_COMMON}"
|
||||
export CURPATH="${PWD}"
|
||||
export SUBMODULES="${CURPATH}/dependencies"
|
||||
|
||||
# ZLIB
|
||||
git clone https://github.com/madler/zlib.git "${SUBMODULES}"/zlib
|
||||
rm -rf "${SUBMODULES}"/zlib/build
|
||||
mkdir -p "${SUBMODULES}"/zlib/build
|
||||
cd "${SUBMODULES}"/zlib/build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${SYSROOT} -DZLIB_BUILD_TESTING=OFF -DZLIB_BUILD_SHARED=OFF -DTOOLCHAIN_COMMON="${M68K_COMMON} -O3 -fno-exceptions -w -DBIG_ENDIAN -DAMIGA -fpermissive -std=c++14"
|
||||
cmake --build . --config Release --target install -- -j$(getconf _NPROCESSORS_ONLN)
|
||||
cd "${SUBMODULES}"
|
||||
|
||||
#MiniGL
|
||||
rm -rf MiniGL
|
||||
mkdir -p "${SUBMODULES}"/MiniGL
|
||||
cd "${SUBMODULES}"/MiniGL
|
||||
wget http://os4depot.net/share/driver/graphics/minigl.lha -O minigl.lha
|
||||
lha -x minigl.lha
|
||||
mkdir -p ${SYSROOT}/include
|
||||
mkdir -p ${SYSROOT}/lib
|
||||
cp -fvr MiniGL/SDK/local/common/include/* ${SYSROOT}/include/
|
||||
cp -fvr MiniGL/SDK/local/newlib/lib/* ${SYSROOT}/lib/
|
||||
cd "${SUBMODULES}"
|
||||
|
||||
# SDL1.2
|
||||
mkdir -p "${SUBMODULES}"/SDL
|
||||
cd "${SUBMODULES}"/SDL
|
||||
wget https://github.com/AmigaPorts/SDL-1.2/releases/download/v1.2.16-release-amigaos4/SDL.lha -O SDL.lha
|
||||
lha -x SDL.lha
|
||||
mkdir -p ${SYSROOT}/include
|
||||
mkdir -p ${SYSROOT}/lib
|
||||
cp -fvr SDL/SDK/local/newlib/include/* ${SYSROOT}/include/
|
||||
cp -fvr SDL/SDK/local/newlib/lib/* ${SYSROOT}/lib/
|
||||
|
||||
# SDL2
|
||||
#if [ ! -d "${SUBMODULES}/SDL" ]; then
|
||||
# git clone https://github.com/AmigaPorts/SDL.git "${SUBMODULES}"/SDL
|
||||
#fi
|
||||
mkdir -p "${SUBMODULES}"/SDL2
|
||||
cd "${SUBMODULES}"/SDL2
|
||||
wget https://github.com/AmigaPorts/SDL/releases/download/v2.30.5-amigaos4/SDL2.lha -O SDL2.lha
|
||||
lha -x SDL2.lha
|
||||
mkdir -p ${SYSROOT}/include
|
||||
mkdir -p ${SYSROOT}/lib
|
||||
cp -fvr SDL2/SDK/local/newlib/include/* ${SYSROOT}/include/
|
||||
cp -fvr SDL2/SDK/local/newlib/lib/* ${SYSROOT}/lib/
|
||||
#git pull
|
||||
#make -f Makefile.amigaos4
|
||||
##rm -rf "${SUBMODULES}"/SDL-build
|
||||
##cmake -S"${SUBMODULES}"/SDL -B"${SUBMODULES}"/SDL-build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${SYSROOT} -DHAVE_SDL_TIMERS=TRUE -DHAVE_SDL_THREADS=TRUE -DTOOLCHAIN_COMMON="${M68K_COMMON} -O3 -fno-exceptions -w -DBIG_ENDIAN -DAMIGA -fpermissive -std=c++17"
|
||||
##cmake --build "${SUBMODULES}"/SDL-build --config Release --target install -- -j$(getconf _NPROCESSORS_ONLN)
|
||||
cd "${SUBMODULES}"
|
||||
|
||||
# Zziplib
|
||||
#rm -rf "${SUBMODULES}"/zziplib/build
|
||||
#mkdir -p "${SUBMODULES}"/zziplib/build
|
||||
#cd "${SUBMODULES}"/zziplib/build
|
||||
#cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${SYSROOT} -DM68K_CPU=68040 -DM68K_FPU=hard -DM68K_COMMON="${M68K_COMMON} -O2 -fno-exceptions -w -DBIG_ENDIAN -DAMIGA -fpermissive -std=c++14"
|
||||
#cmake --build . --config Release --target install -- -j$(getconf _NPROCESSORS_ONLN)
|
||||
#cd "${SUBMODULES}"
|
||||
|
||||
# lhasa
|
||||
#cd ${SUBMODULES}/lhasa
|
||||
#./autogen.sh --host=${TARGET}
|
||||
#CFLAGS="${M68K_CFLAGS}" CXXFLAGS="${M68K_CXXFLAGS}" ./configure --disable-sdltest --disable-shared --enable-static --host=${TARGET} --prefix=${SYSROOT}
|
||||
#make -j$(getconf _NPROCESSORS_ONLN)
|
||||
#make install
|
||||
#cd ${SUBMODULES}
|
||||
|
||||
cd "${CURPATH}"
|
||||
Executable
+53
@@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
|
||||
# exit when any command fails
|
||||
set -e
|
||||
|
||||
#set compiler params
|
||||
export TARGET='ppc-morphos'
|
||||
export SYSROOT=/opt/$TARGET
|
||||
export PPC_CPU="-mhard-float"
|
||||
export PPC_COMMON="-s -ffast-math -fomit-frame-pointer -noixemul"
|
||||
export PPC_CFLAGS="${CFLAGS} ${PPC_CPU} ${PPC_COMMON}"
|
||||
export PPC_CXXFLAGS="${CXXFLAGS} ${PPC_CPU} ${PPC_COMMON}"
|
||||
export CURPATH="${PWD}"
|
||||
export SUBMODULES="${CURPATH}/dependencies"
|
||||
|
||||
# ZLIB
|
||||
git clone https://github.com/madler/zlib.git "${SUBMODULES}"/zlib
|
||||
rm -rf "${SUBMODULES}"/zlib/build
|
||||
mkdir -p "${SUBMODULES}"/zlib/build
|
||||
cd "${SUBMODULES}"/zlib/build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${SYSROOT} -DZLIB_BUILD_TESTING=OFF -DZLIB_BUILD_SHARED=OFF -DPPC_COMMON="${PPC_COMMON} -O3 -fno-exceptions -w -DBIG_ENDIAN -DAMIGA -fpermissive -std=c++14"
|
||||
cmake --build . --config Release --target install -- -j$(getconf _NPROCESSORS_ONLN)
|
||||
cd "${SUBMODULES}"
|
||||
|
||||
# codesets SDK 6.22
|
||||
mkdir -p "${SUBMODULES}"/codesets
|
||||
cd "${SUBMODULES}"/codesets
|
||||
wget https://github.com/jens-maus/libcodesets/releases/download/6.22/codesets-6.22.lha -O codesets.lha
|
||||
echo "029d3bf9dd8b85bef6f0ccb58c0b4123d16cc5042a1c13519698016f6966750c codesets.lha" | sha256sum -c -
|
||||
lha -x codesets.lha
|
||||
mkdir -p "${SYSROOT}"/usr/include "${SYSROOT}"/usr/share/doc/codesets
|
||||
cp -fvr codesets/Developer/include/* "${SYSROOT}"/usr/include/
|
||||
cp -fv codesets/COPYING codesets/ReadMe "${SYSROOT}"/usr/share/doc/codesets/
|
||||
cd "${SUBMODULES}"
|
||||
rm -rf codesets
|
||||
|
||||
# SDL1.2
|
||||
rm -rf powersdl_sdk*
|
||||
wget http://aminet.net/dev/misc/powersdl_sdk.lha -O powersdl_sdk.lha
|
||||
lha -x powersdl_sdk.lha
|
||||
mkdir -p ${SYSROOT}/usr
|
||||
cp -fvr powersdl_sdk/Developer/usr/local/* ${SYSROOT}/usr/
|
||||
cd "${SUBMODULES}"
|
||||
|
||||
# lhasa
|
||||
#cd "${SUBMODULES}"/lhasa
|
||||
#./autogen.sh --host=${TARGET}
|
||||
#CFLAGS="${PPC_CFLAGS}" CXXFLAGS="${PPC_CXXFLAGS}" ./configure --disable-sdltest --disable-shared --enable-static --host=${TARGET} --prefix=${SYSROOT}
|
||||
#make -j$(getconf _NPROCESSORS_ONLN)
|
||||
#make install
|
||||
#cd "${SUBMODULES}"
|
||||
|
||||
cd "${CURPATH}"
|
||||
@@ -1,46 +0,0 @@
|
||||
FROM amigadev/adtools:latest as build-env
|
||||
|
||||
FROM amigadev/docker-base:latest
|
||||
|
||||
ENV CROSS_PFX ppc-amigaos
|
||||
ENV OS_NAME AmigaOS
|
||||
|
||||
COPY --from=build-env /opt/${CROSS_PFX} /opt/${CROSS_PFX}
|
||||
|
||||
# START COMMON
|
||||
MAINTAINER Marlon Beijer "marlon@amigadev.com"
|
||||
RUN apt update && apt install -y libtool automake autoconf && apt autoremove -y
|
||||
RUN echo "root:root" | chpasswd
|
||||
RUN chmod 777 -R /opt/${CROSS_PFX}
|
||||
RUN ln -s /opt/${CROSS_PFX} /tools
|
||||
ENV CROSS_ROOT /opt/${CROSS_PFX}
|
||||
|
||||
WORKDIR /work
|
||||
ENTRYPOINT ["/entry/entrypoint.sh"]
|
||||
|
||||
COPY imagefiles/cmake.sh /usr/local/bin/cmake
|
||||
COPY imagefiles/ccmake.sh /usr/local/bin/ccmake
|
||||
COPY imagefiles/entrypoint.sh /entry/
|
||||
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_PFX}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_PFX}-ld \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_PFX}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_PFX}-gcc \
|
||||
CXX=${CROSS_ROOT}/bin/${CROSS_PFX}-g++ \
|
||||
RANLIB=${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib
|
||||
|
||||
RUN ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-as /usr/bin/as && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ar /usr/bin/ar && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ld /usr/bin/ld && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-gcc /usr/bin/gcc && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-g++ /usr/bin/g++ && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib /usr/bin/ranlib
|
||||
|
||||
COPY dependencies/toolchains/${CROSS_PFX}.cmake ${CROSS_ROOT}/lib/
|
||||
COPY dependencies/toolchains/Modules/${CROSS_PFX} /CMakeModules
|
||||
RUN mv -fv /CMakeModules/* /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/
|
||||
RUN ln -s /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/Generic.cmake /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/${OS_NAME}.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/lib/${CROSS_PFX}.cmake
|
||||
ENV CMAKE_PREFIX_PATH /opt/${CROSS_PFX}:/opt/${CROSS_PFX}/usr
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
# END COMMON
|
||||
@@ -1,46 +0,0 @@
|
||||
FROM amigadev/morphos-cross-toolchain:latest as build-env
|
||||
|
||||
FROM amigadev/docker-base:latest
|
||||
|
||||
ENV CROSS_PFX ppc-morphos
|
||||
ENV OS_NAME MorphOS
|
||||
|
||||
COPY --from=build-env /opt/${CROSS_PFX} /opt/${CROSS_PFX}
|
||||
|
||||
# START COMMON
|
||||
MAINTAINER Marlon Beijer "marlon@amigadev.com"
|
||||
RUN apt update && apt install -y libtool automake autoconf && apt autoremove -y
|
||||
RUN echo "root:root" | chpasswd
|
||||
RUN chmod 777 -R /opt/${CROSS_PFX}
|
||||
RUN ln -s /opt/${CROSS_PFX} /tools
|
||||
ENV CROSS_ROOT /opt/${CROSS_PFX}
|
||||
|
||||
WORKDIR /work
|
||||
ENTRYPOINT ["/entry/entrypoint.sh"]
|
||||
|
||||
COPY imagefiles/cmake.sh /usr/local/bin/cmake
|
||||
COPY imagefiles/ccmake.sh /usr/local/bin/ccmake
|
||||
COPY imagefiles/entrypoint.sh /entry/
|
||||
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_PFX}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_PFX}-ld \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_PFX}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_PFX}-gcc \
|
||||
CXX=${CROSS_ROOT}/bin/${CROSS_PFX}-g++ \
|
||||
RANLIB=${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib
|
||||
|
||||
RUN ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-as /usr/bin/as && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ar /usr/bin/ar && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ld /usr/bin/ld && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-gcc /usr/bin/gcc && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-g++ /usr/bin/g++ && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib /usr/bin/ranlib
|
||||
|
||||
COPY dependencies/toolchains/${CROSS_PFX}.cmake ${CROSS_ROOT}/lib/
|
||||
COPY dependencies/toolchains/Modules/${CROSS_PFX} /CMakeModules
|
||||
RUN mv -fv /CMakeModules/* /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/
|
||||
RUN ln -s /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/Generic.cmake /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/${OS_NAME}.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/lib/${CROSS_PFX}.cmake
|
||||
ENV CMAKE_PREFIX_PATH /opt/${CROSS_PFX}:/opt/${CROSS_PFX}/usr
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
# END COMMON
|
||||
@@ -1,46 +0,0 @@
|
||||
FROM amigadev/arosv1-cross-toolchain:x86_64 as build-env
|
||||
|
||||
FROM amigadev/docker-base:latest
|
||||
|
||||
ENV CROSS_PFX x86_64-aros
|
||||
ENV OS_NAME AROS
|
||||
|
||||
COPY --from=build-env /opt/${CROSS_PFX} /opt/${CROSS_PFX}
|
||||
|
||||
# START COMMON
|
||||
MAINTAINER Marlon Beijer "marlon@amigadev.com"
|
||||
RUN apt update && apt install -y libtool automake autoconf && apt autoremove -y
|
||||
RUN echo "root:root" | chpasswd
|
||||
RUN chmod 777 -R /opt/${CROSS_PFX}
|
||||
RUN ln -s /opt/${CROSS_PFX} /tools
|
||||
ENV CROSS_ROOT /opt/${CROSS_PFX}
|
||||
|
||||
WORKDIR /work
|
||||
ENTRYPOINT ["/entry/entrypoint.sh"]
|
||||
|
||||
COPY imagefiles/cmake.sh /usr/local/bin/cmake
|
||||
COPY imagefiles/ccmake.sh /usr/local/bin/ccmake
|
||||
COPY imagefiles/entrypoint.sh /entry/
|
||||
|
||||
ENV AS=${CROSS_ROOT}/bin/${CROSS_PFX}-as \
|
||||
LD=${CROSS_ROOT}/bin/${CROSS_PFX}-ld \
|
||||
AR=${CROSS_ROOT}/bin/${CROSS_PFX}-ar \
|
||||
CC=${CROSS_ROOT}/bin/${CROSS_PFX}-gcc \
|
||||
CXX=${CROSS_ROOT}/bin/${CROSS_PFX}-g++ \
|
||||
RANLIB=${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib
|
||||
|
||||
RUN ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-as /usr/bin/as && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ar /usr/bin/ar && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ld /usr/bin/ld && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-gcc /usr/bin/gcc && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-g++ /usr/bin/g++ && \
|
||||
ln -sf ${CROSS_ROOT}/bin/${CROSS_PFX}-ranlib /usr/bin/ranlib
|
||||
|
||||
COPY dependencies/toolchains/${CROSS_PFX}.cmake ${CROSS_ROOT}/lib/
|
||||
COPY dependencies/toolchains/Modules/${CROSS_PFX} /CMakeModules
|
||||
RUN mv -fv /CMakeModules/* /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/
|
||||
RUN ln -s /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/Generic.cmake /usr/share/cmake-`cmake --version|awk '{ print $3;exit }'|awk -F. '{print $1"."$2}'`/Modules/Platform/${OS_NAME}.cmake
|
||||
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/lib/${CROSS_PFX}.cmake
|
||||
ENV CMAKE_PREFIX_PATH /opt/${CROSS_PFX}:/opt/${CROSS_PFX}/usr
|
||||
ENV PATH ${PATH}:${CROSS_ROOT}/bin
|
||||
# END COMMON
|
||||
Reference in New Issue
Block a user