Path: news.mathworks.com!not-for-mail
From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Re: determination of the associated compiler and API lib locations
Date: Thu, 12 Nov 2009 10:11:02 +0000 (UTC)
Organization: UNIVERSITE AIX MARSEILLE 2
Lines: 76
Message-ID: <hdgmvm$qr7$1@fred.mathworks.com>
References: <hdggou$9du$1@fred.mathworks.com> <hdghc7$g7n$1@fred.mathworks.com>
Reply-To: <HIDDEN>
NNTP-Posting-Host: webapp-02-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1258020662 27495 172.30.248.37 (12 Nov 2009 10:11:02 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Thu, 12 Nov 2009 10:11:02 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 870049
Xref: news.mathworks.com comp.soft-sys.matlab:584482


"Bruno Luong" <b.luong@fogale.findmycountry> wrote in message <hdghc7$g7n$1@fred.mathworks.com>...
> "Sebastien Paris" <sebastien.paris.nospam@lsis.org> wrote in message <hdggou$9du$1@fred.mathworks.com>...
> > Hello,
> > 
> > 
> > Who knows how to determine the compiler associated with the mex command. Want a function which returns a string such as : 
> > 
> > comp = compiler;
> > 
> > where comp should be {lcc, msvc, gcc, ...} and whatever version of Matlab of course ...
> > 
> > Other point, I would like to know the location of librairies used by matlab such BLAS, LAPACK, etc ... A function returning something like
> > 
> > lib = APIllib;
> > 
> > 
> > where lib.blas = 'C:\Program Files\MATLAB\R2009a\extern\lib\win32\microsoft\libmwblas.lib'
> > 
> > for example.
> > 
> > 
> > Sebastien
> 
> Get the compiler, here is a tool from me.
> 
> >> getmexopts('COMPILER')
> 
> ans =
> 
> cl
> 
> function res = getmexopts(Tag)
> % function res = getmexopts(Tag)
> % Get the MCC or MEX configuration
> % Author Bruno Luong <brunoluong@yahoo.com>
> % Last update: 29-Jun-2009
> 
> if ispc()
>     optpath=prefdir;
>     optfile=[optpath filesep 'compopts.bat'];
>     mexoptfile=[optpath filesep 'mexopts.bat'];
> else
>     optpath=matlabroot;
>     optfile=[optpath '/bin/mbuildopts.sh'];
>     mexoptfile=[optpath '/bin/mexopts.sh']; % not sure correct path
> end
> 
> % Try to get MEX option first
> fid=fopen(mexoptfile,'r');
> if fid<=0
>     % Next MCC options
>     fid=fopen(optfile,'r');
> end
> 
> if fid>0
>     iscompilerline=@(S) (strcmp(S,['set ' Tag]));
>     C=textscan(fid,'%s %s', 'delimiter', '=', 'whitespace', '');
>     fclose(fid);
>     cline=find(cellfun(iscompilerline,C{1}));
>     if isempty(cline)
>         error('getmexopt [Bruno]: cannot get Tag %s', Tag)
>     end
>     res=C{2}{cline};
>     root=regexprep(matlabroot,'\\','\\\\');
>     res = regexprep(res,'%MATLAB%',root);
> else
>     error('getmexopts [Bruno]: cannot open comopts.bat file')
> end
> 
> % Bruno 


Thanks Bruno,


Works fine :)