Author SHA1 Message Date
Dimitris Panokostas 1f5fd6486a Add codesets SDK to MorphOS image 2026-09-10 23:35:11 +02:00
Marlon Beijer 761b1871e9 Fix docker image build 2026-08-25 13:04:08 +02:00
Marlon Beijer ba2e2d5b91 Add arm64 for ppc-morphos toolchain 2025-06-10 12:43:24 +02:00
Marlon Beijer f91a11a996 Fix prep.sh for ppc-amigaos target 2025-06-02 12:33:33 +02:00
Marlon Beijer bb4de40d4b Fix build issues related to newer version of CMake 2025-06-02 12:07:30 +02:00
Marlon Beijer b8a444b13d Fix amigadev/crosstools:m68k-amigaos-gcc10 2024-09-25 23:38:35 +02:00
Marlon Beijer dbb0d28bc9 Fix building of ppc-amigaos image + add arm64 version of image 2024-09-25 23:01:37 +02:00
Marlon Beijer 918ce13c79 Fix Jenkinsfile 2024-09-23 20:15:14 +02:00
Marlon Beijer ef4c275727 Fix Jenkinsfile 2024-09-23 20:09:39 +02:00
Marlon Beijer 02ba44eec1 Add multi-arch build for m68k gcc13.1 build 2024-09-23 20:06:47 +02:00
Marlon Beijer f57d2e45d8 Fix multi-arch builds 2024-09-23 20:05:13 +02:00
Marlon a18b24a021 Merge branch 'master' of github.com:AmigaPorts/docker-amiga-gcc 2023-09-21 22:14:53 +02:00
Marlon ba5755d0ef . 2023-09-21 22:14:42 +02:00
Marlon Beijer 60f532fe14 Update toolchain files 2023-08-03 13:22:06 +02:00
Marlon Beijer 24d0285808 Fix line endings in scripts 2023-08-03 13:17:25 +02:00
Marlon Beijer 05df2c9733 Fix prefix path for alt images 2023-05-12 13:47:25 +02:00
Marlon Beijer 6a6b06c29a Merge branch 'master' of github.com:AmigaPorts/docker-amiga-gcc 2023-04-30 20:42:24 +02:00
Marlon Beijer e9ba17e617 Fix gcc10 build 2023-04-30 20:42:14 +02:00
Marlon Beijer 064ce49fae Merge pull request #11 from AmigaPorts/MBeijer-patch-1
Update LICENSE
2023-04-30 20:34:27 +02:00
Marlon Beijer 6dde4dbf45 Update toolchains in docker 2023-04-30 11:06:54 +02:00
Marlon Beijer 3e8bec4dd4 Update LICENSE
Closes #10
2023-04-27 14:55:20 +02:00
Marlon Beijer 215df63020 Update prep.sh for gcc13.1 builds 2023-04-27 13:54:34 +02:00
Marlon Beijer f6b4b63f6d Disable slack notifications 2023-01-30 11:32:26 +01:00
Marlon Beijer 85ef020952 Update toolchains submodule 2023-01-30 11:22:53 +01:00
Marlon 734f3161bf Fix m68k-amigaos image creation 2023-01-13 15:57:28 +01:00
Marlon Beijer 5c437762cd Update toolchains 2023-01-09 13:45:27 +01:00
Marlon Beijer bd9e05998a Fix gcc10 build 2022-12-12 23:21:51 +01:00
Marlon Beijer 0a61803e4d Update toolchains 2022-12-12 23:17:23 +01:00
Marlon Beijer ee477d88c7 Update toolchains + Add m68k-amigaos-gcc10 experimental build 2022-12-12 15:24:53 +01:00
Marlon Beijer cd0992be76 Update Dockerfile 2022-08-18 09:41:58 +02:00
Marlon Beijer be041006ff Fix m68k toolchain 2022-02-04 01:11:09 +01:00
Marlon Beijer 02e3aaf525 Add some nice-to-have includes/libs 2022-01-09 16:10:44 +01:00
Marlon Beijer cf0c08807d Fix args 2022-01-04 02:51:37 +01:00
Marlon Beijer 5fe3c30b1c Make use of build-args and one Dockerfile instead of multiple 2022-01-04 01:56:30 +01:00
Marlon Beijer af2aa2a2b9 Fix MorphOS toolchain 2022-01-02 22:09:54 +01:00
Marlon Beijer 21e9aff19d Improve Jenkinsfile 2022-01-02 00:46:12 +01:00
Marlon Beijer e59a95efb1 Improve Jenkinsfile 2022-01-02 00:23:48 +01:00
Marlon Beijer a93e460b63 Update Jenkinsfile 2022-01-01 23:52:36 +01:00
Marlon Beijer 371244693a Update Jenkinsfile 2022-01-01 23:31:30 +01:00
Marlon Beijer b655fbd2ab Merge branch 'master' of github.com:AmigaPorts/docker-amiga-gcc 2022-01-01 23:26:43 +01:00
Marlon Beijer 71b7b395df Update Jenkinsfile 2022-01-01 23:26:12 +01:00
apiraino 84d30defac Merge pull request #8 from ccawley2011/patch-1
Fix typo
2021-12-28 11:27:31 +01:00
Cameron Cawley cfb27eb010 Fix typo 2021-12-28 02:48:56 +00:00
17 changed files with 920 additions and 954 deletions
+84
View File
@@ -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
+20 -6
View File
@@ -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
View File
@@ -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
View File
@@ -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;
}
+373 -674
View File
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -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
-36
View File
@@ -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
@@ -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;
-48
View File
@@ -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
+58
View File
@@ -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}"
+58
View File
@@ -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}"
+82
View File
@@ -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}"
+53
View File
@@ -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}"
-46
View File
@@ -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
-46
View File
@@ -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
-46
View File
@@ -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