Jungle Monkey HACKING --------------------- Copyright (C) 2000-2001 David A. Helder Overview -------- This document is intended for those who would like to contribute to Jungle Monkey. See the TODO list. Write us before starting work on something so we can coordinate. New translations are always welcome. Mailing list ------------ The developer's list is jm-dev@junglemonkey.net. To join it, send an email to jm-dev-request@junglemonkey.net with "subscribe" as the subject. Translation ----------- Please translate JM to your native language if it hasn't been done so already. If you don't know how to do this, read the GNU gettext documentation, look in the "po" directory, or ask another translator for help. David regrettably doesn't know much about gettext and I18N. CVS --- The source code for Jungle Monkey is an a CVS repository. This is the most current code, but not necessarily the most stable code. In fact, the code may not even compile and may not be compatable with the latest released version. To get this code: > cd > setenv CVSROOT :pserver:cvs@ask.eecs.umich.edu:/z/home/dhelder/repositories/jm-repository > cvs login [hit return, then enter 'cvs' as the password] > cvs -z3 checkout jm > cd jm > cvs -z3 update -d -P Use the autogen.sh script to build the necessary files you will need to build Jungle Monkey. You need to have current versions of autoconf, automake, and libtool installed for it to work. You may need to set the ACLOCAL_INCLUDE environment variable if you have autoconf macros in non-standard places. For example, if you have a /usr/X11R6/share/aclocal directory and it's complaining about not finding GTK macros, set it to "-I /usr/X11R6/share/aclocal". Use the --enable-build-docs flag if you want to build documentation from scratch. You may need to modify doc/Makefile.am and doc/C/Makefile.am to get all the documentation to build. Some of the tool paths are hardcoded for David's machine. David would be grateful if someone fixed this. You can join the jm-dev-cvs mailing list to get notifications of commits to the repository. Join it like you would the other mailing lists. Code overview ------------- [TOWRITE] Porting ------- Some things that may be problematic when porting: - Sometimes / is assumed to be the directory separator. - mmap is still used in some testing code (mtpmirror?), but should not be in the JM or the libraries. - sha_async is probably not portable. It assumes async file io works. It should use the GLib idle function instead.