| # NOTE: Using 1.13 as a base to build the RISCV compiler, the resulting version is based on go1.6. |
| FROM golang:1.13 |
| |
| # Clone and complie a riscv compatible version of the go compiler. |
| RUN git clone https://review.gerrithub.io/riscv/riscv-go /riscv-go |
| # riscvdev branch HEAD as of 2019-06-29. |
| RUN cd /riscv-go && git checkout 04885fddd096d09d4450726064d06dd107e374bf |
| ENV PATH=/riscv-go/misc/riscv:/riscv-go/bin:$PATH |
| RUN cd /riscv-go/src && GOROOT_BOOTSTRAP=$(go env GOROOT) ./make.bash |
| ENV GOROOT=/riscv-go |
| |
| # Set the base env. |
| ENV GOOS=linux GOARCH=riscv CGO_ENABLED=0 GOFLAGS='-v -ldflags=-s -ldflags=-w' |
| |
| # Pre compile the stdlib. |
| RUN go build -a std |
| |
| # Add the code to the image. |
| WORKDIR pty |
| ADD . . |
| |
| # Build the lib. |
| RUN go build |