Mercurial > pub > dyncall > dyncall
view doc/manual/manual_devel.tex @ 239:c04be81f4874
- whitespace cleanup in ppc32 asm files
author | Tassilo Philipp |
---|---|
date | Tue, 02 May 2017 03:49:43 +0200 |
parents | 7ca46969e0ad |
children | b47168dacba6 |
line wrap: on
line source
%////////////////////////////////////////////////////////////////////////////// % % Copyright (c) 2007,2009 Daniel Adler <dadler@uni-goettingen.de>, % Tassilo Philipp <tphilipp@potion-studios.com> % % Permission to use, copy, modify, and distribute this software for any % purpose with or without fee is hereby granted, provided that the above % copyright notice and this permission notice appear in all copies. % % THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES % WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF % MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR % ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES % WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN % ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF % OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. % %////////////////////////////////////////////////////////////////////////////// \newpage \section{Developers} \subsection{Noteworthy files in the project root} \begin{tabular*}{0.75\textwidth}{ll} {\tt configure} & pre-make configuration tool (unix-shell) \\ {\tt configure.bat} & pre-nmake configuration tool (windows batch) \\ {\tt configure.rc} & pre-mk configuration tool (Plan 9's rc) \\ {\tt CMakeLists.txt} & top-level project information for CMake \\ {\tt Makefile} & GNU/BSD makefile (output of ./configure) \\ {\tt Nmakefile} & MS nmake makefile \\ {\tt mkfile} & Plan 9 mkfile \\ {\tt LICENSE} & license information \\ {\tt README} & quickstart doc \\ {\tt buildsys/} & build system details and extras \\ {\tt doc/} & platform specific readme's and manual \\ {\tt dyncall/} & dyncall library source code \\ {\tt dyncallback/} & dyncallback library source code \\ {\tt dynload/} & dynload library source code \\ {\tt test/} & test suites \\ \end{tabular*} \subsection{Test suites} \begin{description} \item [plain] Simple, identity, unary function calls for all supported return types and calling conventions. \item [plain\_c++] Similar to plain, but for C++ thiscalls (GNU and MS calling convention). \item [suite] All combinations of parameter types and counts are tested on void function calls. A script written in Python ({\tt mkcase.py}) generates the tests up to an upper MAXARG limit. \item [suite\_floats] Based on suite. Test double/float variants with up to 10 arguments. \item [suite\_x86win32std] All combinations of parameter types and counts are tested on {\tt \_\_stdcall} void function calls. A script written in Python ({\tt mkcase.py}) generates the tests up to an upper MAXARG limit. This is a x86/Windows only test. \item [suite\_x86win32fast] All combinations of parameter types and counts are tested on {\tt \_\_fastcall} (MS or GNU, depending on the build tool) void function calls. A script written in Python ({\tt mkcase.py}) generates the tests up to an upper MAXARG limit. This is a x86/Windows only test. \item [ellipsis] All combinations of parameter types and counts are tested on void ellipsis function calls. A script written in Python ({\tt mkcase.py}) generates the tests up to an upper MAXARG limit. \item [suite2] Designed mass test suite for void function calls. Tests individual void functions with a varying count of arguments and type. \item [suite2\_win32std] Designed mass test suite for {\tt \_\_stdcall} void function calls. Tests individual void functions with a varying count of arguments and type. This is a x86/Windows only test. \item [suite2\_win32fast] Designed mass test suite for {\tt \_\_fastcall} (MS or GNU, depending on the build tool) void function calls. Tests individual void functions with a varying count of arguments and type. This is a x86/Windows only test. \item [suite3] All combinations of parameter types integer, long long, float and double and counts are tested on void function calls. A script written in Python ({\tt mkcase.py}) generates the tests up to an upper MAXARG limit. This is a modified version of suite. \item [call\_suite] General purpose test suite combining aspects from all others suites (usually enough for testing non-callback calls). A script written in Lua generates the tests. \item [callf] Tests the \emph{formatted call} \product{dyncall} C API. \item [malloc\_wx] Tests \emph{writable and executable memory allocation} used by the \product{dyncallback} C API. \item [thunk] Tests \emph{callbacks} for the \product{dyncallback} C API. \item [callback\_plain] Simple callback function test (useful for easy debugging of new ports). \item [callback\_suite] Mass test suite for callback function testing. Uses random function argument number and type. A script written in Lua generates the tests up to a given number of calls and type combinations. \item [resolv\_self] Test for dynload library to resolve symbols from application image itself. \end{description}