724894c1ffa9b86b9a2f783b90078ad7bd5203a6
[scilab.git] / scilab / modules / dynamic_link / macros / detectmsifort64tools.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) DIGITEO - Allan CORNET
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
9
10 //=============================================================================
11 function bOK = detectmsifort64tools()
12
13     bOK = %F;
14     if getos() == "Windows" & win64() then
15         IFORTPATH = "";
16         ifortcomp = findmsifortcompiler();
17         if ifortcomp <> "unknown" then
18             select ifortcomp,
19             case  "ifort13" then
20                 IFORTPATH = getenv("IFORT_COMPILER13","");
21
22             case  "ifort12" then
23                 IFORTPATH = getenv("IFORT_COMPILER12","");
24
25             case  "ifort11" then
26                 IFORTPATH = getenv("IFORT_COMPILER11","");
27
28             case  "ifort10" then
29                 IFORTPATH = getenv("IFORT_COMPILER10","");
30
31             case  "ifort9" then
32                 IFORTPATH = getenv("IFORT_COMPILER9","");
33
34             else
35                 show = displayWarningmsifort();
36                 if show then
37                     TXT = gettext("Intel Fortran Compiler 9, 10, 11 or 12 Compiler not found.");
38                     warning(TXT);
39                     clear TXT;
40                     disableWarningmsifort();
41                 end
42                 bOK = %F;
43                 return
44             end
45         end
46
47         select ifortcomp,
48         case  "ifort13" then
49             IFORTSPATHEMT64 = IFORTPATH + "compiler\lib\intel64";
50         case  "ifort12" then
51             IFORTSPATHEMT64 = IFORTPATH + "compiler\lib\intel64";
52         case  "ifort11" then
53             IFORTSPATHEMT64 = IFORTPATH + "lib\intel64";
54         else
55             IFORTSPATHEMT64 = IFORTPATH + "em64t";
56         end
57
58         if isdir(IFORTSPATHEMT64) then
59             bOK = %T;
60         end
61     end
62
63 endfunction
64 //=============================================================================
65 function show = displayWarningmsifort()
66     settings_filename = "/.settings_warning_msif";
67     settings_file = pathconvert(SCIHOME+settings_filename,%f,%t);
68     w = fileinfo(settings_file);
69     show = %t;
70     if isfile(settings_file) then
71         show = grep(mgetl(settings_file),"displayWarningIFx64=no")==[]
72     end
73 endfunction
74 //=============================================================================
75 function disableWarningmsifort()
76     settings_filename = "/.settings_warning_msif";
77     settings_file = pathconvert(SCIHOME+settings_filename,%f,%t);
78     mputl("displayWarningIFx64=no",settings_file);
79 endfunction
80 //=============================================================================