annotate doc/README.SunOS @ 357:d982a00c2177

- PPC64 asm syntax fix, specifying explicitly comparison mode for cmpi (newer toolchains complain, older ones took optional field of instruction which happened to be same value)
author Tassilo Philipp
date Tue, 25 Feb 2020 18:16:13 +0100
parents c81374ac9fba
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 Building DynCall on Solaris and other SunOS distributions
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 Current Status of Solaris Architectures:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7 i386 : ok.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8 AMD64 : ok.
303
c81374ac9fba - cleanup of outdated docs
Tassilo Philipp
parents: 0
diff changeset
9 SPARC : ok.
c81374ac9fba - cleanup of outdated docs
Tassilo Philipp
parents: 0
diff changeset
10 SPARC64 : bugs in dyncall (see BUGS).
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
11
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
12 Supported Compilers: SunPro C/C++ compiler and GCC.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13 Supported Build-Systems: configure/make, Makefile.embedded and CMake.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
15
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16 Details
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17 =======
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 It has been ported and tested for x86 and sparc32/64 on Solaris 10/X86
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19 using the SunPro compiler suite and sun's make. The same goes for
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20 OpenSolaris distributions - the library builds and runs fine on Nexenta
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
21 x86 and x64.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
22 On Solaris, it also cross-builds for amd64 just fine, but the we don't
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
23 have access to a x64 Solaris to run the tests.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
24
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
25
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
26 Building DynCall:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
27 -----------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
28
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
29 $ ./configure
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
30 $ make
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
31
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
32
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
33
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
34 It is also possible to use 'Makefile.embedded' for sun make, GNU make and
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
35 BSD make:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
36
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
37
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
38 Build with SUN make and compilers from sun using Makefile.embedded:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
39 -------------------------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
40
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
41 $ make -f Makefile.embedded sun
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
42 $ (cd test; make -f Makefile.embedded sun)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
43
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
44
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
45 Build for sparc64 with SUN make and compilers from sun using Makefile.embedded:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
46 -------------------------------------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
47
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
48 $ make -f Makefile.embedded sun-64bit
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
49 $ (cd test; make -f Makefile.embedded sun-64bit)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
50
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
51
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
52 Build with SUN make and GNU C compiler using Makefile.embedded:
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 $ make -f Makefile.embedded sun-gcc
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
56 $ (cd test; make -f Makefile.embedded sun-gcc)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
57
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
58
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
59 Build for sparc64 with SUN make and GNU C compiler using Makefile.embedded:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
60 ---------------------------------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
61
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
62 $ make -f Makefile.embedded sun-gcc-64bit
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
63 $ (cd test; make -f Makefile.embedded sun-gcc-64bit)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
64
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
65
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
66 NOTE: There are still issues with the sparc64 port on Solaris.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
67
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
68
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
69 Build with CMake, Sun make and SunPro for sparc64:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
70 --------------------------------------------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
71
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
72 $ cmake -DCMAKE_C_FLAGS=-m64 -DCMAKE_ASM_FLAGS=-m64 -DCMAKE_CXX_FLAGS=-m64 .
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
73 $ make
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
74
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
75 Installation
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
76 ------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
77
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
78 $ make -f Makefile.embedded PREFIX=<some/prefix> install
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
79
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
80
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
81 Tested Platforms
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
82 ----------------
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
83
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
84 x86/amd64:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
85 - using Solaris 10 using SunPro Tools
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
86 - using Nexenta (SunOS 5.11 kernel) using GNU tools
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
87
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
88 sparc 32/64 bit:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
89 - SunOS 5.1 using SunPro and GCC on a Sun Fire V440 via developer account
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
90 thanks to gwdg.de!
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
91