annotate doc/README.NDS @ 533:71c884e610f0

- integration of patches from Raphael Luba, Thekla, Inc.: * integration of aggregate-by-value (struct, union) support patch for x64 (win and sysv) * windows/x64 asm additions to specify how stack unwinds (help for debuggers, exception handling, etc.) * see Changelog for details - new calling convention modes for thiscalls (platform agnostic, was specific before) * new signature character for platform agnostic thiscalls ('*' / DC_SIGCHAR_CC_THISCALL) - dcCallF(), dcVCallF(), dcArgF() and dcVArgF(): * added support for aggregates-by-value (wasn't part of patch) * change that those functions don't implicitly call dcReset() anymore, which was unflexible (breaking change) - added macros to feature test implementation for aggregate-by-value and syscall support - changed libdyncall_s.lib and libdyncallback_s.lib order in callback test makefiles, as some toolchains are picky about order - doc: * man page updates to describe aggregate interface * manual overview changes to highlight platforms with aggregate-by-value support - test/plain: replaced tests w/ old/stale sctruct interface with new aggregate one
author Tassilo Philipp
date Thu, 21 Apr 2022 13:35:47 +0200
parents 3e629dc19168
children
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 Build instructions for DynCall on Nintendo DS
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2 using devkitPro and NMake under Windows
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
3 =============================================
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
4
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
5
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6 To build the library, you have to configure it first.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7 Since the NDS build uses devkitPro and NMake, assure
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8 to have them in your %PATH%.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
9
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10 To configure the library, call one of the following,
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
11 depending if you want to use the processor in ARM or
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
12 THUMB mode:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14 configure.bat /tool-gcc /target-nds-arm
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
15 configure.bat /tool-gcc /target-nds-thumb
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17 Note that the /tool-gcc flag is needed, because we're
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 using devkitARM (via devkitPro) which is based on the
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19 GCC toolchain. The /target-nds-* flags don't imply
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20 this.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
21
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
22 Then, call:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
23
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
24 nmake /F Nmakefile
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
25