homogenize msvs and ninja library_dir and libraries settings for Windows
Since the introduction of r1657, which added library_dirs support for
ninja, the test case did not exercise the win flavor properly, which
should translate -lfoo to foo.lib. Thus, the generation between msvs
and ninja differed resulting in ninja being unable to link libraries
that used the '-lfoo' form of specifiying libraries. It turns out that
a name without an extension gets translated as a .obj when using the
msvs compiler.
This patch modifies 3 things:
1) In msvs_emulation.py, translate -lfoo to foo.lib and only add the
.lib suffix if it did not already exist (similar to _GetLibraries
in msvs.py).
2) Update the library_dirs test case to remove the usage of:
'libraries': [
'<(STATIC_LIB_PREFIX)mylib<(STATIC_LIB_SUFFIX)',
],
so that all test cases test against '-lmylib' to catch any
translation errors.
Add an additional test case to ensure that '-lmylib.lib' is
translated to 'mylib.lib' for the win flavor of ninja.
3) While not critical, change the translation of library_dirs for the
win flavor of ninja to use /LIBPATH instead of -LIBPATH and moved the
QutoeShellArgument() call around the path, not the entire setting to
keep it consistent with the msvs generator.
R=scottmg@chromium.org
Review URL: https://codereview.chromium.org/24792003
git-svn-id: http://gyp.googlecode.com/svn/trunk@1743 78cadc50-ecff-11dd-a971-7dbc132099af
5 files changed