1
1
mirror of https://github.com/kanaka/mal.git synced 2024-08-16 09:10:48 +03:00

d: support ldc2 and dmd modes from top-level.

Symlink dmd to /usr/bin in the dockerfile so that no PATH modification
is necessary.

Also, add a runtime modes count to the README.
This commit is contained in:
Joel Martin 2019-05-10 14:05:53 -05:00
parent 531b1f1837
commit c424b18de1
5 changed files with 18 additions and 7 deletions

View File

@ -20,7 +20,9 @@ matrix:
- {env: IMPL=clojure clojure_MODE=cljs, services: [docker]}
- {env: IMPL=common-lisp, services: [docker]}
- {env: IMPL=crystal, services: [docker]}
- {env: IMPL=d, services: [docker]}
- {env: IMPL=d d_MODE=gdc, services: [docker]}
- {env: IMPL=d d_MODE=ldc2, services: [docker]}
- {env: IMPL=d d_MODE=dmd, services: [docker]}
- {env: IMPL=dart, services: [docker]}
- {env: IMPL=elisp, services: [docker]}
- {env: IMPL=elixir, services: [docker]}

View File

@ -51,6 +51,8 @@ MAL_IMPL = js
basic_MODE = cbm
# clj or cljs (Clojure vs ClojureScript/lumo)
clojure_MODE = clj
# gdc, ldc2, or dmd
d_MODE = gdc
# python, js, cpp, or neko
haxe_MODE = neko
# octave or matlab

View File

@ -6,7 +6,7 @@
**1. Mal is a Clojure inspired Lisp interpreter**
**2. Mal is implemented in 76 languages (77 implementations total)**
**2. Mal is implemented in 76 languages (77 different implementations and 98 runtime modes)**
| Language | Creator |
| -------- | ------- |

View File

@ -6,11 +6,13 @@ MAINTAINER Joel Martin <github@martintribe.org>
# implementations
##########################################################
RUN apt-get -y update
# Required for running tests
RUN apt-get -y update && apt-get -y install make python
RUN apt-get -y install make python
# Some typical implementation and test requirements
RUN apt-get -y update && apt-get -y install curl libreadline-dev libedit-dev
RUN apt-get -y install curl libreadline-dev libedit-dev
RUN mkdir -p /mal
WORKDIR /mal
@ -19,8 +21,11 @@ WORKDIR /mal
# Specific implementation requirements
##########################################################
RUN apt-get -y update && apt-get -y install gcc gdc ldc gpg wget
RUN apt-get -y install gcc gdc ldc gpg wget
RUN wget https://dlang.org/install.sh -q -O install.sh && bash install.sh -p /usr/local/dlang && chmod 755 /usr/local/dlang/dmd*
RUN wget https://dlang.org/install.sh -q -O install.sh && \
bash install.sh -p /usr/local/dlang && \
chmod 755 /usr/local/dlang/dmd* && \
ln -sf /usr/local/dlang/dmd-*/linux/bin64/dmd /usr/bin/dmd
ENV HOME /mal

View File

@ -1,4 +1,6 @@
D ?= gdc
d_MODE ?= gdc
D ?= $(d_MODE)
ifeq ($(D),gdc)
CFLAGS += -g -O2 -Wall