|
| 1 | +The official distribution point for lwtools is |
| 2 | +http://lwtools.projects.l-w.ca/. If you obtained this distribution from any |
| 3 | +other place, please visit the official site. You may have a modified or out |
| 4 | +of date version. |
| 5 | + |
| 6 | +This is LWTOOLS, a cross development system targetting the 6809 CPU. |
| 7 | + |
| 8 | +It consists of an assembler, lwasm, a linker, lwlink, and an archiver, |
| 9 | +lwar which should compile on any reasonably modern POSIX environment. If you |
| 10 | +have problems building, make sure you are using GNU make. Other make |
| 11 | +programs may work but GNU make is known to work. |
| 12 | + |
| 13 | +There is some source code support for building with Microsoft's compiler on |
| 14 | +Windows. However, this has been contributed by interested users and is not |
| 15 | +well tested. Indeed, the primary maintainer has no access to such a system. |
| 16 | + |
| 17 | +To see if a quick build will work, just type "make". If it works, you're |
| 18 | +ready to go ahead with "make install". This will install in /usr/local/bin. |
| 19 | + |
| 20 | +If you feel adventurous, you can also run the test suite by running "make |
| 21 | +test". However, be warned that it is likely not going to work unless you are |
| 22 | +running on a fairly standard unix system with perl in /usr/bin/perl. |
| 23 | + |
| 24 | +See docs/ for additional information. |
| 25 | + |
| 26 | +CONTRIBUTING |
| 27 | +============ |
| 28 | + |
| 29 | +If you wish to contribute patches or code to lwtools, please keep the |
| 30 | +following in mind. |
| 31 | + |
| 32 | +Evangelism |
| 33 | +---------- |
| 34 | + |
| 35 | +Any communication that includes evangelism for alternate revision control |
| 36 | +systems, coding styles, development methodologies, or similar will be |
| 37 | +deleted with all other contents ignored. So just don't do it and save |
| 38 | +yourself and the project maintainers time. |
| 39 | + |
| 40 | +Style |
| 41 | +----- |
| 42 | + |
| 43 | +The code formatting style must match the rest of the lwtools code. Code |
| 44 | +submitted in the "1TBS" will be rejected out of hand. Attempts to convince |
| 45 | +me to change my mind on this point will be routed to /dev/null at best and |
| 46 | +likely met with extreme rudeness. |
| 47 | + |
| 48 | +C code should be formatted as follows: |
| 49 | + |
| 50 | +* In general, match the formatting of the surrounding code, whether that |
| 51 | + uses spaces or tabs. Otherwise, all indentation uses a single TAB |
| 52 | + character for each step. That is a HARD tab, not a series of spaces. TABs |
| 53 | + are assumed to be 4 characters though that will largely impact only lining |
| 54 | + up comments and tabular code. If the actual formatting of the code is |
| 55 | + critical, spaces may be used for that formatting but the actual initial |
| 56 | + indentation of the lines MUST use TAB characters. |
| 57 | +* The opening brace for a block appears on the line below the control |
| 58 | + structure that introduces it. It appears lined up with the preceding line |
| 59 | + and nothing else appears on the same line. |
| 60 | +* Closing braces appear on a line by themselves ordinarily. The exception is |
| 61 | + the "while" keyword in a "do-while" statement appears on the same line as |
| 62 | + the closing brace for the block. |
| 63 | +* Case labels are lined up with the enclosing block (one level back from the |
| 64 | + code of the block). The same guideline applies for ordinarily labels. |
| 65 | +* No spaces surround parentheses, brackets, or the dot operator. No space |
| 66 | + precedes a comma but a space should follow it. Other operators should |
| 67 | + usually be surrounded by spaces. A space should separate a keyword from |
| 68 | + any surrounding except for sizeof() which should be written like a |
| 69 | + function call. There is no space between a function name and the start of |
| 70 | + its parameter list. |
| 71 | + |
| 72 | +In general, study the existing source formatting and copy the style. This is |
| 73 | +what you should do anyway and the above should not be required. |
| 74 | + |
| 75 | +For code accepted to the contrib/ hierarchy, application of the above coding |
| 76 | +style may be less strict. |
| 77 | + |
| 78 | +Submitting |
| 79 | +---------- |
| 80 | + |
| 81 | +Any attempts to evangelize git or any other alternative revision control |
| 82 | +system will be deleted with *all* other contents ignored. |
| 83 | + |
| 84 | +When submitting code to lwtools, it should be submitted as a patch file (hg |
| 85 | +diff or diff -u). DO NOT submit entire source files. Remember, others may be |
| 86 | +working on changes, too, and your complete source files are difficult to |
| 87 | +merge with such situations. By submitting complete source files, you are |
| 88 | +making far more work for the maintainer and it is generally considered rude. |
| 89 | + |
| 90 | +Always specify what version of the source you based your patch on. If |
| 91 | +possible, work off the default branch in the mercurial repository. At the |
| 92 | +very least, make sure you are working with the most recent release. |
| 93 | + |
| 94 | +It is also worth checking with the maintainer before submitting a patch. |
| 95 | +There may be some reason why your pet feature is not present in the official |
| 96 | +release. |
| 97 | + |
| 98 | +Finally, be prepared to receive a list of deficiencies or requests for |
| 99 | +improvements or clarification of why or how you did something. |
0 commit comments