Skip to content

Commit 43fc7bb

Browse files
committed
Create README.md
1 parent dae9b37 commit 43fc7bb

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

README.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# make-llvm-bitcode-for-javascript
2+
helper script that compiles llvm tools (llvm-as, llvm-dis, opt, etc.) to llvm Bitcode for later transformation into JavaScript by emscripten
3+
4+
## Why?
5+
6+
This enables you to use llvm in the browser!
7+
8+
## Prerequisites
9+
10+
You need to have emscripten installed.
11+
12+
## Usage
13+
14+
1. download or clone an llvm source tree.
15+
16+
git clone git@github.com:kripken/emscripten-fastcomp.git kripken-fastcomp
17+
18+
2. run ./make-bitcode-for-javascript and provide the path to the llvm source tree
19+
20+
./make-bitcode-for-javascript.sh ../kripken-fastcomp
21+
22+
3. Wait!
23+
24+
4. Find .bc files in ./bitcode-for-js
25+
26+
```
27+
➜ make-llvm-bitcode-for-javascript git:(master) ls bitcode-for-js
28+
bugpoint.bc llvm-diff.bc llvm-objdump.bc opt.bc
29+
llc.bc llvm-dis.bc llvm-pdbdump.bc pnacl-abicheck.bc
30+
lli-child-target.bc llvm-dsymutil.bc llvm-profdata.bc pnacl-bcanalyzer.bc
31+
lli.bc llvm-dwarfdump.bc llvm-readobj.bc pnacl-bccompress.bc
32+
llvm-ar.bc llvm-extract.bc llvm-rtdyld.bc pnacl-bcdis.bc
33+
llvm-as.bc llvm-link.bc llvm-size.bc pnacl-freeze.bc
34+
llvm-bcanalyzer.bc llvm-lto.bc llvm-stress.bc pnacl-llc.bc
35+
llvm-c-test.bc llvm-mc.bc llvm-symbolizer.bc pnacl-thaw.bc
36+
llvm-cov.bc llvm-mcmarkup.bc macho-dump.bc verify-uselistorder.bc
37+
llvm-cxxdump.bc llvm-nm.bc obj2yaml.bc yaml2obj.bc
38+
```
39+
40+
5. Compile to JavaScipt.
41+
42+
For example:
43+
44+
emcc -Oz -v --llvm-lto 3 llvm-as.bc -o llvm-as.js

0 commit comments

Comments
 (0)