Merge remote-tracking branch 'origin/6.1'
[scilab.git] / scilab / modules / dynamic_link / macros / gencompilationflags_unix.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2008 - INRIA - Sylvestre LEDRU
3 // Copyright (C) 2010 - DIGITEO - Sylvestre LEDRU
4 //
5 // Copyright (C) 2012 - 2016 - Scilab Enterprises
6 //
7 // This file is hereby licensed under the terms of the GNU GPL v2.0,
8 // pursuant to article 5.3.4 of the CeCILL v.2.1.
9 // This file was originally licensed under the terms of the CeCILL v2.1,
10 // and continues to be available under such terms.
11 // For more information, see the COPYING file which you should have received
12 // along with this program.
13
14 //=============================================================================
15 function cmd = gencompilationflags_unix(ldflags, cflags, fflags, cc, flagsType)
16
17     // This function is restricted to Linux/Unix user only
18     if getos() == "Windows" then
19         error(msprintf(gettext("%s: Feature not available under Microsoft Windows.\n"),"gencompilationflags_unix"));
20         return;
21     end
22
23     [lhs,rhs] = argn(0);
24     if rhs <> 5 then
25         error(msprintf(gettext("%s: Wrong number of input arguments: %d expected.\n"),"gencompilationflags_unix",5));
26         return
27     end
28     if isempty(ldflags)
29         ldflags = ""
30     end
31     if isempty(cflags)
32         cflags = ""
33     end
34     if isempty(fflags)
35         fflags = ""
36     end
37     if isempty(cc)
38         cc = ""
39     end
40     if isempty(flagsType)
41         flagsType = ""
42     end
43
44     cmd = "";
45
46     ScilabTreeFound=%f;
47     tbxFlag = " -D__SCILAB_TOOLBOX__ ";
48     envFlag = "";
49
50     if getenv("__USE_DEPRECATED_STACK_FUNCTIONS__", "NO") == "YES" then
51         envFlag = " -D__USE_DEPRECATED_STACK_FUNCTIONS__ ";
52     end
53
54     val = getenv("DEBUG_SCILAB_DYNAMIC_LINK", "");
55     if (val == "" & isDebug()) | val == "YES" then
56         envFlag = envFlag + " -g ";
57     end
58
59     // CFLAGS
60     if cflags <> "" then
61         cmd = cmd + " CFLAGS="""+tbxFlag+envFlag+cflags+""""
62     end
63
64     // CXXFLAGS ... use the same as C
65     if cflags <> "" then
66         cmd = cmd +" CXXFLAGS="""+tbxFlag+envFlag+cflags+""""
67     end
68
69     // LDFLAGS
70     // Do not set the LDFLAGS See bug #4787
71     if ldflags <> "" & flagsType <> "configure" then
72         cmd = cmd +" LDFLAGS="""+ldflags+""""
73     end
74
75     // FFLAGS
76     if fflags <> "" then
77         cmd = cmd +" FFLAGS="""+fflags+""""
78     end
79
80     // CC
81     if cc <> "" then
82         cmd = cmd +" CC="""+cc+""""
83     end
84
85 endfunction
86 //=============================================================================