-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
118 lines (95 loc) · 4.4 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
ignition Read Me
About
--
ignition is a powerful spread-sheet application for AmigaOS. It should also
run fine on MorphOS. It's written in C using SAS/C.
It's licensed under the GNU General Public License, version 3. The exception are
the files needed to build add-ons for ignition, allowing you to develop add-ons
that are under a more permissive license, or even closed source.
Requirements
--
To build ignition, you currently need the following pieces installed:
* SAS/C
* GNU make
* gtdrag.library (including headers)
* pTextEdit BOOPSI gadget (including headers)
* pScroller BOOPSI gadget (including headers)
The latter three are components I wrote years ago and are all available on
the Aminet. Their sources are also part of this source repository, and are
licensed under the MIT license.
Build
--
Just open a shell, switch to the ignition main directory, and execute
$ make
As long as you have GNU make in your path, and all the above mentioned
requirements installed, ignition should now be built automatically.
When the build is done, an executable "ignition" is created in the main
directory.
Note that ignition assumes to be built with German being the native locale.
Helping with development
--
If you are a C or C++ programmer, any help to further improve ignition is
welcome.
However, the code has been developed over a course of more than 10 years, and
you'll find horrible, as well as elegant code in there, with mixing coding
styles.
New code should all follow the same coding style, though, that is:
* Use only tabs for indenting, default tab size is 4.
* Opening curly brackets go to the same line as the statement, except
for functions, and "case" in switch statements. This closely matches K&R style.
* Global variables should be prefixed with either 'g' or 's' depending on
their visibility (static variables will get the 's' prefix).
While ignition is written in C entirely, C++ would be a welcome addition.
Also, the most urgent task to be done is to convert the sources to use GCC
instead of SAS/C.
Until you have commit access to the repository, patches are welcome via the
bug tracker as well as via the mailing list.
Helping with other tasks
--
If you are not a programmer, you can still help out ignition: there is a website
to be maintained, and docs as well as online help to be written.
Please get in contact with the project if you want to help out.
Communication channels
--
There are currently only two channels of communication:
* User mailing list (https://lists.berlios.de/mailman/listinfo/ignition-user)
* Developer mailing list (https://lists.berlios.de/mailman/listinfo/ignition-develop)
* Commit mailing list
Directory layout
--
You'll find the following directories in the repository:
* . - main directory with all source files
* add-ons - the sources for all I/O and graphic add-ons
* config - files that will end up in the config folder in
an ignition installation.
* distribution - make files to create a distribution
* docs - end user and developer docs
* help - context help files (currently German and English)
* icons - the icons that ignition will use
* lib - static libraries needed to build ignition
* locale - locale files to build catalogs, etc.
* misc - miscellaneous files and scripts, as well as Mason
icons
* rexx - example and test REXX scripts
* sheets - example and test sheets
Roadmap
--
While ignition itself was supposed feature complete for version 1.0, there are lots
of things one could and eventually should add, some of them have been postponed from
ignition to be able to complete it in time:
* Translate the sources to GCC instead of SAS/C.
* Improve and complete TurboCalc I/O add-on.
* UI for CSV I/O add-on.
* Write I/O add-ons for OpenOffice, and Excel.
* Real 3D diagrams using OpenGL.
* Switch to a real drawing backend like AGG (older versions are BSD licensed, and is
already available for AmigaOS), or Cairo.
* Modernize UI through ReAction and/or MUI.
* Make sure it runs fine on all Amiga-like platforms (AmigaOS, MorphOS).
* Port to AROS.
* Cleanup the sources, replace some old code with C++ classes.
* Complete the end user documentation.
* Write developer documentation for the I/O and graphics add-ons.
* And many more.
* Parts of the documentation are only available in German. Also, many comments in the
sources are in German - I didn't find the time to translate them all, sorry.