-
Notifications
You must be signed in to change notification settings - Fork 2
Tinycc on NaCl
License
shinh/nacltcc
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
See README.tcc for the original document This is an experimental port of tinycc (https://tinycc.org) You can run C source code on NaCl, which means, you can run C programs on your browser without interaction with servers. The development is not completed at all. You may see weird errors even for simple programs. Especially, x86-64 support should be terrible. Also, this cannot generate NaCl ELF yet. It can only preprocess source code or run the source code directly. * Demo https://shinh.skr.jp/nacltcc/tinycc.html * How to build - prerequisites You need at least the followings: NaCl SDK (my version is pepper_19) ruby make, etc. For web interface, you also need: naclports (my revision is 575, must be > r573) Chrome (tested on 15.0.874.5 dev on 64bit linux, 14.0.835.186 on 32bit mac) You need to set NACL_SDK_ROOT environment variable before the next step: % export NACL_SDK_ROOT=$HOME/src/nacl_sdk/pepper_19 - build the CLI version % ./nacl-configure % make This will build 32bit binary by default. Please specify NACL_PACKAGES_BITSIZE if you want 64bit binary: % NACL_PACKAGES_BITSIZE=64 ./nacl-configure % make - run the CLI version % sel_ldr_x86_32 -B $NACL_SDK_ROOT/tools/irt_x86_32.nexe ./tcc -B. -run hello.c For now, file output isn't working due to lack of unlink(2) If you are using 64bit version, please use sel_ldr_x86_64 instead. Of course, you may want to replace * to your actual toolchain directory. - build the web version Again, please note that you need naclports and NACL_SDK_ROOT environment variable. % cd demo % make % ./pack_data.sh Then, put data.tar, tinycc.html, tinycc.nmf, and *.nexe in your web server. Note that NaCl won't run on file:https:/// URLs. * Known issues - 32bit version is crashing on my 64bit linux. I don't know why. * License TCC's (i.e., GPLv2)
About
Tinycc on NaCl
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published