better detection of LCC-Win32 and easier to use with scilab
[scilab.git] / scilab / modules / dynamic_link / macros / configure_lcc.sci
1 //==========================================
2 // Allan CORNET
3 // INRIA 2008
4 //==========================================
5 function bOK = configure_lcc()
6   bOK = %F;
7   
8   if MSDOS then
9
10     try
11       lccincludepath = winqueryreg('HKEY_CURRENT_USER','Software\lcc\compiler','includepath');
12     catch
13       return;
14     end
15
16     try
17       lcclibpath = winqueryreg('HKEY_CURRENT_USER','Software\lcc\lcclnk','libpath');
18     catch
19       return;
20     end
21       
22     index = strindex(lccincludepath,filesep());
23     szindex = size(index);
24     lccbasepath = part(lccincludepath,[1:index(szindex(2))]);
25     lccbinpath = lccbasepath + 'bin';
26     lccexe = lccbinpath + filesep() + 'lcc.exe';
27       
28     if ( fileinfo(lccexe) <> [] ) then
29       PATH = getenv('PATH');
30       NEWPATH = lccbinpath + pathsep() + ..
31                 lccincludepath + pathsep() + ..
32                 lcclibpath + pathsep() + ..
33                 PATH;
34       err = setenv('PATH',NEWPATH);
35       if (err == %F) then bOK = %F,return,end
36       
37       LCCLIB_DIR = SCI+'/bin/lcclib';
38       
39       if ( (fileinfo(LCCLIB_DIR) == []) | (ls(LCCLIB_DIR+'/*.lib') == []) ) then
40         printf('\nConverts libraries to use LCC-Win32.\n');
41         bOK = call_VCtoLCCLib();
42       else
43         bOK = %T;
44       end
45       
46     else
47       bOK=%F;
48     end
49   end
50   
51 endfunction
52 //==========================================
53 function r = call_VCtoLCCLib()
54   try
55     VCtoLCCLib();
56     r = %T;
57   catch
58     r = %F;
59   end
60 endfunction
61 //==========================================