annotate doc/manual/manual_devel.tex @ 211:60ec815531b9

- more doc overview corrections
author Tassilo Philipp
date Tue, 28 Mar 2017 15:36:45 +0200
parents 7ca46969e0ad
children b47168dacba6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
1 %//////////////////////////////////////////////////////////////////////////////
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2 %
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
3 % Copyright (c) 2007,2009 Daniel Adler <dadler@uni-goettingen.de>,
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
4 % Tassilo Philipp <tphilipp@potion-studios.com>
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
5 %
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6 % Permission to use, copy, modify, and distribute this software for any
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7 % purpose with or without fee is hereby granted, provided that the above
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8 % copyright notice and this permission notice appear in all copies.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
9 %
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10 % THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
11 % WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
12 % MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13 % ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14 % WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
15 % ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16 % OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17 %
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 %//////////////////////////////////////////////////////////////////////////////
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20 \newpage
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
21 \section{Developers}
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
22
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
23 \subsection{Noteworthy files in the project root}
76
7ca46969e0ad - tweaks in manual, mainly for html generation
cslag
parents: 0
diff changeset
24 \begin{tabular*}{0.75\textwidth}{ll}
7ca46969e0ad - tweaks in manual, mainly for html generation
cslag
parents: 0
diff changeset
25 {\tt configure} & pre-make configuration tool (unix-shell) \\
7ca46969e0ad - tweaks in manual, mainly for html generation
cslag
parents: 0
diff changeset
26 {\tt configure.bat} & pre-nmake configuration tool (windows batch) \\
7ca46969e0ad - tweaks in manual, mainly for html generation
cslag
parents: 0
diff changeset
27 {\tt configure.rc} & pre-mk configuration tool (Plan 9's rc) \\
7ca46969e0ad - tweaks in manual, mainly for html generation
cslag
parents: 0
diff changeset
28 {\tt CMakeLists.txt} & top-level project information for CMake \\
7ca46969e0ad - tweaks in manual, mainly for html generation
cslag
parents: 0
diff changeset
29 {\tt Makefile} & GNU/BSD makefile (output of ./configure) \\
7ca46969e0ad - tweaks in manual, mainly for html generation
cslag
parents: 0
diff changeset
30 {\tt Nmakefile} & MS nmake makefile \\
7ca46969e0ad - tweaks in manual, mainly for html generation
cslag
parents: 0
diff changeset
31 {\tt mkfile} & Plan 9 mkfile \\
7ca46969e0ad - tweaks in manual, mainly for html generation
cslag
parents: 0
diff changeset
32 {\tt LICENSE} & license information \\
7ca46969e0ad - tweaks in manual, mainly for html generation
cslag
parents: 0
diff changeset
33 {\tt README} & quickstart doc \\
7ca46969e0ad - tweaks in manual, mainly for html generation
cslag
parents: 0
diff changeset
34 {\tt buildsys/} & build system details and extras \\
7ca46969e0ad - tweaks in manual, mainly for html generation
cslag
parents: 0
diff changeset
35 {\tt doc/} & platform specific readme's and manual \\
7ca46969e0ad - tweaks in manual, mainly for html generation
cslag
parents: 0
diff changeset
36 {\tt dyncall/} & dyncall library source code \\
7ca46969e0ad - tweaks in manual, mainly for html generation
cslag
parents: 0
diff changeset
37 {\tt dyncallback/} & dyncallback library source code \\
7ca46969e0ad - tweaks in manual, mainly for html generation
cslag
parents: 0
diff changeset
38 {\tt dynload/} & dynload library source code \\
7ca46969e0ad - tweaks in manual, mainly for html generation
cslag
parents: 0
diff changeset
39 {\tt test/} & test suites \\
7ca46969e0ad - tweaks in manual, mainly for html generation
cslag
parents: 0
diff changeset
40 \end{tabular*}
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
41
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
42
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
43 \subsection{Test suites}
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
44
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
45 \begin{description}
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
46
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
47 \item [plain]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
48 Simple, identity, unary function calls for all supported return types and
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
49 calling conventions.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
50
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
51 \item [plain\_c++]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
52 Similar to plain, but for C++ thiscalls (GNU and MS calling convention).
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
53
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
54 \item [suite]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
55 All combinations of parameter types and counts are tested on void function
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
56 calls. A script written in Python ({\tt mkcase.py}) generates the tests up to
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
57 an upper MAXARG limit.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
58
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
59 \item [suite\_floats]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
60 Based on suite. Test double/float variants with up to 10 arguments.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
61
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
62 \item [suite\_x86win32std]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
63 All combinations of parameter types and counts are tested on {\tt \_\_stdcall}
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
64 void function calls. A script written in Python ({\tt mkcase.py}) generates
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
65 the tests up to an upper MAXARG limit. This is a x86/Windows only test.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
66
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
67 \item [suite\_x86win32fast]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
68 All combinations of parameter types and counts are tested on {\tt \_\_fastcall}
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
69 (MS or GNU, depending on the build tool) void function calls.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
70 A script written in Python ({\tt mkcase.py}) generates the tests up to
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
71 an upper MAXARG limit. This is a x86/Windows only test.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
72
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
73 \item [ellipsis]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
74 All combinations of parameter types and counts are tested on void ellipsis
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
75 function calls. A script written in Python ({\tt mkcase.py}) generates the
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
76 tests up to an upper MAXARG limit.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
77
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
78 \item [suite2]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
79 Designed mass test suite for void function calls.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
80 Tests individual void functions with a varying count of arguments and type.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
81
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
82 \item [suite2\_win32std]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
83 Designed mass test suite for {\tt \_\_stdcall} void function calls.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
84 Tests individual void functions with a varying count of arguments and type.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
85 This is a x86/Windows only test.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
86
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
87 \item [suite2\_win32fast]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
88 Designed mass test suite for {\tt \_\_fastcall} (MS or GNU, depending on the build tool) void function calls.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
89 Tests individual void functions with a varying count of arguments and type.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
90 This is a x86/Windows only test.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
91
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
92 \item [suite3]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
93 All combinations of parameter types integer, long long, float and double and
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
94 counts are tested on void function calls.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
95 A script written in Python ({\tt mkcase.py}) generates the tests up to
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
96 an upper MAXARG limit.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
97 This is a modified version of suite.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
98
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
99 \item [call\_suite]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
100 General purpose test suite combining aspects from all others suites (usually enough for
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
101 testing non-callback calls).
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
102 A script written in Lua generates the tests.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
103
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
104 \item [callf]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
105 Tests the \emph{formatted call} \product{dyncall} C API.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
106
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
107 \item [malloc\_wx]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
108 Tests \emph{writable and executable memory allocation} used by the
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
109 \product{dyncallback} C API.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
110
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
111 \item [thunk]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
112 Tests \emph{callbacks} for the \product{dyncallback} C API.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
113
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
114 \item [callback\_plain]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
115 Simple callback function test (useful for easy debugging of new ports).
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
116
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
117 \item [callback\_suite]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
118 Mass test suite for callback function testing. Uses random function argument
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
119 number and type.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
120 A script written in Lua generates the tests up to a given number of calls and
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
121 type combinations.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
122
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
123 \item [resolv\_self]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
124 Test for dynload library to resolve symbols from application image itself.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
125
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
126 \end{description}
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
127