<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/265647</link>
    <title>MATLAB Central Newsreader - determination of the associated compiler and API lib locations</title>
    <description>Feed for thread: determination of the associated compiler and API lib locations</description>
    <language>en-us</language>
    <copyright>&amp;copy;1994-2012 by MathWorks, Inc.</copyright>
    <webmaster>webmaster@mathworks.com</webmaster>
    <generator>MATLAB Central Newsreader</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <title>MathWorks</title>
      <url>http://www.mathworks.com/images/membrane_icon.gif</url>
    </image>
    <item>
      <pubDate>Thu, 12 Nov 2009 08:25:03 -0500</pubDate>
      <title>determination of the associated compiler and API lib locations</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/265647#694107</link>
      <author>Sebastien Paris</author>
      <description>Hello,&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Who knows how to determine the compiler associated with the mex command. Want a function which returns a string such as : &lt;br&gt;
&lt;br&gt;
comp = compiler;&lt;br&gt;
&lt;br&gt;
where comp should be {lcc, msvc, gcc, ...} and whatever version of Matlab of course ...&lt;br&gt;
&lt;br&gt;
Other point, I would like to know the location of librairies used by matlab such BLAS, LAPACK, etc ... A function returning something like&lt;br&gt;
&lt;br&gt;
lib = APIllib;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
where lib.blas = 'C:\Program Files\MATLAB\R2009a\extern\lib\win32\microsoft\libmwblas.lib'&lt;br&gt;
&lt;br&gt;
for example.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Sebastien</description>
    </item>
    <item>
      <pubDate>Thu, 12 Nov 2009 08:35:19 -0500</pubDate>
      <title>Re: determination of the associated compiler and API lib locations</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/265647#694110</link>
      <author>Bruno Luong</author>
      <description>&quot;Sebastien Paris&quot; &amp;lt;sebastien.paris.nospam@lsis.org&amp;gt; wrote in message &amp;lt;hdggou$9du$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; Hello,&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Who knows how to determine the compiler associated with the mex command. Want a function which returns a string such as : &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; comp = compiler;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; where comp should be {lcc, msvc, gcc, ...} and whatever version of Matlab of course ...&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Other point, I would like to know the location of librairies used by matlab such BLAS, LAPACK, etc ... A function returning something like&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; lib = APIllib;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; where lib.blas = 'C:\Program Files\MATLAB\R2009a\extern\lib\win32\microsoft\libmwblas.lib'&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; for example.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Sebastien&lt;br&gt;
&lt;br&gt;
Get the compiler, here is a tool from me.&lt;br&gt;
&lt;br&gt;
&amp;gt;&amp;gt; getmexopts('COMPILER')&lt;br&gt;
&lt;br&gt;
ans =&lt;br&gt;
&lt;br&gt;
cl&lt;br&gt;
&lt;br&gt;
function res = getmexopts(Tag)&lt;br&gt;
% function res = getmexopts(Tag)&lt;br&gt;
% Get the MCC or MEX configuration&lt;br&gt;
% Author Bruno Luong &amp;lt;brunoluong@yahoo.com&amp;gt;&lt;br&gt;
% Last update: 29-Jun-2009&lt;br&gt;
&lt;br&gt;
if ispc()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;optpath=prefdir;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;optfile=[optpath filesep 'compopts.bat'];&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mexoptfile=[optpath filesep 'mexopts.bat'];&lt;br&gt;
else&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;optpath=matlabroot;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;optfile=[optpath '/bin/mbuildopts.sh'];&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mexoptfile=[optpath '/bin/mexopts.sh']; % not sure correct path&lt;br&gt;
end&lt;br&gt;
&lt;br&gt;
% Try to get MEX option first&lt;br&gt;
fid=fopen(mexoptfile,'r');&lt;br&gt;
if fid&amp;lt;=0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;% Next MCC options&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fid=fopen(optfile,'r');&lt;br&gt;
end&lt;br&gt;
&lt;br&gt;
if fid&amp;gt;0&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iscompilerline=@(S) (strcmp(S,['set ' Tag]));&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;C=textscan(fid,'%s %s', 'delimiter', '=', 'whitespace', '');&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fclose(fid);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cline=find(cellfun(iscompilerline,C{1}));&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if isempty(cline)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;error('getmexopt [Bruno]: cannot get Tag %s', Tag)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;res=C{2}{cline};&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;root=regexprep(matlabroot,'\&amp;#092;','\\\&amp;#092;');&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;res = regexprep(res,'%MATLAB%',root);&lt;br&gt;
else&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;error('getmexopts [Bruno]: cannot open comopts.bat file')&lt;br&gt;
end&lt;br&gt;
&lt;br&gt;
% Bruno </description>
    </item>
    <item>
      <pubDate>Thu, 12 Nov 2009 10:11:02 -0500</pubDate>
      <title>Re: determination of the associated compiler and API lib locations</title>
      <link>http://www.mathworks.com/matlabcentral/newsreader/view_thread/265647#694140</link>
      <author>Sebastien Paris</author>
      <description>&quot;Bruno Luong&quot; &amp;lt;b.luong@fogale.findmycountry&amp;gt; wrote in message &amp;lt;hdghc7$g7n$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &quot;Sebastien Paris&quot; &amp;lt;sebastien.paris.nospam@lsis.org&amp;gt; wrote in message &amp;lt;hdggou$9du$1@fred.mathworks.com&amp;gt;...&lt;br&gt;
&amp;gt; &amp;gt; Hello,&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Who knows how to determine the compiler associated with the mex command. Want a function which returns a string such as : &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; comp = compiler;&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; where comp should be {lcc, msvc, gcc, ...} and whatever version of Matlab of course ...&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Other point, I would like to know the location of librairies used by matlab such BLAS, LAPACK, etc ... A function returning something like&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; lib = APIllib;&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; where lib.blas = 'C:\Program Files\MATLAB\R2009a\extern\lib\win32\microsoft\libmwblas.lib'&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; for example.&lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Sebastien&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Get the compiler, here is a tool from me.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &amp;gt;&amp;gt; getmexopts('COMPILER')&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; ans =&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; cl&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; function res = getmexopts(Tag)&lt;br&gt;
&amp;gt; % function res = getmexopts(Tag)&lt;br&gt;
&amp;gt; % Get the MCC or MEX configuration&lt;br&gt;
&amp;gt; % Author Bruno Luong &amp;lt;brunoluong@yahoo.com&amp;gt;&lt;br&gt;
&amp;gt; % Last update: 29-Jun-2009&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; if ispc()&lt;br&gt;
&amp;gt;     optpath=prefdir;&lt;br&gt;
&amp;gt;     optfile=[optpath filesep 'compopts.bat'];&lt;br&gt;
&amp;gt;     mexoptfile=[optpath filesep 'mexopts.bat'];&lt;br&gt;
&amp;gt; else&lt;br&gt;
&amp;gt;     optpath=matlabroot;&lt;br&gt;
&amp;gt;     optfile=[optpath '/bin/mbuildopts.sh'];&lt;br&gt;
&amp;gt;     mexoptfile=[optpath '/bin/mexopts.sh']; % not sure correct path&lt;br&gt;
&amp;gt; end&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % Try to get MEX option first&lt;br&gt;
&amp;gt; fid=fopen(mexoptfile,'r');&lt;br&gt;
&amp;gt; if fid&amp;lt;=0&lt;br&gt;
&amp;gt;     % Next MCC options&lt;br&gt;
&amp;gt;     fid=fopen(optfile,'r');&lt;br&gt;
&amp;gt; end&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; if fid&amp;gt;0&lt;br&gt;
&amp;gt;     iscompilerline=@(S) (strcmp(S,['set ' Tag]));&lt;br&gt;
&amp;gt;     C=textscan(fid,'%s %s', 'delimiter', '=', 'whitespace', '');&lt;br&gt;
&amp;gt;     fclose(fid);&lt;br&gt;
&amp;gt;     cline=find(cellfun(iscompilerline,C{1}));&lt;br&gt;
&amp;gt;     if isempty(cline)&lt;br&gt;
&amp;gt;         error('getmexopt [Bruno]: cannot get Tag %s', Tag)&lt;br&gt;
&amp;gt;     end&lt;br&gt;
&amp;gt;     res=C{2}{cline};&lt;br&gt;
&amp;gt;     root=regexprep(matlabroot,'\&amp;#092;','\\\&amp;#092;');&lt;br&gt;
&amp;gt;     res = regexprep(res,'%MATLAB%',root);&lt;br&gt;
&amp;gt; else&lt;br&gt;
&amp;gt;     error('getmexopts [Bruno]: cannot open comopts.bat file')&lt;br&gt;
&amp;gt; end&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; % Bruno &lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Thanks Bruno,&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Works fine :)</description>
    </item>
  </channel>
</rss>

