Fix call to "mex" helper under MATLAB 8.3 (R2014a) and GNU/Linux.

There is a new LINKOPTS variable which governs the list of symbols to be
exported, so we set it to an empty value to have all symbols exported.
Previously we were overloading the LDFLAGS which was containing the list of
exported symbols.
issue#70
Sébastien Villemot 2014-03-24 16:31:26 +01:00
parent 8507409d97
commit 51e8a70bf4
1 changed files with 7 additions and 2 deletions

View File

@ -687,8 +687,13 @@ ModFile::writeOutputFiles(const string &basename, bool clear_all, bool no_log, b
#else
# ifdef __linux__
// MATLAB/Linux
mOutputFile << " eval('mex -O LDFLAGS=''-pthread -shared -Wl,--no-undefined'' " << basename << "_dynamic.c " << basename << "_dynamic_mex.c')" << endl
<< " eval('mex -O LDFLAGS=''-pthread -shared -Wl,--no-undefined'' " << basename << "_static.c "<< basename << "_static_mex.c')" << endl;
mOutputFile << " if matlab_ver_less_than('8.3')" << endl
<< " eval('mex -O LDFLAGS=''-pthread -shared -Wl,--no-undefined'' " << basename << "_dynamic.c " << basename << "_dynamic_mex.c')" << endl
<< " eval('mex -O LDFLAGS=''-pthread -shared -Wl,--no-undefined'' " << basename << "_static.c "<< basename << "_static_mex.c')" << endl
<< " else" << endl
<< " eval('mex -O LINKEXPORT='''' " << basename << "_dynamic.c " << basename << "_dynamic_mex.c')" << endl
<< " eval('mex -O LINKEXPORT='''' " << basename << "_static.c "<< basename << "_static_mex.c')" << endl
<< " end" << endl;
# else // MacOS
// MATLAB/MacOS
mOutputFile << " if matlab_ver_less_than('8.1')" << endl;