63b5da28cbcf377d5fbf6d9f1ae114a0baea89b1
[scilab.git] / scilab / modules / mexlib / examples / mexglx / test.dia.ref
1  
2 // Linking a0.mexglx, say foo.mexglx, file with Scilab.
3  
4 // (Assuming foo.mexglx has been created by the Matlab's mex script).
5  
6 // 0/ Here I create the file foo.mexglx using Scilab, just to have a
7  
8 // proper foo.mexglx for testing
9  
10  
11 ilib_for_link("foo",['foo.o'],[],"c");
12    generate a loader file
13    generate a Makefile: Makelib
14    running the makefile
15    compilation of foo
16    building shared library (be patient)
17  
18 host('cp libfoo.so foo.mexglx');
19  
20  
21 // 1/ If necessary, create empty libmx.so libmex.so and libmat.so which
22  
23 //    could be required by the0.mexglx file.
24  
25 //    (If "ldd foo.mexglx" shows a dependency).
26  
27 // This is done by the following commands:
28  
29  
30 ilib_for_link("mx",[],[],"c");
31    generate a loader file
32    generate a Makefile: Makelib
33    running the makefile
34    building shared library (be patient)
35  
36 ilib_for_link("mex",[],[],"c");
37    generate a loader file
38    generate a Makefile: Makelib
39    running the makefile
40    building shared library (be patient)
41  
42 ilib_for_link("mat",[],[],"c");
43    generate a loader file
44    generate a Makefile: Makelib
45    running the makefile
46    building shared library (be patient)
47  
48  
49 // 2/link the (almost empty)0.so files with Scilab
50  
51 // Note that this is not really  usefull
52  
53  
54 //link0./libmx.so;
55  
56 //link0./libmex.so;
57  
58 //link0./libmat.so;
59  
60  
61 // 3/link foo.mexglx with Scilab
62  
63 link0./foo.mexglx;
64 shared archive loaded
65 Link done
66  
67  
68 // 4/ Make a dynamic library with the provided C routine (libtst.c file).
69  
70 //    Note that you can use libtst.c file as is and that the entrypoint
71  
72 //    MUST BE mexFunction. If you have more than one mexglx files you
73  
74 //    will need to copy libtst.c and change only the function name
75  
76 //    (this is described below)
77  
78  
79 ilib_for_link("tst",['libtst.o'],[],"c");
80    generate a loader file
81    generate a Makefile: Makelib
82    running the makefile
83    compilation of libtst
84    building shared library (be patient)
85  
86  
87 //5/At Scilab prompt enter:
88  
89  
90 addinter('./libtst.so','libtst','foo');
91 shared archive loaded
92  
93  
94 // 6/call the mexfunction:
95  
96  
97 foo(5,'test string')
98  ans  =
99  
100     5.  
101  
102