annotate doc/README.Windows @ 406:351bb41d3bb1

- removed %-prefixes for register names from arm assembly files (was wrong to begin with, gas accepted them but the clang integrated assembler does not)
author Tassilo Philipp
date Sun, 03 Oct 2021 10:34:56 +0200
parents 451299d50c1a
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 Bulding DynCall on Windows
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2 ==========================
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 Build using buildsys/nmake and MS Visual Studio Tools:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6 ------------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8 32-bit:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
9 vcvarsall.bat x86
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10 .\configure.bat /target-x86
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
11 nmake /f Nmakefile
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
12
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13 64-bit:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14 vcvarsall.bat amd64
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
15 .\configure.bat /target-x64
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16 nmake /f Nmakefile
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 Build/run tests:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19 cd test
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20 nmake /f Nmakefile
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
21
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
22 NOTE: if you encounter 'python'/'lua' not found messages (which is
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
23 executed mistakenly for re-generation of test C code)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
24 timestamps are wrong; workaround: run "svn revert -R ." several times.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
25
371
451299d50c1a - windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents: 0
diff changeset
26
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
27 Build using buildsys/gmake and MinGW or Cygwin:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
28 -----------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
29
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
30 32-bit:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
31 .\configure.bat /target-x86 /tool-gcc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
32 make
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
33
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
34 64-bit:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
35 .\configure.bat /target-x64 /tool-gcc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
36 make
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
37
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
38
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
39 Build using Makefile.embedded and MinGW or Cygwin:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
40 --------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
41
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
42 > mingw32-make -f Makefile.embedded
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
43 $ make -f Makefile.embedded CC=gcc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
44
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
45
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
46 Build using CMake and Nmake:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
47 ----------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
48
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
49 Put the appropriate tool-chain in path (32 or 64-bit version of MSVC), then:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
50
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
51 cmake -G "NMake Makefiles" %DYNCALL_SOURCE_DIR%
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
52 nmake
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
53
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
54
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
55 Build using CMake and Visual Studio:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
56 ------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
57
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
58 32-bit:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
59 cmake .
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
60 open DynCall.sln
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
61
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
62 BROKEN: SAFE EH.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
63
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
64 BROKEN: Rules to assemble MASM files are still missing.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
65
371
451299d50c1a - windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents: 0
diff changeset
66
451299d50c1a - windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents: 0
diff changeset
67 Build ARM64 using CMake and Visual Studio 2019:
451299d50c1a - windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents: 0
diff changeset
68 -----------------------------------------------
451299d50c1a - windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents: 0
diff changeset
69
451299d50c1a - windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents: 0
diff changeset
70 vcvarsall.bat amd64_arm64
451299d50c1a - windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents: 0
diff changeset
71 mkdir build && cd build
451299d50c1a - windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents: 0
diff changeset
72 cmake -G "Visual Studio 16 2019" -A ARM64 ..
451299d50c1a - windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents: 0
diff changeset
73 cmake --build . --config Release
451299d50c1a - windows arm64 support (dyncall, dyncallback, cmake support for armasm64), thanks Bernhard Urban-Forster!
Tassilo Philipp
parents: 0
diff changeset
74