Wiki
Download
Manual
Eggs
API
Tests
Bugs
show
edit
history
You can edit this page using
wiki syntax
for markup.
Article contents:
[[toc:]] [[tags: internal]] == CHICKEN hackers guide This document is intended to provide some guidance for those who want to work on the chicken compiler and core libraries. === Getting the sources See the [[http://code.call-cc.org]] page for instructions about how to get the development version of CHICKEN. === Building To build chicken, change into the source directory and follow the directions in the [[http://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-core.git;a=blob_plain;f=README;hb=HEAD|README]] file. Some notes: * every invocation of make must include the full set of parameters ("PLATFORM=..." etc.) * if you change anything to makefiles or support scripts, make sure to run {{make confclean}}, so that a new configuration ({{chicken-config.h}}) is generated. * it is possible to compile chicken without a preinstalled chicken by building the system from an official release tarball first. These tarballs contain the precompiled C sources and don't need a {{chicken}} executable. Once you have built a {{chicken}} program, you can use it in subsequent build by passing {{CHICKEN=<path-to-chicken-executable>}} to {{make}}. * run {{make check}} occasionally. * it is no problem to install different chicken versions all over the filesystem, provided each installation uses a different setting for the {{PREFIX}} parameter variable passed to {{make}}. Once installed, the executables will pick up the correct libraries. === Versions There are several versions that identify a particular chicken installation: * the "major version" (i.e. {{3}} in {{3.0.0}}) - this version identifies which set of eggs is available via {{chicken-install}}. * the "binary compatibility version" - the egg-repository for an installation is specific to that (eggs are installed in {{PREFIX/lib/chicken/<binaryversion>/}}), changing this version means all eggs have to be re-installed and are not binary compatible to previous chicken versions. * the official chicken version ({{3.0.0}} for example) - it is used in several places, use {{scripts/setversion -set <version>}} to update the version string in all files that need it. === Releases Files added to the distribution tarball must be listed in the {{distribution/manifest}} file. You must add any files that are to distributed in that file. For information on the current CHICKEN release policy, please see [[release-policy]]. === Documentation The {{README}} should contain all required information to build the system, there is not a separate INSTALL file. Platform-specific information is kept at the end and should be reasonably up-to-date. All user-visible changes between releases should be noted down in the {{NEWS}} file, to make it easy to see things to look out for or new features to explore. The user's manual is kept in svnwiki format in {{manual/}}. The manual pages are a copy of the manual found at [[/man/4/The User's Manual|The User's Manual]] and should contain the complete documentation of everything implemented in this particular branch (or trunk) of the system you have checked out. Once a release is made, the changes from the {{manual/}} directory should be merged back into the wiki proper (the {{wiki/}} directory in the toplevel of the svn repository). Please add all contributors and bug reporters to the {{Acknowledgements}} file in the manual. We should make sure contributors get the respect they deserve, unless someone explicitly doesn't want to get mentioned there. === Mailing lists The [[http://lists.nongnu.org/mailman/listinfo/chicken-hackers|chicken-hackers]] mailing list is the place to discuss implementation issues and subjects of hacking the core system. [[http://lists.nongnu.org/mailman/listinfo/chicken-users|chicken-users]] should be reserved for questions about CHICKEN in general and its extensions. Finally, [[http://lists.nongnu.org/mailman/listinfo/chicken-janitors|chicken-janitors]] collects daily maintenance information. Here automatic builds and post-commit egg uploads report problems or news to this list as well.
Description of your changes:
I would like to authenticate
Authentication
Username:
Password:
Spam control
What do you get when you add 4 to 20?