Skip to content

Commit

Permalink
Merge pull request #2 from tristanisham/modifying-wren
Browse files Browse the repository at this point in the history
Modifying wren
  • Loading branch information
tristanisham authored Jun 3, 2024
2 parents f9f3914 + 3152e6c commit 61329c2
Show file tree
Hide file tree
Showing 5 changed files with 9,769 additions and 10,722 deletions.
29 changes: 29 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
FROM alpine:latest
LABEL authors="tristan"

# Install necessary packages
RUN apk update && \
apk add --no-cache g++ boost-dev curl-dev cmake make

# Verify the installations
RUN g++ --version && \
ls /usr/include/boost

# Set the working directory
WORKDIR /app

# Add your application source code to the container
COPY . /app

# Set the build type (default to Release, can be overridden at build time)
ARG BUILD_TYPE=Release

# Create a build directory and run cmake and make
RUN mkdir -p build && cd build && \
cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} .. && \
cmake --build . && \
cd ..

# Define the command to run your application
ENV FAN_LIB "./lang"
CMD ["./build/fan"]
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,21 @@ Fan is a dynamically-typed programming language. It is based on
[Wren](https://wren.io), but features significant customizations to its runtime. Fan's aim is to be _statically compilable_, portable,
and come with batteries-included.

## Docker
Right now, you still have to clone the repository, but then just run the following Docker command to build a release version
of Fan. Once I figure out the registry, this will be simpler still.

```shell
docker build -t fan .
```


```sh
git clone --recurse-submodules https://github.com/tristanisham/fan.git
```

Fan currently supports, GCC, Clang, and targets *nix systems. Windows support
is a work in progross. MSVC is God's punishment for man's arrogance.
is a work in progress. MSVC is God's punishment for man's arrogance.

## Setup & Dependencies

Expand Down
7 changes: 3 additions & 4 deletions include/vm.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,12 @@
#include <wren.hpp>

#ifndef NDEBUG
#include <rang.hpp>
#define DEBUG_PRINT(...) std::cout << rang::fg::blue << "DEBUG " << rang::fg::reset << __VA_ARGS__ << std::endl;
#include <rang.hpp>
#define DEBUG_PRINT(...) std::cout << rang::fg::blue << "DEBUG " << rang::fg::reset << __VA_ARGS__ << std::endl;
#else
#define DEBUG_PRINT(...)
#define DEBUG_PRINT(...)
#endif


namespace vm {

size_t createVmMap(WrenVM* vm, const int& slot, const std::unordered_map<std::string, std::string>& entries);
Expand Down
Loading

0 comments on commit 61329c2

Please sign in to comment.