/jEdit/tags/jedit-4-2-pre4/README.SRC.txt
Plain Text | 93 lines | 62 code | 31 blank | 0 comment | 0 complexity | b419d84d92f61969f524e99a355520f5 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
1SOURCE CODE NOTES
2
3This file only contains information about compiling from source.
4General jEdit documentation can be found in the 'doc' directory.
5
6* Compiling jEdit
7
8You will need:
9
10- A Java compiler, such as Sun's javac or IBM's jikes.
11
12- Jakarta Ant. I use version 1.5; older versions might or might not
13 work. Get it from <http://ant.apache.org>.
14
15Once you have all the necessary tools installed, run Ant with the 'dist'
16target in the build.xml file to compile jEdit:
17
18$ cd ~/jEdit
19$ ant dist
20
21* Building the online help in HTML format
22
23You will need:
24
25- DocBook-XML 4.1.2 DTD and DocBook-XSL 1.60.1 (or later) stylesheets
26 (<http://docbook.sourceforge.net>).
27- An XSLT processor, such as Xalan (<http://xml.apache.org>) or
28 xsltproc (<http://xmlsoft.org/XSLT/>).
29
30To build the HTML format docs, first edit the 'build.properties' file to
31specify the path to where the DocBook XSL stylesheets are installed,
32then run the 'docs-html-xalan' or 'docs-html-xsltproc' target.
33
34* Building the online help in PDF format
35
36You will need:
37
38- DocBook-XML 4.1.2 DTD and DocBook-DSSSL 1.76 (or later) stylesheets
39 (<http://docbook.sourceforge.net>).
40
41- OpenJade 1.3 and OpenSP 1.3.4 (or later)
42 (<http://openjade.sourceforge.net>).
43
44- A TeX implementation that includes PDF output capability.
45
46To build the PDF format docs, you will most likely have to edit the
47build.xml to set up various paths. Then run the 'docs-pdf-openjade-a4'
48or 'docs-pdf-openjade-letter' target, depending on the desired paper
49size.
50
51* Building the API documentation
52
53To build the API documentation, you will need Sun's javadoc, which is
54bundled with the JDK. You will also need to edit 'build.properties' to
55point to the location of your 'tools.jar', which is needed to compile a
56custom doclet. After everything is set up, run the 'javadoc' target,
57which will create API documentation and a 'toc.xml' file for jEdit's
58help viewer.
59
60Note that you will need to run the 'doclet/Clean_Up_Javadoc.bsh' script
61in jEdit to make the API documentation display better in jEdit's help
62viewer.
63
64* A note about JDK versions
65
66The Jikes compiler from IBM seems to have a problem where code compiled
67against JDK 1.4 does not work under JDK 1.3. Sun's javac does not have
68this problem.
69
70If plan on running jEdit under both 1.3 and 1.4, I recommend you compile
71it using javac.
72
73* Interesting algorithms and tricks
74
75- org.gjt.sp.jedit.browser.VFSDirectoryEntryTable: a tree table control.
76
77- org.gjt.sp.jedit.buffer.LineManager: the "gap" optimization allows
78 update operations to be performed in O(1) time in certain
79 circumstances.
80
81- org.gjt.sp.jedit.buffer.PositionManager: a red/black tree with some
82 additional tricks.
83
84- org.gjt.sp.jedit.search.BoyerMooreSearchMatcher: fast text search.
85
86- org.gjt.sp.jedit.syntax.TokenMarker: generic tokenizer driven by rules
87 defined in an XML file.
88
89- org.gjt.sp.jedit.textarea.DisplayManager: the fold visibility map
90 looks like an RLE-compressed bit set but does lookups in O(log n).
91
92- org.gjt.sp.util.WorkThreadPool: a pool of threads executing requests
93 from a queue, enforcing various concurrency requirements.