GithubHelp home page GithubHelp logo

cam900 / dejavu-llvm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rpjohnst/dejavu-llvm

0.0 0.0 0.0 181 KB

Game Maker compiler

Home Page: http://dejavu.abubalay.com

License: University of Illinois/NCSA Open Source License

C++ 85.07% C 1.25% Java 11.27% Makefile 2.41%

dejavu-llvm's Introduction

DejaVu Game Maker Compiler

DejaVu is an in-progress LLVM-based GML and D&D compiler, mostly compatible with GameMaker. It currently exists as a C++ library, and as a plugin to LateralGM. It is capable of compiling a game's scripts and object events. Eventually it will be able to produce fullly compiled executables.

Build Dependencies

As a work in progress, DejaVu does not currently distribute compiled binaries. To build it from source requires several tools and libraries that should be available from your package manager or from their respective websites:

  • LLVM - the compiler uses LLVM to generate code
  • Clang - Clang is required to build the language runtime
  • GNU Make - the compiler's Makefiles are based on GNU Make
  • SWIG - SWIG is used to generate the bridge between the plugin and compiler
  • Java Developmen Kit - the LateralGM plugin is written in Java
  • Ant - Ant is used to compile the LateralGM plugin

Windows

Currently, DejaVu is not tested on Windows, but there is nothing inherently preventing it from being built or running on that platform. The MinGW toolchain should be able to support the required dependencies, although some modifications to the Makefiles and source code may be necessary. Contributions would be welcome.

Runtime Dependencies

DejaVu itself does not currently have any runtime dependencies. However, it currently reads game data through LateralGM:

Building and Installing

Once prerequisites are installed, DejaVu can be built by running make. This should produce three files: dejavu.jar, dejavu.so, and runtime.bc. The first two need to be in a directory next to LateralGM named plugins and the third needs to be in its working directory.

Running

Running LateralGM normally will load the DejaVu plugin, adding a menu and buttons that invoke DejaVu's compiler on the loaded game. The resulting file is an optimized LLVM bitcode module containing the generated code for the game's scripts and objects' events, including D&D actions.

Contact Information

DejaVu is available on GitHub, at github.com/rpjohnst/dejavu. Feel free to file bugs, submit pull requests, or fork the repository. It is available under the terms in LICENSE (University of Illinois/NCSA Open Source License); the runtime is available under the terms in runtime/LICENSE (MIT License).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.