Browse Source

Initial commit

master
Raphael Bahuau 1 month ago
commit
b0cc830e3f
No account linked to committer's email address
3 changed files with 112 additions and 0 deletions
  1. 1
    0
      .gitignore
  2. 76
    0
      Dockerfile
  3. 35
    0
      README.md

+ 1
- 0
.gitignore View File

@@ -0,0 +1 @@
*.tar*

+ 76
- 0
Dockerfile View File

@@ -0,0 +1,76 @@
# linux base image
FROM alpine

# set up variables
ENV TARGET="sh3eb-elf" \
PREFIX="$HOME/opt/sh3eb-elf-2.31.1-8.2.0" \
# TO DELETE
PATH="$PATH:$PREFIX/bin"
# PATH="$PATH:/opt/sh3eb-elf-2.31.1-8.2.0/bin" \
# PATH="$PATH:/opt/sh3eb-elf-2.31.1-8.2.0/fxsdk/bin"

# extract archives (binutils & gcc)
RUN mkdir -p $PREFIX
ADD binutils-2.31.1.tar.xz gcc-8.2.0.tar.xz $PREFIX/

# dependencies
RUN apk update && apk add --update --no-cache \
bash \
git \
build-base \
gmp-dev \
mpfr-dev \
mpc1-dev \
pcre-dev
# libpng-dev \
# python3 \
# py3-pillow \
# flex

# binutils
RUN cd $PREFIX && mkdir build-binutils && cd build-binutils && \
../binutils-2.31.1/configure --prefix=$PREFIX --target=$TARGET --disable-nls && \
make && make install

# gcc
RUN cd $PREFIX && mkdir build-gcc && cd build-gcc && \
../gcc-8.2.0/configure --prefix=$PREFIX --target=$TARGET --enable-languages=c,c++ --without-headers --with-newlib --disable-nls && \
make all-gcc && make install-gcc

# link gcc with libgcc
# need to fix the contrib/dl script : https://www.mail-archive.com/gcc-bugs@gcc.gnu.org/msg549371.html
RUN cd $PREFIX/gcc-8.2.0 && \
sed -i 's/sha512sum --check/sha512sum -c/g' ./contrib/download_prerequisites && \
./contrib/download_prerequisites && \
cd $PREFIX/build-gcc && \
make all-target-libgcc && make install-target-libgcc

# TO DELETE
RUN apk add --update --no-cache libpng-dev python3 py3-pillow flex

# fxsdk
# old : http://git.planet-casio.com/lephe/fxsdk
RUN cd $PREFIX && \
git clone https://gitea.planet-casio.com/Lephenixnoir/fxsdk.git && \
cd fxsdk && bash configure --prefix=$PREFIX && make && make install

ENV PATH="$PATH:/opt/sh3eb-elf-2.31.1-8.2.0/bin"
ENV PATH="$PATH:/opt/sh3eb-elf-2.31.1-8.2.0/fxsdk/bin"

# gint
# old : http://git.planet-casio.com/lephe/gint
RUN cd $PREFIX && \
git clone --single-branch --branch compat https://gitea.planet-casio.com/Lephenixnoir/gint.git && \
cd gint && mkdir build.fx && cd build.fx && \
../configure --target=fx9860g && make && make install

WORKDIR /casio

# Build :
# docker build -t casio .

# Run :
# - Linux
# docker run -u 0 -it --rm -v $(pwd):/casio casio
# - Windows
# docker run -u 0 -it --rm -v "/$(pwd)":/casio casio

+ 35
- 0
README.md View File

@@ -0,0 +1,35 @@
# Casio Docker

A docker for casio developpment on linux, with gint and fxsdk from Lephenixnoir.

## Docker

Download archives :

- ftp://gcc.gnu.org/pub/gcc/releases/gcc-8.2.0/gcc-8.2.0.tar.xz
- ftp://ftp.gnu.org/gnu/binutils/binutils-2.31.1.tar.xz
- https://p7.planet-casio.com/pub/libp7-3.0.tar.gz
- https://p7.planet-casio.com/pub/p7utils-3.0.tar.gz

Build

- `docker build -t casio .`

Run (execute in your project folder)

- Linux `docker run -u 0 -it --rm -v $(pwd):/casio casio`
- Windows `docker run -u 0 -it --rm -v "/$(pwd)":/casio casio`

## Useful links

Planète Casio

- [Install gcc](https://www.planet-casio.com/Fr/forums/topic12970-1-%5bTutoriel%5d_Compiler_sous_Linux_avec_un_cross-compilateur_gcc.html)
- [Install fxsdk](https://www.planet-casio.com/Fr/forums/topic13164-1-fxSDK.html)
- [Gint tutorial](https://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=14914&page=1)

Repository

- [fxsdk](https://gitea.planet-casio.com/Lephenixnoir/fxsdk)
- [gint](https://gitea.planet-casio.com/Lephenixnoir/gint)
- [gintctl](https://gitea.planet-casio.com/Lephenixnoir/gintctl) (add-in to test)

Loading…
Cancel
Save