new makefiles update
[wxWidgets.git] / docs / tech / tn0005.txt
1                      Adding a wxWindows contribution
2                      ===============================
3
4 Here are some different kinds of contribution:
5
6 1. Bug fixes. You can send these to the wx-devel list.
7 2. New classes. New classes normally go in the contrib hierarchy:
8    please see below for more details. They may be promoted to
9    the main wxWindows hierarchy if they are deemed to be 'core'.
10 3. A utility application, such as a new dialog editor or
11    file format conversion utility. If adding to the CVS
12    archive, you may put it under the utils hierarchy,
13    preferably with further src and docs directories.
14
15 You may or may not wish to add your code to the main wxWindows CVS
16 archive. Whether your code is appropriate for this archive
17 should first be ascertained by discussing it on wx-devel@wxwindows.org.
18
19 The contrib hierarchy
20 ---------------------
21
22 When contributing a new class or set of classes, please
23 organise your files in the following hierarchy, so that
24 when a user unarchives your contribution, it
25 slots neatly into the existing source hierarchy.
26 It also simplifies compilation for users, since wxWindows
27 makefiles and project files are set up to search in
28 contrib/include/wx and contrib/lib. For example, to
29 include yourclass.h, the following directive is used:
30
31 #include "wx/yourclass/yourclass.h"
32
33 Here are the directories:
34
35 contrib/include/wx/yourclass/           ; Your header(s) go here
36 contrib/src/yourclass/                  ; Your source file(s) go here
37 contrib/samples/yourclass/              ; Your sample(s) go here
38 contrib/docs/latex/yourclass/           ; Your Latex doc sources go here
39 contrib/docs/html/yourclass/            ; Your HTML doc files go here
40 contrib/docs/htmlhelp/yourclass/        ; Your MS HTML Help doc files go here
41 contrib/docs/htb/yourclass/             ; Your wxHTML doc files go here
42 contrib/docs/pdf/yourclass/             ; Your PDF doc files go here
43 contrib/docs/winhelp/yourclass/         ; Your WinHelp doc files go here
44 contrib/build/yourclass/                ; Your makefiles
45
46 It is recommended that you produce a manual using Tex2RTF, as specified
47 in Technical Note TN0003. This allows you to output all the above
48 formats, though for PDF you will need Latex and Ghostscript or
49 Word and Adobe Acrobat, and for MS HTML Help and WinHelp you need
50 the appropriate (freely available) help compilers.
51
52 Your binary library files can go in the main lib directory or contrib/lib,
53 but the main lib directory is recommended.
54
55 Please include a readme.txt in your source directory, and conform
56 as much as possible to the coding guidelines specified on the web
57 site in the 'Backroom' section. Include bakefile and generated makefiles
58 (see Technote #16 for details).
59
60 Your archive can be in .tgz or .zip format. For inclusion on
61 the wxWindows ftp site and CD-ROM, please send your submission to
62 Julian Smart <julian@wxwindows.org> as a binary attachment.
63 An entry will be added to the Contributions web page.
64
65 Author:  Julian Smart
66 Version: $Id$
67