31f35059453646ab731d00afab78ac7453912cc9
[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-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  "ifort12" then
20          IFORTPATH = getenv("IFORT_COMPILER12","");
21
22        case  "ifort11" then
23          IFORTPATH = getenv("IFORT_COMPILER11","");
24
25        case  "ifort10" then
26          IFORTPATH = getenv("IFORT_COMPILER10","");
27
28        case  "ifort9" then
29          IFORTPATH = getenv("IFORT_COMPILER9","");
30
31      else
32        show = displayWarningmsifort();
33        if show then
34          TXT = gettext("Intel Fortran Compiler 9, 10, 11 or 12 Compiler not found.");
35          warning(TXT);
36          clear TXT;
37          disableWarningmsifort();
38        end
39        bOK = %F;
40        return
41      end
42    end
43
44    select ifortcomp,
45      case  "ifort12" then
46        IFORTSPATHEMT64 = IFORTPATH + "compiler\lib\intel64";
47      case  "ifort11" then
48        IFORTSPATHEMT64 = IFORTPATH + "lib\intel64";
49      else
50        IFORTSPATHEMT64 = IFORTPATH + "em64t";
51    end
52
53    if isdir(IFORTSPATHEMT64) then
54      bOK = %T;
55    end
56  end
57
58 endfunction
59 //=============================================================================
60 function show = displayWarningmsifort()
61   settings_filename = "/.settings_warning_msif";
62   settings_file = pathconvert(SCIHOME+settings_filename,%f,%t);
63   w = fileinfo(settings_file);
64   show = %t;
65   if isfile(settings_file) then
66     show = grep(mgetl(settings_file),"displayWarningIFx64=no")==[]
67   end
68 endfunction
69 //=============================================================================
70 function disableWarningmsifort()
71   settings_filename = "/.settings_warning_msif";
72   settings_file = pathconvert(SCIHOME+settings_filename,%f,%t);
73   mputl("displayWarningIFx64=no",settings_file);
74 endfunction
75 //=============================================================================