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/jAmiga.c
|
||||
# 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
|
||||
# xz -d m68k-atari-mint-base-20190606-linux.tar.xz
|
||||
# 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-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"
|
||||
BUILD="${JOEY}/joeylib/joeylib/build"
|
||||
|
@ -24,6 +43,23 @@ if [[ `uname -n` == 'joey' && `whoami` == 'scott' ]]; then
|
|||
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() {
|
||||
|
||||
local CADIUS="${JOEY}/sdks/IIgs/cadius/cadius"
|
||||
|
@ -102,70 +138,23 @@ function doPCBuild() {
|
|||
local G_CFLAGS="-Wall -D_REENTRANT_ -I${SRC} -c"
|
||||
|
||||
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}"
|
||||
createBuildAndDist
|
||||
|
||||
pushd "${BUILD}"
|
||||
"${CC}" ${CFLAGS} ${G_CFLAGS} -o jPC.o "${SRC}/jPC.c"
|
||||
"${CC}" ${CFLAGS} ${G_CFLAGS} -o joey.o "${SRC}/joey.c"
|
||||
|
||||
ar x "${INSTALLED}/libSDL2.a"
|
||||
ar x "${INSTALLED}/libSDL2_mixer.a"
|
||||
ar x "${INSTALLED}/libmodplug.a"
|
||||
|
||||
ar rcs "${DIST}/libjoeylib.a" *.o
|
||||
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/scripts/build-PC.helper.sh" "${JOEY}/dist/."
|
||||
}
|
||||
|
||||
clearBuild
|
||||
|
||||
function doVBCCBuild() {
|
||||
|
||||
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/
|
||||
#***TODO*** Add optional test app execution for Windows (WINE) and Linux here - maybe even a macOS VM
|
||||
}
|
||||
|
||||
|
||||
|
@ -175,37 +164,30 @@ TEST=$2
|
|||
|
||||
if [[ "${ARCH}x" == "x" ]]; then
|
||||
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
|
||||
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
|
||||
DIST="${JOEY}/dist/IIgs"
|
||||
doIIgsBuild ${TEST}
|
||||
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
|
||||
CC="gcc"
|
||||
CFLAGS=""
|
||||
|
@ -224,24 +206,6 @@ if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "linux32x" ]]; then
|
|||
doPCBuild
|
||||
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
|
||||
CC="o32-clang"
|
||||
CFLAGS=""
|
||||
|
@ -260,5 +224,39 @@ if [[ "${ARCH}x" == "allx" || "${ARCH}x" == "macos64x" ]]; then
|
|||
doPCBuild
|
||||
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"
|
||||
cp -f "${SRC}/joey.h" "${JOEY}/dist/."
|
||||
|
|
|
@ -44,6 +44,11 @@ typedef unsigned char byte;
|
|||
#define JUINT16_MIN 0
|
||||
#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
|
||||
|
||||
|
||||
|
@ -171,8 +176,8 @@ typedef struct {
|
|||
} jlPixelPairT;
|
||||
|
||||
typedef struct {
|
||||
void *data;
|
||||
jint16 channel;
|
||||
void *data;
|
||||
jint16 channel;
|
||||
} jlSoundT;
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -32,11 +32,10 @@ G_SCRIPT=
|
|||
G_UID=$(id -ru)
|
||||
G_GID=$(id -rg)
|
||||
G_IS_INSTALLED=()
|
||||
G_VBCC_CURRENT="2017-08-14"
|
||||
G_OSX_MIN=10.6
|
||||
G_OSX_DARWIN=17
|
||||
G_IIGS=0
|
||||
#G_AMIGA=1
|
||||
G_AMIGA=1
|
||||
G_ATARIST=1
|
||||
G_LINUX32=2
|
||||
G_LINUX64=3
|
||||
|
@ -80,12 +79,13 @@ function buildMacOSXSDK() {
|
|||
|
||||
|
||||
function buildPCDeps() {
|
||||
local DIST=$1
|
||||
local PREFIX=$2
|
||||
local CROSS=$3
|
||||
local CC_EXPORT=$4
|
||||
local CXX_EXPORT=$5
|
||||
local LD_EXPORT=$6
|
||||
local TARGET=$1
|
||||
local DIST=$2
|
||||
local PREFIX=$3
|
||||
local CROSS=$4
|
||||
local CC_EXPORT=$5
|
||||
local CXX_EXPORT=$6
|
||||
local LD_EXPORT=$7
|
||||
local CC_OLD=$CC
|
||||
local CXX_OLD=$CXX
|
||||
local LD_OLD=$LD_LIBRARY_PATH
|
||||
|
@ -187,24 +187,8 @@ function buildPCDeps() {
|
|||
export CXX="${CXX_OLD}"
|
||||
export LD_LIBRARY_PATH="${LD_OLD}"
|
||||
|
||||
# JoeyLib
|
||||
purple "Building JoeyLib"
|
||||
if [[ -d "${DIST}" ]]; then
|
||||
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
|
||||
"${G_PARENT}/joeylib/joeylib/build.sh" ${TARGET} &> /dev/null
|
||||
|
||||
popd &> /dev/null
|
||||
}
|
||||
|
@ -242,10 +226,11 @@ function configWrite() {
|
|||
echo -e "\t\"\${JOEY}/sdks/IIgs/mountORCA.sh\"" >> "${O}"
|
||||
echo "fi" >> "${O}"
|
||||
fi
|
||||
if [[ ${G_IS_INSTALLED[$G_AMIGA]} == 1 ]]; then
|
||||
P=\${JOEY}/sdks/amiga/bin:${P}
|
||||
fi
|
||||
if [[ ${G_IS_INSTALLED[$G_ATARIST]} == 1 ]]; then
|
||||
# All VBCC targets get these
|
||||
P=\${JOEY}/sdks/vbcc/bin:${P}
|
||||
echo "export VBCC=\"\${JOEY}/sdks/vbcc\"" >> "${O}"
|
||||
P=\${JOEY}/sdks/st/bin:${P}
|
||||
fi
|
||||
if [[ ${G_IS_INSTALLED[$G_MAC32]} == 1 || ${G_IS_INSTALLED[$G_MAC64]} == 1 ]]; then
|
||||
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() {
|
||||
local RESULT=
|
||||
local O=
|
||||
|
@ -421,6 +429,7 @@ function installIIgs() {
|
|||
|
||||
purple "Upgrading ORCA/C"
|
||||
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"
|
||||
|
||||
pushd ${GOLDEN_GATE} &> /dev/null
|
||||
|
@ -515,34 +524,19 @@ function installIIgs() {
|
|||
fi
|
||||
|
||||
purple "Building JoeyLib"
|
||||
O=${IIGS}/ORCA/out/joey
|
||||
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/."
|
||||
"${G_PARENT}/joeylib/joeylib/build.sh" iigs &> /dev/null
|
||||
|
||||
"${IIGS}/unmountORCA.sh"
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
function installLinux32() {
|
||||
buildPCDeps \
|
||||
"linux32" \
|
||||
"$(pwd)/../dist/linux/i386" \
|
||||
"$(pwd)/deps/installed/linux/i386" \
|
||||
"x86_64-linux-gnu" \
|
||||
|
@ -554,6 +548,7 @@ function installLinux32() {
|
|||
|
||||
function installLinux64() {
|
||||
buildPCDeps \
|
||||
"linux64" \
|
||||
"$(pwd)/../dist/linux/x64" \
|
||||
"$(pwd)/deps/installed/linux/x64" \
|
||||
"x86_64-linux-gnu" \
|
||||
|
@ -566,6 +561,7 @@ function installLinux64() {
|
|||
function installmacOS32() {
|
||||
buildMacOSXSDK
|
||||
buildPCDeps \
|
||||
"macos32" \
|
||||
"$(pwd)/../dist/macOS/i386" \
|
||||
"$(pwd)/deps/installed/macOS/i386" \
|
||||
"i386-apple-darwin${G_OSX_DARWIN}" \
|
||||
|
@ -578,6 +574,7 @@ function installmacOS32() {
|
|||
function installmacOS64() {
|
||||
buildMacOSXSDK
|
||||
buildPCDeps \
|
||||
"macos64" \
|
||||
"$(pwd)/../dist/macOS/x64" \
|
||||
"$(pwd)/deps/installed/macOS/x64" \
|
||||
"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() {
|
||||
local ST="${G_PARENT}/sdks/st"
|
||||
local ST_GCC="m68k-atari-mint-base-20190606-linux.tar"
|
||||
|
||||
G_IS_INSTALLED[$G_ATARIST]=1
|
||||
configWrite
|
||||
|
@ -675,63 +651,52 @@ function installST() {
|
|||
CONFIG
|
||||
fi
|
||||
|
||||
installVbcc
|
||||
|
||||
if [[ ! -e "${G_PARENT}/sdks/vbcc/targets/m68k-atari" ]]; then
|
||||
purple "Configuring VBCC"
|
||||
download http://server.owl.de/~frank/vbcc/${G_VBCC_CURRENT}/vbcc_target_m68k-atari.lha
|
||||
lha xf vbcc_target_m68k-atari.lha
|
||||
mkdir -p "${G_PARENT}/sdks/vbcc/targets"
|
||||
cp -rf vbcc_target_m68k-atari/targets/m68k-atari "${G_PARENT}/sdks/vbcc/targets/."
|
||||
if [[ ! -d "${ST}/bin" ]]; then
|
||||
purple "Installing Atari ST GCC"
|
||||
if [[ -e "${ST_GCC}" ]]; then
|
||||
rm "${ST_GCC}"
|
||||
fi
|
||||
#***TODO*** Build from github instead
|
||||
download http://tho-otto.de/download/mint/${ST_GCC}.xz
|
||||
xz -d ${ST_GCC}.xz
|
||||
pushd "${ST}" &> /dev/null
|
||||
tar --strip-components=1 -xf "${G_PARENT}/${G_WORK}/${ST_GCC}"
|
||||
popd &> /dev/null
|
||||
fi
|
||||
|
||||
#hatari -c ${JOEY}/sdks/st/hatari.cfg
|
||||
purple "Building JoeyLib"
|
||||
"${G_PARENT}/joeylib/joeylib/build.sh" st &> /dev/null
|
||||
}
|
||||
|
||||
|
||||
function installVbcc() {
|
||||
local VBCC="${G_PARENT}/sdks/vbcc"
|
||||
function installWin32() {
|
||||
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
|
||||
tar xzf vlink.tar.gz
|
||||
tar xzf vbcc.tar.gz
|
||||
tar xf vbcc_unix_config.tar
|
||||
|
||||
pushd vasm &> /dev/null
|
||||
make CPU=m68k SYNTAX=mot
|
||||
popd &> /dev/null
|
||||
|
||||
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 installWin64() {
|
||||
buildPCDeps \
|
||||
"windows64" \
|
||||
"$(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 mainMenu() {
|
||||
local ITEMS=(
|
||||
"IIgs"
|
||||
# "Amiga"
|
||||
"Amiga"
|
||||
"ST"
|
||||
"Linux32"
|
||||
"Linux64"
|
||||
|
@ -744,7 +709,7 @@ function mainMenu() {
|
|||
)
|
||||
local DESC=(
|
||||
"Apple IIgs 16"
|
||||
# "Commodore Amiga 16"
|
||||
"Commodore Amiga 16"
|
||||
"Atari ST 16"
|
||||
"Linux 32"
|
||||
"Linux 64"
|
||||
|
@ -757,8 +722,8 @@ function mainMenu() {
|
|||
)
|
||||
local CHECK=(
|
||||
"IIgs/joeylib#b20000"
|
||||
# "Amiga"
|
||||
"ST/libjoeylib.a"
|
||||
"amiga/libjoeylib.a"
|
||||
"st/libjoeylib.a"
|
||||
"linux/i386/libjoeylib.a"
|
||||
"linux/x64/libjoeylib.a"
|
||||
"windows/i386/libjoeylib.a"
|
||||
|
@ -776,7 +741,7 @@ function mainMenu() {
|
|||
|
||||
G_IS_INSTALLED=(
|
||||
0
|
||||
# 0
|
||||
0
|
||||
0
|
||||
0
|
||||
0
|
||||
|
@ -853,14 +818,64 @@ function start() {
|
|||
# See if all the packages we need are installed
|
||||
echo ""
|
||||
tBoldBox tBLUE "Examining system..."
|
||||
tCheckPackages MISSING cmake ragel hfsplus hfsutils hfsprogs libreadline-dev libedit-dev \
|
||||
build-essential git mercurial texinfo libtool autoconf automake re2c \
|
||||
gcc-multilib g++-multilib mingw-w64 gdb-mingw-w64 clang llvm-dev libxml2-dev \
|
||||
uuid-dev libssl-dev bash patch make tar xz-utils bzip2 gzip sed cpio \
|
||||
libpulse-dev{,:i386} libasound2-dev{,:i386} genisoimage \
|
||||
libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libfreetype6-dev libpcap0.8-dev \
|
||||
php-cli msitools hatari lhasa bison xcftools libfuse-dev liblzma-dev libbz2-dev
|
||||
|
||||
tCheckPackages MISSING \
|
||||
autoconf \
|
||||
automake \
|
||||
bash \
|
||||
bison \
|
||||
build-essential \
|
||||
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 (whiptail --title "${G_TITLE}" --yesno "Some required packages are missing.\n\nInstall them now?" 9 40); then
|
||||
TEMP=" ${MISSING//[^ ]}"
|
||||
|
|
|
@ -5,9 +5,11 @@
|
|||
|
||||
export JOEY="/home/scott/joey"
|
||||
|
||||
# Amiga & Atari ST Cross Compiler
|
||||
export VBCC="${JOEY}/sdks/vbcc"
|
||||
export PATH="${VBCC}/bin:${PATH}"
|
||||
# Amiga Cross Compiler
|
||||
export PATH="${JOEY}/sdks/amiga/bin:${PATH}"
|
||||
|
||||
# Atari ST Cross Compiler
|
||||
export PATH="${JOEY}/sdks/st/bin:${PATH}"
|
||||
|
||||
# IIgs Runtime & ORCA Compilers
|
||||
export GOLDEN_GATE="${JOEY}/sdks/IIgs/ORCA"
|
||||
|
@ -17,9 +19,6 @@ export PATH="${JOEY}/sdks/IIgs:${PATH}"
|
|||
export MACOSX_DEPLOYMENT_TARGET=10.6
|
||||
export PATH="${JOEY}/sdks/macos/bin:${PATH}"
|
||||
|
||||
# Amiga Cross Compiler
|
||||
export PATH="${JOEY}/sdks/amiga/bin:${PATH}"
|
||||
|
||||
# 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/gcc-linaro-arm-linux-gnueabihf-raspbian/bin:${PATH}"
|
||||
|
|
Loading…
Add table
Reference in a new issue