Testing Amiga and ST installation and initial building.
This commit is contained in:
parent
910a735c08
commit
21d70b7c33
4 changed files with 241 additions and 224 deletions
182
joeylib/build.sh
182
joeylib/build.sh
|
@ -1,9 +1,14 @@
|
||||||
#!/bin/bash -e
|
#!/bin/bash -ex
|
||||||
|
|
||||||
|
# Amiga
|
||||||
|
# https://github.com/bebbo/amiga-gcc
|
||||||
# m68k-amigaos-gcc -idirafter /home/scott/joey/sdks/amiga/m68k-amigaos/sys-include/machine -c ../src/joey.c
|
# m68k-amigaos-gcc -idirafter /home/scott/joey/sdks/amiga/m68k-amigaos/sys-include/machine -c ../src/joey.c
|
||||||
# m68k-amigaos-gcc -idirafter /home/scott/joey/sdks/amiga/m68k-amigaos/sys-include/machine -c ../src/jAmiga.c
|
# m68k-amigaos-gcc -idirafter /home/scott/joey/sdks/amiga/m68k-amigaos/sys-include/machine -c ../src/jAmiga.c
|
||||||
# m68k-amigaos-ar rcs libjoeylib.a *.o
|
# m68k-amigaos-ar rcs libjoeylib.a *.o
|
||||||
|
|
||||||
|
# ST
|
||||||
|
# http://tho-otto.de/crossmint.php
|
||||||
|
# https://github.com/pmandin/cleancode
|
||||||
# wget http://tho-otto.de/download/mint/m68k-atari-mint-base-20190606-linux.tar.xz
|
# wget http://tho-otto.de/download/mint/m68k-atari-mint-base-20190606-linux.tar.xz
|
||||||
# xz -d m68k-atari-mint-base-20190606-linux.tar.xz
|
# xz -d m68k-atari-mint-base-20190606-linux.tar.xz
|
||||||
# tar --strip-components=1 -xf ../../stuff/m68k-atari-mint-base-20190606-linux.tar
|
# tar --strip-components=1 -xf ../../stuff/m68k-atari-mint-base-20190606-linux.tar
|
||||||
|
@ -11,6 +16,20 @@
|
||||||
# m68k-atari-mint-gcc -c ../src/jST.c
|
# m68k-atari-mint-gcc -c ../src/jST.c
|
||||||
# m68k-atari-ar rcs libjoeylib.a *.o
|
# m68k-atari-ar rcs libjoeylib.a *.o
|
||||||
|
|
||||||
|
# 68k Mac
|
||||||
|
# https://github.com/autc04/Retro68
|
||||||
|
|
||||||
|
# Win16
|
||||||
|
# http://blog.ssokolow.com/archives/2017/10/19/useful-info-on-win16-targeting-compilers-and-a-list-of-resources/
|
||||||
|
# https://github.com/open-watcom/open-watcom-v2
|
||||||
|
# ./setup -i -dDstDir=/opt/watcom -dFullCDInstall=1
|
||||||
|
|
||||||
|
# DOS
|
||||||
|
# https://github.com/open-watcom/open-watcom-v2
|
||||||
|
|
||||||
|
# OS/2
|
||||||
|
# https://github.com/open-watcom/open-watcom-v2
|
||||||
|
|
||||||
|
|
||||||
SRC="${JOEY}/joeylib/joeylib/src"
|
SRC="${JOEY}/joeylib/joeylib/src"
|
||||||
BUILD="${JOEY}/joeylib/joeylib/build"
|
BUILD="${JOEY}/joeylib/joeylib/build"
|
||||||
|
@ -24,6 +43,23 @@ if [[ `uname -n` == 'joey' && `whoami` == 'scott' ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
function clearBuild() {
|
||||||
|
if [[ -d "${BUILD}" ]]; then
|
||||||
|
rm -rf "${BUILD}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function createBuildAndDist() {
|
||||||
|
clearBuild
|
||||||
|
mkdir -p "${BUILD}"
|
||||||
|
if [[ -d "${DIST}" ]]; then
|
||||||
|
rm -rf "${DIST}"
|
||||||
|
fi
|
||||||
|
mkdir -p "${DIST}"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function doIIgsBuild() {
|
function doIIgsBuild() {
|
||||||
|
|
||||||
local CADIUS="${JOEY}/sdks/IIgs/cadius/cadius"
|
local CADIUS="${JOEY}/sdks/IIgs/cadius/cadius"
|
||||||
|
@ -102,70 +138,23 @@ function doPCBuild() {
|
||||||
local G_CFLAGS="-Wall -D_REENTRANT_ -I${SRC} -c"
|
local G_CFLAGS="-Wall -D_REENTRANT_ -I${SRC} -c"
|
||||||
|
|
||||||
echo "*** Starting ${DIST}"
|
echo "*** Starting ${DIST}"
|
||||||
if [[ -d "${BUILD}" ]]; then
|
createBuildAndDist
|
||||||
rm -rf "${BUILD}"
|
|
||||||
fi
|
|
||||||
mkdir -p "${BUILD}"
|
|
||||||
if [[ -d "${DIST}" ]]; then
|
|
||||||
rm -rf "${DIST}"
|
|
||||||
fi
|
|
||||||
mkdir -p "${DIST}"
|
|
||||||
|
|
||||||
pushd "${BUILD}"
|
pushd "${BUILD}"
|
||||||
"${CC}" ${CFLAGS} ${G_CFLAGS} -o jPC.o "${SRC}/jPC.c"
|
"${CC}" ${CFLAGS} ${G_CFLAGS} -o jPC.o "${SRC}/jPC.c"
|
||||||
"${CC}" ${CFLAGS} ${G_CFLAGS} -o joey.o "${SRC}/joey.c"
|
"${CC}" ${CFLAGS} ${G_CFLAGS} -o joey.o "${SRC}/joey.c"
|
||||||
|
|
||||||
ar x "${INSTALLED}/libSDL2.a"
|
ar x "${INSTALLED}/libSDL2.a"
|
||||||
ar x "${INSTALLED}/libSDL2_mixer.a"
|
ar x "${INSTALLED}/libSDL2_mixer.a"
|
||||||
ar x "${INSTALLED}/libmodplug.a"
|
ar x "${INSTALLED}/libmodplug.a"
|
||||||
|
|
||||||
ar rcs "${DIST}/libjoeylib.a" *.o
|
ar rcs "${DIST}/libjoeylib.a" *.o
|
||||||
popd
|
popd
|
||||||
|
|
||||||
if [[ -d "${BUILD}" ]]; then
|
|
||||||
rm -rf "${BUILD}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
#***TODO*** Add optional test app execution for Windows (WINE) and Linux here
|
|
||||||
|
|
||||||
cp -f "${JOEY}/joeylib/joeylib/joey.pri" "${JOEY}/dist/."
|
cp -f "${JOEY}/joeylib/joeylib/joey.pri" "${JOEY}/dist/."
|
||||||
cp -f "${JOEY}/joeylib/scripts/build-PC.helper.sh" "${JOEY}/dist/."
|
cp -f "${JOEY}/joeylib/scripts/build-PC.helper.sh" "${JOEY}/dist/."
|
||||||
}
|
|
||||||
|
|
||||||
|
clearBuild
|
||||||
|
|
||||||
function doVBCCBuild() {
|
#***TODO*** Add optional test app execution for Windows (WINE) and Linux here - maybe even a macOS VM
|
||||||
|
|
||||||
local PLATFORM=
|
|
||||||
local CFILE=
|
|
||||||
local G_CFLAGS="-c99 -I${SRC} -speed -c"
|
|
||||||
|
|
||||||
if [[ "${ARCH}" == "st" ]]; then
|
|
||||||
PLATFORM=tos
|
|
||||||
CFILE="jST"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${ARCH}" == "amiga" ]]; then
|
|
||||||
PLATFORM=aos68k
|
|
||||||
CFILE="jAmiga"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "*** Starting ${DIST}"
|
|
||||||
if [[ -d "${BUILD}" ]]; then
|
|
||||||
rm -rf "${BUILD}"
|
|
||||||
fi
|
|
||||||
mkdir -p "${BUILD}"
|
|
||||||
if [[ -d "${DIST}" ]]; then
|
|
||||||
rm -rf "${DIST}"
|
|
||||||
fi
|
|
||||||
mkdir -p "${DIST}"
|
|
||||||
|
|
||||||
pushd "${BUILD}"
|
|
||||||
vc +${PLATFORM} ${CFLAGS} ${G_CFLAGS} "${SRC}/joey.c" -o joey.o
|
|
||||||
vc +${PLATFORM} ${CFLAGS} ${G_CFLAGS} "${SRC}/${CFILE}.c" -o ${CFILE}.o
|
|
||||||
vlink ${LDFLAGS} joey.o ${CFILE}.o -o joeylib.lib
|
|
||||||
popd
|
|
||||||
|
|
||||||
#hatari -c "${JOEY}/sdks/st/hatari.cfg" -d out/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -175,37 +164,30 @@ TEST=$2
|
||||||
|
|
||||||
if [[ "${ARCH}x" == "x" ]]; then
|
if [[ "${ARCH}x" == "x" ]]; then
|
||||||
echo "$0 [arch | \"all\"]"
|
echo "$0 [arch | \"all\"]"
|
||||||
echo '(Where "arch" is iigs, st, linux32, linux64, windows32, windows64, macos32, or macos64.)'
|
echo '(Where "arch" is amiga, iigs, linux32, linux64, macos32, macos64, st, windows32, or windows64.)'
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "amigax" ]]; then
|
||||||
|
DIST="${JOEY}/dist/amiga"
|
||||||
|
|
||||||
|
echo "*** Starting ${DIST}"
|
||||||
|
createBuildAndDist
|
||||||
|
pushd "${BUILD}"
|
||||||
|
m68k-amigaos-gcc -c "${SRC}/joey.c"
|
||||||
|
m68k-amigaos-gcc -c "${SRC}/jAmiga.c"
|
||||||
|
m68k-amigaos-ar rcs "${DIST}/libjoeylib.a" *.o
|
||||||
|
popd
|
||||||
|
clearBuild
|
||||||
|
|
||||||
|
#***TODO*** Emulator
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "iigsx" ]]; then
|
if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "iigsx" ]]; then
|
||||||
DIST="${JOEY}/dist/IIgs"
|
DIST="${JOEY}/dist/IIgs"
|
||||||
doIIgsBuild ${TEST}
|
doIIgsBuild ${TEST}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "stx" ]]; then
|
|
||||||
SDK="${JOEY}/sdks/vbcc/targets/m68k-atari"
|
|
||||||
CFLAGS="-cpu=68000 -I${SDK}/includes"
|
|
||||||
#LDFLAGS="-bvobj-be -EB -L${JOEY}/sdks/vbcc/targets/m68k-atari/lib"
|
|
||||||
LDFLAGS="-baoutnull -EB -L${SDK}/lib -lvc"
|
|
||||||
DIST="${JOEY}/dist/ST"
|
|
||||||
doVBCCBuild
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "amigax" ]]; then
|
|
||||||
#SDK="${JOEY}/sdks/amiga"
|
|
||||||
#CFLAGS="-cpu=68000 -I${SDK}/NDK_3.9/Include/include_h -I${SDK}/PosixLib/include"
|
|
||||||
#LDFLAGS="-bamigahunk -EB -L${SDK}/NDK_3.9/Include/linker_libs -L${SDK}/PosixLib/AmigaOS3 -lposix -lamiga"
|
|
||||||
SDK="${JOEY}/sdks/vbcc/targets/m68k-amigaos"
|
|
||||||
SDK2="${JOEY}/sdks/amiga/PosixLib"
|
|
||||||
CFLAGS="-cpu=68000 -I${SDK}/includes -I${SDK2}/includes"
|
|
||||||
#LDFLAGS="-bamigahunk -Bshareable -Cvbcc -mrel ${SDK}/lib/startup.o -L${SDK}/lib -L${SDK2}/AmigaOS3 -lvc -lposix"
|
|
||||||
LDFLAGS="-bvobj-be -Bshareable -Cvbcc -mrel ${SDK}/lib/startup.o -L${SDK}/lib -L${SDK2}/AmigaOS3 -lvc -lposix"
|
|
||||||
DIST="${JOEY}/dist/Amiga"
|
|
||||||
doVBCCBuild
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "linux64x" ]]; then
|
if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "linux64x" ]]; then
|
||||||
CC="gcc"
|
CC="gcc"
|
||||||
CFLAGS=""
|
CFLAGS=""
|
||||||
|
@ -224,24 +206,6 @@ if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "linux32x" ]]; then
|
||||||
doPCBuild
|
doPCBuild
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "windows64x" ]]; then
|
|
||||||
CC="x86_64-w64-mingw32-gcc"
|
|
||||||
CFLAGS=""
|
|
||||||
LDFLAGS=""
|
|
||||||
DIST="${JOEY}/dist/windows/x64"
|
|
||||||
INSTALLED="${DEPS}/windows/x64/lib"
|
|
||||||
doPCBuild
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "windows32x" ]]; then
|
|
||||||
CC="i686-w64-mingw32-gcc"
|
|
||||||
CFLAGS=""
|
|
||||||
LDFLAGS=""
|
|
||||||
DIST="${JOEY}/dist/windows/i386"
|
|
||||||
INSTALLED="${DEPS}/windows/i386/lib"
|
|
||||||
doPCBuild
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "macos32x" ]]; then
|
if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "macos32x" ]]; then
|
||||||
CC="o32-clang"
|
CC="o32-clang"
|
||||||
CFLAGS=""
|
CFLAGS=""
|
||||||
|
@ -260,5 +224,39 @@ if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "macos64x" ]]; then
|
||||||
doPCBuild
|
doPCBuild
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "stx" ]]; then
|
||||||
|
DIST="${JOEY}/dist/st"
|
||||||
|
|
||||||
|
echo "*** Starting ${DIST}"
|
||||||
|
createBuildAndDist
|
||||||
|
pushd "${BUILD}"
|
||||||
|
m68k-atari-mint-gcc -c "${SRC}/joey.c"
|
||||||
|
m68k-atari-mint-gcc -c "${SRC}/jST.c"
|
||||||
|
m68k-atari-mint-ar rcs "${DIST}/libjoeylib.a" *.o
|
||||||
|
popd
|
||||||
|
clearBuild
|
||||||
|
|
||||||
|
#***TODO***
|
||||||
|
#hatari -c "${JOEY}/sdks/st/hatari.cfg" -d out/
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "windows64x" ]]; then
|
||||||
|
CC="x86_64-w64-mingw32-gcc"
|
||||||
|
CFLAGS=""
|
||||||
|
LDFLAGS=""
|
||||||
|
DIST="${JOEY}/dist/windows/x64"
|
||||||
|
INSTALLED="${DEPS}/windows/x64/lib"
|
||||||
|
doPCBuild
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "windows32x" ]]; then
|
||||||
|
CC="i686-w64-mingw32-gcc"
|
||||||
|
CFLAGS=""
|
||||||
|
LDFLAGS=""
|
||||||
|
DIST="${JOEY}/dist/windows/i386"
|
||||||
|
INSTALLED="${DEPS}/windows/i386/lib"
|
||||||
|
doPCBuild
|
||||||
|
fi
|
||||||
|
|
||||||
mkdir -p "${JOEY}/dist"
|
mkdir -p "${JOEY}/dist"
|
||||||
cp -f "${SRC}/joey.h" "${JOEY}/dist/."
|
cp -f "${SRC}/joey.h" "${JOEY}/dist/."
|
||||||
|
|
|
@ -44,6 +44,11 @@ typedef unsigned char byte;
|
||||||
#define JUINT16_MIN 0
|
#define JUINT16_MIN 0
|
||||||
#define JUINT16_MAX 65535
|
#define JUINT16_MAX 65535
|
||||||
|
|
||||||
|
#define JINT32_MIN -2147483648
|
||||||
|
#define JINT32_MAX 2147483647
|
||||||
|
#define JUINT32_MIN 0
|
||||||
|
#define JUINT32_MAX 4294967295
|
||||||
|
|
||||||
#define JOEY_DISPLAY (byte *)NULL
|
#define JOEY_DISPLAY (byte *)NULL
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -32,11 +32,10 @@ G_SCRIPT=
|
||||||
G_UID=$(id -ru)
|
G_UID=$(id -ru)
|
||||||
G_GID=$(id -rg)
|
G_GID=$(id -rg)
|
||||||
G_IS_INSTALLED=()
|
G_IS_INSTALLED=()
|
||||||
G_VBCC_CURRENT="2017-08-14"
|
|
||||||
G_OSX_MIN=10.6
|
G_OSX_MIN=10.6
|
||||||
G_OSX_DARWIN=17
|
G_OSX_DARWIN=17
|
||||||
G_IIGS=0
|
G_IIGS=0
|
||||||
#G_AMIGA=1
|
G_AMIGA=1
|
||||||
G_ATARIST=1
|
G_ATARIST=1
|
||||||
G_LINUX32=2
|
G_LINUX32=2
|
||||||
G_LINUX64=3
|
G_LINUX64=3
|
||||||
|
@ -80,12 +79,13 @@ function buildMacOSXSDK() {
|
||||||
|
|
||||||
|
|
||||||
function buildPCDeps() {
|
function buildPCDeps() {
|
||||||
local DIST=$1
|
local TARGET=$1
|
||||||
local PREFIX=$2
|
local DIST=$2
|
||||||
local CROSS=$3
|
local PREFIX=$3
|
||||||
local CC_EXPORT=$4
|
local CROSS=$4
|
||||||
local CXX_EXPORT=$5
|
local CC_EXPORT=$5
|
||||||
local LD_EXPORT=$6
|
local CXX_EXPORT=$6
|
||||||
|
local LD_EXPORT=$7
|
||||||
local CC_OLD=$CC
|
local CC_OLD=$CC
|
||||||
local CXX_OLD=$CXX
|
local CXX_OLD=$CXX
|
||||||
local LD_OLD=$LD_LIBRARY_PATH
|
local LD_OLD=$LD_LIBRARY_PATH
|
||||||
|
@ -187,24 +187,8 @@ function buildPCDeps() {
|
||||||
export CXX="${CXX_OLD}"
|
export CXX="${CXX_OLD}"
|
||||||
export LD_LIBRARY_PATH="${LD_OLD}"
|
export LD_LIBRARY_PATH="${LD_OLD}"
|
||||||
|
|
||||||
# JoeyLib
|
|
||||||
purple "Building JoeyLib"
|
purple "Building JoeyLib"
|
||||||
if [[ -d "${DIST}" ]]; then
|
"${G_PARENT}/joeylib/joeylib/build.sh" ${TARGET} &> /dev/null
|
||||||
rm -rf "${DIST}"
|
|
||||||
fi
|
|
||||||
mkdir -p "${DIST}"
|
|
||||||
clearPCDepsBuild
|
|
||||||
pushd build &> /dev/null
|
|
||||||
${CC_EXPORT} ${G_CFLAGS} -o jPC.o ${SRC}/jPC.c
|
|
||||||
${CC_EXPORT} ${G_CFLAGS} -o joey.o ${SRC}/joey.c
|
|
||||||
ar x ${PREFIX}/lib/libSDL2.a
|
|
||||||
ar x ${PREFIX}/lib/libSDL2_mixer.a
|
|
||||||
ar x ${PREFIX}/lib/libmodplug.a
|
|
||||||
ar rcs ${DIST}/libjoeylib.a *.o
|
|
||||||
cp -f ${SRC}/joey.h ${DIST}/../..
|
|
||||||
cp -f ${SRC}/../joey.pri ${DIST}/../..
|
|
||||||
cp -f ${SRC}/../../scripts/build-PC.helper.sh ${DIST}/../..
|
|
||||||
popd &> /dev/null
|
|
||||||
|
|
||||||
popd &> /dev/null
|
popd &> /dev/null
|
||||||
}
|
}
|
||||||
|
@ -242,10 +226,11 @@ function configWrite() {
|
||||||
echo -e "\t\"\${JOEY}/sdks/IIgs/mountORCA.sh\"" >> "${O}"
|
echo -e "\t\"\${JOEY}/sdks/IIgs/mountORCA.sh\"" >> "${O}"
|
||||||
echo "fi" >> "${O}"
|
echo "fi" >> "${O}"
|
||||||
fi
|
fi
|
||||||
|
if [[ ${G_IS_INSTALLED[$G_AMIGA]} == 1 ]]; then
|
||||||
|
P=\${JOEY}/sdks/amiga/bin:${P}
|
||||||
|
fi
|
||||||
if [[ ${G_IS_INSTALLED[$G_ATARIST]} == 1 ]]; then
|
if [[ ${G_IS_INSTALLED[$G_ATARIST]} == 1 ]]; then
|
||||||
# All VBCC targets get these
|
P=\${JOEY}/sdks/st/bin:${P}
|
||||||
P=\${JOEY}/sdks/vbcc/bin:${P}
|
|
||||||
echo "export VBCC=\"\${JOEY}/sdks/vbcc\"" >> "${O}"
|
|
||||||
fi
|
fi
|
||||||
if [[ ${G_IS_INSTALLED[$G_MAC32]} == 1 || ${G_IS_INSTALLED[$G_MAC64]} == 1 ]]; then
|
if [[ ${G_IS_INSTALLED[$G_MAC32]} == 1 || ${G_IS_INSTALLED[$G_MAC64]} == 1 ]]; then
|
||||||
P=\${JOEY}/sdks/macOS/bin:${P}
|
P=\${JOEY}/sdks/macOS/bin:${P}
|
||||||
|
@ -327,6 +312,29 @@ function fetchGitHubRelease() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function installAmiga() {
|
||||||
|
local RESULT=
|
||||||
|
local AMIGA="${G_PARENT}/sdks/amiga"
|
||||||
|
|
||||||
|
G_IS_INSTALLED[$G_AMIGA]=1
|
||||||
|
configWrite
|
||||||
|
configRead
|
||||||
|
|
||||||
|
purple "Installing Amiga GCC"
|
||||||
|
if [[ ! -d amiga-gcc ]]; then
|
||||||
|
git clone https://github.com/bebbo/amiga-gcc.git
|
||||||
|
fi
|
||||||
|
pushd amiga-gcc &> /dev/null
|
||||||
|
make all PREFIX="${AMIGA}"
|
||||||
|
popd &> /dev/null
|
||||||
|
|
||||||
|
purple "Building JoeyLib"
|
||||||
|
"${G_PARENT}/joeylib/joeylib/build.sh" amiga &> /dev/null
|
||||||
|
|
||||||
|
#***TODO*** Needs emulator
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function installIIgs() {
|
function installIIgs() {
|
||||||
local RESULT=
|
local RESULT=
|
||||||
local O=
|
local O=
|
||||||
|
@ -421,6 +429,7 @@ function installIIgs() {
|
||||||
|
|
||||||
purple "Upgrading ORCA/C"
|
purple "Upgrading ORCA/C"
|
||||||
fetchGitHubRelease RESULT byteworksinc ORCA-C 2mg
|
fetchGitHubRelease RESULT byteworksinc ORCA-C 2mg
|
||||||
|
#***TODO*** This fails with a mmap error sometimes - no idea why
|
||||||
"${IIGS}/opus-extractor" -v -s / ${RESULT} "${IIGS}/ORCA"
|
"${IIGS}/opus-extractor" -v -s / ${RESULT} "${IIGS}/ORCA"
|
||||||
|
|
||||||
pushd ${GOLDEN_GATE} &> /dev/null
|
pushd ${GOLDEN_GATE} &> /dev/null
|
||||||
|
@ -515,34 +524,19 @@ function installIIgs() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
purple "Building JoeyLib"
|
purple "Building JoeyLib"
|
||||||
O=${IIGS}/ORCA/out/joey
|
"${G_PARENT}/joeylib/joeylib/build.sh" iigs &> /dev/null
|
||||||
if [[ -d "${O}" ]]; then
|
|
||||||
rm -rf "${O}"
|
|
||||||
fi
|
|
||||||
mkdir -p "${O}"
|
|
||||||
pushd "${JOEY}/joeylib/joeylib/src" &> /dev/null
|
|
||||||
iix assemble +L jIIgs.asm keep=31:/out/joey/jIIgsasm > jIIgs.asm.dis
|
|
||||||
iix compile jIIgs.c keep=31:/out/joey/jIIgsc
|
|
||||||
iix compile joey.c keep=31:/out/joey/joey
|
|
||||||
iix makelib 31:/out/joey/joeylib +31:/out/joey/jIIgsasm.A
|
|
||||||
iix makelib 31:/out/joey/joeylib +31:/out/joey/jIIgsasm.ROOT
|
|
||||||
iix makelib 31:/out/joey/joeylib +31:/out/joey/jIIgsc.a
|
|
||||||
iix makelib 31:/out/joey/joeylib +31:/out/joey/joey.a
|
|
||||||
popd &> /dev/null
|
|
||||||
cp -f "${O}/joeylib" "${JOEY}/dist/IIgs/joeylib#b20000"
|
|
||||||
cp -f "${JOEY}/joeylib/joeylib/src/joey.h" "${JOEY}/dist/."
|
|
||||||
cp -f "${JOEY}/joeylib/scripts/build-IIgs.helper.sh" "${JOEY}/dist/."
|
|
||||||
|
|
||||||
"${IIGS}/unmountORCA.sh"
|
"${IIGS}/unmountORCA.sh"
|
||||||
|
|
||||||
if [[ ! -e "${IIGS}/hfsDrive.img.backup.tar.bz2" ]]; then
|
if [[ ! -e "${IIGS}/hfsDrive.img.backup.tar.bz2" ]]; then
|
||||||
tar cjf "${IIGS}/hfsDrive.img.backup.tar.bz2" "${IIGS}/hfsDrive.img"
|
tar cjf "${IIGS}/hfsDrive.img.backup.tar.bz2" "${IIGS}/hfsDrive.img" &> /dev/null
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function installLinux32() {
|
function installLinux32() {
|
||||||
buildPCDeps \
|
buildPCDeps \
|
||||||
|
"linux32" \
|
||||||
"$(pwd)/../dist/linux/i386" \
|
"$(pwd)/../dist/linux/i386" \
|
||||||
"$(pwd)/deps/installed/linux/i386" \
|
"$(pwd)/deps/installed/linux/i386" \
|
||||||
"x86_64-linux-gnu" \
|
"x86_64-linux-gnu" \
|
||||||
|
@ -554,6 +548,7 @@ function installLinux32() {
|
||||||
|
|
||||||
function installLinux64() {
|
function installLinux64() {
|
||||||
buildPCDeps \
|
buildPCDeps \
|
||||||
|
"linux64" \
|
||||||
"$(pwd)/../dist/linux/x64" \
|
"$(pwd)/../dist/linux/x64" \
|
||||||
"$(pwd)/deps/installed/linux/x64" \
|
"$(pwd)/deps/installed/linux/x64" \
|
||||||
"x86_64-linux-gnu" \
|
"x86_64-linux-gnu" \
|
||||||
|
@ -566,6 +561,7 @@ function installLinux64() {
|
||||||
function installmacOS32() {
|
function installmacOS32() {
|
||||||
buildMacOSXSDK
|
buildMacOSXSDK
|
||||||
buildPCDeps \
|
buildPCDeps \
|
||||||
|
"macos32" \
|
||||||
"$(pwd)/../dist/macOS/i386" \
|
"$(pwd)/../dist/macOS/i386" \
|
||||||
"$(pwd)/deps/installed/macOS/i386" \
|
"$(pwd)/deps/installed/macOS/i386" \
|
||||||
"i386-apple-darwin${G_OSX_DARWIN}" \
|
"i386-apple-darwin${G_OSX_DARWIN}" \
|
||||||
|
@ -578,6 +574,7 @@ function installmacOS32() {
|
||||||
function installmacOS64() {
|
function installmacOS64() {
|
||||||
buildMacOSXSDK
|
buildMacOSXSDK
|
||||||
buildPCDeps \
|
buildPCDeps \
|
||||||
|
"macos64" \
|
||||||
"$(pwd)/../dist/macOS/x64" \
|
"$(pwd)/../dist/macOS/x64" \
|
||||||
"$(pwd)/deps/installed/macOS/x64" \
|
"$(pwd)/deps/installed/macOS/x64" \
|
||||||
"x86_64-apple-darwin${G_OSX_DARWIN}" \
|
"x86_64-apple-darwin${G_OSX_DARWIN}" \
|
||||||
|
@ -587,30 +584,9 @@ function installmacOS64() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function installWin32() {
|
|
||||||
buildPCDeps \
|
|
||||||
"$(pwd)/../dist/windows/i386" \
|
|
||||||
"$(pwd)/deps/installed/windows/i386" \
|
|
||||||
"i686-w64-mingw32" \
|
|
||||||
"i686-w64-mingw32-gcc -static-libgcc" \
|
|
||||||
"" \
|
|
||||||
""
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function installWin64() {
|
|
||||||
buildPCDeps \
|
|
||||||
"$(pwd)/../dist/windows/x64" \
|
|
||||||
"$(pwd)/deps/installed/windows/x64" \
|
|
||||||
"x86_64-w64-mingw32" \
|
|
||||||
"x86_64-w64-mingw32-gcc -static-libgcc" \
|
|
||||||
"x86_64-w64-mingw32-g++ -static-libstdc++" \
|
|
||||||
""
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function installST() {
|
function installST() {
|
||||||
local ST="${G_PARENT}/sdks/st"
|
local ST="${G_PARENT}/sdks/st"
|
||||||
|
local ST_GCC="m68k-atari-mint-base-20190606-linux.tar"
|
||||||
|
|
||||||
G_IS_INSTALLED[$G_ATARIST]=1
|
G_IS_INSTALLED[$G_ATARIST]=1
|
||||||
configWrite
|
configWrite
|
||||||
|
@ -675,63 +651,52 @@ function installST() {
|
||||||
CONFIG
|
CONFIG
|
||||||
fi
|
fi
|
||||||
|
|
||||||
installVbcc
|
if [[ ! -d "${ST}/bin" ]]; then
|
||||||
|
purple "Installing Atari ST GCC"
|
||||||
if [[ ! -e "${G_PARENT}/sdks/vbcc/targets/m68k-atari" ]]; then
|
if [[ -e "${ST_GCC}" ]]; then
|
||||||
purple "Configuring VBCC"
|
rm "${ST_GCC}"
|
||||||
download http://server.owl.de/~frank/vbcc/${G_VBCC_CURRENT}/vbcc_target_m68k-atari.lha
|
fi
|
||||||
lha xf vbcc_target_m68k-atari.lha
|
#***TODO*** Build from github instead
|
||||||
mkdir -p "${G_PARENT}/sdks/vbcc/targets"
|
download http://tho-otto.de/download/mint/${ST_GCC}.xz
|
||||||
cp -rf vbcc_target_m68k-atari/targets/m68k-atari "${G_PARENT}/sdks/vbcc/targets/."
|
xz -d ${ST_GCC}.xz
|
||||||
|
pushd "${ST}" &> /dev/null
|
||||||
|
tar --strip-components=1 -xf "${G_PARENT}/${G_WORK}/${ST_GCC}"
|
||||||
|
popd &> /dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#hatari -c ${JOEY}/sdks/st/hatari.cfg
|
purple "Building JoeyLib"
|
||||||
|
"${G_PARENT}/joeylib/joeylib/build.sh" st &> /dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function installVbcc() {
|
function installWin32() {
|
||||||
local VBCC="${G_PARENT}/sdks/vbcc"
|
buildPCDeps \
|
||||||
|
"windows32" \
|
||||||
|
"$(pwd)/../dist/windows/i386" \
|
||||||
|
"$(pwd)/deps/installed/windows/i386" \
|
||||||
|
"i686-w64-mingw32" \
|
||||||
|
"i686-w64-mingw32-gcc -static-libgcc" \
|
||||||
|
"" \
|
||||||
|
""
|
||||||
|
}
|
||||||
|
|
||||||
if [[ ! -e "${VBCC}/config" ]]; then
|
|
||||||
purple "Installing VBCC"
|
|
||||||
download http://sun.hasenbraten.de/vasm/release/vasm.tar.gz
|
|
||||||
download http://sun.hasenbraten.de/vlink/release/vlink.tar.gz
|
|
||||||
download http://www.ibaug.de/vbcc/vbcc.tar.gz
|
|
||||||
download http://server.owl.de/~frank/vbcc/${G_VBCC_CURRENT}/vbcc_unix_config.tar
|
|
||||||
|
|
||||||
tar xzf vasm.tar.gz
|
function installWin64() {
|
||||||
tar xzf vlink.tar.gz
|
buildPCDeps \
|
||||||
tar xzf vbcc.tar.gz
|
"windows64" \
|
||||||
tar xf vbcc_unix_config.tar
|
"$(pwd)/../dist/windows/x64" \
|
||||||
|
"$(pwd)/deps/installed/windows/x64" \
|
||||||
pushd vasm &> /dev/null
|
"x86_64-w64-mingw32" \
|
||||||
make CPU=m68k SYNTAX=mot
|
"x86_64-w64-mingw32-gcc -static-libgcc" \
|
||||||
popd &> /dev/null
|
"x86_64-w64-mingw32-g++ -static-libstdc++" \
|
||||||
|
""
|
||||||
pushd vlink &> /dev/null
|
|
||||||
mkdir -p objects
|
|
||||||
make
|
|
||||||
popd &> /dev/null
|
|
||||||
|
|
||||||
pushd vbcc &> /dev/null
|
|
||||||
mkdir -p bin
|
|
||||||
yes "" | make TARGET=m68k
|
|
||||||
yes "" | make TARGET=m68ks
|
|
||||||
popd &> /dev/null
|
|
||||||
|
|
||||||
mkdir -p "${VBCC}/bin"
|
|
||||||
cp vasm/{vasmm68k_mot,vobjdump} "${VBCC}/bin/."
|
|
||||||
cp vlink/vlink "${VBCC}/bin/."
|
|
||||||
cp vbcc/bin/* "${VBCC}/bin/."
|
|
||||||
mv config "${VBCC}/."
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function mainMenu() {
|
function mainMenu() {
|
||||||
local ITEMS=(
|
local ITEMS=(
|
||||||
"IIgs"
|
"IIgs"
|
||||||
# "Amiga"
|
"Amiga"
|
||||||
"ST"
|
"ST"
|
||||||
"Linux32"
|
"Linux32"
|
||||||
"Linux64"
|
"Linux64"
|
||||||
|
@ -744,7 +709,7 @@ function mainMenu() {
|
||||||
)
|
)
|
||||||
local DESC=(
|
local DESC=(
|
||||||
"Apple IIgs 16"
|
"Apple IIgs 16"
|
||||||
# "Commodore Amiga 16"
|
"Commodore Amiga 16"
|
||||||
"Atari ST 16"
|
"Atari ST 16"
|
||||||
"Linux 32"
|
"Linux 32"
|
||||||
"Linux 64"
|
"Linux 64"
|
||||||
|
@ -757,8 +722,8 @@ function mainMenu() {
|
||||||
)
|
)
|
||||||
local CHECK=(
|
local CHECK=(
|
||||||
"IIgs/joeylib#b20000"
|
"IIgs/joeylib#b20000"
|
||||||
# "Amiga"
|
"amiga/libjoeylib.a"
|
||||||
"ST/libjoeylib.a"
|
"st/libjoeylib.a"
|
||||||
"linux/i386/libjoeylib.a"
|
"linux/i386/libjoeylib.a"
|
||||||
"linux/x64/libjoeylib.a"
|
"linux/x64/libjoeylib.a"
|
||||||
"windows/i386/libjoeylib.a"
|
"windows/i386/libjoeylib.a"
|
||||||
|
@ -776,7 +741,7 @@ function mainMenu() {
|
||||||
|
|
||||||
G_IS_INSTALLED=(
|
G_IS_INSTALLED=(
|
||||||
0
|
0
|
||||||
# 0
|
0
|
||||||
0
|
0
|
||||||
0
|
0
|
||||||
0
|
0
|
||||||
|
@ -853,14 +818,64 @@ function start() {
|
||||||
# See if all the packages we need are installed
|
# See if all the packages we need are installed
|
||||||
echo ""
|
echo ""
|
||||||
tBoldBox tBLUE "Examining system..."
|
tBoldBox tBLUE "Examining system..."
|
||||||
tCheckPackages MISSING cmake ragel hfsplus hfsutils hfsprogs libreadline-dev libedit-dev \
|
tCheckPackages MISSING \
|
||||||
build-essential git mercurial texinfo libtool autoconf automake re2c \
|
autoconf \
|
||||||
gcc-multilib g++-multilib mingw-w64 gdb-mingw-w64 clang llvm-dev libxml2-dev \
|
automake \
|
||||||
uuid-dev libssl-dev bash patch make tar xz-utils bzip2 gzip sed cpio \
|
bash \
|
||||||
libpulse-dev{,:i386} libasound2-dev{,:i386} genisoimage \
|
bison \
|
||||||
libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libfreetype6-dev libpcap0.8-dev \
|
build-essential \
|
||||||
php-cli msitools hatari lhasa bison xcftools libfuse-dev liblzma-dev libbz2-dev
|
bzip2 \
|
||||||
|
clang \
|
||||||
|
cmake \
|
||||||
|
cpio \
|
||||||
|
flex \
|
||||||
|
g++-multilib \
|
||||||
|
gcc-multilib \
|
||||||
|
gdb-mingw-w64 \
|
||||||
|
genisoimage \
|
||||||
|
gettext \
|
||||||
|
git \
|
||||||
|
gzip \
|
||||||
|
hatari \
|
||||||
|
hfsplus \
|
||||||
|
hfsprogs \
|
||||||
|
hfsutils \
|
||||||
|
lhasa \
|
||||||
|
libasound2-dev{,:i386} \
|
||||||
|
libbz2-dev \
|
||||||
|
libedit-dev \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libfuse-dev \
|
||||||
|
libgmp-dev \
|
||||||
|
liblzma-dev \
|
||||||
|
libmpc-dev \
|
||||||
|
libmpfr-dev \
|
||||||
|
libncurses5-dev \
|
||||||
|
libpcap0.8-dev \
|
||||||
|
libpulse-dev{,:i386} \
|
||||||
|
libreadline-dev \
|
||||||
|
libsdl2-dev \
|
||||||
|
libsdl2-image-dev \
|
||||||
|
libsdl2-mixer-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libtool \
|
||||||
|
libxml2-dev \
|
||||||
|
llvm-dev \
|
||||||
|
make \
|
||||||
|
mercurial \
|
||||||
|
mingw-w64 \
|
||||||
|
msitools \
|
||||||
|
patch \
|
||||||
|
php-cli \
|
||||||
|
ragel \
|
||||||
|
re2c \
|
||||||
|
sed \
|
||||||
|
tar \
|
||||||
|
texinfo \
|
||||||
|
uuid-dev \
|
||||||
|
wget \
|
||||||
|
xcftools \
|
||||||
|
xz-utils
|
||||||
if [[ "${MISSING}" != "" ]]; then
|
if [[ "${MISSING}" != "" ]]; then
|
||||||
if (whiptail --title "${G_TITLE}" --yesno "Some required packages are missing.\n\nInstall them now?" 9 40); then
|
if (whiptail --title "${G_TITLE}" --yesno "Some required packages are missing.\n\nInstall them now?" 9 40); then
|
||||||
TEMP=" ${MISSING//[^ ]}"
|
TEMP=" ${MISSING//[^ ]}"
|
||||||
|
|
|
@ -5,9 +5,11 @@
|
||||||
|
|
||||||
export JOEY="/home/scott/joey"
|
export JOEY="/home/scott/joey"
|
||||||
|
|
||||||
# Amiga & Atari ST Cross Compiler
|
# Amiga Cross Compiler
|
||||||
export VBCC="${JOEY}/sdks/vbcc"
|
export PATH="${JOEY}/sdks/amiga/bin:${PATH}"
|
||||||
export PATH="${VBCC}/bin:${PATH}"
|
|
||||||
|
# Atari ST Cross Compiler
|
||||||
|
export PATH="${JOEY}/sdks/st/bin:${PATH}"
|
||||||
|
|
||||||
# IIgs Runtime & ORCA Compilers
|
# IIgs Runtime & ORCA Compilers
|
||||||
export GOLDEN_GATE="${JOEY}/sdks/IIgs/ORCA"
|
export GOLDEN_GATE="${JOEY}/sdks/IIgs/ORCA"
|
||||||
|
@ -17,9 +19,6 @@ export PATH="${JOEY}/sdks/IIgs:${PATH}"
|
||||||
export MACOSX_DEPLOYMENT_TARGET=10.6
|
export MACOSX_DEPLOYMENT_TARGET=10.6
|
||||||
export PATH="${JOEY}/sdks/macos/bin:${PATH}"
|
export PATH="${JOEY}/sdks/macos/bin:${PATH}"
|
||||||
|
|
||||||
# Amiga Cross Compiler
|
|
||||||
export PATH="${JOEY}/sdks/amiga/bin:${PATH}"
|
|
||||||
|
|
||||||
# Raspberry Pi Cross Compiler
|
# Raspberry Pi Cross Compiler
|
||||||
#export PATH="${JOEY}/sdks/pi/tools/arm-bcm2708/arm-bmc2708-linux-gnueabi/bin:${PATH}"
|
#export PATH="${JOEY}/sdks/pi/tools/arm-bcm2708/arm-bmc2708-linux-gnueabi/bin:${PATH}"
|
||||||
#export PATH="${JOEY}/sdks/pi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin:${PATH}"
|
#export PATH="${JOEY}/sdks/pi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin:${PATH}"
|
||||||
|
|
Loading…
Add table
Reference in a new issue