summaryrefslogtreecommitdiffstats
path: root/scilab/modules/dynamic_link/help/en_US/ilib_compile.xml
blob: cf2c3bc126afdf02326674939ea5361593032bb3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<?xml version="1.0" encoding="UTF-8"?>
<!--
 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 * Copyright (C) INRIA - 
 * 
 * This file must be used under the terms of the CeCILL.
 * This source file is licensed as described in the file COPYING, which
 * you should have received as part of this distribution.  The terms
 * are also available at    
 * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 *
 -->
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:lang="en" xml:id="ilib_compile">
  <info>
    <pubdate>$LastChangedDate: 2006-09-03 11:54:48 +0200 (Sun, 03 Sep 2006) $</pubdate>
  </info>
  <refnamediv>
    <refname>ilib_compile</refname>
    <refpurpose> ilib_build utility: executes the Makefile produced by ilib_gen_Make</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
    <title>Calling Sequence</title>
    <synopsis>libn=ilib_compile(lib_name,makename [,files,ldflags,cflags,fflags,cc])</synopsis>
  </refsynopsisdiv>
  <refsection>
    <title>Arguments</title>
    <variablelist>
      <varlistentry>
        <term>lib_name</term>
        <listitem>
          <para>a character string, the generic name of the library without path and extension.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>makename</term>
        <listitem>
          <para>character string. The path of the Makefile file without extension.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>files</term>
        <listitem>
          <para>optionnal vector of character strings. If files is given the make is performed on each 
	    target contained in files then a whole make is performed </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>libn</term>
        <listitem>
          <para>character string. The path of the actual generated shared library file.</para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>ldflags,cflags,fflags,cc</term>
        <listitem>
          <para>character strings to provide options/flags for the loader, the C compiler, the Fortran compiler. cc provides the name of the compiler.</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsection>
  <refsection>
    <title>Description</title>
    <para>
    Utility function used by <literal>ilib_build</literal></para>
    <para>
    This executes the Makefile produced by <literal>ilib_gen_Make</literal>, compiles
    the C and fortran files and generates the shared library.</para>
    <para>
    Shared libraries can then be used with the <literal>link</literal> and
    <literal>addinter</literal> Scilab function for incremental/dynamic link.</para>
	<para><emphasis role="bold">Note that a compiler must be available on the system to use this function.</emphasis></para>

    <para>On the internal technical level, under GNU/Linux and Mac OS X, the ilib_* function are based on the autotools. First, a configure is executed to detect compilers available. Then, a make is launched with the provided arguments. For more information: <ulink url="http://wiki.scilab.org/Full%20technical%20description%20of%20the%20incremental%20link">Full technical description of the incremental link / dynamic link</ulink></para>

    <para>Since version 5.3.2, under GNU/Linux, Scilab detects where the libstdc++ is located (thanks to the command <emphasis role="italic">gcc -print-search-dirs|grep ^install:|awk '{print $2}'</emphasis>). Previously, the dynamic link was using the libstdc++ embedded in Scilab.</para>

  </refsection>
  <refsection role="see also">
<title>See Also</title>
    <simplelist type="inline">
      <member>
        <link linkend="addinter">addinter</link>
      </member>
      <member>
        <link linkend="link">link</link>
      </member>
      <member>
        <link linkend="ilib_build">ilib_build</link>
      </member>
      <member>
        <link linkend="ilib_gen_Make">ilib_gen_Make</link>
      </member>
      <member>
        <link linkend="ilib_gen_gateway">ilib_gen_gateway</link>
      </member>
      <member>
        <link linkend="ilib_gen_loader">ilib_gen_loader</link>
      </member>
      <member>
        <link linkend="ilib_for_link">ilib_for_link</link>
      </member>
      <member><link linkend="api_scilab">api_scilab</link></member>
    </simplelist>
  </refsection>
</refentry>