annotate doc/README.SunOS @ 0:3e629dc19168

initial from svn dyncall-1745
author Daniel Adler
date Thu, 19 Mar 2015 22:24:28 +0100
parents
children c81374ac9fba
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.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
9 SPARC : no dyncallback support.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10 SPARC64 : bugs in dyncall (see BUGS), no dyncallback support.
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