README.md
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 17 Aug 2015 09:08:47 +0100
changeset 30 c789c1390911
parent 14 c7dea3fcc5a7
child 47 d1d3901866d4
permissions -rw-r--r--
LLVM C API Extensions: added llvm-c-ext/DWARF.h with (some) DWARF constants required to generate debug info. Most importantly, DWARF encoding used when describing a variable to tell the debugger how to interpret the data (as float, signed/unsigned int, etc). More constants will be added as needed.

# LLVM-S:  A Smalltalk(X) bindings to LLVM compiler toolchain

LLVM-S provides bindings to LLVM toolchain for Smalltalk(X) to allow experimentation
with LLVM toolchain in context of Smalltalk technology - both as a JIT backend and
an AOT compiler.

## Loading into Smalltalk/X

**1.** Get [Smalltalk/X jv-branch](https://swing.fit.cvut.cz/projects/stx-jv/) (preferably a night build)

**2.** Clone the repository

```
#!bash
    mkdir -p ~/SmalltalkXProjects/jv
    hg clone https://bitbucket.org/janvrany/jv-llvm-s ~/SmalltalkXProjects/jv/llvm_s
```

**3.** Load the package into Smalltalk/X 
```
#!smalltalk
    Smalltalk loadPackage: 'jv:llvm_s'.
```

## Loading into other Smalltalks

Currently LLVM-S is available only for Smalltalk/X, though the I (Jan Vrany) am willing to (help to) 
make it working on other Smalltalk implementation if there's an interest. In that case, get in touch with
me to discuss details.

## Documentation 

* [Project wiki](https://bitbucket.org/janvrany/jv-llvm-s/wiki/Home)

But do not expect much - it's still more an experimental project so it's expected to change a lot
in **non**-backward compatible way:

## Authors

* Jan Vrany

## License

This code is not an open-source (yet). You may use this code
for your own experiments and projects, given that:

* all modification to the code will be sent to the
  original author for inclusion in future releases
* this is not used in any commercial software

**This license is provisional and may (will) change in
a future.**