annotate README @ 616:b90c645dac33

better readme.
author Robert McIntyre <rlm@mit.edu>
date Tue, 26 Feb 2013 11:55:34 +0000
parents bd664a9bd863
children
rev   line source
rlm@615 1 This is vba-clojure, by Robert McIntyre (rlm@mit.edu).
rlm@615 2
rlm@615 3 It is three things:
rlm@615 4
rlm@615 5 - vba-rerecording (http://code.google.com/p/vba-rerecording/),
rlm@615 6 modified compile on GNU/Linux, as well as JNI bindings.
rlm@615 7
rlm@615 8 - A functional clojure interface to the emulator supported by JNI
rlm@615 9 bindings.
rlm@615 10
rlm@615 11 - The "Pokemon Yellow Total Control Hack" code
rlm@615 12 (http://aurellem.org/vba-clojure/html/total-control.html), which
rlm@615 13 uses the clojure bindings.
rlm@615 14
rlm@615 15
rlm@615 16 * License
rlm@615 17
rlm@615 18 vba-rerecording is licensed under the GPL version 2, and I also
rlm@615 19 release all the code I have written relating to this project under the
rlm@615 20 GPL version 2.
rlm@615 21
rlm@615 22 NOTE that the images under the /font directory and the mid files in
rlm@615 23 the /music directory were taken from http://www.zophar.net/ and
rlm@615 24 http://www.everyponysings.com/ respectively and are the only things in
rlm@615 25 this repository that are not under the GPL.
rlm@615 26
rlm@615 27
rlm@615 28 * How to Compile
rlm@615 29
rlm@615 30 ** Long version
rlm@615 31
rlm@615 32 Compilation follows 5 steps:
rlm@615 33
rlm@615 34 1. Get java libraries
rlm@615 35 2. Generate java JNI header and bindings
rlm@615 36 3. generate autotools scripts
rlm@615 37 4. configure
rlm@615 38 5. make
rlm@615 39
rlm@615 40 First, run the dl-libs.sh script to download the tritonus jars (or
rlm@615 41 otherwise obtain them), which are used in processing sound from the
rlm@615 42 gameboy. You must have wget installed for the dl-libs.sh to work.
rlm@615 43
rlm@615 44 Second, you must generate the java JNI header and bindigs. cd to the
rlm@615 45 "java" directory and run `ant` to do this.
rlm@615 46
rlm@615 47 Third, generate the autotools scripts which the project requires by
rlm@615 48 running `autoreconf -i`. I use autoreconf version 2.69.
rlm@615 49
rlm@615 50 Fourth, run the "configure" script that was just produced to check for
rlm@615 51 dependencies and proper environment variables. Be sure to have the
rlm@615 52 environment variables JAVA_INCLUDE_PATH and JAVA_INCLUDE_PATH2
rlm@615 53 properly defined. "jni.h" should be in the directory referenced by
rlm@615 54 JAVA_INCLUDE_PATH, and "jni_md.h" should be in the directory
rlm@615 55 referenced by JAVA_INCLUDE_PATH2. On my system,
rlm@615 56 JAVA_INCLUDE_PATH=/usr/include and
rlm@615 57 JAVA_INCLUDE_PATH2=/usr/include/linux.
rlm@615 58
rlm@615 59 finally, run `make` to build the library. You may optionally install
rlm@615 60 the library using `make install`.
rlm@615 61
rlm@615 62 ** Short Version
rlm@615 63
rlm@615 64 ./dl-libs.sh
rlm@615 65 cd java
rlm@615 66 ant
rlm@615 67 cd ..
rlm@615 68 autoreconf -i
rlm@615 69 ./configure
rlm@615 70 make
rlm@615 71 make install
rlm@615 72
rlm@616 73 To fine tune the installation, pass different flags to the configure
rlm@616 74 script, in particular the --prefix flag. run `./configure --help` to
rlm@616 75 see available options and defaults.
rlm@615 76
rlm@616 77 * Using the clojure code.
rlm@615 78
rlm@616 79 If you're interested in hacking on the clojure code, then once you've
rlm@616 80 completed the compilation instructions above, you will need to launch
rlm@616 81 clojure (however you do it) and include the following things on your
rlm@616 82 classpath (all directories are relative to project root).
rlm@615 83
rlm@616 84 /clojure --- the clojure source files
rlm@616 85 /java/dist/* --- JNI bindings
rlm@616 86 /java/lib/* --- tritonus libs
rlm@616 87
rlm@616 88 You will also need to put the compiled library file produced from the
rlm@616 89 "How to Compile" section in a place where it can be loaded as a
rlm@616 90 dynamic library. You can do this by running `make install` where you
rlm@616 91 had previously configured the package to install in a system
rlm@616 92 directory, or you can use the LD_LIBRARY_PATH to point your system to
rlm@616 93 the directory containing the library file.
rlm@616 94
rlm@616 95
rlm@616 96 * Bugs
rlm@616 97
rlm@616 98 Please let me know if you find any bugs, or have any comments, at
rlm@616 99 rlm@mit.edu.
rlm@616 100
rlm@616 101
rlm@616 102